Tap Tempo / BPM Finder
Tap the button (or press Space) in time with a beat to find its tempo — useful for setting a metronome, a DJ set, or a delay/reverb effect to match a song.
How Tap Tempo / BPM Finder Works
Figuring out a song's BPM (beats per minute) by ear and math is slow and error-prone -- tapping along to the beat and letting the gaps between taps do the math is faster and more natural. This tool converts your tap rhythm into a live BPM reading, plus a full table of delay times for setting up an echo or reverb effect that stays in sync with that tempo.
Formula & Method
Each tap records a precise timestamp, and the interval to the previous tap is calculated. Once at least two taps exist, BPM is 60000 ÷ average interval in milliseconds, using a rolling average of your last 8 taps -- recent enough to adapt quickly if your tapping tempo drifts, but averaged enough that a single mistimed tap doesn't throw the whole reading off. Pausing more than 2 seconds between taps starts a completely fresh reading, on the assumption that a long pause means you're starting over on a new beat. Delay times for music production follow the standard convention that a "quarter note" delay equals 60000 ÷ BPM milliseconds, with other note values as simple multiples or fractions of that (a dotted note is ×1.5, a triplet is ×2⁄3).
Worked Example
Tapping at a steady 500ms between taps settles to a reading of exactly 120 BPM -- landing right at the top edge of the "Moderato" tempo marking -- with a quarter-note delay time of 500ms, an eighth note at 250ms, and a dotted eighth at 375ms.
Frequently Asked Questions
- Why does the BPM use an average of the last 8 taps instead of just the most recent gap?
- A single tap-to-tap interval is noisy -- human tapping naturally varies by a few milliseconds even at a steady intended tempo -- so averaging across 8 taps smooths out that noise while still being responsive enough to follow real tempo changes within a couple of seconds, rather than either overreacting to one slightly-off tap or being sluggish to update.
- Why does pausing reset the count instead of just ignoring the gap?
- A pause longer than 2 seconds almost always means you've stopped tapping to the previous beat and are about to start on a new one (or a different song) -- folding that long gap into the average would produce a nonsensical BPM, so the tool treats it as a fresh start instead.
- What are the tempo markings (Andante, Allegro, etc.) actually based on?
- They're the traditional Italian tempo terms used in Western classical music notation, each conventionally associated with an approximate BPM range -- these ranges are commonly cited but not perfectly standardized, since different music theory references draw the exact boundaries slightly differently, so treat the label as a useful ballpark description rather than an exact classification.
- Why would a music producer need delay times in milliseconds instead of just the BPM?
- Most delay and reverb plugins that aren't tempo-synced to a DAW require the effect's time to be entered directly in milliseconds -- converting a song's BPM into the millisecond value for a quarter note, eighth note, dotted eighth, etc. lets a producer manually dial in an echo that repeats exactly on the beat instead of drifting out of time with the track.
Tap at least twice to get a reading. Pausing for more than 2 seconds starts a fresh reading.
| Note Value | Delay Time |
|---|
BPM is the average of your last 8 taps, so it settles quickly and still adapts if your tempo drifts. Tempo names (Andante, Allegro, etc.) are commonly cited approximate ranges — different music theory references draw the boundaries slightly differently. Delay times use the standard music-production convention: a "quarter note" delay is 60000 ÷ BPM milliseconds, with dotted values ×1.5 and triplet values ×2⁄3 of the equivalent plain note.