BPM Tap Sync — Free Tap Tempo & Beat Marker Tool
Tap along to any track to get an exact BPM and millisecond beat markers, right in your browser. Free, no upload, no signup.
What it does
Load an audio file (or skip that and just tap) and tap a button in time with the beat. The tool averages your taps into a BPM reading, automatically discarding any tap that clearly doesn’t fit so one mistimed tap doesn’t wreck the number. Every tap becomes a marker with an exact millisecond timestamp you can export straight into your editor.
How it works
- Outlier-rejecting average — computes the interval between your taps, finds the median, and drops any tap whose interval strays too far from it (over a few passes) before averaging what’s left.
- Auto-snap to the beat — once you tap, it checks a small window of the actual decoded audio around your tap and snaps to the loudest nearby moment, correcting for the reaction-time lag that always creeps into manual tapping.
- Automatic tempo detection — an autocorrelation pass over the track’s energy envelope proposes a BPM on its own, as a cross-check against your manual taps, tuned specifically to avoid the “half-tempo” mistake naive autocorrelation is prone to.
- Multi-section support — tracks that change tempo (a slow intro, a fast drop) get their own tap groups, each with its own BPM.
How to use it
- Drop in an audio file (MP3, WAV, OGG, M4A) — or skip this and just tap freely for a rough tempo. If you need to combine multiple clips into one file first, do that with the audio merger before loading it here.
- Hit play and tap the button (or press Space) in time with the beat.
- Watch the BPM readout stabilize as you tap a few more times.
- Use “Auto-detect BPM” as a second opinion, or type a manual override if you already know the tempo.
- Turn on the metronome overlay to double-check your BPM is actually locked to the track.
- Add a new section for any part of the track with a different tempo.
- Export your markers as JSON, CSV, or an Audacity label track.
FAQ
Why does my BPM keep drifting a little each time I tap? Human tapping is never perfectly steady — reaction time varies tap to tap. Auto-snap and outlier rejection are built specifically to smooth that out; a handful of taps usually converges within a beat or two.
Can I use this without loading an audio file? Yes — tap freely against nothing, or against a track playing elsewhere, and you’ll still get a BPM and marker list, just without waveform snapping or auto-detect (those need the decoded audio).
What if my track changes tempo partway through? Start a new section whenever the tempo shifts, so you’re not averaging two different tempos together.
How accurate is the automatic tempo detection? It’s a genuine signal-processing pass, not a guess — but still an estimate. Use it as a starting point or a sanity check against your own taps, not the final word.
Which export format should I use? JSON if you’re scripting something; CSV to eyeball the numbers or drop into a spreadsheet; the Audacity label track if you want the markers on your Audacity timeline directly.
Does the tool store my audio file? Yes, locally in your browser only, so it’s still there after a refresh. Use “Clear all” to remove it.