Skip to content
Voro
  1. Audio
  2. Guides

Engine and streams

You patch Audio like any other TouchDesigner family: operators, wires, parameters. The network compiles into one engine plan running at 48 kHz on its own audio worker. That worker is independent of the TouchDesigner frame loop.

This is the contract behind the live graphs on the Audio home. The first things to wire are in First patches.

The operators are the interface. The engine is what runs. Fifty or eighty Audio operators on the graph are still one compiled plan on one clock. You do not get one thread per operator.

Audio, spectrum, note, chord, control and timeline all move through the same typed wires. A type is a contract between two operators, not a conversion you apply after the fact. When two kinds do not match, you place Convert.

StreamWhat it carries
AudioSample streams at the engine rate
SpectrumFrequency-domain frames
NotePitched events from MIDI or composers
ChordHarmonic state a voice can follow
ControlContinuous modulation
TimelineTempo, bars, beats

A MIDI keyboard becomes a note stream. A file player becomes an audio stream. A timeline becomes a clock every composer and voice can follow.

Tempo, bars and beats are shared transport. Patterns, grooves and voices stay locked because they read the same clock, not because you wired a tempo CHOP to each one. The Rig area holds the timeline and transport operators themselves.

Audio accepts a Faust .dsp file from disk as a custom module. The Faust compiler is not shipped with Voro, so compile the file first. Once it is in a module folder under voro_custom, it appears in the Custom column of the Audio view. See Custom modules.