Audio RMS level report

Paste audio bytes as base64 or hex and get a whole-file per-channel level summary: RMS, sample peak, average level, crest factor, headroom, DC offset, short-window RMS, and clipping facts.

Try:
Level summary

About this tool

Use this tool when you need a whole-file level check before publishing, normalizing, matching stems, or debugging clipped audio. Paste a WAV, FLAC, MP3, OGG/Vorbis, M4A/MP4, AIFF, CAF, MKV/WebM, or AAC-ADTS file as base64 or hex and it reports each decoded channel plus an overall row.

The JSON summary includes sample rate, channel labels, duration, frame counts, whole-file RMS, sample peak, mean absolute level, short-window RMS peak/trough, crest factor, headroom, DC offset, zero crossings, and clipped-sample counts. Choose CSV for spreadsheets or the text report for a quick terminal-style readout.

Worked example

For the preset constant half-scale WAV, JSON output includes values like:

{
  "sample_rate": 8000,
  "channels": 1,
  "duration_s": 0.01,
  "per_channel": [
    {"channel": 1, "label": "M", "rms_dbfs": -6.021, "peak_dbfs": -6.021}
  ]
}

The same input in CSV mode starts with:

channel,label,samples,rms_dbfs,peak_dbfs,average_dbfs
1,M,80,-6.021,-6.021,-6.021

Limits and edge cases

FAQ

Is RMS the same as LUFS?

No. RMS is an electrical average of sample energy over the file or a short window. LUFS uses a perceptual weighting and gating model. This report is useful for technical level checks, clipping, headroom, and channel balance; it is not a broadcast loudness compliance meter.

Why does a constant half-scale sample read about -6.021 dBFS?

dBFS is calculated with 20 * log10(linear_amplitude). A linear amplitude of 0.5 is therefore about -6.021 dBFS. Digital full scale is 0 dBFS, and silence is floored to -120 dBFS so JSON and CSV stay numeric.

Does the tool downmix stereo before measuring?

No. Each channel is measured separately and the overall row aggregates all samples across all channels. That makes left/right imbalances, channel-specific clipping, and DC offset visible instead of hiding them in a downmix.

Can it detect true peaks between samples?

No. The peak_dbfs field is a sample peak. It does not oversample to estimate inter-sample true peaks. Use a dedicated loudness or true-peak analyzer when delivery specs require dBTP values.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool audio-rms-level-report "UklGR... (paste the whole audio file's base64 or hex here)"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/audio-rms-level-report/?input=UklGR...%20%28paste%20the%20whole%20audio%20file%27s%20base64%20or%20hex%20here%29&input_format=base64&output=json&rms_window_ms=50&clip_threshold=0.99

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.