Music Production Guides

How to Find the BPM and Key of a Song — Measured Accuracy

Load an audio file into the BPM and key analyzer and it estimates the tempo and key in your browser. On 14 synthesized test signals with known answers, BPM was within ±1 for 12 and came out at half or double for 2, and the key was correct for 12 of 13 (measured 2026-10-01).

By Chaez · Published · Last updated · Data as of

What steps should you follow?

  • Choose an audio file (MP3, WAV, M4A, FLAC and more) in the BPM and key analyzer. The file is analyzed on your device only.
  • When analysis finishes, the BPM and key (for example, D minor) are shown.
  • If the BPM feels twice as fast or half as slow as the song, tap the beat with the metronome’s Tap Tempo to check.
  • For practice, adjust speed and key in the practice player.

How accurate are the results?

We analyzed 14 synthesized signals with known tempo and key, using the same algorithms and settings as the analyzer. BPM matched exactly for 10, was off by 1 for 2, and came out at half or double for 2. Of the 13 signals with a key, 12 were correct including major or minor (measured 2026-10-01).

Analysis results by test signal, measured 2026-10-01
Test signalActualDetectedResult
ToneNook demo arpeggio (8 s)120 BPM · C major120 · C majorBoth correct
Band loop 60 BPM60 · C major120 · C majorBPM doubled
Band loop 70 BPM70 · A minor70 · A minorBoth correct
Band loop 90 BPM90 · G major90 · G majorBoth correct
Natural minor progression (Am–F–G–Am)100 · A minor100 · A minorBoth correct
Band loop 120 BPM120 · C major120 · C majorBoth correct
Band loop 128 BPM (30 s)128 · D minor128 · D minorBoth correct
Same loop, first 15 s128 · D minor128 · D minorBoth correct
Same loop, first 8 s128 · D minor129 · D minorBPM ±1
Same loop, first 4 s128 · D minor129 · G minorBPM ±1 · key wrong
Band loop 140 BPM140 · E minor140 · E minorBoth correct
Band loop 174 BPM174 · A# major87 · Bb majorBPM halved (same key)
Chords only, no drums96 · G major96 · G majorBoth correct
Drums only, no harmony100 · no key100 · C majorKey value meaningless

Synthesized signals have clearer beats and chords than real recordings, so these results show accuracy under favorable conditions. Songs with tempo changes, soft beats or key changes may be misread more often.

Why does BPM come out at half or double?

The 60 BPM signal was detected as 120 and the 174 BPM signal as 87 (measured 2026-10-01). The beat was counted at one level faster or slower, a common tempo-estimation error. Both results are exactly 2× off, so the beat positions are right and only the counting unit differs.

For very slow songs (around 60 BPM) or fast songs (170 BPM and above), compare the result with double and half that value. Whichever is closer to the tempo you tap with the metronome’s Tap Tempo is the real tempo.

When is the key wrong?

Analyzing only the first 4 seconds of a 128 BPM D minor loop returned G minor, while 8, 15 and 30 seconds returned D minor (measured 2026-10-01). The 4-second clip held only the first two chords of the Dm–Gm–A–Dm progression. Analyze a section that covers the full chord progression at least once.

A drums-only signal still returned C major. The analyzer picks the closest key even without harmony, so ignore the key for audio with no tonal content. Also, names like A# and Bb can refer to the same pitch (enharmonic equivalents).

How we measured

  • Algorithms: the same Essentia functions and settings as the analyzer — RhythmExtractor2013 (multifeature, 40–208 BPM) for tempo and KeyExtractor (bgate profile) for key. The analyzer runs essentia.js 0.1.3 in the browser; the measurement ran the same package in Node.js.
  • Test signals: all synthesized by us. Band loops have a kick on every beat, snare on 2 and 4, eighth-note hi-hats, one chord per bar and a root-note bass line. Major keys use I–V–vi–IV and minor keys i–iv–V–i, each 30 seconds long.
  • Scoring: BPM equal to the answer is correct, off by 1 is ±1, exactly 2× or ½ is doubled or halved. A key counts as correct only when both the tonic and major/minor match; enharmonic names such as A# and Bb count as the same key.
  • Recorded songs were not tested. Accuracy on real recordings may be lower than these results.

Frequently asked questions

How many seconds should I analyze?
In our 2026-10-01 measurement, a 128 BPM loop was correct for both BPM and key at 15 and 30 seconds, but the key was wrong at 4 seconds. Use a section that covers the chord progression at least once.
The BPM is twice as fast as the song feels. Why?
The beat was counted one level too fine. In our measurement a 60 BPM signal was detected as 120. Halve the result and compare it with the tempo you tap using the metronome’s Tap Tempo.
Are A# and Bb different keys?
No. They are enharmonic names for the same pitch. A 174 BPM A# major signal was shown as Bb major, which is the same key.

Sources