How accurate is it, really?
Most tools quote accuracy measured on their own libraries. We used to as well: our old number was 69%, graded partly against tags the detector itself had written. That is circular, so we retired it. These numbers come from GiantSteps, the public academic dataset of real Beatport tracks with independent key, tempo, and genre labels. 1225 tracks, no cherry-picking, weak spots included.
Run of 2026-07-07, frozen in the repo (tests/giantsteps/RESULTS_2026-07-07_edmm.txt). The BPM figure includes the same-day tempo fix, verified on the full 1225-track set; the frozen file shows 40.4% before that fix.
What those words mean at the decks
- Exact: the written Camelot key is the track's key. Mix by the wheel and it works.
- Safe to mix: exact, or off by a musically compatible neighbor (relative major/minor and similar), your blend still works.
- Dangerous: a key that would clash if you trusted it blindly. This is the number we watch, and 22.2% is why the app lets you audition and override any key before export.
- BPM, strictly: GiantSteps counts a half-time or double-time reading as fully wrong. A 174 drum-and-bass track heard at 87 counts as a miss even though your pitch fader math still works. We report the strict number anyway.
By genre, including where we are weak
| Genre | Key-labeled tracks | Key exact | Dangerous |
|---|---|---|---|
| Progressive house | 88 | 61.4% | 22.7% |
| Tech house | 81 | 55.6% | 28.4% |
| Deep house | 77 | 77.9% | 14.3% |
| Trance | 58 | 70.7% | 19.0% |
| Electro house | 51 | 74.5% | 11.8% |
| House | 47 | 70.2% | 21.3% |
| Drum and bass | 38 | 57.9% | 28.9% |
| Techno | 34 | 47.1% | 41.2% |
| Dubstep | 22 | 59.1% | 18.2% |
| Electronica | 20 | 65.0% | 25.0% |
| Minimal | 11 | 45.5% | 54.5% |
Small buckets are noisy; n is shown so you can judge. The two honest sore spots: minimal and techno, where sparse, percussive arrangements give the detector the least harmonic evidence. If you play those genres, audition keys before you trust them.
Reproduce it yourself
The audio is not ours to redistribute, but the dataset is public and the whole pipeline is in the repo. Any Cratefox install can re-run the ruler:
Same command, same data, same numbers. If yours differ, write hey@cratefox.app and we will publish the correction.
The demo is simulated. These numbers are not.
The animated crate on the homepage is an illustration with fictional tracks (so no real record gets mis-keyed in marketing). This page is the opposite: real tracks, independent labels, misses counted. That split is deliberate.