Metronome & Tap Tempo
Microsecond-accurate timing using audioContext.currentTime. Tap the beat to detect BPM.
90
BPM
Andante
Tap here repeatedly to detect the BPM
Keyboard: Space starts/stops · T taps tempo · ↑/↓ adjusts BPM by 1.
Scheduling uses AudioContext.currentTime for sub-millisecond accuracy — far more stable than setInterval or setTimeout, which drift when the OS is busy.