Scheduled on the audio clock, not JavaScript timers — it won't drift when the tab is busy.
Most web metronomes tick with setInterval, which the browser delays whenever it feels like it — that's the classic drifting click. This one schedules each click ahead of time on the Web Audio hardware clock, the same way DAWs do. The tab can lag; the click can't.
Tap tempo: hit the button along with any song, four taps or more, and the BPM lands on the median of your intervals. For a passive version that counts taps anywhere on the screen, use the BPM counter. And when you're done with rhythm, the pitch detector handles the other axis of playing in time — playing in tune.
Practicing? Our guide on practicing with a metronome without hating it covers the 80% method.