Metronome
Free online metronome tool, no installation required
About Metronome
A browser metronome built on the Web Audio API. Supports tempo from 30 to 250 BPM, seven time signatures (1/4 through 7/8), three subdivisions (eighth, triplet, sixteenth), accented downbeats, a Tap Tempo detector, eight preset BPM buttons, and named presets persisted in IndexedDB.
How to Use
1. Pick a Time Signature, Subdivision, and toggle Accent. 2. Set tempo with the BPM slider, the +/- buttons, a preset BPM button (40/60/80/100/120/140/160/180), or by tapping the Tap Tempo button. 3. Adjust the Volume slider (0-100%). 4. Press Start to play and Stop to halt; the beat dots highlight the current position and the downbeat is emphasized when Accent is on. 5. Press Save to store the current settings as a named preset; load or delete presets from the history list. Reset returns everything to defaults (120 BPM, 4/4, accent on, volume 80).
Click Sounds and Timing Model
Each click is a short sine burst: accented downbeat at 1200 Hz (50% gain), normal beat at 800 Hz (35%), and subdivision click at 600 Hz (15%), each ramped to silence over 50-80 ms. Beats are scheduled with a setTimeout loop (lookahead of beatInterval*1000 - 25 ms, floored at 10 ms), not sample-accurate Web Audio scheduling - so timing is close but can drift under main-thread load, unlike dedicated lookahead schedulers.
▶How does Tap Tempo work?
▶What tempo markings are shown?
▶Why does the timing feel slightly off under heavy CPU load?
▶Are presets saved across sessions?
▶Can I use odd time signatures like 7/8?
If this tool has been helpful to you, consider buying me a coffee.
Buy me a coffee