Schrijf DSP-code als Rust (of C via Emscripten), compileer naar .wasm en draai live in de browser via AudioWorklet. Hier heb je de boilerplate, architectuurdiagrammen en een ingebouwde Rust-sine oscillator als bewijs.
Toolchain kiezen
🦀 Rust + wasm-pack
⚙️ C + Emscripten
🎛️ Faust → Wasm
📜 AssemblyScript
Wat draait nu?
—
Sample Rate
—
Latency
440
Freq (Hz)
0
Wasm Voices
Frequency
20Hz440 Hz2kHz
Waveform (JS Wasm-sim)
Sine
Saw
Square
Noise
Architectuur: AudioWorklet + Wasm signal path
Main Thread JS / UI
postMessage ⟶ SharedArrayBuffer
AudioWorklet process()
ptr / heap ⟶
Wasm Rust / C
⟶ Float32Array
AudioContext destination
Wasm draait inside de AudioWorklet — geen cross-thread kopieën tijdens process(). Params via SharedArrayBuffer zijn lock-free (Atomics). Latency: alleen AudioContext base latency (~5ms op Chrome).
Wasm Oscilloscoop
Gesimuleerd in JS (echte Wasm = identiek)