Building a generative TouchDesigner VJ rig
Learning objectives
- learner can navigate TouchDesigner's operator families and reason about patch signal flow
- learner can structure a performance rig into Control/World/Core/UI containers with interchangeable TOX cells
- learner can map MIDI/OSC input to any parameter and drive audio-reactive and generative visuals
- learner can keep the rig performant by managing cooking, VRAM and NDI/Spout output routing
Capstone — one whole task that evidences the objectives
Build a reusable TouchDesigner VJ rig from a universal template: Control/World/Core/UI structure with TOX-convention mixer cells, a last-touched MIDI/OSC link, TDAbleton audio-driven and generative-phasing content, and NDI/Spout output — then optimise it (cook-on-demand, VRAM compression) and perform a short generative set.
Prerequisite modules
The whole task here is a working VJ rig for a club or AV-festival set: a TouchDesigner project you can carry from gig to gig, drop new content into, wire to whatever controller is on the table, and trust not to stutter mid-drop. Unlike a one-off patch, a rig is infrastructure — the difference between rebuilding every show and performing every show.
The arc starts supported: learn what TouchDesigner is and how its six operator families carve up the work, then internalise the node-and-wire signal-flow model (a broken cord, not a syntax error, is what you debug on stage). From there you assemble the skeleton — the Control/World/Core/UI architecture inside a universal project template — and populate it with mixer cells that follow the standard TOX out1/thumb convention, so community content drops straight in. The last-touched MIDI/OSC link system and TDAbleton bidirectional bridge then connect hands and music to pixels, with generative phasing supplying content that moves without keyframes. Finally you harden the rig: cook-on-demand discipline, VRAM compression of inactive scenes, and NDI/Spout routing to downstream software — before the unsupported capstone: build the full rig and perform a short set on it.
Every required atom gates that performance — remove the TOX convention and cells stop being interchangeable; skip cook management and the set drops frames. Supporting atoms widen the rig rather than gate it: the diagrammatic-aesthetics lens on node thinking, physics-based simulation content, per-track sequencer envelopes, a unified sensor bridge, replicator-delay multi-screen tricks, and live-interface hierarchy are natural next extensions once the core rig holds up under stage pressure.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
phase-offset
for(let i=0;i<24;i++) circle(i*32, height/2 + sin(frameCount*0.1 + i*0.4)*60, 12)
p5live-0022 · CC0-1.0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Live Visualist — zero to performing live-coded & generative visuals — Perform the set — live-coded, generative, audio-reactive visuals for an audience optional
- VJ — visual performance with projection, light & video — Generate & compose: build your own look required
Unlocks — modules that require this one