Back to how it works
Methodology

Why you can trust the numbers.

Every metric MixLens reports traces back to a published standard. No black-box AI black-box polish, no machine-learned "is this a good mix" scores, no proprietary math you can't verify. Here's exactly how it's measured.

Loudness (LUFS)

Loudness is measured according to ITU-R BS.1770-5 — the K-weighting filter and gating algorithm used by Spotify, Apple Music, Tidal, YouTube Music, and broadcast meters worldwide.

  • Integrated LUFS — full-program integrated loudness across the entire file. This is the canonical number streaming services use to set playback level.
  • Short-term max — the loudest 3-second window in the track. Useful for answering "how loud do my choruses actually get?"
  • Loudness range (LU) — the spread between your quiet and loud sections. A "how dynamic vs how squashed" reading.

Where we summarize over rolling windows we use 3 s windows stepped 1 s. The math is BS.1770-5 throughout — same as your DAW's built-in meter.

True peak (dBTP)

True peak is measured by oversampling the audio 4× and finding the absolute peak in the reconstructed signal. This catches inter-sample peaks that would otherwise survive digital clipping and distort once the file is encoded as MP3, AAC, or Opus.

4× oversampling is the minimum specified by ITU-R BS.1770-5 Annex 2 and matches the implementation used by every modern brick-wall limiter and broadcast meter.

Spectral balance

We measure how your mix's energy is distributed across seven producer-vocabulary bands — Sub, Low, Low-mid, Mid, High-mid, Presence, Air — and report each band as a percentage share of total energy, in dB.

Band boundaries: Sub 20–60 Hz, Low 60–200 Hz, Low-mid 200–500 Hz, Mid 500 Hz–2 kHz, High-mid 2–6 kHz, Presence 6–12 kHz, Air 12–20 kHz. These aren't standardized — they're chosen so that low-end release problems (Sub + Low vs Mid) and "air" presence emerge as separable signals.

Stereo image

We compute the correlation between left and right channels twice — once across the full band, once after a steep low-pass at 150 Hz. The low-band correlation is the mono-compatibility predictor: if low-end is out of phase between L and R, it collapses on mono playback (phone speakers, Bluetooth, club PAs).

We also report the side / mid energy ratio, so a near-zero side channel can be distinguished from a low correlation caused by numerical noise.

Where targets come from

Every loudness, true-peak, and tonal target in MixLens cites its source. Open the corrective panel and click "Source" on the target block — you'll see exactly which spec we're aiming for:

  • Streaming (−14 LUFS, −1 dBTP): Spotify Loudness Normalization (2023), Apple Music Sound Check
  • Broadcast (−23 LUFS, −1 dBTP): EBU R128 / ITU-R BS.1770-5
  • Club / DJ (−8 LUFS, −1 dBTP, mono below 100 Hz): Pioneer DJ guidance and dance-music release convention
  • Genre tonal curves: Aggregate analysis of commercial releases per genre, cross-referenced against published references (iZotope Tonal Balance, Sonarworks ARC). We don't claim definitive curves — these are educated targets and we update them as we learn.

Corrective DSP

When you hit Render, exactly seven DSP steps can run, in this canonical order:

  1. Mono below 150 Hz — collapses the low end to mono by high-passing the side channel. Standard elliptical-EQ technique.
  2. Narrow stereo image — mid/side processing, attenuates the side channel ~25% to tighten the image. Opt-in.
  3. Low-mid shelf cut — biquad low-shelf at 200 Hz, gain sized adaptively to the actual (sub+low) vs mid imbalance.
  4. Reference / genre match EQ — chain of peaking EQs, per-band clamped (mid is most sensitive at ±3.5 dB; sub/air loosest at ±9 dB), up to 3 iterative passes until within 1 dB of target on every band.
  5. Bus glue compression — wideband 2:1 compressor with slow attack and medium release. No makeup gain — the loudness lift handles re-level.
  6. Loudness lift — broadband gain to the playback target's integrated LUFS. Clamped to ±12 dB so we can't make a quiet take radioactive.
  7. True-peak ceiling — lookahead limiter applied at the oversampled rate so inter-sample peaks can't survive decimation.

The exact parameters applied to your file — gain reductions, EQ deltas, attack/release times — are written into each render's report. Open the Auto-fix tab after a render to see the receipts.

Privacy

Audio is held only as long as it takes to compute metrics and (if you render) produce a corrected master. We don't train any model on uploads. We don't fingerprint. We don't resell. Audio retention defaults to short on Free (24 hours); on Pro it extends to 30 days. After that, the audio file is deleted, but the analysis row remains for mix history.

Privacy posture is the same whether you pay or not — the difference is how long the file sticks around, not how it's used.

Cross-check it yourself

Every number you see is reproducible from the published standards cited above plus the audio file you uploaded. To prove the meter isn't drifting from the reference implementation, here's MixLens (pyloudnorm 0.1.1) vs FFmpeg loudnorm on three 20-second test signals:

SignalMixLens LUFSFFmpeg LUFS|Δ| LU
40 Hz → 5 kHz sine sweep−11.169−11.0800.089
Pink noise−14.089−14.1200.031
Pink + 120 BPM kick (music-like)−13.836−13.8900.054

All three deltas sit under 0.1 LU — well inside the ±0.1 LU inter-meter tolerance window every compliant BS.1770-5 implementation targets. The remaining variance is gating-edge behavior (the −70 LUFS absolute gate vs the relative −10 LU gate sometimes draw the integration boundary by a single block on transient-heavy material). FFmpeg's loudnorm is the same family of meter, not an independent measurement — they should agree, and they do.

For your own files: if MixLens disagrees with another tool by more than ~0.2 LU integrated or 0.3 dBTP true peak, tell us at hello@mixlens.io. We treat measurement drift as a bug.