synth
A Rust synthesizer engine library with polyphonic voices, ADSR envelopes, state-variable filters, LFO modulation, and reverb.
Features
- Polyphonic voice engine with configurable channel count
- Five waveforms: Pulse, Sawtooth, Triangle, Noise, Pulse+Saw
- ADSR amplitude envelope with optional reverse (swell/duck) mode
- State-variable filter - Low-pass, Band-pass, and High-pass with cutoff, resonance, and drive
- LFO targeting pitch, pulse width, filter cutoff, or volume
- Reverb FX with room size and damping controls
- Multi-timbral channels via
ChannelNonewtypes - Serde support via the
serdefeature (enabled by default)
Quick Start
use setup_audio;
use ;
See examples/ for full usage.
Feature Flags
| Feature | Default | Description |
|---|---|---|
serde |
enabled | Serialize/Deserialize on all parameter types |
Terminal UI
The synth-tui crate provides a full ratatui-based terminal UI. See the repository root for screenshots.