Expand description
Aether Sampler Engine
A polyphonic sampler that maps audio recordings to MIDI notes. Supports velocity layers, sustain loops, release samples, and custom tuning tables for non-Western instruments.
§Architecture
SamplerInstrument
└── Vec<SampleZone> — note range + velocity range → audio file
└── SampleBuffer — decoded PCM audio in memory
SamplerVoice — one playing note (polyphony = many voices)
├── zone: &SampleZone — which sample to play
├── position: f64 — current playback position (sub-sample)
├── phase: VoicePhase — Attack / Sustain / Release / Done
└── envelope: AdsrState — amplitude envelopeRe-exports§
pub use instrument::SamplerInstrument;pub use instrument::SampleZone;pub use instrument::ArticulationType;pub use instrument::RoundRobinState;pub use instrument::RoundRobinMode;pub use instrument::ZoneGroup;pub use node::SamplerNode;pub use voice::SamplerVoice;
Modules§
- buffer
- Audio buffer loading and storage.
- instrument
- Sampler instrument definition.
- node
- SamplerNode — integrates the sampler into the AetherDSP graph.
- voice
- Sampler voice — one playing note.