Crate bbx_dsp

Crate bbx_dsp 

Source
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 units
  • BlockType - Enum wrapping all block implementations
  • Graph - Container for connected blocks
  • GraphBuilder - Fluent API for graph construction
  • Sample - 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 plugin::PluginDsp;
pub use voice::VoiceState;

Modules§

block
DSP block system.
blocks
DSP block implementations.
buffer
Audio buffer types.
context
DSP processing context.
graph
DSP graph system.
parameter
Parameter modulation system.
plugin
Plugin DSP trait for FFI integration.
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.