Harmonic Mixing
reklawdbox scores transitions using the Camelot wheel for key compatibility, then extends it with BPM, energy, genre, brightness, and rhythm — six axes total.
The Camelot wheel
Section titled “The Camelot wheel”All 24 musical keys mapped to a numbered wheel: 1-12 with A (minor) or B (major). Adjacent positions are harmonically compatible.
Key compatibility
Section titled “Key compatibility”Key transitions are scored 0-1 based on Camelot position:
| Relationship | Score | Example | What it sounds like |
|---|---|---|---|
| Same key | 1.0 | 6A to 6A | Perfect match |
| +/-1, same letter | 0.9 | 6A to 7A | Energy boost / drop |
| Same number, A↔B | 0.8 | 6A to 6B | Mood shift |
| +/-1, different letter | 0.55 | 6A to 7B | Diagonal move |
| +/-2, same letter | 0.45 | 6A to 8A | Extended reach |
| Everything else | 0.1 | — | Clash |
The wheel wraps — 12A to 1A is one step, not eleven.
Beyond key: six-axis scoring
Section titled “Beyond key: six-axis scoring”Key is just one of six axes. Each produces a 0-1 score, combined into a weighted average.
| Axis | What it measures |
|---|---|
| Key | Camelot wheel distance |
| BPM | Tempo difference between tracks |
| Energy | Whether energy direction matches the set’s arc |
| Genre | Same genre or related genre family |
| Brightness | Timbral similarity (spectral centroid) |
| Rhythm | Groove similarity (rhythm regularity) |
Brightness and rhythm need Essentia. Without it, those axes are dropped and the remaining weights adjust automatically.
Priority modes
Section titled “Priority modes”Different priority modes change which axes matter most:
BPM compatibility
Section titled “BPM compatibility”How much tempo difference is tolerable:
| BPM difference | Score | Feel |
|---|---|---|
| Under 2% | ~1.0 | Seamless |
| 2-4% | ~0.8 | Comfortable pitch adjust |
| 4-6% | ~0.5 | Noticeable |
| 6-9% | ~0.3 | Needs a creative transition |
| Over 9% | Under 0.2 | Jarring |
Energy curves
Section titled “Energy curves”When building a set, the agent shapes the energy arc across the sequence. Each position gets an energy phase, and transitions that match the expected direction score higher.
Phases
Section titled “Phases”| Phase | What it wants |
|---|---|
| Warmup | Stable or slight rise |
| Build | Rising energy |
| Peak | High and stable |
| Release | Dropping energy |
Presets
Section titled “Presets”- warmup_build_peak_release (default) — the classic DJ arc
- flat — everything at peak, for peak-time sets
- peak_only — fast ramp, good for shorter sets or festival slots
- custom — define the phase for each position yourself
How it all fits together
Section titled “How it all fits together”When you ask the agent to score a single transition, it evaluates one pair across all six axes. When you ask it to build a set, it uses beam search from a seed track — exploring multiple paths in parallel and presenting the best candidates.
For the full scoring math, see the Transition Scoring reference.