The audio engine behind datagraph — a modular, node-based synthesizer that runs in the browser.
datagraph-core is written in Rust and compiled to WebAssembly. It provides a real-time audio graph that runs inside an AudioWorklet: you wire up nodes (oscillators, filters, envelopes, sequencers, math, and more), connect their ports, and the graph processes audio sample by sample.
- Modular audio graph with typed ports and connections
- A library of DSP nodes: oscillators, filters, ADSR/envelopes, delay, noise, sequencer, sample & hold, crossfade, math, and more
- Runs in the browser via
AudioWorklet(WASM), and natively as a plain Rust library - Lock-free communication between the audio thread and the UI
Build the WASM package with wasm-pack:
npm run buildOr use it as a native Rust library — see examples/main.rs for a small example that builds a graph and ticks through it. Run it with cargo run --example main.
- Website: https://datagraph.patsimm.com
- Frontend: github.com/patsimm/datagraph
GNU General Public License v3.0 — see LICENSE.