home/ atoms/ glicol-wasm-browser-audio

Glicol compiles to WebAssembly for garbage-collection-free real-time audio in the browser

Glicol’s audio engine and parser are both written in Rust and compiled to WebAssembly. Combined with the Web Audio API’s AudioWorklet and SharedArrayBuffer, this enables near-native, garbage-collection-free real-time audio synthesis running entirely in the browser — no server-side processing, no installation. This architectural choice is significant for live-coding education and performance: learners can start coding audio immediately from any web browser, and performers can collaborate in real-time without a shared local installation. The same Rust engine also targets VST plugins and Bela embedded hardware, making the codebase portable across deployment contexts.

Examples

Visiting glicol.org opens a live coding environment; o: sin 440 immediately produces audio. The same engine runs as a VST plugin in a DAW or on a Bela board for embedded hardware installations.

Assessment

Explain why garbage collection is a problem for real-time audio. What does Rust/WASM solve that a JavaScript audio engine using the garbage collector would not?

“port it to browsers using `WebAssembly`, `AudioWorklet` and `SharedArrayBuffer`”
corpus · glicol-language-playground-and-guide-graph-oriented-live-cod · chunk 1