Skip to content
Back to skills

Mastering Audio

ASecurity

Master audio files (especially Suno/Udio AI music) for streaming release with LUFS normalization, true peak limiting, and optional enhancements. Triggers — "master this", "master the track", "LUFS normalize", "optimize for streaming". Not for a spot's or film's delivery loudness — use video-finish-qc.

  • 7 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 19, 2026
ai-agentsbashnode

Works with

  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add konradre/video-production-skills --skill mastering-audio --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mastering Audio?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mastering Audio
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/konradre-mastering-audio/badge)](https://www.skillsdirectory.com/skills/konradre-mastering-audio)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mastering-audio
description: >
  Master audio files (especially Suno/Udio AI music) for streaming release with LUFS normalization, true peak
  limiting, and optional enhancements. Triggers — "master this", "master the track", "LUFS normalize", "optimize
  for streaming". Not for a spot's or film's delivery loudness — use video-finish-qc.
triggers:
  - master audio
  - master song
  - master track
  - optimize for streaming
  - suno mastering
  - lufs normalize
---

# Audio Mastering Skill

Master audio files for streaming release using DSP analysis and processing.

## Tool Location

```
~/.claude/skills/mastering-audio/scripts/master.mjs
```

## Workflow

### Phase 1: Analyzing Audio

Run analysis to understand the audio characteristics:

```bash
node ~/.claude/skills/mastering-audio/scripts/master.mjs "<INPUT_FILE>" --analyze --json
```

**Metrics to evaluate:**
- LUFS (loudness) - streaming target is -14 LUFS
- True Peak - should be below -1 dBTP
- Stereo width and correlation
- DC offset presence
- Detected issues (clipping, low headroom, etc.)

### Phase 2: Selecting Approach

Based on analysis, determine processing approach:

**If Suno/Udio AI music:**
- Use `--preset suno` (optimized for AI music characteristics)
- Addresses: harsh 2-4kHz, clipping, overloud output

**If targeting streaming platforms:**
- Use `--preset streaming` for -14 LUFS, conservative processing

**If maximum loudness needed:**
- Use `--preset loud` for -9 LUFS with saturation/punch

**If preserving dynamics:**
- Use `--preset dynamic` for -16 LUFS, minimal processing

**Custom approach (advanced):**
```
--target-lufs N     Target LUFS (default: -14)
--ceiling N         True peak ceiling dB (default: -1)
--deharsh           Reduce harsh frequencies
--add-air           High-frequency sparkle
--warmth            Tape saturation
--punch             Transient enhancement
--stereo-width N    Width percentage (100 = unchanged)
--bit-depth N       16 or 24 (default: 24)
--sample-rate N     Output rate (default: 48000)
```

### Phase 3: Processing Audio

Execute mastering with chosen settings:

```bash
# Using preset
node ~/.claude/skills/mastering-audio/scripts/master.mjs "<INPUT_FILE>" "<OUTPUT_FILE>" --preset suno

# Custom settings
node ~/.claude/skills/mastering-audio/scripts/master.mjs "<INPUT_FILE>" "<OUTPUT_FILE>" --target-lufs -14 --ceiling -1 --deharsh --add-air
```

**Default output:** If no output specified, creates `<input>_mastered.wav` in same directory.

### Phase 4: Verifying Results

Run analysis on processed file to confirm:

```bash
node ~/.claude/skills/mastering-audio/scripts/master.mjs "<OUTPUT_FILE>" --analyze
```

**Success criteria:**
- LUFS within ±0.5 of target
- True peak at or below ceiling
- No clipping warnings
- Stereo correlation positive (not phase-inverted)

## Presets Reference

| Preset    | LUFS | Ceiling | De-harsh | Air | Warmth | Punch | Width |
|-----------|------|---------|----------|-----|--------|-------|-------|
| streaming | -14  | -1      | Yes      | No  | No     | No    | 100%  |
| loud      | -9   | -0.3    | Yes      | Yes | Yes    | Yes   | 105%  |
| dynamic   | -16  | -1      | No       | No  | No     | No    | 100%  |
| suno      | -14  | -1      | Yes      | Yes | No     | Yes   | 102%  |

## Processing Chain

1. DC offset removal
2. Hybrid dynamic processor (de-harsh)
3. High-frequency exciter (air)
4. Tape warmth saturation
5. Multiband transient enhancement (punch)
6. Stereo width adjustment
7. Bass mono (< 200 Hz)
8. Final filters (30 Hz HPF, 18 kHz LPF)
9. LUFS normalization
10. Lookahead true peak limiter

## Dependencies

- Node.js 18+
- ffmpeg (for audio decoding)
- npm dependencies (run `npm install` in skill directory once)

## Example Session

```
User: master this suno track for spotify release
Assistant:
1. Analyzing: node master.mjs song.mp3 --analyze --json
   → LUFS: -9.2, True Peak: +0.3 dBTP (clipping detected)

2. Selecting: Using suno preset (AI music, targeting -14 LUFS)

3. Processing: node master.mjs song.mp3 song_mastered.wav --preset suno
   → Applied: de-harsh, air, punch, bass mono, LUFS normalization, limiting

4. Verifying: node master.mjs song_mastered.wav --analyze
   → LUFS: -14.0, True Peak: -1.0 dBTP (no issues)
   → Ready for streaming release
```
- Deeper context — the upstream projects behind the rules here: `video-production/references/CONTEXT-MAP.md` § Where the deeper context lives.

Files in this skill

  • SKILL.md4.4 KB
  • lib/dsp/constants.js1.8 KB
  • lib/dsp/dc-offset.js4.2 KB
  • lib/dsp/dynamic-leveler.js10.6 KB
  • lib/dsp/dynamic-processor.js16.8 KB
  • lib/dsp/exciter.js7.9 KB
  • lib/dsp/fft.js6.5 KB
  • lib/dsp/final-filters.js3.2 KB
  • lib/dsp/index.js3.2 KB
  • lib/dsp/limiter.js12.2 KB
  • lib/dsp/lufs.js5.7 KB
  • lib/dsp/multiband-saturation.js13.3 KB
  • lib/dsp/multiband-transient.js8.1 KB
  • lib/dsp/multiband.js8.2 KB
  • lib/dsp/normalizer.js4.5 KB
  • lib/dsp/saturation.js9.3 KB
  • lib/dsp/soft-clipper.js9.1 KB
  • lib/dsp/stereo.js8.8 KB
  • lib/dsp/transient.js7.9 KB
  • lib/dsp/true-peak.js2.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.