Hydra + TidalCycles: Visual Sync via OSC
The idea is simple: let the audio code drive the visual code in real time.
TidalCycles can send OSC messages on every beat. Hydra, running in a browser on port 4173, can receive those messages and use the values to modulate visual parameters — scale, brightness, hue, geometry.
The setup
TidalCycles sends OSC to localhost:57120 by default (SuperCollider). To route a copy to a custom listener, a second target is defined in the boot file with the target address pointing to a relay server.
On the Hydra side, a small Node.js relay converts OSC packets to WebSocket messages the browser can consume. Hydra exposes a global array for audio values; I feed OSC data into that same slot.
Results
Beat-synchronized visual pulses: the kick sends a short amplitude spike, mapped to scale. High-frequency content drives hue rotation. Silence collapses the geometry toward a point.
The visual language that emerged was something between a radar scan and a seismograph. Geometric, precise, reactive. This is now part of my default live setup.
Next steps
Try routing individual track amplitudes from TidalCycles to separate Hydra parameters. d1 drives geometry. d2 drives color. d3 drives displacement. Layers of causality.