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.

About the developer

RustAudio
257 Stars 15 Forks MIT License 279 Commits 11 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

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.