Skip to main content

Crate aether_sampler

Crate aether_sampler 

Source
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 envelope

Re-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.