Skip to content
  1. 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.

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.

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.

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.

Start with a small MIDI-to-instrument chain:

MIDI Capture -> MIDI Note -> Synth -> Device Out

You 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 Out

Keep the first patch small. Add one operator at a time and confirm the expected stream reaches the next operator before expanding the graph.