Two to four people scan a QR code and each take one dimension of a single piece of music — drums, harmony, lead, or crowd energy. Nobody plays their own track. They play one track together. The signature moment is that one player moves to a new chord and the whole band re-roots around their choice on the next downbeat.
A non-musician can contribute meaningfully in about ten seconds, which was the point. The pitch was the aux war, solved: instead of fighting over the music, everybody plays at once and your taste is your instrument.
The hard part of a shared instrument is not the sound. It is agreeing on when. I put the master clock in the host browser and made everything else follow it, fanning beats out over WebSocket to phones acting as thin controllers.
That still leaves the player holding a phone that has to feel like an instrument. So the lead keyboard fires its own tone locally, in under 20 milliseconds — the note sounds immediately, and the network catches up afterwards to tell everyone else about it. You never wait on a round trip to hear yourself.
We wanted a generative model in the mix. Before building anything around it, I tested whether it could hold tempo.
It cannot. There is no tempo input to the model at all, and a primed on-grid loop drifts audibly within about thirty seconds.
So the model came off the clock entirely. What shipped is a deterministic, clock-locked band — drums, chords, lead, all ours, all on one clock — wrapped in an arhythmic generative texture layer that floats free of the grid. Drift in an atmospheric wash has no downbeat to be late against, so it stops being an error and starts reading as room sound.
Every voice splits into a brain and a voice: the note-choosing logic is always deterministic and ours, and the generative model only ever paints atmosphere or renders notes we already chose. It never picks a note and nothing rhythmic is slaved to it.
The texture layer runs Magenta RealTime 2 locally on Apple Silicon through MLX at roughly 2.37× real-time, conditioned on blended player taste, the live chord, and crowd energy, streaming through a queue-fed output that the OS mixes with the browser band. Players describe what they are into when they join; those descriptions are fused into the style conditioning, so the texture is literally made of everyone's taste at once.
Built over a weekend with one collaborator, who handled the lobby and onboarding. I led the audio architecture and the jam system. Won the Audiotool Challenge.