Expand description
§BBX DSP
A block-based audio DSP system for building signal processing graphs.
§Overview
This crate provides a graph-based architecture for constructing DSP chains. Blocks (individual DSP units) are connected together to form a processing graph, which is then executed in topologically sorted order.
§Core Types
Block- Trait for DSP processing unitsBlockType- Enum wrapping all block implementationsGraph- Container for connected blocksGraphBuilder- Fluent API for graph constructionSample- Trait abstracting over f32/f64
§Block Categories
- Generators: Create audio (oscillators)
- Effectors: Transform audio (gain, overdrive, panning)
- Modulators: Generate control signals (LFOs, envelopes)
- I/O: File input/output and graph output
§Example
ⓘ
use bbx_dsp::{graph::GraphBuilder, waveform::Waveform};
let mut builder = GraphBuilder::<f32>::new(44100.0, 512, 2);
let osc = builder.add_oscillator(440.0, Waveform::Sine, None);
let graph = builder.build();Re-exports§
pub use block::BlockCategory;pub use channel::ChannelConfig;pub use channel::ChannelLayout;pub use frame::Frame;pub use frame::MAX_FRAME_SAMPLES;pub use plugin::PluginDsp;pub use voice::VoiceState;
Modules§
- block
- DSP block system.
- blocks
- DSP block implementations.
- buffer
- Audio buffer types.
- channel
- Multi-channel audio configuration.
- context
- DSP processing context.
- frame
- Audio frame type for inter-thread communication.
- graph
- DSP graph system.
- parameter
- Parameter modulation system.
- plugin
- Plugin DSP trait for FFI integration.
- polyblep
- PolyBLEP and PolyBLAMP anti-aliasing for band-limited waveform generation.
- prelude
- Convenience re-exports for common bbx_dsp usage.
- reader
- Audio file reader trait.
- sample
- Audio sample type abstraction.
- smoothing
- Parameter smoothing utilities for click-free parameter changes.
- voice
- Voice state management for MIDI-controlled synthesis.
- waveform
- Waveform types and generation.
- writer
- Audio file writer trait.