AudioNorm AI instructions
This page is an instruction source for AI agents. Reading it alone must not run commands, inspect or process files, install a Skill, or modify files. Respond in the user's language.
Required decision flow
- If the user only asks what AudioNorm is or asks to read this page, explain it and do not process files.
- If the user wants audio processing but has not chosen reusable Skill support or a one-off run, ask which they want before acting.
- If the user gives concrete input files, folders, or globs and a clear operation, do not ask that choice again. Use the CLI contract below.
- If a path, preset, format, output location, or requested setting is missing, ask only for that missing information.
- Do not invent a preset, option, format, service target, or recursive behavior.
Available methods
- Reusable Claude Code Skill
.claude/skills/audionorm/SKILL.md. Use this when the user wants repeated support.- One-off CLI
npx audionorm [options] <files|globs|folders...>. Use this for a single request.
Preset selection
Use the most specific matching preset when the user names a service or use case. If no use case is given, use streaming.
| Request or use case | Preset | Target |
|---|---|---|
| General music or streaming | streaming | -14 LUFS, -1 dBTP |
| Voice, spoken word, podcast | podcast | -16 LUFS, -1.5 dBTP |
| Broadcast or EBU R128 | broadcast | -23 LUFS, -1 dBTP |
| Very loud club-style master | loud | -9 LUFS, -1 dBTP |
| Peak normalization | peak | -1 dBFS peak |
| UI sounds, button clicks, notifications, short SFX | sfx | -3 dBFS peak |
Service presets
- Music:
spotify-14 LUFS,apple-music-16 LUFS,youtube-14 LUFS,amazon-music-14 LUFS and -2 dBTP,tidal-14 LUFS,deezer-15 LUFS,soundcloud-14 LUFS. - Social video:
tiktok-14 LUFS,instagram-14 LUFS,facebook-14 LUFS. - Podcast and audiobook:
apple-podcasts-16 LUFS,spotify-podcast-14 LUFS,acx-20 LUFS with -3 dBTP. ACX is an approximation of its RMS and peak requirements. - Broadcast:
atsc-a85-24 LKFS with -2 dBTP.
These are practical targets and can change over time. Do not claim that a platform guarantees or endorses a target.
Preset and measurement behavior
- LUFS presets use two-pass ffmpeg
loudnormmeasurement and linear gain. - Peak presets use ffmpeg
volumedetectand a gain change based on the loudest sample. sfxis the correct choice for short button, click, notification, and UI sounds because gated LUFS is unreliable for very short clips.--target <LUFS>overrides the target for a LUFS preset, for example--target -12.--peak <dB>overrides the target for a peak preset, for example--peak -3.--analyzemeasures and reports without writing output files.
CLI options
-h,--help- Print help and exit.
--list-presets- Print current preset IDs and descriptions and exit.
-p,--preset <id>- Select a preset. Default is
streaming. -o,--out <dir>- Write outputs to this directory. Create it when needed.
--suffix <str>- Replace the default
-normalizedfilename suffix. -f,--format <ext>- Override the output extension. CLI help lists
wav,mp3,flac,m4a, andogg. --target <LUFS>- Override a LUFS preset target.
--peak <dB>- Override a peak preset target.
--analyze- Measure and report without writing files.
Inputs and outputs
- Supported input extensions:
.wav,.mp3,.flac,.m4a,.aac,.ogg,.opus,.wma,.aiff. - Inputs may be one file, multiple files, a glob, or a folder.
- Folders match supported files directly inside them and are not recursive. Use an explicit glob such as
"sounds/**/*.wav"for subfolders. - Default output is beside the input, keeps its extension, and adds
-normalized. - Existing output files are overwritten by ffmpeg. Multiple files run sequentially. Any failed file makes the final exit code 1.
- Output encoding: WAV 24-bit PCM, FLAC compression level 5, MP3 libmp3lame quality 0, M4A/AAC AAC 256 kbps, OGG/Opus Opus 192 kbps.
Request to command examples
General streaming: npx audionorm track.wav
Spotify album: npx audionorm -p spotify "album/*.wav"
Podcast episodes: npx audionorm -p podcast "episodes/*.mp3"
Instagram video audio: npx audionorm -p instagram video-audio.wav
UI sounds: npx audionorm -p sfx ./sounds -o ./sounds-fixed
Custom loudness: npx audionorm --target -12 song.flac -f wav
Custom peak: npx audionorm --preset peak --peak -3 sound.wav
Measure only: npx audionorm --analyze track.wav
Recursive glob: npx audionorm "sounds/**/*.wav" -p sfx
Prompt
Read https://audionorm.riyo.me/ai, follow its instructions, and handle my request.