A crate for organizing synthesizers for Rust VSTs.
Switch branches/tags
Clone or download
piedoom Merge pull request #7 from PieterPenninckx/jack
Add support for Jack and create mechanism to use polyphony etc. in a modular way.
Latest commit 8303cb8 Dec 18, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples cargo fmt Dec 18, 2018
src cargo fmt Dec 18, 2018
.gitignore added synth module & init commit Jun 8, 2017
.travis.yml renamed to rsynth. example broken Nov 2, 2017
Cargo.toml Cleanup dependencies. Dec 18, 2018
Changes.txt Use slices for input and output buffers, simplify polyphony, add exam… Dec 7, 2018
README.md Update README.md Mar 23, 2018



A crate for organizing synthesizers using rust-vst, inspired by JUCE's API.

rsynth provides a very lightweight Synth structure, with many voices. Once a Voice trait is implemented, it can be used easily from the Synth manager.


Use Cases

rsynth is well suited as a bootstrap for common audio plugin generators. rsynth will handle voices, voice-stealing, polyphony, etc. so the programmer's main focus can be DSP.

rsynth is also split into multiple crates for maximum reusability. Only include what you need to use!


  • rsynth-core
    • Voices
    • Polyphony
    • MIDI Processing
    • Event Processing
    • Voice Stealing
    • Synthesizer
  • rsynth-gui
    • GUI Integration
  • rsynth-gen
    • Envelope Generators
    • Generic Oscillators
  • rsynth-dsp
    • Equal Power Pan
    • TBD

Current State

rsynth is not in a stable (or quite usable) state right now. However, it may still be useful. Contributions and suggestions are welcome.


rsynth is gathering a bit of dust, but it's not dead. I'm busy with college projects at the moment and will resume work soon!


rsynth is helped by Resamplr.com, a virtual instrument website.


MIT/BSD-3 License