Apps & Tools
Metronome & Tap Tempo
A sample-accurate Web Audio metronome, subdivisions, accents, and tap tempo, without the drift of a JavaScript timer.
Beats per Bar
Subdivision
Knowledge Base
Why This Metronome Doesn't Drift
A naive metronome built with setInterval drifts over time because JavaScript timers aren't sample-accurate. The browser can delay a callback by several milliseconds under load, and those small errors accumulate audibly over a long session. This tool instead schedules every click's exact audio start time in advance using the Web Audio clock, then checks slightly ahead of playback to queue the next batch of clicks. The standard "lookahead scheduler" pattern used in serious browser-based audio tools.
Subdivisions Explained
- Quarter notes: One click per beat. The basic pulse.
- Eighth notes: Two clicks per beat, the second slightly softer.
- Triplets: Three even clicks per beat, useful for practicing triplet feel.
- Sixteenth notes: Four clicks per beat, for fast subdivision practice.
Using Tap Tempo
Click "Tap Tempo" in time with a song or performance at least 4 times. The tool averages the intervals between your taps to estimate BPM, which is often faster and more intuitive than dialing in a number directly when you already have the tempo in your head or ears.
FAQ
Q: Why does the first beat sound different from the others?
A: It's accented (louder, slightly higher pitch) to help you feel the downbeat of each bar, matching how most physical metronomes and DAW click tracks work.
Q: Can I use this while recording in another app?
A: Yes, though for actual DAW recording you'll generally get better results from your DAW's own internal click track, since it can stay sample-locked to your recording timeline in a way a separate browser tab can't.
Translate this page
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.