Now place voices and draw their orbits.
The hero above is the argument: a rhythm without a metronome. Move the mouse, and your gesture becomes a closed loop; a voice rides it forever. The loop period IS the tempo. The path shape IS the timbre arc. Time enters as motion, not as ticks.
Below is the instrument. Click anywhere to place a voice and draw its trajectory. Drag to shape the path. Release to close the loop. The voice rides the path at its own speed, and Catmull-Rom interpolation keeps the motion organic. Each voice orbits at a different rate, so the interference never exactly repeats.
The presets — orbits, Lissajous curves, figure-eights, constellations — demonstrate the compositional range. But the real instrument is the drawn path. Your gesture becomes the score. The composition writes itself through space and time.
Recorded waypoints are connected with Catmull-Rom spline interpolation. Each segment considers four surrounding points to create smooth, organic curves. The path loops seamlessly — the last point connects to the first through the same interpolation. No hard corners. No discontinuities in pitch.
When voices orbit at different speeds, they periodically align and diverge. Close approaches create beating. Wide separations create independent timbres. The interference pattern evolves continuously. Like planets in different orbits, they never exactly repeat — each pass through the cycle produces slightly different harmonic relationships.
The Lissajous preset traces paths defined by x = sin(at), y = sin(bt). Different a:b ratios produce different shapes — 3:2 makes a figure that visits both high and low registers, 2:5 creates complex crossings. The voice's pitch and timbre are simultaneously controlled by the same mathematical curve.
Signal proved the architecture: one state, two transducers. Spectral added timbre. Resonance added polyphony and harmonic interaction. Drift adds time. Same SharedArrayBuffer. Same AudioWorklet. Same 132 bytes. The only new code is the path system — Catmull-Rom interpolation and preset generators. The instrument deepens without the architecture growing.