Polyatic BPM Finder
All tools

BPM and key finder

Open a song or video on your device for its tempo and key, or tap along. Analysed here, never uploaded.

  • Tempo in BPM with its half and double (87 or 174) and how sure the reading is
  • Key with its Camelot code, relative key and a second guess
  • Beat grid over the waveform and a click to play along and check it by ear
  • Tempo over time for songs that speed up, and analysis of a part you select

Tap along

–BPM

Tap the button or press the space bar on each beat. Uses your last 16 taps; a 2-second pause starts over. Best for live, rubato or beatless music the detector cannot follow.

Song playing in the room

The microphone is asked for only when you press the button. The last 20 seconds are held in this page's memory, analysed every 2 seconds, and dropped on Stop. Nothing is recorded or sent.

Your files

FileBPMKeyCamelot
Open several songs at once to compare them here.

The list lives in this tab only; nothing is saved. Tap a file name to show it above.

How to find the BPM and key of a song

  1. Press Choose songs or videos and pick one file or several from your device (or drop them on the box).
  2. Read the tempo and key. The tempo comes with its half and double, and the key with its Camelot code, relative key and a second guess.
  3. Press Play with click and listen: the click should sit on the kick and snare. Tap the waveform to jump.
  4. For a song whose intro has no drums, drag across the part with the beat and press Analyse selection.
  5. No file? Press Tap or the space bar along with the music, or let the microphone listen to a song playing in the room.
  6. With several files, press Download CSV for a list you can sort in a spreadsheet.

What it cannot do

  • For rubato, live or beatless music (a solo piano piece, ambient, a band without a click track) the tempo is a guess. The confidence says so; tap along instead.
  • Key estimates suit most pop, rock and dance music. They fail on modal, atonal and key-changing songs: one key is reported for the whole part analysed. Select a section to check each part of a song that modulates.
  • The beat grid is straight: one tempo for the whole part. For a song that speeds up, use the tempo-over-time list or select a section.
  • It cannot read a link to a streaming or video site. The file must be on your device.
  • DRM-protected files (older protected M4P purchases, songs saved inside streaming apps) cannot be decoded. Nor can formats this browser does not decode, listed under the open button.
  • Half and double are both right ways to count a song. The page picks the one nearest to how most listeners count, but a DJ may want the other.
  • The whole file is decoded into memory. A long video (over about an hour, or files over 1 GB) may be too big for a phone.

How the tempo and key are worked out

Tempo. The sound is reduced to about 11,000 samples a second and cut into 46 ms slices every 11.6 ms (86 a second). For each slice the page measures how much louder each band of frequencies got than in the slice before (a kick drum shows in the bass band, a hi-hat in the top one), and adds the five bands at equal weight. That gives a curve with a spike at every drum hit or note start. The curve is compared with itself shifted by every delay up to 4.8 s; a song at 128 BPM matches itself best at shifts of 0.469 s and its multiples. Every tempo from 50 to 220 BPM is scored on 1, 2, 3 and 4 beats of shift, with a mild preference for tempos near 120 BPM to choose between a tempo and its double. Then a straight line is fitted through the spikes nearest each beat, which pins the tempo to about 0.1 BPM on a steady track and places the beat grid. The confidence is how strongly the curve repeats one to four beats later: near 1 for a drum loop, under 0.25 for noise.

Key. Slices of 372 ms are turned into a spectrum, and the energy between 80 Hz and 2 kHz is added into 12 pitch classes (all Cs, all C♯s, …) to give a chromagram of the whole part. That profile is compared (Pearson correlation) with the 24 major and minor key profiles measured by Krumhansl and Kessler in 1982, in which listeners rated how well each note fits a key. The best match is the key; the runner-up is shown because a key and its relative (A minor and C major share all seven notes) are often close. The Camelot code is the DJ's shorthand for the circle of fifths: keys one number apart, or the same number with A and B swapped, usually mix without a clash.

Worked example: a loop of A minor, D minor and E major chords contains A, C, E, D, F, G♯ and B. G♯ is not in C major, and A and E are played most, so A minor matches best (Camelot 8A). The test for this page renders that loop and gets A minor first, with A major (same tonic, G♯ shared) second.

Privacy

Your files are opened and decoded by this browser, and the analysis runs in this page. Nothing is uploaded: the page makes no request that carries your file, its name or any result. The microphone is used only after you press its button and only in memory. The page counts an anonymous page view and, the first time you open a file or tap, the fixed words bpm-open or bpm-tap, never a file name, tempo or key.

Questions

How do I find the BPM of an MP3?

Open the MP3 with Choose songs or videos. The page decodes it in your browser, finds where notes and drum hits start, and measures how regularly they repeat. A 4-minute song takes about a second or two on a laptop. The BPM shows with its half and double, because a song at 87 BPM can just as well be counted at 174.

Can it find the BPM and key of a song at the same time?

Yes. Every file gets a tempo and a key, plus the key's Camelot code (8A for A minor, 8B for C major), its relative major or minor and a second guess. Open several files at once to get a table you can download as CSV.

How does tap BPM work?

Press Tap (or the space bar) on every beat you hear. From the second tap the page shows the tempo: it uses your last 16 taps, finds the beat from the median gap, and fits a straight line through the tap times so small wobbles average out. Stop for 2 seconds and the next tap starts a new count.

Can it detect BPM through the microphone?

Yes, for a song playing in the room. Press Listen with the microphone; the browser asks your permission only then. The page keeps the last 20 seconds of sound in memory, re-analyses every 2 seconds, and drops it when you press Stop. Nothing is recorded to a file or sent anywhere. Room noise and talking lower the confidence; a file gives a cleaner reading.

Can I get the BPM of a song from a video?

Yes, if the video is a file on your device and this browser can decode its sound track, as most MP4 and WebM files are. Open the video like a song; only the sound is used. A link to a streaming or video site cannot be read: download or record the file first, where you have the right to.