Home / Science / Humanities and archaeology / Musicology and music acoustics / Rhythm and tempo detectorTool #423

Tempo detector: BPM, beat times and onsets from an audio file, with tempo candidates

Open a recording and get its tempo in beats per minute with a list of other candidate tempos, the time of every beat and every onset (CSV), and charts of the onset strength and its autocorrelation. Works offline; the sound never leaves your device.

Keep it one tap away for everyday use.

Bookmark Rhythm and tempo detector?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Sound
  2. Onsets
  3. Tempo
  4. Beats
Nothing is uploadedWorks offline once open

Sound

WAV, MP3, OGG, FLAC or M4A, up to 100 MB; up to 10 minutes are analysed. The sound is decoded on this device and never stored or sent.

Tempo is searched only between the slowest and fastest values; narrow the range if the result is half or double what you hear.

What it does

Musicologists, dancers, DJs, music teachers and anyone transcribing music often need the tempo of a recording and the times of its beats. This detector works in three steps:

  1. Onsets: the sound is cut into short overlapping frames (about 46 ms, every 11.6 ms at 44.1 kHz). For each frame the page measures how much the spectrum rises compared with the frame before (the spectral flux). Sudden rises are notes and drum hits. The peaks of this onset strength are listed as onsets with their times.
  2. Tempo: the onset strength is compared with shifted copies of itself (autocorrelation). A steady pulse makes it match itself every beat, so the peaks of the autocorrelation are tempo candidates. The strongest one inside your tempo range is the detected tempo; if a pulse twice as fast is nearly as strong (95 %), that faster pulse is taken as the beat.
  3. Beats: beat times are placed by dynamic programming, which follows strong onsets while keeping the gaps close to the beat period, so slight tempo changes are followed.

How to use it

  1. Press Open an audio file (WAV, MP3, OGG, FLAC or M4A). Up to 10 minutes are analysed; use Analyse from and Length to pick a section.
  2. Check the tempo range. Music is often heard at one of two tempos a factor of 2 apart; if the result is half or double what you tap, narrow the range or press Use on another candidate.
  3. Choose the onset sensitivity: high lists softer notes, low only strong ones.
  4. Download the onsets or beat times as CSV, or the report as an image, PDF or Word file.

Worked example

Press Use the example: a made-up 16-second click pattern at 104 BPM, with every fourth beat accented and a soft click between beats. The page reports Tempo 104.0 BPM, 28 beats placed, a mean beat-to-beat time of 577 ms and a spread of 6 ms (a perfectly steady pulse). It finds 55 onsets: 28 beats and 27 off-beats. The candidate list also shows 69.3 BPM (2/3 of the tempo); the off-beat pulse at 208 BPM lies outside the 60 to 200 BPM range. Raise the fastest tempo to 220 and the page picks the eighth-note pulse, 207.9 BPM, which is as strong as the beat; press Use on 104.0 to go back. This is the usual half-or-double choice.

Tips

  • Music with clear attacks (percussion, plucked strings, piano) gives the cleanest results. Smooth legato music with few attacks may need high sensitivity and a longer section.
  • Tempo changes: look at the spread of beat gaps and the beat CSV; analyse sections separately for music that speeds up or slows down.
  • The beat times line up with the start of each sound to within about one frame step (12 ms at 44.1 kHz).

FAQ

Why is the tempo double or half what I hear? Both are real pulses in the music; which one people tap depends on style and taste. Narrow the range or pick the candidate you hear.

Does it work on a live microphone? No, it analyses files. Record with any app, then open the file.

Is my recording uploaded? No. The file is decoded and analysed in your browser and never sent anywhere.

Where the numbers come from

  • Onset strength by spectral flux of log-compressed magnitude spectra (Bello et al. 2005, Böck and Widmer 2013), tempo by autocorrelation of the onset strength, and beat tracking by dynamic programming (D. P. W. Ellis, 2007, Journal of New Music Research 36, 51-60): published methods, implemented by fibub.
  • Checked against an independent NumPy implementation on two noisy click tracks (44.1 and 22.05 kHz): onset envelope and autocorrelation to 10⁻¹³, the same onset and beat times. Click tracks at 60, 90, 97, 104, 120, 145.5, 174 and 200 BPM give back their tempo within 0.1 BPM and every click within 10 ms.
  • The example is a click pattern made by the page, not a recording.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Light curve period finder #48 Paste times and brightness measurements, even with gaps and uneven spacing, and find the period with a Lomb-Scargle periodogram, false alarm probabilities, alias checks and a folded light curve. Tuning system and cents calculator #421 Compare tuning systems: equal temperament with any number of steps, 5-limit just intonation, Pythagorean and meantone (quarter-comma and others). Get every note's ratio, cents and frequency from your reference pitch, its deviation from 12-TET and from pure intervals, the cents between any two ratios, and hear the notes and chords. Nothing is uploaded. Instrument harmonics analyser #422 Open a recording of one note (or record it with your microphone after pressing a button) and get its spectrum, fundamental frequency and nearest note, the level and tuning of each harmonic, the inharmonicity of stiff strings and the spectral centroid, with charts and CSV. The sound never leaves your device. 1D Schrödinger solver #923 Choose a textbook potential, type a formula or draw your own, and get the lowest energy levels and wavefunctions of the one-dimensional Schrödinger equation by the matrix (finite-difference) method, with the exact levels alongside for the box, harmonic oscillator, finite well, Morse, linear and Pöschl–Teller potentials. Adduct and neutral loss calculator #984 Type a formula or a neutral monoisotopic mass and get the m/z of 25 common electrospray adducts in positive and negative mode, the ions left after common neutral losses (water, ammonia, CO2, sugars, phosphate and your own), and match a list of observed m/z values within a ppm tolerance. With no molecule, it turns observed m/z values into candidate neutral masses. Air quality calculator #116 Convert gas concentrations between ppm, ppb, µg/m³ and mg/m³ at any temperature and pressure, and work out the US Air Quality Index (with the 2024 PM2.5 breakpoints), India's National AQI and Canada's Air Quality Health Index from your own readings.