glicol_synth is a standalone graph-based Rust audio DSP library usable outside Glicol
The glicol_synth crate is Glicol’s audio engine decoupled from its language parser, usable as an independent Rust audio library. It provides an AudioContextBuilder API with a fixed buffer-size const-generic, node graph construction (add_mono_node, connect), block processing (next_block), and real-time message passing (send_msg) for parameter updates. The library includes many built-in audio nodes (oscillators, filters, etc.) and was forked from the dasp_graph crate with additions for customisable buffer size, ID-based input selection, and a higher-level AudioContext abstraction. It runs on Web, Desktop, DAW (VST), and Bela.
Examples
let mut context = AudioContextBuilder::<128>::new().sr(44100).channels(1).build();
let node_a = context.add_mono_node(ConstSig::new(42.));
context.connect(node_a, context.destination);
context.next_block();
Assessment
Explain the role of const generics (AudioContextBuilder::<128>) in a real-time audio library. Why can’t buffer size be a runtime value in this design?