Expand description
Convenience re-exports for common bbx_dsp usage.
This module provides a single import for the most commonly used types when building DSP graphs.
§Example
ⓘ
use bbx_dsp::prelude::*;
let mut builder = GraphBuilder::<f32>::new(44100.0, 512, 2);
let osc = builder.add(OscillatorBlock::new(440.0, Waveform::Sine, None));
let gain = builder.add(GainBlock::new(-6.0, None));
builder.connect(osc, 0, gain, 0);
let graph = builder.build();Structs§
- Ambisonic
Decoder Block - Decodes ambisonics B-format to a speaker layout.
- Audio
Buffer - A buffer for storing audio sample data.
- Binaural
Decoder Block - Decodes multi-channel audio to stereo for headphone listening.
- BlockId
- A unique identifier for a block within a DSP graph.
- Channel
Merger Block - Merges individual mono inputs into a multi-channel output.
- Channel
Router Block - A channel router block for stereo signal manipulation.
- Channel
Splitter Block - Splits multi-channel input into individual mono outputs.
- DcBlocker
Block - A DC blocking filter that removes DC offset from audio signals.
- DspContext
- Runtime context passed to blocks during audio processing.
- Envelope
Block - ADSR envelope generator block for amplitude and parameter modulation.
- File
Input Block - Reads audio from a file into the DSP graph.
- File
Output Block - Writes audio from the DSP graph to a file.
- Gain
Block - A gain control block that applies amplitude scaling.
- Graph
- A directed acyclic graph of connected DSP blocks.
- Graph
Builder - Fluent builder for constructing DSP graphs.
- LfoBlock
- A low-frequency oscillator for modulating block parameters.
- Linear
- Marker type for linear smoothing.
- LowPass
Filter Block - SVF-based low-pass filter for efficient, stable filtering.
- Matrix
Mixer Block - An NxM mixing matrix for flexible channel routing.
- Mixer
Block - A channel-wise audio mixer that sums multiple sources per output channel.
- Multiplicative
- Marker type for multiplicative (exponential) smoothing.
- Oscillator
Block - A waveform oscillator for generating audio signals.
- Output
Block - The terminal output block for a DSP graph.
- Overdrive
Block - An overdrive distortion effect with asymmetric soft clipping.
- Panner
Block - A spatial panning block supporting stereo, surround, and ambisonic formats.
- Smoothed
Value - A value that smoothly transitions to a target over time.
- VcaBlock
- A voltage controlled amplifier that multiplies audio by a control signal.
Enums§
- Binaural
Strategy - Binaural decoding strategy.
- Block
Type - Type-erased container for all block implementations.
- Channel
Mode - Channel routing mode for stereo signals.
- Panner
Mode - Panning mode determining the algorithm and output format.
- Parameter
- A block parameter that can be constant or modulated.
- Waveform
- Standard waveform shapes for oscillators and LFOs.
Constants§
- DEFAULT_
BUFFER_ SIZE - Default buffer size for DSP graphs (512 samples).
- DEFAULT_
SAMPLE_ RATE - Default sample rate for DSP graphs (44100 Hz).
Traits§
- Block
- The core trait for DSP processing units.
- Sample
- A floating-point type suitable for audio sample data.
- Smoothing
Strategy - Trait defining smoothing behavior for different interpolation strategies.
Type Aliases§
- Linear
Smoothed Value - Linear smoothed value - uses additive interpolation.
- Multiplicative
Smoothed Value - Multiplicative smoothed value - uses exponential interpolation. Better for parameters like gain where equal ratios should feel equal.