A sound synthesiser built from scratch. It implements oscillators, filters, an arpeggiator and a looper. It's written in Rust, a systems programming language, due to the performance critical nature of producing sound in real time.
demo.mp4
It works by receiving commands such as NoteOn
, NoteOff
and SetPatch
which could originate from user interaction or MIDI protocol instructions, for example,
and producing a sound signal that can be sent to an audio output device.
An example of usage and runnable demo can be found in rust-synth-gui.
- Synth
- Oscillators
- Sine, Saw, Square, Pulse
- Mix of detuned oscillators
- Noise
- Filters
- Biquad LPF, HPF, BPF, Notch
- Modulation
- ADSR
- LFO's
- Wire modulation to parameters
- Polyphony
- Oscillators
- Effects
- Compression
- Distortion
- Delay
- Tools
- Arpeggiator
- Tap tempo
- Loop recorder
- Snap to measures
- Arpeggiator
- Drums
- Read Midi
- State accessible for visualization