Fun Music

BPM tapper

Tempo —
0 taps
Quarter note (1/4)— ms
Eighth note (1/8)— ms
Dotted quarter— ms
Quarter triplet— ms
Half time—
Double time—
Local · rolling average of the last 8 taps

Tap the button, or press the space bar, once on every beat. The tempo is the average of your last eight taps, so it moves about for the first four and has usually settled by the eighth. Stop for two and a half seconds and the next tap starts a fresh measurement rather than counting the pause as one enormous beat.

How to find a tempo by tapping

1 Play the track and tap the button, or press the space bar, once per beat.
2 Tap the pulse you would nod your head to, not every hi-hat and not every other bar.
3 Keep going past eight taps. The number jumps early on and then stops moving.
4 Read the ± figure before you write anything down: under two percent means the average is worth having.
5 Round to the nearest whole number if the track was produced to a grid.

What comes back is an average, not a measurement. The page never hears the track: there is no microphone and nothing is recorded — the only thing it knows about the music is the rhythm of your finger. That is usually enough, because a hand tapping along to a steady beat runs late and early in roughly equal measure and the errors cancel. It is still worth knowing which part of the reading is the track and which part is you.

Why only two of your taps set the number

Averaging eight consecutive gaps sounds like eight measurements weighed against each other. It is not. Those eight gaps add up to the time from the first tap in the window to the last, so the tempo is that span divided by eight and the six taps in between cancel out of the sum completely. They are not wasted: they are what the ± figure is computed from, and that figure is the only thing on the page that tells you whether the tempo deserves a decimal place. But the tempo itself rests on two taps a few seconds apart, which is why one late tap shifts the reading and then shifts it back eight taps later, when it falls out of the window. It is also why a longer run of tapping reads steadier than a short one: the two taps carrying the number are further apart, so the same wobble in your timing is a smaller fraction of the span between them.

The factor-of-two trap, and swing

Two mistakes produce a confidently wrong answer rather than an obviously wrong one. Tapping the hi-hat instead of the beat gives exactly double the tempo; tapping every other beat gives exactly half. That is why a track reading 174 might genuinely be 87, and why drum and bass at 174 and hip-hop at 87 feel like relatives rather than opposites. If the number looks wrong by a factor of two it almost always is, and the half-time and double-time rows are there so you can read the alternative without tapping again.

Swing is the subtler one. In a shuffle the eighth notes are deliberately uneven, long then short, so tapping them sends the ± figure up even though your timing is fine and the groove is doing exactly what it is supposed to. Tap the quarter-note pulse instead and the spread drops back. The same applies to anything heavily syncopated or built on a pickup: tap what you would count, not what is loudest.

What tapping cannot tell you

It cannot find the downbeat. It measures how fast the beat goes, not where the bar starts, so a reading of 128 says nothing about whether you are tapping on the one. It cannot follow a tempo map either: on a piece that speeds up, the number trails the music by around four beats, because four beats back is the middle of the window it is averaging. And below roughly 24 beats per minute it stops working at all, since a gap that slow exceeds the two-and-a-half-second reset and every tap is treated as a fresh start. Tap the half notes and double the answer.

For an exact figure, stop tapping. Loop one bar in your editor, read its length in milliseconds and put that into the Milliseconds to tempo tab of the BPM calculator, which settles the question to three decimals. A tapped reading of 119.4 is a produced track at 120 telling you it was tapped by a person.

What people use it for

  • Getting the tempo of a track that arrived with no metadata
  • Setting a metronome or a click to something you are already playing
  • Checking whether a live take drifted from the tempo it started at
  • Finding the tempo of something you can only hum
  • Working out where a DJ has left the pitch fader

Questions

Four gives you something to look at, eight gives you something to trust. The average runs over the last eight gaps, so until you have tapped nine times it is working with less than it wants.

MDN. performance.now()
Was this tool any good?
Internal signal only · I use it to find the tools worth rebuilding