34 releases
Uses old Rust 2015
0.11.0 | Feb 12, 2017 |
---|---|
0.10.0 | Feb 26, 2016 |
0.9.2 | Jan 10, 2016 |
0.9.1 | Dec 28, 2015 |
0.2.4 | Mar 26, 2015 |
#146 in #dsp
Used in umpire
115KB
2.5K
SLoC
synth
A polyphonic Synth type whose multiple oscillators generate sound via amplitude and frequency envelopes.
Features
- Sine, Saw, SawExp, Square, Noise and NoiseWalk waveforms.
- Amplitude and frequency envelopes with an unlimited number of points.
- Unlimited number of oscillators (each can have unique waveforms and amplitude and frequency envelopes).
- Monophonic and Polyphonic modes (unlimited number of voices).
- Simple
note_on(pitch_in_hz, velocity)
andnote_off(pitch_in_hz)
methods. - Per-channel amplitude and a stereo panning helper method.
- "Stereo spread" for automatically spreading multiple voices evenly across the stereo image.
- Per-voice portamento.
- Per-voice detuning.
- Multi-voice (unison) support in Mono mode.
- Legato and Retrigger Mono modes.
- Warbliness Oscillator builder method that uses gaussian noise to model the "warped-old-hardware-synth" sound.
synth.fill_slice(frame_slice, sample_hz),
See an example here.
Dependencies
~4.5MB
~59K SLoC