Clever Quest Lab Tools

BPM Counter

Find the tempo of a song in beats per minute: tap along on the pad, or let the page analyse an audio file or listen through your microphone. A delay-time table turns the tempo into milliseconds for every note value.

Tap tempo

Waiting for your first tap.

All taps
—
Average interval
—
Variation
—
Last interval
—

Dots: the tempo of each interval (last 32). Line: the average shown on the pad.

Find the BPM of a song

Open an audio file or listen through the microphone. The audio is analysed in this browser and is not uploaded.

…or drop an audio file anywhere on this page (MP3, WAV, OGG, M4A, FLAC; up to 50 MB).
Detected tempo
—

No audio analysed yet. Open a file, use the microphone or analyse the demo loop.

If the result is half or double the tempo you hear, press Half or Double above, or pick the range the song belongs to; the last file is checked again at once.

Delay times for a tempo

Example tempo. Tap or analyse a song to fill it in, or type your own.

Delay times in milliseconds for each note value
NoteStraight (ms)Dotted (ms)Triplet (ms)

The beat is taken as a quarter note. Values are rounded to 0.01 ms.

Accuracy. Tap tempo is as exact as your taps. File analysis is most exact on music with a steady tempo, apart from the occasional half or double reading; real recordings with a looser feel give less exact values. Files up to 50 MB are accepted and the first 6 minutes are analysed; the microphone needs about 5 seconds of music.

Runs on your device. Uses your microphone; the sound is processed on your device. Nothing you type or record is uploaded. Keeps working without a connection while the page is open. Works with touch. Saves your tap window, tempo range and delay-table tempo on this device.

Added

How to use the BPM counter

  1. Tap along. Play the song and tap the pad on every beat — with a finger, a mouse click, or the Space or T key. The tempo appears from the second tap.
  2. Choose how many taps to average. “Last 8 taps” follows a drifting tempo; “All taps” gives the steadiest reading for a fixed tempo.
  3. Stop for two seconds to finish a count. The result stays on the pad and the next tap starts a fresh count. Reset (or Esc) clears it.
  4. Or let the page find the tempo. Open or drop an audio file, or press “Listen with microphone” near the speaker; that reading appears after about five seconds and keeps updating.
  5. Check the octave. If the result is half or twice the tempo you feel, press Half or Double, or pick the song’s tempo range.
  6. Read the delay times. The table takes the latest tempo, or type any tempo. Copy it into a spreadsheet or your notes.

How it works

Tap tempo. With N taps in the window there are N − 1 intervals, and

average interval = (tlast − tfirst) / (N − 1)  and  BPM = 60 000 / average interval

where t is the time of a tap in milliseconds and 60,000 is the number of milliseconds in a minute. The variation is the sample standard deviation of the intervals, also given as a percentage of the average interval: under 2.5 % is very steady, under 5 % steady, under 10 % uneven, and more is very uneven. Because the average depends only on the first and last tap of the window, its error shrinks with the number of intervals: if each tap is about 15 ms off at random, 8 taps give a typical error of about 0.7 BPM at 120 BPM, and 32 taps about 0.16 BPM.

Finding the tempo in audio. The browser decodes the file at 22,050 samples per second and the page mixes it to mono, then cuts it into overlapping frames of 1,024 samples (46 ms), a new one every 128 samples. The onset strength of a frame is its spectral flux: the sum of all increases in log-magnitude since the previous frame, so drum hits and new notes make peaks. The autocorrelation of this onset curve — how well it matches a copy of itself shifted in time — has peaks at the beat period and its multiples.

Each candidate tempo in the range is scored by the average autocorrelation at 1, 2, 3 and 4 beat periods, weighted by a gentle preference curve centred on 120 BPM (or on the middle of a range you choose). An octave check on the accents below 1,500 Hz follows: if the point halfway between beats is about as strong as the beats, the tempo is doubled; if every second beat is clearly weaker, it is halved. Finally the period is refined from the autocorrelation peaks at up to 32 beats, which gives a steady track a result to a fraction of a BPM.

The confidence mixes beat strength (40 %), steadiness across 12-second sections or recent microphone readings (35 %) and how clear the half or double decision was (25 %). It is a guide, not a probability.

Delay times. With the beat taken as a quarter note, one beat lasts 60 000 / BPM ms. A note value 1/n lasts 240 000 / (BPM × n) ms, a dotted note 1.5 times as long, and a triplet 2/3 as long (three notes in the time of two).

Examples

Example 1 — tap tempo. Five taps at 0, 480, 975, 1,460 and 1,950 ms give the intervals 480, 495, 485 and 490 ms. The average interval is 1950 / 4 = 487.5 ms, so the tempo is 60 000 / 487.5 = 123.1 BPM. The intervals vary by ±6.5 ms (1.3 %): very steady.

Example 2 — echo at 120 BPM. One beat lasts 60 000 / 120 = 500 ms and an eighth note 250 ms. A dotted-eighth echo is 250 × 1.5 = 375 ms and an eighth-note triplet 250 × 2/3 = 166.67 ms.

Example 3 — 128 BPM. A quarter note lasts 60 000 / 128 = 468.75 ms, a sixteenth 240 000 / (128 × 16) = 117.19 ms and a dotted eighth 351.56 ms.

Example 4 — half time. The detector reports 140 BPM for a slow, heavy song that you count at 70. Press Half: the result becomes 70.0 BPM and the table shows a quarter note of 60 000 / 70 = 857.14 ms.

Half time, double time and other mix-ups

Most disagreements about a tempo are not small errors but a factor of two. A song with a kick drum on every beat and hi-hats on every eighth note can be counted at 90 or at 180 — both listeners tap different levels of the same rhythm. A detector faces the same choice, which is why the page offers Half and Double instead of hiding the ambiguity.

Dance music is usually counted at the kick drum; house music commonly sits around 120 to 130 BPM. Drum and bass is normally quoted at about 160 to 180 BPM even though it can feel like half that, and slow ballads with busy accompaniment are often detected at double speed. When you know roughly where a song belongs, choose that tempo range.

Note values, dotted notes and triplets

Echoes, arpeggiators and modulation sweeps sound tight when their timing matches the song. A quarter-note delay repeats on every beat; an eighth note doubles the pace. A dotted eighth (three sixteenths) is a classic guitar echo that fills the gaps between notes, and triplets give a rolling, swung feel. The 1/1 row is a whole note: one full bar of 4/4.

Frequently asked questions

How many taps do I need?

Two taps give a first reading. Eight or more usually bring it within about one BPM; for a precise value, tap through a whole verse with “All taps” selected.

Why is the detected tempo half or double what I hear?

The rhythm repeats at both levels and the detector picks the one that fits typical music best. Press Half or Double, or choose a tempo range — the last file is analysed again at once.

Why is the microphone less certain than a file?

It also hears room noise and voices, and it uses only the last 15 seconds. Hold the device close to the speaker and give it 10 to 20 seconds.

Can it follow a changing tempo?

For a file, the line under the result shows the tempo range of its 12-second sections. The microphone reading follows a change within about 15 seconds, and tap tempo with a short window follows it fastest.

Sources