skillby chrislema
master-audio
Apply broadcast-ready audio mastering chain to video files using ffmpeg for clear, warm talking-head sound
Installs: 0
Used in: 1 repos
Updated: 0mo ago
$
npx ai-builder add skill chrislema/05-master-audioInstalls to .claude/skills/05-master-audio/
## When to use Use this skill when the user wants to master, clean up, or improve the audio on a video. Triggered by requests like "master the audio," "fix the audio," "clean up audio," "audio sounds bad," or "master-audio." ## How to use ### Prerequisites - `ffmpeg` must be installed ### Parameters The user may optionally specify: - **input**: Path to the video file (if not provided, ask) - **output**: Path for the output file (default: strip `_colorcorrected` from the input basename, then append `_mastered.<ext>` — e.g., `mainvideo_colorcorrected.mp4` → `mainvideo_mastered.mp4`) ### Default mastering chain The full ffmpeg audio filter chain, optimized for talking-head videos: ``` highpass=f=80,lowpass=f=14000,equalizer=f=3000:t=q:w=1.5:g=3,equalizer=f=200:t=q:w=1.0:g=2,acompressor=threshold=-21dB:ratio=3:attack=5:release=50,volume=0.6,loudnorm=I=-16:TP=-1.5:LRA=11 ``` What each stage does: 1. **Highpass 80Hz** — removes room rumble, AC hum, and low-frequency noise 2. **Lowpass 14kHz** — removes high-frequency hiss and sibilance artifacts 3. **Presence EQ: +3dB at 3kHz** — boosts voice clarity and intelligibility (Q=1.5) 4. **Warmth EQ: +2dB at 200Hz** — adds fullness to the voice (Q=1.0) 5. **Compressor: 3:1 ratio, -21dB threshold** — evens out volume dynamics (attack=5ms, release=50ms) 6. **Volume 0.6** — gain reduction to prevent clipping after EQ boosts, gives headroom before loudnorm 7. **Loudness normalization: -16 LUFS, true peak -1.5dB, LRA=11** — broadcast-ready levels ### Process #### Step 1: Apply the mastering chain ```bash ffmpeg -y -i <input> \ -af "highpass=f=80,lowpass=f=14000,equalizer=f=3000:t=q:w=1.5:g=3,equalizer=f=200:t=q:w=1.0:g=2,acompressor=threshold=-21dB:ratio=3:attack=5:release=50,volume=0.6,loudnorm=I=-16:TP=-1.5:LRA=11" \ -c:v copy \ -c:a aac -b:a 192k \ <output> ``` Key details: - Video is copied (`-c:v copy`) since audio mastering doesn't affect video - Audio is re-encoded with AAC at 192kbps - All filters run as a single chain in order #### Step 2: Report results Print the input file, output file, and confirm the mastering chain applied. ### Adjustments If the user wants to tweak the sound: **Voice too thin/tinny:** - Increase warmth: raise `g` on the 200Hz EQ (e.g., `g=3` or `g=4`) - Lower the highpass frequency (e.g., `f=60`) **Voice too boomy/muddy:** - Decrease warmth: lower `g` on the 200Hz EQ (e.g., `g=1` or `g=0`) - Raise the highpass frequency (e.g., `f=100`) **Voice not clear enough:** - Increase presence: raise `g` on the 3kHz EQ (e.g., `g=4` or `g=5`) **Too much compression (sounds squashed):** - Lower the ratio (e.g., `ratio=2`) - Lower the threshold (e.g., `threshold=-24dB`) **Not enough compression (volume jumps around):** - Raise the ratio (e.g., `ratio=4`) - Raise the threshold (e.g., `threshold=-18dB`) **Target loudness:** - YouTube/podcasts: -16 LUFS (default) - Spotify/streaming: -14 LUFS - Broadcast TV: -24 LUFS ### Important notes - This skill should typically be the **last step** in the pipeline, after silence removal, zoom, and color correction - The chain is designed for solo voice recordings. For multi-speaker or music content, different settings may be needed. - The `volume=0.6` stage is critical — it prevents the EQ boosts from clipping before loudnorm normalizes the final level
Quick Install
$
npx ai-builder add skill chrislema/05-master-audioDetails
- Type
- skill
- Author
- chrislema
- Slug
- chrislema/05-master-audio
- Created
- 0mo ago