Why metronome precision matters
Most browser-based metronomes use JavaScript's setInterval — which sounds fine until you've been practicing for 20 minutes and notice the beat subtly shifting. setInterval can drift by 10–25 milliseconds per beat depending on browser tab load. PlayMetronome uses the Web Audio API's AudioContext.currentTime with a lookahead scheduler: notes are queued 100ms ahead of time, so the actual audio event fires with sub-millisecond accuracy.
For serious practice, especially when working on subdivision feels or preparing for a recording session, that precision matters. A piano student drilling Hanon exercises at 120 BPM for 15 minutes needs the same reliability they'd get from a Wittner hardware metronome. Need to time your practice sessions? timer-hub.com is a good companion.
The tap tempo feature averages your last 8 taps — useful when learning a song and you want to find the exact tempo before you start practicing with the metronome. Once set, you can fine-tune with the slider or ±1 BPM buttons.