Skip to main content

Crate sim_lib_audio_dsp

Crate sim_lib_audio_dsp 

Source
Expand description

Reusable pure Rust DSP processors, bandlimited sources, and fixed-state sample-rate conversion for the SIM audio graph.

Re-exports§

pub use cookbook::audio_processing_trace_demo;
pub use cookbook::offline_chain_demo;

Modules§

cookbook
Deterministic cookbook builders for audio-DSP recipes.

Structs§

AllPassFilter
A Schroeder all-pass filter Processor with per-channel delay lines.
AudioDspLib
Host-registered lib exporting the reusable DSP processor cards, built on the shared SurfacePackLib substrate.
BandlimitedOscillator
Realtime oscillator with one preallocated phase and integrator per channel.
BiquadFilter
A per-channel RBJ biquad filter Processor.
Chorus
A chorus Processor built on a modulated delay.
CombFilter
A feedback comb filter Processor built on a delay line.
Compressor
A per-channel feed-forward compressor Processor.
DcBlocker
A Processor that removes DC offset with a per-channel one-pole high-pass.
DelayLine
A circular delay buffer with fractional, linearly interpolated reads.
DelayProcessor
A per-channel delay Processor with feedback and dry/wet mix.
DspConfigDescriptor
Citizen descriptor for a DSP processor configuration: a kind name plus a list of named f64 parameters.
DynamicsEnvelope
A peak envelope follower with separate attack and release time constants.
Flanger
A flanger Processor built on a feedback-modulated delay.
FractionalDelay
A fully wet fractional delay Processor wrapping DelayProcessor.
Gain
A Processor that scales every channel by a fixed linear gain.
Gate
A per-channel noise gate Processor.
GoldenFixture
A deterministic input/expected-output pair for regression-testing a Processor offline.
Limiter
A brick-wall limiter Processor built on a fast, high-ratio compressor.
ModulatedDelayProcessor
An LFO-modulated delay Processor underpinning chorus, flanger, and vibrato effects.
OnePoleFilter
A per-channel one-pole low-/high-pass filter Processor.
OscillatorPolicy
Explicit oscillator frequency, waveform, level, and bandlimit policy.
OversamplingWrapper
A Processor that runs a NonlinearSampleProcessor at an integer oversampling factor, interpolating each input across the oversampled steps.
Pan
A Processor applying equal-power stereo panning.
PolyphaseResampler
Streaming windowed-sinc polyphase resampler with fixed callback state.
ResampleReport
Per-call accounting from PolyphaseResampler::process_interleaved.
ResamplerPolicy
Fixed construction policy for PolyphaseResampler.
SmoothValue
A linearly ramped scalar that glides from its current value to a target over a fixed number of samples.
SmoothedGain
A Processor applying a click-free gain that ramps toward parameter-set targets received as block events.
SoftClipper
A Processor soft-clipping via a tanh Waveshaper.
StateVariableFilter
A per-channel zero-delay-feedback state-variable filter Processor.
Vibrato
A vibrato Processor (fully wet modulated delay).
Waveshaper
A Processor applying a nonlinear waveshaping curve with drive and output gain.

Enums§

BandlimitPolicy
Anti-aliasing policy applied at oscillator discontinuities.
BandlimitedWaveform
Periodic waveform generated by BandlimitedOscillator.
BiquadKind
Response type of a BiquadFilter.
OnePoleMode
Mode of a OnePoleFilter.
ResampleError
Invalid construction or bounded callback request from a resampler.
StateVariableMode
Output tap selected from a StateVariableFilter.
Waveshape
Nonlinear transfer curve used by Waveshaper.

Statics§

RECIPES
Cookbook recipes for this lib, embedded at build time.

Traits§

NonlinearSampleProcessor
A per-sample nonlinearity that can be wrapped by OversamplingWrapper.

Functions§

audio_dsp_symbols
Returns the namespaced symbols for every DSP processor card this lib exports.
dsp_config_class_symbol
Returns the class symbol under which DSP configs register as citizens.
install_audio_dsp_lib
Installs AudioDspLib into the context once, idempotently.
r30_delay_golden_fixture
Returns the R30 delay golden fixture (a two-sample impulse delay).
r30_gain_golden_fixture
Returns the R30 gain golden fixture (a 0.25x gain reference).
run_offline
Prepares and runs processor over a fixture’s input, returning the rendered output lanes for comparison against GoldenFixture::expected.

Type Aliases§

OversampledSoftClipper
An oversampled tanh soft clipper, the default OversamplingWrapper.