About this tool
A DJ planning a set wants the tempo and the Camelot code of every track; a singer or a cover band wants to know what key the original is in before choosing where to transpose; someone building a running playlist wants songs that hold a steady 170 BPM. This page answers those questions for many files at once. Drop MP3, M4A, WAV, OGG or FLAC files — many at once — and a table fills in with file name, length, BPM to a tenth, a confidence figure, the key (for example A minor), its Camelot code (8A) and Open Key code (1m), and the runner-up key. Files are analysed one at a time in a Web Worker inside your browser; none of them is uploaded, so the first result appears as soon as the first file is decoded rather than after a transfer.
How the tempo is found
By default the middle 60 seconds of each track are analysed, skipping the intro and outro where the beat is often absent or ambiguous; you can switch to the whole track. The audio is turned into a spectral-flux onset envelope — a curve that peaks whenever something new happens in the sound — and the envelope's autocorrelation shows which spacing between onsets repeats most strongly. A prior that prefers tempos near 120 BPM settles the choice between candidates, and a fine search then pins the value to 0.1 BPM within a range of 60–200 BPM. Half-time and double-time are genuinely ambiguous — a drum-and-bass track at 174 BPM has a perfectly real pulse at 87 — so when both readings are strong the table shows both numbers (87 / 174) instead of pretending there is one answer.
How the key is found
The analysed section is reduced to a 12-bin chroma: how much energy falls on each of the twelve pitch classes, averaged over time. That profile is correlated with the 24 Krumhansl–Kessler key profiles (1982), one for each major and minor key, and the best match is the key shown. The second-best is shown too, because the most common confusion is between a key and its relative — C major and A minor share the same seven notes, and a chroma average alone often cannot tell them apart. If the runner-up is the relative key with a score close to the first, listen to where the song comes to rest before trusting either. The Camelot code follows the convention used by Mixed In Key: tracks with adjacent numbers, or the same number in A and B, mix harmonically; Open Key is the equivalent notation used by other software.
Fixing a tempo by hand
When the detector picks the wrong value, tap the tap button or the space bar in time with the music at least four times; the average of the last eight taps replaces that row's BPM. This is the quickest way to resolve a half/double-time reading or to set the tempo of a track with a very soft beat. Once the table looks right, export it as CSV for a spreadsheet or copy it as JSON — both include the file name, length, BPM, confidence, key, Camelot and Open Key codes and the runner-up key.
Where the numbers get unreliable
The detector assumes one tempo and one key per track. A song with a tempo change, a live recording that speeds up, or classical music played rubato gets a single average with a low confidence figure, and that figure is the signal to listen yourself. Modal, atonal or heavily modulating music does not fit the 24 major and minor profiles well, and a track that changes key halfway through gets one key for the whole thing — modulation tracking is not attempted. Treat the confidence column as honest: a high value means the beat and the tonal centre were clear, a low value means the song did not have a single clear answer to give.