Rust
Need help with dsp-chain?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
RustAudio

Description

A library for chaining together multiple audio dsp processors/generators, written in Rust!

218 Stars 14 Forks MIT License 277 Commits 10 Opened issues

Services available

Need anything else?

dsp-chain Build Status Crates.io Crates.io

A library for chaining together multiple audio dsp processors/generators, written in Rust!

Use cases for dsp-chain include: - Designing effects. - Creating an audio mixer. - Making a sampler. - Writing a dsp backend for a DAW. - Any kind of modular audio synthesis/processing.

Documenation

API documentation here!

Usage

Here's what it looks like:

// Construct our dsp graph.
let mut graph = Graph::new();

// Construct our fancy Synth and add it to the graph! let synth = graph.add_node(DspNode::Synth);

// Add a few oscillators as inputs to the synth. graph.add_input(DspNode::Oscillator(0.0, A5_HZ, 0.2), synth); graph.add_input(DspNode::Oscillator(0.0, D5_HZ, 0.1), synth); graph.add_input(DspNode::Oscillator(0.0, F5_HZ, 0.15), synth);

// Set the synth as the master node for the graph. // This can be inferred by the graph so calling this is optional, but it's nice to be explicit. graph.set_master(Some(synth));

// Request audio from our Graph. graph.audio_requested(&mut buffer, settings);

Here are two working examples of using dsp-chain to create a very basic synth and an oscillating volume.

Add dsp-chain to your Cargo.toml dependencies like so:

[dependencies]
dsp-chain = "*"

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.