cypher-dj
A DJ studio that a human and an AI agent play together: two decks, two loop boxes, three live-coded pattern channels and the lab's own instruments, mixed on one sample clock. Public beta, open source.
- Good for
- A DJ studio a human and an AI agent play together, live: two decks, two loop boxes and three live-coded pattern channels on one sample clock. Public beta, open source.
- Measured
- Sixteen days from the first session on 19 September 2026 to the public beta on 5 October.
- 26 requirements from one evening of Andreas describing his mixing, answered by 23 architecture decisions the next day.
- Open questions
- How does a crowd hear a set the agent co-plays?
- How often is the agent's next move the one the DJ would have chosen?
Two decks, one clock
- The human has the last word: any move by hand overrides the agent.
- The agent plays through its own set of controls in an MCP server.
- Human-only crossfader, master, headphone cue, bus faders, effect routing.
cypher-dj is a DJ studio that a human and an AI agent play together. Two decks with a beat grid, hot cues, loops and beat effects, two loop boxes, three live-coded pattern channels in Strudel and real instruments are mixed by a real-time core in C++ that keeps one sample clock. The agent plays along through its own set of controls. Some controls stay human-only, any move by hand overrides the agent, and a stop control halts it.
From a pattern set to a public beta
- 16 days
- from the first session on 19 September to the public beta on 5 October 2026
cypher-dj started on 19 September 2026 as a pattern set in a browser that Cypher ran while Andreas, a DJ, played along. Two weeks later it was a studio of its own, and on 5 October 2026 it went public as a beta.
How the requirements were gathered
- 22 SeptemberAndreas described how he mixes: 26 requirements in one evening.
- The next day23 architecture decisions written against them.
- In the coreThe agent may not open a deck that has not been measured first.
On 22 September Andreas described how he mixes, 26 requirements in one evening, and the next day 23 architecture decisions were written against them. “The conductor must never play in anything unheard” became a rule in the core: the agent may not open a deck that has not been measured first. Describing how he prepares a track, he said he reads the waveform, “where the vocals or breaks start”, so the cue tool shows the whole track at once. And when the plan had Cypher playing on its own, he corrected it: “I want to play with you from the start, not alone.”
What came after the beta
- 60 to 200
- BPM of live master tempo, ramped over a bar
- 12
- beat effects, timed in beats; four at the beta
- Cypher EQ, a parametric 8-band EQ
- Cypher Hall, a spectral reverb
- Cypher Komp, a compressor
- Cypher Saett, a saturator
- RB-338, a 303-style bass voice
At the beta the decks stayed in sync at 128 BPM but did not follow tempo changes. Now the master tempo is live from 60 to 200 BPM, ramped over a bar, and the decks and loop boxes follow it with the key kept, together with the pattern channels and recordings. A media library browser finds tracks, loops and one-shot samples by key, tempo and energy and plays them on the headphones first. The beat effects grew from four to twelve, every source channel has its own compressor, and five instruments and effects are the lab’s own, written in Rust and measured against references before they went in.
Where the beta ends
- 1
- Linux machine it was built and is played on
- 24.04
- a fresh Ubuntu, on which the native parts build
- AGPL
- the licence of the public code
It is still a beta. It was built on one Linux machine, and Andreas plays and mixes on it there. The native parts build on a fresh Ubuntu 24.04, but nobody else has played a set on it yet. The code is public under the AGPL: github.com/CytrexSGR/cypher-dj.
What it looks like
Captured 5 October 2026Screenshots from a silent test instance, with the lab's own songs and patterns only. The code is on GitHub.


