Pulse Train — Stage's board, plus Drive and Shimmer from Signal Chain, plus a new LFO node — a true CV source, patchable into eight real modulation targets (pitch, frequency, delay time, volume) marked cv on their own jacks, each individually scaled so one depth knob reads as a sensible amount everywhere it lands. Thirteen units, five labeled groups instead of one long row: Sources (Tone, Tone II, Rhythm), Modulation (LFO), Character (Crush, Ring, Drive, Field), Time (Freeze, Comb, Shimmer, Space), and Master (Output). Same restyle as Stage, same two rave-style master effects — the square-wave Gate and the momentary Cut switch. Same universal-node rule throughout — every unit is both an input and an output. Drag between the nubs to route audio, click a footswitch to bypass a unit, drag a knob to shape it.Patch cables in the Connections list below the transport, tap a footswitch to bypass a unit, drag a slider to shape it. Nine tuning presets built from interval math sit in the transport bar, keys 1–9 recall them, Space is power, C holds Cut, and Stage goes fullscreen for a set.
This is Pulse Train — Stage's audio engine, reorganized: the restyled, flatter, thinner-lined Pure Data/vvvv look stays, the patch graph and bypass logic stay, the two rave-style master effects stay — but the rack is now four labeled groups instead of one long row, and two units from Signal Chain replace what used to live in their spot. Everything below that isn't about Drive, Shimmer, or the grouping applies to Stage equally.
Five groups, read top to bottom. Sources generate signal — Tone, Tone II, Rhythm. Modulation generates control instead of signal — LFO. Character colors the signal — Crush, Ring, Drive, Field. Time gives it space — Freeze, Comb, Shimmer, Space. Master is where everything has to end up — Output. The patch graph doesn't enforce this order (any out still reaches any in), it's just how the thirteen units read at a glance now instead of as one undifferentiated row.
The same universal-node rule as Pulse Train and Signal Chain. Every unit exposes an in and at least one out, any out can patch into any in, and a footswitch is a real bypass. Tone and Tone II are identical design to Pulse Train's Tone (an undistorted sine, hard-clipped only as a feedback-loop safety net, with a second output running at a knob-set frequency ratio instead of a fixed octave). Rhythm is Pulse Train's Click ported over under a different name — the same pure impulse, edge-triggered via its own in the same way Click and Sonar are. Crush (bit-depth staircase quantization plus an audio-rate square gate), Ring (true ring modulation via an oscillator driving a gain node's own AudioParam), and Field (a panner whose LFO is quantized into 2-8 hard positions) are the same three units as Pulse Train, unchanged.
Freeze is a delay pushed somewhere Signal Chain's Echo never goes — feedback runs up to 98%, not the usual 80-90%, so instead of a decaying repeat you get a loop that barely decays at all, whatever was in the delay line when you turned the knob up cycling almost indefinitely. Comb uses the same feedback-delay idea at a completely different time scale: delay times short enough to be inaudible as separate echoes (down to half a millisecond) reinforce or cancel specific frequencies instead, the classic comb-filtering effect behind physical-modeling and Karplus-Strong-style synthesis — its freq knob sets delay time to 1/freq internally, so it reads as a pitch, not a time. Space is the site's first use of a ConvolverNode: rather than recording a real room, it synthesizes its own impulse response on the fly — filtered noise shaped by an exponential decay envelope, regenerated whenever the size knob moves — and convolves the input against that, a real convolution reverb built from math instead of a microphone in a cathedral.
Drive and Shimmer, ported directly from Signal Chain, unchanged. Drive runs the signal through a tanh soft-clip WaveShaper — its curve is normalized so it always reaches full scale regardless of how hard drive pushes it, then a lowpass (tone) tames the harmonics saturation adds. Shimmer is a chorus built the plainest way a chorus can be built: a short delay line (~18ms), with a slow sine LFO wobbling the delay time itself — rate and depth set how fast and how far that wobble runs. Together they finally give Tone II's main output — patched nowhere in every earlier default patch, only its ratio-scaled second output ever went anywhere — a place to go: tone2.out → drive.in → shimmer.in → output.in.
LFO is new too, and it's a different kind of unit from everything else on this board: it produces control, not audio — its own out patched straight into the speakers is just a slow, silent-to-quiet wobble, not a tone. What it's for is the eight jacks elsewhere on the rack marked cv, sitting right next to the ordinary in on Tone, Tone II, Ring, Field, Freeze, Comb, Drive, and Output — a real, continuously-read AudioParam on the other end of each one (an oscillator's frequency, a delay's delayTime, a gain's own gain), so patching the LFO in there sums a wobble directly onto whatever the knob already set, the identical oscillator-into-AudioParam trick Ring and Field's own internal LFOs already use, just exposed as a cable instead of built in. Those eight and only those eight: everything else on this board (crush.bits, field.steps, space.size, drive.drive, output.gateDuty…) rebuilds a WaveShaper curve or an impulse response on change instead of reading an AudioParam live, and modulating those cheaply at audio rate isn't honestly possible — so they don't get a cv jack, rather than pretending to.
The LFO's own depth knob is one shared 0–100% control, but what it means in absolute terms is set per destination, not globally: each cv jack has its own fixed scaling built in — ±40Hz on a pitch input, ±0.3s on Freeze's delay time, ±0.25 of gain on Output's volume — sized to what's actually musical for that parameter, so depth reads as "how much" consistently no matter which jack the cable ends up in.
Feedback loops are allowed on purpose, same as Pulse Train and Signal Chain: Output's own out can patch back into the board, and the compressor and hard limiter before the speakers exist specifically so that stays loud, not dangerous. Freeze in particular can build up fast in a feedback patch — start low.
The nine Presets aren't random starting points — each one sets every knob and footswitch from an actual interval or number: a 4 Hz unison beat, a 3∶2 just fifth, the golden ratio (guaranteed never to lock into a clean beat), a four-partial harmonic stack, the equal-tempered tritone, the Pythagorean comma made audible as shimmer, a semitone-apart critical-band buzz, a Fibonacci-derived rhythm patch, and — reworked for this board — Driven Shimmer, which finally puts something through that long-unused Tone II output. Loading one sets the whole board deterministically — same recall every time, the way a real preset should behave live — and every knob stays live afterward to be pushed off that starting point by hand.
Gate and Cut live inline in Output, after the limiter's ceiling and before the final hard-clip safety net, so they always act on everything reaching the speakers — not one more patchable unit to route around, the actual master. Gate runs a sawtooth through a threshold WaveShaper to get a variable-duty pulse, scales it to ±0.5, and sums that onto a GainNode's own gain AudioParam — the same oscillator-into-AudioParam trick Ring and Field already use, just aimed at the whole mix instead of one signal or a pan position — so the output swings between silent and full on every cycle: a square-wave mute/unmute, the classic trance/rave gate, with rate (0.5–32 Hz) and duty (how much of each cycle stays open) both live. It's off by default and toggles like any footswitch. Cut is the blunt version: hold the transport button or the C key and the whole mix cuts to silence in a few milliseconds, release and it's back — a hand-on-the-fader mute for a live drop, not a setting to leave on.
For every node on this board — the software technique, the math underneath it, and a real chip that would do the same job in physical hardware — see the Node Database.