← back to the dream lab

15824 · canon · two-voice conducting

Canon

Two hands, one recording, two voices. A frequency crossover splits Karel's real piano take into a bass voice and a treble voice, each played by its own loop head. Your left hand conducts the bass's time-base; your right hand conducts the treble's. Move them independently and his take plays in counterpoint against itself — the low pad dragging slow while the melody pushes forward, or the reverse.

tap conduct — grant the camera for two-hand conducting, or conduct with the pointer

Press Conduct the canon to split his take into two voices.

input: MediaPipe hand landmarks + handedness, two hands (single-pointer fallback) · output: WebGPU compute grain cloud, two clouds seeded from his waveform (Canvas2D fallback) · audio: his real decoded take, band-split by a crossover into two loop heads, each transformed — per-voice playbackRate, crossover + tone filters, gain, and a feedback-delay of his own signal.

The dream lab — Karel Barnoski