Audio loudness (LUFS) check and normalization

Measure integrated loudness (LUFS), true peak and duration with ffmpeg, compare with targets such as YouTube (-14) or podcasts (-16), and optionally write normalized copies.

ClaudeHermes AgentCodexCursorMIT (modify, redistribute and use commercially)Python

What it does

Checks with real numbers whether the loudness of audio or video files fits the destination.

  • Measures integrated loudness (LUFS), true peak (dBTP), loudness range (LRA) and duration
  • Compares with targets: YouTube and Spotify (-14 LUFS), Apple Music and podcasts (-16 LUFS), mono podcasts (-19), broadcast (EBU R128 -23, ATSC A/85 -24, ARIB TR-B32 -24), or any number you give
  • Verdicts: too loud, too quiet, peak over the ceiling, or unmeasurable (silence), plus the gain needed to reach the target
  • Checks whole folders, reads the audio track of video files, writes a JSON report
  • On request, writes normalized copies into a separate folder with ffmpeg's two-pass loudnorm and re-measures them (video streams are copied, not re-encoded)

How to use

python scripts/loudness.py targets
python scripts/loudness.py check episode.wav music/ --target podcast --report loudness.json
python scripts/loudness.py normalize episode.wav --target podcast --out normalized/

Ask your agent whether a file is loud enough for YouTube. It explains the measurements in plain words and, if you want, creates a normalized copy.

Requirements

  • Python 3
  • ffmpeg (with ffprobe). If it is not found, the script stops and shows how to install it.

Caveats

  • Platform targets can change; check the current official spec for important deliveries.
  • If reaching the target level would push peaks over the ceiling, ffmpeg compresses the dynamics automatically (shown as "dynamic" in the result).
  • Re-encoding to MP3/AAC loses a little quality. Source files are never modified or overwritten.

How to install

  1. Unzip the downloaded file (it contains a audio-loudness-check/ folder with SKILL.md).
  2. Copy the whole folder into your agent's skills folder.
    • Claude: ~/.claude/skills/ (per project: .claude/skills/)
    • Hermes Agent: ~/.hermes/skills/
    • Codex: ~/.agents/skills/ / Cursor: ~/.cursor/skills/
    • Claude app (claude.ai): upload the ZIP in Customize → Skills
  3. Restart the agent and check that the skill appears in its skill list.

Step-by-step install for Windows / Mac and each agent

Seller

AI Skill Market (official)

44 published skills

Seller profile and all skills