How accurate is browser BPM detection?

We generated click tracks at known tempos, ran them through the actual BPMfinder tool, and recorded what came back. The result is useful precisely because it is not always perfect.

What “accuracy” means here

Tempo detection is an estimate. A useful test asks two questions: does the tool return the tempo you put in, and when it does not, is the error a musically sensible half-time or double-time count? We tested the second question as carefully as the first.

This is a synthetic test, not a survey of real records. Click tracks are easier than music: they have clean transients, no vocals, no reverb, and no arrangement changes. Treat these numbers as a best case, not a promise about every MP3.

Method

  1. Generate 30-second mono WAV click tracks at 60, 70, 80, 90, 100, 110, 120, 128, 140, 150, 160, 174, and 180 BPM.
  2. Create four noise variants (90, 120, 140, 174 BPM) and four offbeat variants with an added offbeat click.
  3. Load each file into the live BPMfinder tool in Chrome, one at a time.
  4. Record the returned BPM and the confidence meter. A result was counted as exact only if it matched the input within 0.5 BPM.
Advertisement

Results

Input BPMCleanNoiseOffbeat
60no result in 30 s——
70140 (double)——
80160 (double)——
90909090
100100——
110110——
120120120120
128128——
140140140140
150150——
160160——
174174174174
18090 (half)——

17 of 21 files returned the exact tempo. Three returned a musically related half or double (70 → 140, 80 → 160, 180 → 90). One file, at 60 BPM, produced no result within the 30-second window.

What the results mean

In the 90–174 BPM range, the detector was exact on every clean file and every noise or offbeat variant we tested. That is the range most electronic music, DJ tools, and practice tracks live in. The errors clustered at the slow and fast extremes, where the detector chose a different counting level rather than a random number.

The 60 BPM timeout is the one result we would not gloss over. A 30-second click track at 60 BPM contains only 30 beats; the tool may need a longer file, a clearer transient, or a different input to return a value. For very slow material, use tap tempo as the primary check and treat the detector as a second opinion.

Limits and what we did not test

  • We did not test real commercial recordings, vocals, live drums, or rubato performances.
  • We did not test every browser or every audio codec; the test ran in Chrome with WAV files.
  • We did not measure speed or CPU use; the focus was the returned tempo.
  • A synthetic click track is a best case. Real music will produce more errors, especially at tempo changes.

How to reproduce it

Generate a click track at a known BPM, load it into the tool, and compare the returned value with the input. If you get a half or double, check the snare and the main pulse before assuming the tool is wrong.

FAQ

Is browser BPM detection accurate?

For steady electronic material in the 90–174 BPM range, our test was exact on every clean file. Real music and extreme tempos are harder.

Why did 70 BPM return 140?

The detector counted double-time subdivisions. The pulse is related; the counting level is different.

Why did 60 BPM fail?

It produced no result within 30 seconds in our test. Very slow material may need a longer clip or tap tempo.

Can I trust the confidence score?

Use it as a hint. High confidence on a clear beat is expected; low confidence is a signal to double-check, not a verdict.

What the confidence meter did

Most exact results displayed 100% confidence on the meter, including the noise and offbeat variants. The 70 BPM file that returned 140 displayed 40%. But the 80 BPM file that returned 160 and the 180 BPM file that returned 90 both displayed 100%. That is the important lesson: confidence measures how tightly the detected beats cluster, not whether the count matches your intention.

A high score means the detector found a consistent pulse. It does not mean the pulse is the one you would clap to. Always check the snare and the main backbeat before trusting a high-confidence half or double.

For a producer-facing walkthrough of the same problem, see DeepSeek Oracle’s practical BPM guide.

Why a synthetic test still matters

It isolates the detector from the variables that make real music hard: vocals, reverb, arrangement changes, live timing, and codec artifacts. If the tool cannot handle a clean click track at a given tempo, that is a baseline fact worth knowing. If it handles the click track but fails on a real record, the problem is likely the material, not the arithmetic.

We will keep this page updated if the detector changes. The method is simple enough to repeat: generate a click track at a known BPM, load it into the tool, and compare. If you run the test and get a different result, send it in — a reproducible disagreement is more useful than a review.

What would make this test stronger

  • A set of licensed real recordings with known tempo annotations.
  • Live drum performances with and without a click.
  • Multiple browsers and codecs (MP3, AAC, FLAC, WAV).
  • A measurement of detection time, not just the returned number.

Those are future work, not claims. The table above is what we actually measured today.

Justin Helmer publishes BPMfinder.ca and records as Excavationpro. He writes about tempo, music tools, and the practical side of making records without a label. About the site.