Daily instrument practice
Set a BPM and time signature, switch on the accent, and practise along.
Guide
The metronome synthesises a short tone locally with a Web Audio sine oscillator and depends on no audio file. The scheduler wakes about every 25 ms but places beats about 120 ms ahead against AudioContext.currentTime, which avoids the obvious drift of simply making a sound from setInterval.
Updated 2026-09-271 min read
In 6/8, besides the main accent on beat 1 there is a lower-frequency secondary accent on beat 4; the other beats use the ordinary click.
Set a BPM and time signature, switch on the accent, and practise along.
Tap along with the beat a few times and the BPM is estimated for you.
Use the accents to mark the strong and weak positions in a compound time signature.
The implementation schedules a short window ahead, which is steadier than making a sound straight from a timer, though an overloaded browser or device can still affect the experience.
The sound is synthesised entirely in the browser: nothing is recorded and no network is used; preferences are written to localStorage.
Updated 2026-09-27
Precise 40–240 BPM metronome with time signatures, accents and tap tempo
Tap "Tap tempo" 2 or more times at the speed you want and the BPM is worked out automatically
Beats are scheduled ahead on the Web Audio clock (lookahead scheduling), so the tempo does not drift even if the page stutters; in 6/8 the 4th beat gets a secondary accent.