BPM Detection

How to find the BPM of any song (and what to do when it's wrong)

Guide · 8 min read

BPM detection looks like a solved problem until you actually try it on a real DJ collection. Drop in a tech-house single and you get the right number to the decimal. Drop in a hip-hop track with a half-time hook and you get a number that's either double or half what you expected. Load up a jazz recording and the detector might land on something improbable like 73 BPM, leaving you wondering whether the machine is broken or the song is.

It isn't broken. BPM detection is just harder than it looks, and understanding why turns out to be useful — both for picking the right tool and for fixing the result when a tool gets it wrong.

What "BPM" actually means

Beats per minute sounds simple: how many beats happen in a minute. The catch is that "beat" isn't a property of the audio, it's a property of how you hear the audio. A four-on-the-floor house track at 124 BPM is also, mathematically, a track at 62 BPM with two beats per period, or 248 BPM with half a beat per period. All three numbers describe the same audio. The difference is which level of repetition a listener perceives as "the beat."

Humans usually settle on the level that feels danceable — somewhere between 60 and 180 BPM. Detectors try to do the same thing, but they have no internal sense of what's danceable, so they have to guess. That guess is where almost all the errors come from.

How a BPM detector actually works

Three steps, roughly:

  1. Onset detection. The detector looks at the audio energy over time and flags moments where the level suddenly jumps — drum hits, percussive notes, sharp attacks. These are the candidate "beats."
  2. Interval analysis. It measures the time gaps between those onsets and looks for a pattern that repeats. If the gaps cluster around 0.5 seconds, that suggests a beat every half-second, which is 120 BPM.
  3. Octave correction. Because the same audio supports multiple tempos (120, 60, 240…), the detector tries to land on the one that sits in a "musical" range, typically 60–180.

Every detector does these three steps a little differently. Some weight the bass band heavier than the highs, on the theory that kick drums are more reliable than hi-hats. Some use machine learning trained on labelled tracks. Some use multiple algorithms and vote. The differences explain why two BPM tools sometimes disagree on the same file.

Where BPM detection goes wrong

Half-time and double-time

The most common error. A track at 140 BPM with a half-time hook (snare on every other bar instead of every two beats) often gets read as 70 BPM. A drum-and-bass track at 174 BPM with a heavy half-time breakdown sometimes gets read as 87. The audio is the same; the detector just landed on the wrong layer of repetition.

The fix is mechanical: if the result is around half what you expected, double it. If it's around double, halve it. Most DJ tools have a button for this — ours included.

Slow intros

If a detector reads only the first thirty seconds of a track and that section is a sparse atmospheric intro with no drums, the result is unreliable. Better detectors analyse a longer window or skip the intro automatically. If yours seems to be wrong on tracks with long ambient openings, try trimming the file to just the drop or chorus and re-analysing.

Syncopation and swing

Jazz, hip-hop with heavy swing, and broken-beat genres throw a wrench into the interval-matching step. The gaps between onsets aren't evenly spaced — they're deliberately uneven, which is what makes the music feel like it does. Detectors assume even spacing and end up with a confidence score so low that they have to guess. The number they output is still a number, but it's barely a guess.

Live recordings

Drummers don't play to a click track. The tempo drifts by a beat or two per minute over the course of a song. Detectors can give you the average, but it won't match the start, end, or any particular point in the song. For a DJ this usually doesn't matter; for a producer trying to align a remix, it absolutely does.

Spotting a wrong result

A few quick checks before you trust the number:

How accurate can you actually get?

For modern dance music with a steady kick — house, techno, EDM, trance — detectors land on the right answer well over 90% of the time, often to within 0.1 BPM. For hip-hop and rap, accuracy drops because of half-time hooks. For organic genres (folk, jazz, live rock) the answer might just not be a single number, because the song doesn't have one.

The honest framing is this: a BPM detector is right for tracks where there's a right answer, and useful but fallible for everything else. Treat the number as a starting point, not a fact.

Tool

Try our free BPM, Key & Energy finder. It runs entirely in your browser — your tracks never leave your device. The detector outputs a confidence score, and we expose halve / double buttons in case the result lands on the wrong octave.

Open the BPM Finder →

Quick checklist for getting BPM right

  1. Run the track through a detector.
  2. Compare the result to typical BPMs for the genre.
  3. If it's around half or double what you expected, use the halve / double button.
  4. If you're still not sure, tap along for 15 seconds and count.
  5. If the track has irregular tempo (live recording, swing-heavy hip-hop), accept that there's no single right answer and pick what feels danceable.

Most of the time you won't need step 3 onwards. When you do, knowing why the detector failed makes it ten seconds of fixing instead of ten minutes of wondering.