🔍

Audio Loop Analyzer

Load a loop or beat and the tool estimates its BPM, draws a beat & bar grid on the waveform, suggests bar lengths, and checks how cleanly the clip loops — all in your browser.

ℹ BPM detection is an estimate. It works best on steady, percussive material in 4/4; ambient, rubato, or tempo-changing audio can fool it. Tempo also has a built-in ×2 / ÷2 ambiguity — if the number looks doubled or halved, use the buttons, or just type the correct BPM (auto-detection covers 60–200 BPM; the field accepts 30–300). Nothing is uploaded; analysis runs on your device.

No file loaded.

How It Works

Your file is decoded to raw samples in the browser. The tool measures a short-window energy envelope across the file and takes its positive changes to build an onset strength signal — spikes where new notes or drum hits begin. It then runs an autocorrelation on that onset signal: the lag where the signal best lines up with a delayed copy of itself is the beat period, and BPM = 60 ÷ beat period. A gentle preference curve around typical dance/pop tempos helps it pick the musically sensible octave. The beat grid is phase-aligned by sliding a pulse train until it best matches the onsets, and bar lines (every 4 beats) assume 4/4 time.

Because it’s based on energy, it shines on clear, steady beats and can struggle with sparse, ambient, swung, or tempo-changing music. The ×2 / ÷2 ambiguity is fundamental to tempo estimation — a backbeat can read as half or double the “real” tempo. If the grid doesn’t line up, nudge the BPM or use the octave buttons, then take the loop points into the Loop Audio Maker to cut a seamless loop.

Frequently Asked Questions

Is my file uploaded?
No. Decoding and analysis happen entirely in your browser; the audio never leaves your device.
The BPM looks doubled (or halved) — is it broken?
No — that’s the classic tempo octave ambiguity. A beat and its half/double both line up with the music. Tap the ×2 or ÷2 button, or type the tempo you know is right.
Why is the detected tempo off for my track?
Energy-based detection needs a fairly steady, percussive pulse. Ambient pads, rubato playing, complex polyrhythms, or tempo changes can throw it off. Treat the number as a starting point and correct it by ear.
Does it assume 4/4 time?
The bar lines (every 4 beats) assume 4/4. The beat detection itself doesn’t — only the bar grouping does. For 3/4 or 6/8, read the beats and group them yourself.
Can it cut the loop for me?
This tool only analyzes. To actually create a seamless loop from your start/end points, use the Loop Audio Maker (linked above) — it adds a crossfade and exports a WAV.