🥁 METRONOME

Tight metronome, in your browser.

Web Audio look-ahead scheduling — sample-accurate timing. 30-300 BPM, four time signatures, tap-to-set tempo, accented downbeat. No app, no signup.

120
BPM
Subdiv:
Bars:
VOL 70
Common:
Don't know the BPM? Tap along — we'll average your taps. Spacebar works too.
How it works. A naive setInterval metronome drifts by 5-15 ms per second — terrible for practice. We use the Web Audio look-ahead pattern: a setInterval running every 25 ms checks whether the next beat falls inside a 100 ms scheduling window and, if so, queues an oscillator to fire at exactly the right audioCtx.currentTime. The audio thread handles the timing — the JS thread just schedules ahead. Result: rock-solid click track regardless of frame rate or tab background. Pair with the BPM detector to find the tempo of any track, then practice to it here.
Link copied