Know your track before you drop it. Drop an MP3, WAV, FLAC or M4A file onto the tool above and get three numbers a DJ or producer actually uses: BPM (with honest confidence), the musical key detected from the audio itself, and its Camelot Wheel code for harmonic mixing — plus a full picture of the track's spectral balance. There is no upload, no account and no queue: decoding, tempo detection, pitch-class analysis and every chart are computed on your own device.
This is an analysis tool, not a mastering chain — it tells you what your file contains (tempo, key, frequency balance, loudness), which is exactly the information you need to choose a style pattern before running full AI mastering or deciding how a track will sit in a set.
What the tool measures
| Metric | How it's computed | Why it matters |
|---|---|---|
| BPM | Onset detection (half-wave rectified spectral flux), normalized autocorrelation over 56–214 BPM, octave-aware candidate ranking with a plausibility prior | The number you dial into the deck or DAW. Confidence is reported because half-time / double-time readings are genuinely ambiguous on some material — the tool says so instead of guessing silently |
| Key (major/minor) | Long-term chroma profile from STFT magnitude frames, correlated against all 24 Krumhansl–Schmuckler major/minor profiles | Knowing the key lets you pick compatible tracks for harmonic mixing and matching chords in a mix. Confidence reflects how clearly one key dominates — modulated tracks will read lower |
| Camelot code | Exact lookup of the detected key on the standard 12-position wheel (major → B, minor → A) | The DJ shortcut: same number or adjacent numbers = compatible. C major is 8B, A minor is 8A — full 24-key mapping both directions, never a hardcoded subset |
| Spectral balance | FFT/STFT band energy across Sub, Bass, Low-mid, Mid, High-mid, Presence and Air, reported relative to the loudest band; plus spectral centroid, 85% rolloff point and flatness | Shows whether a track is bass-heavy or top-end bright at a glance — useful for stacking two tracks or spotting an unbalanced demo before you commit to mastering it |
| Loudness & dynamics | RMS level, sample peak, and integrated loudness measured with a genuine EBU R 128 (ITU-R BS.1770) K-weighted gated implementation | Gives you the context numbers: how hot the track sits compared to streaming targets, without needing a second tool — see our LUFS & true-peak normalizer if you want to actually normalize to a target |
| Waveform + spectrogram | Per-column min/max peaks; log-frequency STFT intensity grid over time | Lets you verify the analysis by eye and by ear — click anywhere on the waveform to jump there, play the track, watch the playhead move while reading the numbers |
How BPM detection works here (and why confidence is shown)
The pipeline extracts an onset envelope — spectral flux measures how much new energy appears in each short-time spectrum frame, which spikes when a kick or snare hits. A normalized autocorrelation of that envelope finds periodicities between roughly 56 and 214 BPM; every strong period then seeds three candidate readings (base, half-time, double-time) scored by the evidence at their own period plus harmonic support from octave-related peaks. A small plausibility prior arbitrates genuine ties — the classic 70↔140 or 60↔120 ambiguity — without overriding real evidence: if the half-beat is as strong as the beat, a musician hears it as a faster track and that reading wins.
Confidence combines peak prominence, harmonic support and the margin to the runner-up candidate. It is deliberately capped low on material with no discrete rhythm at all (ambient washes, pure noise) — a flat onset envelope means there is no tempo grid to lock onto, and the tool reports "no clear rhythm" rather than inventing one. On long, dynamic tracks expect the detector to average over the whole file; if a piece has very different tempos in sections, it will report the dominant one with moderate confidence.
Key detection & the Camelot wheel
Key estimation builds a 12-bin pitch-class profile by binning the track's long-term STFT magnitudes into chroma (with a smooth Gaussian mapping so that low-frequency notes resolve correctly), then correlates that profile against all 24 Krumhansl–Schmuckler templates — the standard perceptual key profiles used in music information research. The best-matching template wins, and the confidence figure reflects both how strongly it matches and how far ahead of the runner-up it sits. Tracks with clear tonality typically score high; modulated or heavily synthetic material scores lower, which is honest rather than a bug.
The Camelot conversion itself is deterministic — every one of the 24 major/minor keys maps to exactly one wheel position (major → B ring, minor → A ring) and back again. The UI highlights the detected key plus its three harmonic-mixing neighbours on a drawn wheel: the relative key at the same number (e.g. 8A ↔ 8B) is a perfect match, and ±1 around the wheel in the same mode are strong matches — the standard DJ compatibility rules.
Your audio stays on your device
The privacy claim above is architectural, not cosmetic: the file never leaves the browser tab. Decoding uses the Web Audio API; the heavy DSP (tempo, key, spectrum) runs inside a dedicated Web Worker so even a 20-minute track keeps the page responsive and never blocks scrolling or typing. No server receives the audio bytes, no analytics payload contains sample data, and there is nothing to delete because nothing was stored — close the tab and the analysis memory is gone with it.
Frequently Asked Questions
Is this really free? Do I need an account?
Yes and no respectively. The analyzer above has no registration wall, no upload limit tied to a plan, and no server processing step that could be metered or throttled — drop in as many tracks as you like, any length, whenever you like. If you later want the file actually processed (full mastering with style patterns), that is what the AI mastering service is for, with 3 free processes every day and no card required to start.
Which audio formats does it support?
MP3, WAV and FLAC are first-class; M4A/AAC, OGG and anything else your browser's built-in codec stack can decode will work too (that covers effectively all modern Chrome, Edge, Firefox and Safari builds). If a file cannot be decoded, the tool shows a clear error naming the likely cause instead of failing silently. Very long files automatically use an optimized analysis path — lower-internal-resolution spectrogram only; every reported number is still computed over the complete track.
Is the BPM always right? What about half-time and double-time tracks?
The detector sees periodicity, not intention: a 70 BPM half-time groove genuinely produces onsets at both 70 and 140, so both are real candidates. The ranking prefers the reading with stronger evidence (harmonic support from the octave peaks), and only when they are truly tied does it fall back to musical plausibility around ~120–130 BPM — which is why a half-time track may report 70 or 140 depending on how hard its off-beats hit. The confidence number tells you how contested that decision was, and the debug panel lists every candidate so you can check. If the reported tempo sounds double (or half) of what you hear, trust your ears — that is a musical-interpretation call no algorithm can make with certainty, which is exactly why the tool reports confidence instead of pretending it always knows.
How accurate is key detection?
For tonal music with a stable key through most of the track, expect a strong, confident read. Accuracy drops (and the confidence number honestly reflects it) when: the piece modulates mid-track — you get whichever key dominates; the harmony is synthetic/ambient without clear pitch content; or the recording has heavy detuned layers. Key detection works on what is actually in the audio spectrum — filenames and metadata are never consulted, so a track named "Am" that really sits in C#m will be read as C#m.
What's the difference between this analyzer and your LUFS tool?
They answer different questions and use complementary measurements. This tool characterizes the music — tempo, key, Camelot code, how energy is distributed across frequency bands (sub to air), centroid/rolloff/flatness and a loudness/dynamics snapshot. The LUFS & true-peak normalizer acts on loudness specifically: it measures integrated LUFS and 4× oversampled true peak, then exports a normalized 16-bit WAV to your target (−14 / −9 / −16 LUFS with a −1 dBTP ceiling — and our LUFS guide explains what those numbers mean in practice). For the full workflow — analyze here first so you know what you are normalizing, then normalize there if level is your goal — see also our true peak explainer for why inter-sample peaks matter after streaming re-encodes.
Why does my track's key show as major when I wrote it in minor?
Usually it means the relative-major relationship is genuinely ambiguous in the recorded material (the same 12 pitches, different emphasis), or that a few bars of borrowed chords tipped the long-term profile — the detector averages the whole file. Check the Camelot code: if your DAW says Am and the tool reports C major at a similar confidence, you are looking at 8A/8B territory anyway, which mix identically on the wheel. The debug view shows all key candidates with their correlation scores so you can see how close second place was before deciding what to trust for set-building versus DAW work.