MC-MEASURE-1.0.0: how Meter Core measures LOW, TOP and PUNCH
Meter Core shows "MC-MEASURE-1.0.0" in its Guide and footer. This page is that measurement contract in plain language: what the LOW, TOP and PUNCH readings are, exactly how they are computed, and what they do not tell you.
What this contract covers
It covers only the LOW, TOP and PUNCH panels:
| Panel | Reading | Unit |
|---|
| LOW | LOW ENERGY SHARE · 20–120 Hz | dB |
| LOW | LOW MONO FRACTION | % |
| LOW | LOW SIDE FRACTION | % |
| TOP | TOP ENERGY SHARE · 8–20 kHz | dB |
| TOP | TOP MONO FRACTION | % |
| TOP | TOP SIDE FRACTION | % |
| PUNCH | SHORT-WINDOW SAMPLE CREST · 100 ms | dB |
Which of these readings each part of Meter Core 0.7.15 shows:
| Where | Readings that follow this contract | Readings there that are NOT this contract |
|---|
| Live tab (1 s and 3 s averaging) | None directly. These are built from the contract's 100 ms frames, but the contract doesn't define window averaging | All seven readings: shares and fractions sum energy over the window; crest is the mean of the 100 ms crest values in the window. The CREST row in the level column is the older peak-minus-RMS crest, not the 100 ms sample crest shown under PUNCH |
| Live tab (LIVE averaging) | MONO/SIDE fractions and SHORT-WINDOW SAMPLE CREST, each from the latest frame | LOW/TOP ENERGY SHARE are smoothed on screen (see "How Meter Core 0.7.15 relates" below). The CREST row in the level column is the older peak-minus-RMS crest, not the 100 ms sample crest shown under PUNCH |
| Track Pass tab | LOW/TOP MONO and SIDE FRACTION, whole-pass value plus P10/P90 | No energy-share or PUNCH rows. CREST AVG/MIN/MAX are an older peak-minus-RMS crest measurement, not the 100 ms sample crest defined here |
| CSV export | low_share_db, top_share_db and the four fractions with their P10/P90, as whole-pass values | crest_db is that older crest measurement; the 100 ms sample crest (PUNCH) is not exported |
It does not cover LUFS (short-term and integrated), true peak, sample peak, peak hold, RMS, the VU meter, HEADROOM or WEIGHT. Integrated loudness (LUFS-I) is cross-checked against FFmpeg's EBU R128 measurement on the accuracy page. True peak follows ITU-R BS.1770-5 Annex 2 and is checked against our own reference implementation of that annex, without a claim of agreement with FFmpeg. Sample peak is the largest sample value.
What the readings are not
These are descriptive measurements of the signal. They are not judgements:
- An energy share is not a verdict on how much bass or top end is "right".
- A MONO/SIDE fraction is not a measure of stereo position, width, mono safety or translation.
- Sample crest is peak-to-RMS contrast in a 100 ms window; it does not measure perceived punch.
Meter Core never turns these numbers into a score, a traffic light, a target or a recommendation.
How the readings are computed
Input
- The plug-in's main input, stereo or mono (mono is treated as left = right).
- More than two input channels: the readings are unavailable.
- Supported sample rates: 44.1, 48, 88.2, 96, 176.4 and 192 kHz. Audio is never resampled; at any other rate the readings are unavailable.
- Host buffer size never changes a result.
Frames
- The audio is cut into 100 ms frames that start every 50 ms (50% overlap).
- Only complete frames are measured. A partial tail is never padded.
Mono and side
- Each sample pair is converted before any analysis: MONO = (L + R) / √2, SIDE = (L − R) / √2.
- This split preserves energy: L² + R² = MONO² + SIDE².
Spectrum (LOW and TOP)
- Each frame of MONO and SIDE is weighted with a periodic Hann window and transformed. The bins are spaced exactly 10 Hz apart at every supported rate.
- Energy is summed linearly in three bands, each with half weight on its edge bins:
- reference: 20 Hz–20 kHz;
- LOW: 20–120 Hz;
- TOP: 8–20 kHz.
- No filtering, K-weighting or smoothing is applied.
- The 120 Hz and 8 kHz edges are fixed product conventions, not natural boundaries in hearing. Window leakage from content outside a band is part of the measurement and is not corrected.
Frame admission
- A frame counts only if its average reference-band power is at or above −80 dBFS. Otherwise LOW and TOP show "—" (no signal).
- ENERGY SHARE = 10·log10(band energy ÷ reference energy), in dB. Shares below −120 dB show as "< −120 dB" rather than a number.
- MONO FRACTION = 100 × band MONO energy ÷ band energy, and SIDE FRACTION = 100 − MONO FRACTION, so the pair always sums to 100%.
- The fractions are shown only when the band holds at least −60 dB of the reference energy.
Short-window sample crest (PUNCH)
- It uses the same 100 ms frames, but on the raw samples: no window, no filter.
- Crest = 20·log10(sample peak ÷ RMS) across both channels, in dB.
- It uses sample peak, not true peak. DC and ultrasonic content are included.
- A frame below −80 dB RMS shows no signal.
- One isolated sample can give a large crest value. That is reported, not treated as an error.
Track Pass
- Whole-pass LOW/TOP shares and MONO/SIDE fractions sum the linear energies over every admitted frame, then convert to dB once. Frame dB values are never averaged.
- P10/P90 use the nearest-rank method on unrounded frame values. MONO P10 and SIDE P10 come from different frames, so they need not sum to 100%.
- Silence adds nothing, so it cannot dilute a whole-pass value.
States
Readings show "waiting" or "—" when there is nothing valid to show. They never keep an old number in place of a new frame that failed admission. RESET starts a new, empty measurement.
How Meter Core 0.7.15 relates to this definition
Stated plainly, so nothing on this page overclaims:
- Live averaging (LIVE / 1 s / 3 s). The averaging modes are display choices outside this contract.
- LIVE: the displayed LOW/TOP ENERGY SHARE is an exponential average of the frame dB values. Each new frame counts for 10%, and at one frame per 50 ms that settles in about half a second. When the current frame isn't admitted, LIVE shows "—" rather than an old value.
- 1 s and 3 s: the energy is summed over the window first and converted to dB once, the same way as the whole-pass values.
- Why the two can differ a lot: averaging dB values is not the same as summing energy. On material where a band comes and goes (a kick drum's low end, for example), LIVE can read much lower than 1 s or 3 s at the same moment. In one of our tests LIVE read −38 dB while 3 s read −4 dB. Both are correct for what they average.
- Not implemented. The full contract also defines a comparison against a reference file. Meter Core does not offer it, and no date is promised. (The A/B slots in 0.7.15 store your own Track Pass summaries for side-by-side viewing; they are not that comparison.)
- Surfaces. Not every surface shows every reading; the table near the top lists exactly which readings each one carries.
- Validation. We test the implementation against an independently written version of these formulas. A full public table of those results is not yet published; when it is, it will appear here with tools, cases and signed errors. Until then, this page defines the measurement but makes no accuracy claim for these readings. The integrated-loudness (LUFS-I) cross-check is on the accuracy page.
Versioning
Any change that could alter one of these readings for any input will get a new major contract version (MC-MEASURE-2.0.0). Results from different major versions are never pooled. The plug-in version (for example 0.7.15) is separate from the contract version.
← Meter Core — free download