{"id":13603601,"url":"https://github.com/chris-zen/kiro-synth","last_synced_at":"2026-01-02T21:02:38.262Z","repository":{"id":69461332,"uuid":"234780558","full_name":"chris-zen/kiro-synth","owner":"chris-zen","description":"Modular sound synthesizer written in Rust","archived":false,"fork":false,"pushed_at":"2021-01-31T03:25:47.000Z","size":5492,"stargazers_count":98,"open_issues_count":4,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-07T08:41:31.870Z","etag":null,"topics":["audio","hacktoberfest","midi","modular","synth","synthesizer"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chris-zen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-01-18T18:45:02.000Z","updated_at":"2024-10-05T15:07:46.000Z","dependencies_parsed_at":"2024-01-18T03:49:08.980Z","dependency_job_id":null,"html_url":"https://github.com/chris-zen/kiro-synth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-zen%2Fkiro-synth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-zen%2Fkiro-synth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-zen%2Fkiro-synth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chris-zen%2Fkiro-synth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chris-zen","download_url":"https://codeload.github.com/chris-zen/kiro-synth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248489698,"owners_count":21112620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","hacktoberfest","midi","modular","synth","synthesizer"],"created_at":"2024-08-01T19:00:26.609Z","updated_at":"2026-01-02T21:02:38.195Z","avatar_url":"https://github.com/chris-zen.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Kiro Synth\n\nThis is my 4rd iteration on building a synthesiser ;-)\n\nThis time, these are my goals:\n\n- The synth logic can be used in embedded systems (I plan to build actual hardware from this).\n- Internally it is like a modular synth, where all the blocks (Osc, Lfo, Filter, Env, Dca, ...) can be patched together using a simple Rust DSL\n\nThis is the very beginning of this project and I plan to take quite some time developing it, but it already makes some noise ;-)\n\n```bash\ncd kiro-synth-host\ncargo run --release\n```\n\nNOTE: You have to connect your MIDI keyboard before starting the synth. Also it only supports MacOS right now.\n\n# Screenshots\n\n\u003cimg src=\"screenshot1.png\" width=\"60%\" height=\"60%\" /\u003e\n\u003cimg src=\"screenshot2.png\" width=\"60%\" height=\"60%\" /\u003e\n\n## Roadmap\n\n- [x] Basic synth pieces: Oscillator, EG, LFO, Filter, DCA\n- [x] Rust DSL to build the synth graph as a program\n- [x] Basic voice management\n- [x] Parameters can be changed from MIDI events or a UI\n- [x] Controlling parameters from a Druid UI\n- [x] Modulation of parameters through a modulation matrix\n- [x] The modulation matrix can be tuned from the UI\n- [x] UI feedback for the modulations\n- [x] UI feedback for the number of voices\n- [x] UI feedback for the output levels\n- [ ] Fix modulation parameters value ranges\n- [ ] Fix LFO phase parameter\n- [ ] Add note expression as modulation sources (velocity, pitch, modwheel, after touch)\n- [ ] Patch management from configuration\n- [ ] Patch management from the UI\n- [ ] Internal signals explorer (oscilloscope, spectrum analyzer, Peak/RMS level meter)\n- [ ] Improve the program with more blocks (add one more EG and LFO)\n- [ ] Improve the program graph to include global oscillators parameters (octave, semitones, cents, drift, filter output)\n- [ ] Improve the program graph to allow FM synthesis using the oscillators\n- [ ] Improve the program graph to add more parameters for the oscillators (filter output)\n- [ ] Add a square waveshape (including new parameter for width)\n- [ ] Add noise waveshapes\n- [ ] Add more filters\n- [ ] Filter mode parameter shows the filter name in the UI\n- [ ] Improve the Knob widget to support logarithmic parameters\n- [ ] Unison ?\n- [ ] UI feedback for the CPU usage\n- [ ] ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchris-zen%2Fkiro-synth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchris-zen%2Fkiro-synth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchris-zen%2Fkiro-synth/lists"}