A small, real modular synthesizer, patched by hand instead of pre-wired — boxes, jacks, and cables in the visual language Pure Data made ordinary and TouchDesigner and vvvv still use for real-time media, in a chassis borrowed from Teenage Engineering's playful hardware. Drag between the colored nubs to route audio, drag a knob to turn it, hit Random for a new pattern.Patch cables in the Connections list below the transport — pick a From and a To jack and hit Connect, tap × to unplug one. Drag a slider to shape a sound, hit Random for a new pattern. Every cable here is a real Web Audio connection, not a diagram of one.
The default patch on load: Clock → Env (trig), Osc → Filter → VCA → Output (audio), LFO → Filter (cv, modulating cutoff), Env → VCA (cv, modulating gain). That's a standard subtractive-synth voice with a moving filter, playing whatever pattern is lit in the Clock's 8 steps. Unplug the Env→VCA cable and the sound drones instead of pulsing; unplug Osc→Filter and patch Noise→Filter instead for a hi-hat-like texture; turn the Clock's chance knob down and the pattern starts skipping steps unpredictably instead of repeating exactly — that's the generative part: the same 8 lit steps produce a different actual rhythm most times it loops.
The interface borrows its grammar from three real tools rather than inventing a new one: the boxes-and-cords patching language Pure Data made ordinary for audio in the late 1990s, the real-time node graphs vvvv and TouchDesigner still use for interactive visuals today, and the bold, playful, slightly toy-like hardware language of Teenage Engineering's synthesizers — chunky knobs, flat saturated color per function, a light industrial chassis. Every cable drawn between two nubs is a real connection in the browser's Web Audio graph: audio-colored cables call .connect() between actual audio nodes, and CV-colored cables connect a modulation source's output directly into another module's AudioParam — the same technique real modular synthesizers use, just electrons instead of voltage.