musics.name

Metronome

A steady pulse you can trust: scheduled on the audio clock rather than by timers, with tap tempo, subdivisions, accent patterns and polyrhythms for the day you need to practise three against four.

Metronome

Tap: —

120BPM

4/4 · quarters

Tempo 120 BPM
Tempo steps

Time and subdivision

Notational only; the pulse does not change.
Subdivision

Bar

—

Beat

—

Clicks scheduled

0

Stopped. Press Start or press Space.

Accent pattern

Polyrhythm

A second pattern across the same bar. Shared attacks are marked with a dot.

Polyrhythm off.

Shortcuts: Space starts and stops. T taps the tempo. Arrow Up and Arrow Down change the tempo by one. Click tone, volume and visual-only mode are in the controls above.

Volume 85%

Timing: Web Audio clock with 25 ms look-ahead Range: 20–300 BPM Nothing is recorded or uploaded

A metronome is only useful if the pulse stays where it puts it. This one does not use a JavaScript timer to make sound. It uses a timer to schedule sound a short distance ahead on the Web Audio clock, which is the clock the sound card runs on. The difference matters: timers can be delayed by layout, garbage collection or another tab, while scheduled audio times are kept by the audio hardware. Once the pulse starts, each click already has its time before the browser gets busy.

Why timer-driven pulses drift

The common failure is to call a function every beat and play a click inside it. setInterval does not promise exact timing; it promises that the callback will not run before the delay has passed. If the main thread is busy, the callback runs late, and the lateness accumulates. Scheduling ahead avoids this because a 25 ms timer only needs to stay within a 120 ms horizon. Small delays in the timer change nothing: the clicks were already placed on the audio clock. Changing the tempo works the same way. Only future clicks use the new interval, so the running pulse never restarts and never jumps.

One limitation remains outside the page’s control. Background tabs may have their timers throttled by the browser, which shortens the scheduling horizon. For that reason the transport pauses if the tab is hidden. Keep the tab in the foreground for critical work, and use visual-only mode only when you can see the lamps.

Using the transport and tap tempo

Start and Stop do what they say. Tempo can be set with the slider, the exact tempo box, the plus and minus steps, or halved and doubled in one press. Tap tempo averages recent taps and ignores gaps longer than three seconds, so an old tap cannot drag the answer toward a tempo you have already left. A useful way to take a tempo from a recording is to tap through a full phrase rather than two beats, then set the metronome two or four BPM below the tapped value and raise it only when the passage stays comfortable.

Volume applies to every click, including subdivisions and the polyrhythm. The click tone changes the main sound without changing the timing path. Visual-only mode keeps scheduling and keeps the lamps running with no audio; switching sound back on continues the same pulse because the schedule never stopped.

Subdivisions and accent patterns

Subdivisions divide each beat without changing the tempo. The table shows what each setting adds between two beat clicks.

SettingSlots per beatWhat you hear
Quarters1the beat only
Eighths2one quiet tick between beats
Triplets3two quiet ticks between beats
Sixteenths4three quiet ticks between beats

Subdivision ticks are always quieter than beat clicks and never carry an accent, so the bar structure stays audible at fast settings. Each beat lamp is also a control: activate it to cycle accent, normal and muted. An accented beat shows its number with a mark; a muted beat shows a dash and makes no sound but still takes its time, which is useful for practising entrances after rests. The named presets set common shapes at once. The 3+3+2 and 2+2+3 presets need eight beats and stay unavailable otherwise.

Practising a polyrhythm step by step

Choose the main beats per bar, then set the second pattern with the “against” control. An “against 3” pattern over four beats divides the same bar into three equal parts while the main pulse keeps four. Do not start at performance tempo. Start slow enough that you can count the shared attacks first: the downbeat and the next barline always coincide, and the lamps mark the other crossings with a dot. Clap or tap one pattern while the page plays the other, then subdivide the bar in the smallest useful unit and place each attack inside it. Only then bring the tempo up in small steps.

Two cautions help. First, beat unit is notational: 6/8 at the same BPM as 6/4 is the same pulse with a different written meaning. Second, a polyrhythm is a relationship across a whole bar, not a feel applied to one beat. If the two patterns drift apart in your hands, slow down until the shared attacks line up again rather than pushing through.

Slow practice and honest limits

A practical rule is to choose a tempo where the hardest bar is comfortable three times in a row, then move in steps of two to four BPM. Larger jumps test luck more than control. Slow practice works because it leaves attention free for sound, contact and release; speed is what remains when those are settled.

This tool does not record, save or export anything, and it does not accept MIDI input. It is a pulse with subdivisions, accents and a second pattern across the bar. For ensemble tuning, intonation work or tone production, use the chromatic tuner and your ears; for time, use this page and a tempo you can defend.

Questions

Why does a JavaScript metronome drift?

Because the usual approach schedules a click from a timer, and timers are not sample-accurate. This metronome schedules every click ahead of time on the Web Audio clock, which is the same clock the audio hardware runs on, so the pulse stays steady for as long as you leave it running.

How do I practise a polyrhythm against a pulse?

Set the main beats and the "against" number, start slowly, and count the shared attacks first — for 3:4, only the first and last of each group of twelve coincide. The beat lamps show where the two patterns cross.

What is a good tempo to practise at?

One where the passage is playable without tension three times in a row. Most practice sessions benefit from a tempo slow enough that the difficult bar is still comfortable, then increments of two to four BPM.

Does it work offline?

Yes, once the page has loaded. Nothing streams and no account is needed.

Featured releases

All releases