Energy envelope
The audio is mixed to mono and split into roughly 10-millisecond windows, and the RMS energy of each window is measured to build a loudness-over-time curve.
Upload a music file and get an estimated tempo in beats per minute, complete with double-time and half-time alternatives to check against.
Press Detect tempo to analyze the beat.
This tool uses a lightweight, well-known onset-detection approach rather than a full spectral beat-tracking model. It measures how the audio's loudness changes over time, finds the moments that spike above their recent surroundings, and turns the typical spacing between those spikes into a tempo estimate.
The audio is mixed to mono and split into roughly 10-millisecond windows, and the RMS energy of each window is measured to build a loudness-over-time curve.
A moment counts as an onset when its energy clearly exceeds the rolling average of the previous second and is a local peak, which typically lines up with beats, drum hits or note attacks.
The time gaps between consecutive onsets are converted to BPM values, and the most frequently occurring value is taken as the estimate, along with a confidence score.
Like any lightweight beat detector, it can occasionally land on a musically-equivalent double or half tempo, which is why the ×2 and ÷2 alternates are always shown alongside it.
It measures the audio's short-term energy in small windows, then looks for onsets: moments where the energy spikes well above its recent rolling average, which usually correspond to beats or drum hits. The typical time gap between onsets is converted into a beats-per-minute estimate.
This is a very common and well-known limitation of simple onset-based tempo detectors. If the strongest rhythmic pulse it locks onto is every other beat, or every half beat, the result lands on a musically-equivalent double-time or half-time reading. Always check the shown ×2 and ÷2 alternates against what sounds right.
It reflects how consistently the detected onsets agreed on a single BPM value. A higher percentage means more of the beat-to-beat gaps matched the winning tempo; a lower percentage means the rhythm was less consistent or harder to read.
Clips with a very weak or unclear rhythmic pulse, ambient sound, speech, or very short clips may not produce enough clear onsets to estimate from. Try a section with a clearer, steadier beat.
No. Decoding and tempo analysis all happen locally in your browser using the Web Audio API and plain JavaScript. Your file never leaves your device.
More handy tools from My Panda Toolbox.