Online Metronome
Play a local accented metronome from 30 to 240 BPM with one to twelve beats per measure and an immediate stop control.
Privacy: your files never leave your device. All processing happens locally in your browser.
How to use
- 1.Enter a whole tempo from 30 through 240 BPM.
- 2.Choose one through twelve beats per measure and select Start.
- 3.Listen for the higher first-beat accent, then select Stop before leaving the page.
About Online Metronome
Online Metronome produces a simple repeating click with the Web Audio API in the current browser tab. Enter a whole tempo from 30 through 240 beats per minute and a measure length from one through twelve beats, then select Start. Beat one uses a higher pitch so the measure boundary is audible. Stop closes the audio context and cancels the next scheduled click. No microphone, recording, file upload, account, or server audio is involved.
Timing starts from the definition of beats per minute: the interval in seconds is 60 divided by BPM. At 60 BPM the interval is one second, at 120 BPM it is half a second, and at 240 BPM it is one quarter second. Eight external golden values cover the full range and representative fractional intervals. The display advances through the chosen measure with a wrap-safe integer counter.
Each click creates a short oscillator and gain envelope. The first beat uses 1320 Hz and later beats use 880 Hz. These frequencies are product cues, not claims about a standardized concert pitch, note name, tuning system, or ideal practice sound. Gain starts at a conservative 0.2 and decays exponentially to 0.001 over 50 milliseconds; the oscillator stops after 60 milliseconds so old nodes do not accumulate. Device volume, speakers, headphones, browser gain, and the listening environment determine actual loudness.
Tempo and measure length are validated as untrimmed whole decimal numbers. Signs, spaces, decimals, exponent notation, units, blank values, BPM below 30 or above 240, and measure lengths outside one through twelve fail rather than being rounded or capped. Editing either value stops playback before the new value can take effect, which prevents the displayed tempo and the active timer from drifting apart.
The browser schedules the next JavaScript callback from the calculated interval. This is suitable for ordinary practice and tempo reference, but it is not a sample-accurate studio clock. Background tabs, power-saving modes, busy main threads, Bluetooth latency, browser policies, and operating-system scheduling can delay audible clicks. The tool does not claim DAW synchronization, MIDI clock, tap-tempo analysis, latency calibration, subdivision patterns, swing, polyrhythm, or recording alignment.
Start closes any older audio context before creating a new one. A synchronous playing guard disables duplicate starts, and Stop clears the timeout, closes the context, resets the visual beat, and returns the tool to a stopped state. The same cleanup runs when the component leaves the page. If Web Audio is unavailable or startup is rejected, an error is shown and no stale playing state remains.
Use the metronome as a lightweight pulse for scales, rhythm exercises, reading, or checking a rough tempo. Begin with device volume low, especially with headphones. It is not hearing protection, a calibrated sound-pressure source, a medical device, or a promise that a displayed BPM will remain sample-accurate under every browser condition.
Methodology & sources
Parse untrimmed whole-number tempo from 30 through 240 and beats per measure from 1 through 12. Derive each interval as 60/BPM seconds. Wrap a zero-based tick modulo the measure length, using 1320 Hz on beat one and 880 Hz otherwise. For each tick create one oscillator and one gain node, decay gain from 0.2 to 0.001 over 50 ms, stop at 60 ms, and schedule the next callback from the validated interval. Stop, edits, failure, and unmount clear the timeout and close the AudioContext.
Frequently asked questions
- How is the click interval calculated?
- The interval is 60 divided by BPM seconds, so 120 BPM produces one click every 0.5 seconds.
- Why is beat one higher?
- A 1320 Hz first click contrasts with the 880 Hz remaining clicks so the measure boundary is easier to hear.
- Is the metronome sample accurate?
- No. Browser timers can be delayed by load, background throttling, power saving, Bluetooth, and operating-system scheduling.
- Does it use my microphone or upload audio?
- No. It creates short oscillator clicks locally and does not request microphone access or upload anything.
Related tools
- Online Drum MachineBuild and play a 16-step kick, snare, and hi-hat beat locally with no samples or uploads.
- White Noise GeneratorPlay bounded white noise locally in your browser with an immediate stop control and a 0–100% volume slider.
- Audio Pitch ChangerShift an audio file from one octave down to one octave up locally, then download the complete resampled result as PCM16 WAV.
- Audio CutterCut an exact time range from browser-decodable audio and download a local PCM16 WAV.
- Audio JoinerJoin 2–10 browser-decodable audio files in a chosen order and download one local PCM16 WAV.
- Reverse AudioReverse every decoded audio sample locally and download the result as an explicitly labeled PCM16 WAV file.