auxide-dsp
DSP utilities and trait-based nodes for Auxide 0.2. This crate supplies helper functions, wavetable and window generators, and NodeDef-based DSP blocks that plug into the Auxide kernel via NodeType::External.
- RT-safe: no allocations in process paths; all buffers preallocated during init.
- Helpers: dB/linear conversions, phase increments, ms-to-samples, polyblep, interpolation.
- Tables: sine/saw/square/triangle wavetables, Hann/Hamming/Blackman windows.
- Nodes: Oscillators, Filters, Envelopes, LFO, Effects, Dynamics, Shapers, Pitch/Time, Utility.
- Builders: SynthBuilder, EffectsChainBuilder for easy graph construction.
Status
- ✅ Architecture: Clean trait-based design with proper separation of concerns
- ✅ RT-Safety: Verified no allocations in process_block paths (audit completed)
- ✅ Test Coverage: Basic functionality tests for all nodes
- ⚠️ Advanced Testing: Missing RT allocation counting tests, golden value regression tests
- 📋 Node Coverage: ~40 nodes implemented, missing ~10 for full synthesis toolkit
See AUDIT_REPORT.md for detailed analysis.
Usage
Add to your Cargo.toml:
[]
= "0.2"
= { = "../auxide-dsp" }
Example
use SynthBuilder;
use SawOsc;
use SvfFilter;
use SvfMode;
let graph = new
.add_oscillator
.add_filter
.build_graph;
See examples/ for more usage.