- Guides
Overview
Voro is an audio, music-logic, control, timing, and typed-stream runtime for TouchDesigner. You build sound and musical behavior by placing operators and wiring them together, the same way you wire any other TouchDesigner network.
Operators pass typed streams to each other. A timing stream carries the clock, a note-voice stream carries pitch and velocity, an audio stream carries sound, and control streams carry shaped values. Each operator only accepts the stream types it understands, so a patch reads as a clear signal path from clock and notes on the left to audio output on the right.
Operator Groups
Section titled “Operator Groups”The package is organized into five groups. Each group gives you a different kind of building block.
- Audio — device input and output, file playback, recording, looping, mixing, spectrum tools, and audio-reactive analysis.
- Audio FX — chorus, convolution, denoise, EQ, echo, filter, gate, harmonizer, neural FX, pitch shift, reverb, stem split, and tuning.
- Compose — timeline, scale, chord, pattern, progression, bassline, accompaniment, groove, and phrase generation. These produce the musical state and note streams that drive instruments.
- Control — MIDI capture, MIDI note conversion, MIDI learn, filtering, smoothing, remap, and pitch conversion.
- Instruments — Sampler, Synth, Wavetable Synth, Drum, Deep Beast, Drift, and Halo. These turn note or trigger streams into audio.
How A Patch Flows
Section titled “How A Patch Flows”Most patches follow the same left-to-right shape:
clock + notes -> instrument -> effects -> Device Out- A clock comes from Timeline Source (or live MIDI).
- Notes come either from live MIDI (MIDI Capture into MIDI Note) or from Compose operators (Progression, Pattern, Bassline, Groove).
- An instrument renders those notes or triggers into audio.
- Audio FX shape the sound.
- Device Out sends the result to your audio device.
When A Wire Won’t Connect
Section titled “When A Wire Won’t Connect”Because operators only accept the stream types they understand, a connection that does not behave is usually a stream-type mismatch — for example, feeding a note-voice stream into an input that wants a trigger stream, or leaving a required input unconnected.
Voro surfaces this feedback directly: when a patch is miswired or a required stream is missing, the operator tells you, rather than failing silently. Compatible musical streams connect naturally. If an operator reports a missing or incompatible stream, check that the upstream operator produces the stream type the input expects, and that every required input is wired.
What To Try First
Section titled “What To Try First”Start with a small MIDI-to-instrument chain:
MIDI Capture -> MIDI Note -> Synth -> Device OutYou can replace Synth with Sampler, Wavetable Synth, Deep Beast, Halo, or Drift. This path checks the basic control-to-audio lane without a larger composition graph. See MIDI to Instrument for the full walkthrough.
For audio-file testing, start with:
File Player -> Filter -> Reverb -> Device OutKeep the first patch small. Add one operator at a time and confirm the expected stream reaches the next operator before expanding the graph.
Where To Go Next
Section titled “Where To Go Next”- MIDI to Instrument — play an instrument from a controller.
- Compose to Synth — let Voro generate the notes.
- Groove and Drums — generate a drum pattern and play a kit.
- Audio FX Chain — process and shape an audio signal.
- Custom DSP (Faust) — write your own operator from a Faust
.dsp(preview).