Professional Metering
Broadcast-standard measurement tools for level, loudness, and gain reduction monitoring
What It Does
Meters are measurement tools that let you see what your audio is doing without changing it. They sit alongside your signal chain, tapping into the audio at key points to show you levels, loudness, and how much processing is being applied -- but they never alter the sound passing through.
TabDSP provides professional-grade metering at every stage of the signal chain: input levels, per-module gain reduction, output levels, LUFS loudness, and true peak measurement. Together, these meters give you the same measurement capabilities found in professional mastering DAWs and broadcast facilities.
Use the meters to make informed decisions rather than guessing. If the compressor GR meter is showing -12 dB of reduction, you are compressing heavily -- back off the threshold or input gain before adjusting other parameters.
Global Meter Section
The global meter bar sits below the module chain and spectrum analyzer canvas, providing an at-a-glance summary of levels and processing across the entire signal chain. It is organized into two rows.
Top Row: Processing Meters
These five meters show signal level and gain reduction at each processing stage:
- IN -- Input level after the input gain control, displayed as independent L/R stereo bars with individual peak hold markers. Shows the signal strength entering the processing chain. Green bars indicate healthy levels; approaching 0 dBFS means the input is hot.
- EQ -- Bipolar gain change from the equalizer. Shows how much the EQ is boosting (positive, green) or cutting (negative) the signal. A reading near 0 dB means the EQ is making minimal overall level change.
- MB -- Maximum gain reduction across all multiband compressor bands. Shows the deepest GR value from whichever band is compressing the hardest. Purple color-coded to match the multiband module.
- COMP -- Single-band compressor gain reduction. Shows how much the compressor is attenuating the signal. Orange color-coded. Values of -3 to -6 dB are typical for moderate compression.
- LIM -- Limiter gain reduction. Shows the brickwall limiter actively clamping peaks. Red color-coded. Occasional flickers of -1 to -3 dB are normal; sustained deep reduction means the signal is too hot for the ceiling.
Bottom Row: Output and Loudness
- OUT -- Output level after the limiter and master gain, displayed as independent L/R stereo bars with individual peak hold markers and a ceiling indicator line. This is the final signal leaving TabDSP. Should never exceed the limiter ceiling when the limiter is enabled.
- LUFS -- Integrated loudness measurement following ITU-R BS.1770-4. Shows the overall perceived loudness of the program material. See the LUFS Metering section below for full details.
Peak Hold Markers
Each level meter bar (IN L, IN R, OUT L, OUT R) displays its own peak hold marker -- a thin line that holds at the highest recent peak for approximately 1 second before releasing. This lets you catch transient peaks that would otherwise flash by too quickly to read. Since each stereo channel has its own marker, you can identify channel imbalances at a glance.
Gear Head Details: Meter Update Rate and Smoothing
Update rate: Level meters update at 60fps via requestAnimationFrame, matching the UI's render loop. The LUFS meter worklet sends measurement data at ~30fps. TabDSP forwards meter data from the audio engine to the UI through a message-passing layer.
Release smoothing: Level meters use 24 dB/sec exponential falloff for smooth visual decay. This prevents meters from snapping instantly to silence during brief pauses, making them easier to read during dynamic material.
Meter tap points: Each meter reads from a specific point in the signal chain:
- IN: After the input gain stage, before processing modules
- EQ: Computed as difference between post-EQ and pre-EQ levels
- MB: Maximum GR across multiband compressor bands (reported by worklet)
- COMP: Gain reduction from compressor worklet envelope follower
- LIM: Gain reduction from limiter worklet
- OUT: After the limiter, at the final output stage
Conditional payload: To minimize message overhead, TabDSP only transmits history buffers for modules whose parameter panel is currently open in the UI. Scalar meter values (single GR readings) are always sent.
LUFS Metering
LUFS (Loudness Units Full Scale) measures perceived loudness rather than raw signal level. Two signals can have identical peak levels but very different perceived loudness -- LUFS captures that difference. It is the global standard for loudness measurement in streaming, broadcast, and podcast production.
Three Measurement Windows
- Momentary (M) -- 400ms sliding window. Reacts quickly to changes. Useful for spotting loud passages in real time. Fluctuates constantly during playback.
- Short-term (S) -- 3-second sliding window. Smoother than Momentary. Shows the loudness trend over a few seconds. Good for comparing sections of a song or program.
- Integrated (I) -- Measures the entire program from start (or last reset) to now. This is the number that streaming platforms and broadcast standards refer to. Uses gating to ignore silence and very quiet passages that would skew the result.
Reset Button
The Integrated (I) measurement accumulates over time. Press the Reset button to clear it and start a fresh measurement. Use this when you want to measure a specific section: reset at the start of the section, let it play through, and read the Integrated value at the end.
Target Values by Standard
Different platforms and standards require different loudness targets:
- -14 LUFS: Spotify, YouTube, Tidal (standard streaming), Spotify Podcasts
- -16 LUFS: Apple Music, Apple Podcasts
- -23 LUFS: EBU R128 (European broadcast)
- -24 LUFS: ATSC A/85 (US broadcast), NPR / PRSS, ARIB TR-B32 (Japan)
LUFS and dBFS measure fundamentally different things. dBFS measures electrical signal level (peak amplitude). LUFS measures perceptual loudness using frequency weighting that matches human hearing. A bright, midrange-heavy signal will read louder in LUFS than a bass-heavy signal at the same dBFS peak.
Gear Head Details: ITU-R BS.1770-4 Implementation
TabDSP's LUFS meter is fully compliant with the ITU-R BS.1770-4 recommendation for loudness measurement.
K-weighting filter chain:
- Stage 1: High-shelf filter (+4 dB at high frequencies) modeling the acoustic effect of the human head
- Stage 2: High-pass filter (RLB weighting) removing sub-bass content below ~38 Hz that contributes to peak levels but not perceived loudness
Gating (Integrated measurement only):
- Absolute gate: -70 LUFS. Blocks below this are silence and are discarded entirely.
- Relative gate: -10 LU below ungated mean. After computing the ungated average loudness, blocks more than 10 LU quieter than that average are discarded. This prevents quiet intros, pauses, and fade-outs from pulling down the Integrated reading.
Worklet-based measurement:
The LUFS meter runs as a dedicated AudioWorklet processor for sample-accurate measurement. It uses a circular buffer with O(1) running sum updates -- instead of re-summing the entire window each block, it subtracts the oldest block's power and adds the newest. This keeps CPU usage constant regardless of window length.
Block size: 400ms blocks (matching the Momentary window), subdivided into overlapping segments for the 3s Short-term window.
Output: The worklet publishes Momentary, Short-term, and Integrated values to the UI at each block boundary via the message-passing layer.
Peak and True Peak
Sample Peak
Sample peak is the highest absolute value among the digital samples in your audio. It tells you the loudest discrete sample value. This is what a standard level meter shows. If a sample peak reaches 0 dBFS, the signal has hit the maximum value the digital format can represent.
True Peak
True peak accounts for what happens between samples. When a DAC reconstructs the analog waveform from digital samples, the interpolated curve between samples can exceed the value of any individual sample. These inter-sample peaks can cause clipping on consumer devices even when the sample peak reads below 0 dBFS.
True peak is always equal to or higher than sample peak. The difference between the two reveals how much inter-sample overshoot your audio contains.
True Peak / Sample Peak Mode
The limiter panel provides a cycle button that switches between two peak detection modes for the PRE and POST stereo meters:
- True Peak mode: Displays both sample peak (cyan bar) and true peak (orange bar) simultaneously. True peak uses 4x polyphase oversampling to detect inter-sample peaks. When the orange bar reads higher than the cyan bar, your audio contains inter-sample peaks -- this is common and expected.
- Sample Peak mode: Displays sample peak only (cyan bar). Shows the highest discrete sample value without inter-sample interpolation.
Click the button to cycle between modes. The button text updates to show the current active mode ("True Peak" or "Sample Peak").
PRE/POST Stereo Meters
The limiter canvas displays stereo meters in two sections:
- PRE (before limiter): Shows L/R input levels entering the limiter. Peak hold markers indicate the highest recent value.
- POST (after limiter): Shows L/R output levels leaving the limiter. An orange ceiling marker indicates where limiting begins. Output levels should never exceed this marker when the limiter is enabled.
Gear Head Details: 4x Polyphase Oversampling for True Peak
True peak detection uses 4x polyphase FIR oversampling compliant with ITU-R BS.1770-4. For each input sample, four interpolated values are computed at positions 0, 0.25, 0.5, and 0.75 between consecutive samples. The true peak is the maximum absolute value across all four phases.
Two filter modes:
- ITU mode: 48 total taps (12 per phase). Uses the exact coefficients specified in ITU-R BS.1770-4. Matches reference implementations for broadcast compliance verification.
- Kaiser mode: 128 total taps (32 per phase). Uses a Kaiser window with beta=8.5 for superior sidelobe rejection. More accurate interpolation at slightly higher CPU cost. Preferred for mastering and production work.
Meter release: Peak hold bars use 24 dB/sec release smoothing, matching the level meters. True peak and sample peak hold bars decay independently.
L/R Stereo Metering
The IN and OUT meters display independent left and right channel levels as separate stereo bars. Each channel has its own peak hold marker, giving you precise visibility into the stereo image of your audio at the input and output stages.
Input Stereo Meters
The IN meter shows two bars (L and R) representing the left and right channel levels after the input gain control. Each bar has its own peak hold marker. A mono source will show identical levels on both bars; a stereo source will show the natural level differences between channels.
Output Stereo Meters
The OUT meter shows two bars (L and R) representing the left and right channel levels at the final output stage, after the limiter and master gain. A ceiling marker line overlays both bars, showing where the limiter ceiling is set. Output levels should never exceed this marker when the limiter is enabled.
Gear Head Details: Stereo Metering Architecture
Implementation: L/R stereo metering uses parallel dead-end ChannelSplitter nodes connected to dual AnalyserNodes (fftSize=256) at both the input and output stages. These are measurement-only taps that do not affect the signal path.
Input tap: After the input gain stage, a 2-channel ChannelSplitter feeds channel 0 (left) and channel 1 (right) into independent AnalyserNodes for the left and right input meters.
Output tap: After the limiter bypass sum node, a 2-channel ChannelSplitter feeds channel 0 (left) and channel 1 (right) into independent AnalyserNodes for the left and right output meters.
Read rate: Both taps are read at approximately 30fps using time-domain sample reads (256 samples per channel). TabDSP forwards per-channel peak and RMS measurements for both the input and output stages to the UI.
LUFS Stack
The LUFS Stack is an expanded loudness analysis panel that sits below the global meter section. It provides three independently collapsible sub-components for detailed loudness measurement, target validation, and visual history -- bringing broadcast-standard loudness analysis capabilities to the browser.
The LUFS Stack is available on the Professional tier. The inline LUFS values (M, S, I) in the global meter bar are also Professional-tier features. Free and Enthusiast tiers show lock indicators in place of LUFS readings.
Meter Sub-Component
The top section of the LUFS Stack displays three horizontal bar meters with numeric readouts:
- M (Momentary) -- 400ms sliding window loudness. Reacts quickly to level changes. The bar fill and numeric value update in real time.
- S (Short-term) -- 3-second sliding window loudness. Provides a smoother view of the loudness trend.
- I (Integrated) -- Cumulative loudness from the start of analysis (or last reset). This is the number streaming platforms and broadcast standards reference.
Each bar includes a visual fill that scales proportionally to the measurement value, alongside a numeric readout in LUFS. The meter sub-component can be independently collapsed via its own toggle button.
Target Validator
The middle section compares your current measurements against the target values from the active compliance preset. It operates in three modes, selectable via buttons:
- I (LUFS-I Target) -- Compares the Integrated LUFS measurement against the preset's loudness target. The display turns blue when the measurement is within ±0.1 dB of the target, indicating compliance.
- LRA (Loudness Range) -- Shows the Loudness Range measurement. See LRA below for details.
- TP (True Peak) -- Compares the measured true peak against the preset's ceiling. The display turns red if the true peak exceeds the ceiling.
The delta toggle button (shown as a triangle icon) reveals the numeric difference between the current measurement and the target value. This is useful for seeing exactly how far your program material is from compliance.
The Target Validator automatically inherits its target values from the active compliance preset -- there is no separate target configuration. Select a compliance preset in the limiter panel (e.g., "Spotify", "EBU R128", "NPR / PRSS") and the Target Validator adopts those targets immediately.
Histogram
The bottom section provides a canvas-based scrolling visualization of loudness over time. Two overlapping traces show:
- Green fill: Momentary loudness (behind)
- Blue fill: Short-term loudness (in front)
The histogram operates in two modes:
- SCROLL (default) -- Shows the last 10 literal seconds of loudness data, scrolling right-to-left as new data arrives. Time scale labels along the bottom show 0s through 10s.
- FIT -- Scales the entire analysis history to fit the canvas width. As the analysis runs longer, the time scale compresses to show the full picture. Time zone markers update as elapsed time grows.
The histogram sub-component can be independently collapsed. The histogram only records data while analysis is active (see Analyze toggle below).
Controls
- Analyze -- An explicit start/stop toggle that controls histogram recording and Integrated loudness accumulation. Momentary and Short-term values continue updating regardless of the Analyze state, but the histogram only records and the Integrated value only accumulates while Analyze is active. Click to start analysis; click again to stop.
- Reset -- Clears all LUFS measurements (Momentary, Short-term, Integrated), the histogram canvas, and the Target Validator readings. Use this to begin a fresh measurement of a specific passage.
- Collapse chevron -- Collapses the entire LUFS Stack panel. Each sub-component (Meter, Target, Histogram) also has its own collapse toggle for granular control over what is visible.
LRA (Loudness Range)
Loudness Range (LRA) measures the dynamic range of your program material in LU (Loudness Units). It tells you how much the loudness varies over the course of the measurement -- from the quietest meaningful passages to the loudest.
How LRA Is Computed
LRA is computed from the distribution of Short-term loudness values, following EBU Tech 3342. After gating out silence and very quiet passages, the range between the 10th percentile and the 95th percentile of the remaining Short-term values gives the LRA in LU. This excludes extreme outliers (the very loudest transients and the quietest non-silent passages) to give a robust measure of typical dynamic variation.
Interpreting LRA Values
- 3-5 LU: Heavily compressed material. Typical of loudness-war-era masters, EDM, and heavily processed podcasts. Very little dynamic variation.
- 5-10 LU: Moderate dynamics. Common for pop, rock, and well-produced podcasts. Comfortable for most listening environments.
- 10-15 LU: Wide dynamics. Typical of jazz, acoustic music, and film dialogue. May require a quieter listening environment.
- 15-20+ LU: Very dynamic material. Classical music, film scores, and uncompressed live recordings. Wide swings between quiet and loud passages.
LRA is available in the LUFS Stack's Target Validator when LRA mode is selected. It requires the Analyze toggle to be active for accumulation.
Gear Head Details: LRA Implementation
Computation: LRA is computed inside the LUFS AudioWorklet processor, following EBU Tech 3342. The worklet maintains a running distribution of Short-term loudness values and computes the 10th-to-95th percentile range.
Gating: Two gates are applied before computing the percentile range:
- Absolute gate at -70 LUFS (same as Integrated LUFS)
- Relative gate at -20 LU below the ungated mean Short-term loudness
Units: LRA is expressed in LU (Loudness Units), which are numerically equivalent to dB but specifically denote a loudness difference rather than an absolute level.
Gain Reduction Visualization
Each dynamics processing module reports its gain reduction (GR) in real time. GR tells you how much the processor is turning down the signal at any given moment. Understanding GR is essential for setting dynamics parameters effectively.
Per-Module GR Meters
Each dynamics module has a dedicated GR meter, color-coded for instant identification:
- Multiband Compressor (purple): Shows the maximum GR across all active bands. The MB meter in the global bar reflects whichever band is compressing the hardest at that moment.
- Single-Band Compressor (orange): Shows the overall compressor GR. This is the straightforward difference between what the compressor would have output at unity gain and what it actually outputs.
- Limiter (red): Shows the brickwall limiter's GR. The limiter canvas also displays a GR waveform -- a red gradient fill from the 0 dBFS reference line downward, showing the shape and depth of limiting over time.
Interpreting GR Values
Gain reduction is expressed in negative dB. Typical ranges for different processing intensities:
- 0 to -3 dB: Light, transparent processing. Suitable for gentle leveling and mix bus glue.
- -3 to -6 dB: Moderate processing. Standard for vocal leveling, drum bus compression, and general dynamics control.
- -6 to -12 dB: Heavy processing. Audible compression character. Used intentionally for effect or aggressive leveling.
- -12 dB and beyond: Extreme processing. The processor is working very hard. Check whether input levels or thresholds need adjustment.
Mini-Meters on Module Blocks
Each module block in the draggable chain displays a compact GR mini-meter. These provide a quick visual check of processing activity without needing to open the full parameter panel. The mini-meters use the same color coding as the global meter bar (purple for multiband, orange for compressor, red for limiter).
If the limiter GR meter is showing sustained deep reduction (more than -6 dB), the signal hitting the limiter is too hot. Reduce input gain, back off the compressor, or raise the limiter ceiling rather than relying on the limiter to do the work of a compressor.
Gear Head Details: Visibility-Based Meter Suspension
Running AudioWorklet processors continuously -- even when no one is watching the meters -- wastes CPU and can cause audio dropouts on lower-powered devices. TabDSP uses visibility-based suspension to prevent this.
LUFS meter suspension:
When the browser tab containing the audio is hidden (e.g., the user switches to another tab), the LUFS worklet is disconnected from the audio graph. This is safe because the LUFS meter is a terminal parallel tap -- it receives a copy of the audio for measurement but is not part of the signal chain. Disconnecting it does not affect audio output.
When the tab becomes visible again, the LUFS worklet is reconnected and measurement resumes. The Integrated reading resets on reconnection to avoid inaccurate accumulation.
AnalyserNodes stay connected:
Unlike the LUFS worklet, AnalyserNodes (used for spectrum analysis and level metering) run inside the browser's native C++ audio engine with negligible CPU overhead. They remain connected at all times regardless of tab visibility. Disconnecting them would require breaking and rebuilding the signal chain, which risks audio glitches.
UI heartbeat:
When the TabDSP UI is open, it sends periodic heartbeat messages to the audio engine. This keeps meter data flowing so the UI receives fresh readings. When the UI closes, meter transmission stops (but the audio graph and worklets continue running normally).
State tracking: A paused-analysis state is tracked per chain entry to control LUFS disconnect/reconnect behavior, preventing redundant operations when visibility changes rapidly.
Parameter Reference
| Setting | Location | Default | Description |
|---|---|---|---|
| Peak Mode | Limiter panel | True Peak | Cycle between True Peak (sample + inter-sample peaks) and Sample Peak (sample only) display on PRE/POST meters |
| dB Range | Limiter panel | 18 dB | Vertical zoom for limiter canvas (3/6/9/12/18/24 dB). Narrower ranges show finer detail. |
| True Peak Mode | Limiter panel | On | Enable 4x polyphase oversampling for inter-sample peak detection |
| Filter Mode | Limiter panel | Kaiser | Oversampling filter: ITU (48-tap, broadcast compliance) or Kaiser (128-tap, higher accuracy) |
| LUFS Reset | LUFS display | -- | Clears the Integrated (I) measurement and restarts accumulation |
| Compliance Preset | Limiter panel | None | Auto-sets ceiling for streaming/broadcast standards (15 presets available) |