Project Nayuki

Tap to measure tempo (JavaScript)


Simple Advanced
Beats (counts)
Position (bar : beat)
Time (s)
Std. dev. (ms)
Offset (ms)
Correlation (r2)
Last dev. (ms early)
Period (ms)
Tempo (BPM)


First, start playing a song. Then come back to this web page. On each beat, tap on any key on the keyboard, timed as accurately as possible. When there are no more beats to be counted, press the “Done” button. Press “Reset” to clear the results and start again.

This program uses linear regression to calculate the tempo based on the timing of your key presses. The source code is available for viewing.

More info