Tidal schedules OSC messages to an external synthesiser, separating pattern logic from sound synthesis
Tidal does not synthesise sound: it represents patterns of Open Sound Control (OSC) messages and sends them to a separate synthesiser process (SuperDirt/SuperCollider). An OscShape defines the message path, parameter names, and default values. Pattern accessors (note, velocity, wave) are derived from the OscShape. A stream connects to a network address:port and receives pattern updates. This architectural separation means Tidal patterns are pure data structures independent of audio rendering; onset timing can itself be a pattern for expressive microtiming.
Examples
s stream "127.0.0.1" 7770 synth — starts a scheduling thread. s $ note ("50 62 60") & velocity foo & wave "square" — composes multi-parameter OSC pattern. tempo $ tween 120 240 32 — global tempo ramp.
Assessment
Explain why separating pattern logic (Tidal) from synthesis (SuperDirt) is architecturally advantageous for live performance. What failure modes does this architecture introduce? How does the onset pattern feature extend expressive range beyond grid quantisation?