BPM-Calculator.com provides tools across three distinct technical categories: pure calculation tools that derive exact timing values from a BPM input, measurement tools that estimate BPM from tap input or audio analysis, and reference tools that map BPM values to musical terminology. This page explains how each category works technically, what determines accuracy, and what none of these tools can determine regardless of conditions.
Written and maintained by Sophia, founder of BPM-Calculator.com.
Part 1 — The BPM Calculator: Complete Timing Table
The Core Formula
The BPM Calculator is a pure mathematical tool requiring no audio, no microphone, and no browser permissions beyond basic JavaScript execution. You enter a BPM value; the tool derives a complete set of musical timing values in milliseconds.
The foundation is a single formula:
One beat duration (ms) = 60,000 ÷ BPM
At 120 BPM: 60,000 ÷ 120 = 500 ms per beat At 140 BPM: 60,000 ÷ 140 = 428.57 ms per beat At 93 BPM: 60,000 ÷ 93 = 645.16 ms per beat
This base value — one beat, meaning one quarter note in standard 4/4 time — is used to derive every other timing value in the table.
Complete Note Value Derivations
From the base quarter note duration, all standard note lengths are calculated by multiplication or division:
| Note value | Formula | At 120 BPM | At 140 BPM |
|---|---|---|---|
| Whole note | Base × 4 | 2,000.00 ms | 1,714.29 ms |
| Half note | Base × 2 | 1,000.00 ms | 857.14 ms |
| Quarter note | Base × 1 | 500.00 ms | 428.57 ms |
| Eighth note | Base ÷ 2 | 250.00 ms | 214.29 ms |
| Sixteenth note | Base ÷ 4 | 125.00 ms | 107.14 ms |
| Thirty-second note | Base ÷ 8 | 62.50 ms | 53.57 ms |
Dotted Note Values
A dotted note is 1.5 times the duration of its base note — the dot adds half the base note’s value:
| Note value | Formula | At 120 BPM | At 140 BPM |
|---|---|---|---|
| Dotted whole | Base × 6 | 3,000.00 ms | 2,571.43 ms |
| Dotted half | Base × 3 | 1,500.00 ms | 1,285.71 ms |
| Dotted quarter | Base × 1.5 | 750.00 ms | 642.86 ms |
| Dotted eighth | Base × 0.75 | 375.00 ms | 321.43 ms |
| Dotted sixteenth | Base × 0.375 | 187.50 ms | 160.71 ms |
Triplet Values
A triplet divides the duration of the parent note into three equal parts instead of two. An eighth note triplet is one-third of a quarter note’s duration:
| Note value | Formula | At 120 BPM | At 140 BPM |
|---|---|---|---|
| Quarter note triplet | Base × 2/3 | 333.33 ms | 285.71 ms |
| Eighth note triplet | Base × 1/3 | 166.67 ms | 142.86 ms |
| Sixteenth note triplet | Base × 1/6 | 83.33 ms | 71.43 ms |
Production Applications
Delay timing. Set your delay plugin’s time to the note value that creates the rhythmic feel you want. A quarter-note delay at 120 BPM = 500 ms. A dotted eighth delay at 120 BPM = 375 ms — the classic “dotted eighth” delay sound used widely in pop and rock production. A sixteenth-note delay = 125 ms creates a faster, tighter echo.
Reverb pre-delay. Set the pre-delay of a reverb to an eighth note (250 ms at 120 BPM) or sixteenth note (125 ms) to keep the reverb from washing out the transients while remaining rhythmically synchronised.
LFO rate. For tempo-synced LFO modulation in synthesisers and effects, set the rate to a note value that creates the desired modulation speed relative to the beat.
Note: Many DAWs and plugins allow tempo sync — setting delay and reverb to note values rather than absolute milliseconds, automatically adapting to the project tempo. Absolute millisecond values are useful when using hardware units, plugins without host sync, or when you need a specific timing that does not correspond to a standard note division.
Part 2 — Tap Tempo
The Tap Tempo tool requires no microphone and captures no audio. BPM is calculated from the average interval between your taps, recorded by JavaScript’s high-resolution timestamp API.
The algorithm:
Step 1 — Timestamp recording. Each tap is recorded with a high-precision timestamp in milliseconds.
Step 2 — Interval calculation. The time between each consecutive pair of taps is calculated: Interval = Timestamp N − Timestamp N−1
Step 3 — Average interval. All intervals are averaged: Average interval = Sum of intervals ÷ Number of intervals
Step 4 — BPM conversion: BPM = 60,000 ÷ Average interval
Step 5 — Outlier filtering. Intervals deviating significantly from the running average (typically >25–30%) are discarded to prevent a single misplaced tap from skewing the result.
Step 6 — Session reset. After approximately 2–3 seconds of inactivity, the session resets for a fresh measurement.
Accuracy by tap count:
| Taps | Typical accuracy |
|---|---|
| 4–6 | ±3–5 BPM |
| 8–10 | ±1–2 BPM |
| 15+ | ±0.5–1 BPM |
The most common source of error is not the algorithm but inconsistent tapping — switching between quarter-note and eighth-note pulse interpretations, or losing the beat mid-sequence.
Part 3 — Audio Beat Detection
The audio beat detection tool captures audio from your device microphone or from an uploaded file and analyses it to identify the tempo automatically. All processing occurs locally within your browser using the Web Audio API. No audio is transmitted to any server.
The pipeline:
Step 1 — Audio acquisition. For microphone input, the browser requests permission and opens a MediaStream. For file upload, the browser’s FileReader API reads the file locally into an AudioBuffer. Neither method transmits audio over the internet.
Step 2 — Onset detection. The tool identifies onset events — sharp increases in audio energy indicating a percussive beat. Two complementary approaches are used:
- Energy envelope analysis: RMS amplitude is calculated in overlapping short windows. A rapid spike above a threshold is flagged as an onset.
- Spectral flux: The difference in frequency content between consecutive windows is measured. Large positive flux values indicate new percussive energy arriving.
Step 3 — Inter-onset interval calculation. The time between detected onset events is measured in milliseconds.
Step 4 — Tempo estimation. The most consistently recurring inter-onset interval is identified and converted to BPM: BPM = 60,000 ÷ inter-onset interval
Step 5 — Octave disambiguation. Checks are applied to distinguish the most plausible tempo from its half-time and double-time equivalents.
Reliability:
Works well for: electronic music with clear kick patterns, rock and pop with consistent drum tracks, any music with strong regular percussive events.
Struggles with: heavy swing or shuffle, sparse or ambient music, tempo drift in live recordings, complex polyrhythms. Tap tempo is more reliable for these cases.
Part 4 — Tempo Markings Reference
The Tempo Markings tool is a reference lookup — not a calculation. It maps Italian tempo markings to their corresponding BPM ranges and provides musical context for each.
Tempo markings are ranges, not fixed values, because their precise numeric interpretation has varied by era, composer, and national tradition. The ranges documented on this site are sourced from established music theory references and represent the consensus of modern Western classical and academic usage:
| Marking | Meaning | Approximate BPM range |
|---|---|---|
| Largo | Broad, very slow | 40–60 BPM |
| Larghetto | Somewhat broad | 60–66 BPM |
| Adagio | Slow and stately | 66–76 BPM |
| Andante | Walking pace | 76–108 BPM |
| Moderato | Moderate | 108–120 BPM |
| Allegretto | Moderately fast | 112–120 BPM |
| Allegro | Fast and lively | 120–156 BPM |
| Vivace | Lively and fast | 156–176 BPM |
| Presto | Very fast | 168–200 BPM |
| Prestissimo | Extremely fast | 200+ BPM |
Note that ranges for adjacent markings overlap — this reflects genuine interpretive tradition rather than ambiguity in the tool.
What All Tools Cannot Determine
Subjective tempo feel. BPM measures objective pulse frequency. Two tracks at the same BPM can feel completely different in energy, density, and drive. BPM is one dimension of tempo — not all of it.
Time signature. BPM measures beats per minute. It does not determine how those beats are grouped. 120 BPM in 4/4 and 120 BPM in 3/4 produce the same BPM reading from very different musical experiences.
Half-time vs double-time intent. Beat detection tools may return double or half the intended tempo. The tool cannot determine which interpretation the composer or producer intended.
Expressive timing. Rubato, ritardando, accelerando, and other expressive tempo variations are not captured by a single BPM value.
Related Pages
- BPM FAQ — common questions about BPM calculation and tempo
- About the Author — Sophia’s background and expertise
- Data Security — how audio is handled
- Contact — report a technical issue
This How It Works page is written and maintained by Sophia, founder of BPM-Calculator.com. Last updated: June 2026.
