Audio Engineering Skill
Built on research from 30 Music cluster projects, 360 PNW musicians deep-dived (S36/SPS), Ableton Live research (ABL), Deep Audio (DAA), Dead Frequencies (DFQ), and High Fidelity amplifier analysis (HFR/HFE).
Expert-level audio engineering covering mastering, mixing, loudness standards, synthesis, podcast production, music theory, and spectrum analysis. Works alongside the ffmpeg-media skill for codec/format operations.
Loudness Standards
Target Levels by Platform
| Platform |
Target LUFS |
True Peak |
Standard |
| Spotify |
-14 LUFS |
-1 dBTP |
AES streaming |
| Apple Music |
-16 LUFS |
-1 dBTP |
Sound Check |
| YouTube |
-14 LUFS |
-1 dBTP |
ITU-R BS.1770 |
| Podcast (Apple) |
-16 LUFS |
-1 dBTP |
Apple spec |
| Podcast (Spotify) |
-14 LUFS |
-1 dBTP |
Spotify spec |
| Broadcast TV |
-24 LUFS |
-2 dBTP |
EBU R128 |
| Broadcast US |
-24 LKFS |
-2 dBTP |
ATSC A/85 |
| CD master |
-9 to -12 LUFS |
-0.3 dBTP |
Red Book |
| Film/Cinema |
-24 LUFS |
-1 dBTP |
SMPTE RP 200 |
Measurement Commands
# Measure integrated loudness (LUFS) with ffmpeg
ffmpeg -i input.wav -af loudnorm=print_format=json -f null - 2>&1 | grep -A20 "Parsed_loudnorm"
# Full EBU R128 scan
ffmpeg -i input.wav -af ebur128=peak=true -f null - 2>&1 | tail -20
# Loudness normalization to -14 LUFS (two-pass for accuracy)
# Pass 1: measure
ffmpeg -i input.wav -af loudnorm=I=-14:LRA=11:TP=-1:print_format=json -f null - 2>&1 > /tmp/loudnorm.json
# Pass 2: apply (use measured values from pass 1)
ffmpeg -i input.wav -af loudnorm=I=-14:LRA=11:TP=-1:measured_I=-18.5:measured_LRA=9.2:measured_TP=-0.5:measured_thresh=-28.3 output.wav
With sox
# Normalize peak to -1 dBFS
sox input.wav output.wav gain -n -1
# Compressor (threshold -20dB, ratio 4:1, attack 5ms, release 50ms)
sox input.wav output.wav compand 0.005,0.05 -20,-20,-10,-10,0,-6
# 3-band EQ (low shelf +3dB at 200Hz, mid cut -2dB at 2kHz, high shelf +1dB at 8kHz)
sox input.wav output.wav bass +3 200 equalizer 2000 1q -2 treble +1 8000
# Noise reduction (profile then reduce)
sox noisy.wav -n noiseprof /tmp/noise.prof
sox noisy.wav clean.wav noisered /tmp/noise.prof 0.21
# Generate tone (440Hz sine, 3 seconds)
sox -n -r 44100 -c 1 tone.wav synth 3 sine 440
# Spectrum analysis (generate spectrogram PNG)
sox input.wav -n spectrogram -o spectrum.png
Mastering Chain
Standard Mastering Signal Flow
Input → EQ (corrective) → Compression → EQ (tonal) → Stereo Width → Limiting → Dithering → Output
With ffmpeg Filters
# Full mastering chain: EQ → compression → limiting → loudness normalization
ffmpeg -i mix.wav -af "\
equalizer=f=80:t=h:w=100:g=2,\
equalizer=f=3000:t=h:w=1000:g=-1.5,\
equalizer=f=12000:t=h:w=2000:g=1,\
acompressor=threshold=-18dB:ratio=3:attack=10:release=100:knee=6,\
alimiter=limit=-1dBFS:level=false,\
loudnorm=I=-14:LRA=11:TP=-1\
" -ar 44100 -sample_fmt s16 mastered.wav
# Dithering (16-bit with triangular dither for CD)
ffmpeg -i master_24bit.wav -af "dither=method=triangular" -sample_fmt s16 -ar 44100 cd_master.wav
EQ Reference
Frequency Bands and Characteristics
| Band |
Range |
Character |
Common Uses |
| Sub-bass |
20-60 Hz |
Felt, not heard |
Kick fundamental, sub bass |
| Bass |
60-250 Hz |
Warmth, body |
Bass guitar, kick punch, vocal warmth |
| Low-mid |
250-500 Hz |
Muddiness zone |
Cut here to clean up mixes |
| Mid |
500-2000 Hz |
Body, presence |
Vocal clarity, guitar body |
| Upper-mid |
2-4 kHz |
Presence, bite |
Vocal intelligibility, guitar attack |
| Presence |
4-6 kHz |
Definition, edge |
Consonant clarity, string attack |
| Brilliance |
6-12 kHz |
Air, shimmer |
Cymbals, vocal air, acoustic sparkle |
| Ultra-high |
12-20 kHz |
Air, sparkle |
Subtle sheen (careful: sibilance) |
Common Problem Frequencies
- 200-300 Hz — boominess in vocals, acoustic guitar
- 400-600 Hz — cardboard/boxy sound
- 1-2 kHz — nasal, telephone quality
- 3-5 kHz — harshness, listening fatigue
- 6-8 kHz — sibilance (de-ess here)
Compression Reference
Settings by Source
| Source |
Threshold |
Ratio |
Attack |
Release |
Knee |
| Vocals |
-18 to -12 dB |
2:1 to 4:1 |
5-15 ms |
40-80 ms |
Soft |
| Drums (bus) |
-15 to -10 dB |
3:1 to 6:1 |
10-30 ms |
50-100 ms |
Hard |
| Bass |
-15 to -8 dB |
3:1 to 8:1 |
10-30 ms |
100-200 ms |
Hard |
| Acoustic guitar |
-20 to -12 dB |
2:1 to 4:1 |
10-25 ms |
100-150 ms |
Soft |
| Mix bus |
-20 to -15 dB |
1.5:1 to 2:1 |
10-30 ms |
100-300 ms |
Soft |
| Podcast |
-20 to -15 dB |
3:1 to 5:1 |
5-10 ms |
50-100 ms |
Soft |
Compression Types
- VCA — fast, transparent, precise (SSL, dbx 160)
- Optical — smooth, musical, slow (LA-2A, CL 1B)
- FET — aggressive, colorful, fast (1176, Distressor)
- Variable-mu — warm, glue, gentle (Fairchild 670, Manley Vari-Mu)
Synthesis Reference
Synthesis Types
| Type |
How It Works |
Character |
Classic Synths |
| Subtractive |
Oscillator → Filter → Amplifier |
Warm, analog, rich |
Minimoog, Prophet-5, Juno-106 |
| FM |
Operators modulating each other's frequency |
Metallic, bell-like, bright |
DX7, FM8 |
| Wavetable |
Morphing between stored waveforms |
Evolving, complex, modern |
PPG Wave, Serum, Vital |
| Granular |
Tiny audio grains layered and scattered |
Atmospheric, textural, ambient |
Granulator, Pigments |
| Additive |
Sum of individual sine wave partials |
Precise, organ-like |
Kawai K5, Razor |
| Physical modeling |
Mathematical model of physical instrument |
Realistic, expressive |
Chromaphone, Pianoteq |
| Sample-based |
Recorded audio, pitch-shifted and layered |
Realistic, natural |
Kontakt, Sampler |
ADSR Envelope Quick Reference
- Pad: A=500ms, D=200ms, S=0.8, R=1000ms
- Pluck: A=1ms, D=200ms, S=0, R=100ms
- Bass: A=5ms, D=100ms, S=0.6, R=50ms
- Lead: A=10ms, D=50ms, S=0.7, R=200ms
- Kick drum: A=0ms, D=150ms, S=0, R=50ms
Music Theory Quick Reference
Circle of Fifths (Major Keys)
C
F G
Bb D
Eb A
Ab/E
Common Chord Progressions
| Name |
Numerals |
Example in C |
Use |
| Pop |
I-V-vi-IV |
C-G-Am-F |
80% of pop music |
| Blues |
I-IV-V |
C-F-G |
Blues, rock |
| Jazz ii-V-I |
ii-V-I |
Dm7-G7-Cmaj7 |
Jazz standard |
| Andalusian |
i-VII-VI-V |
Am-G-F-E |
Flamenco, dramatic |
| Canon |
I-V-vi-iii-IV-I-IV-V |
C-G-Am-Em-F-C-F-G |
Pachelbel, ballads |
| Minor blues |
i-iv-V |
Am-Dm-E |
Minor blues |
Scales
- Major (Ionian): W-W-H-W-W-W-H
- Natural Minor (Aeolian): W-H-W-W-H-W-W
- Pentatonic Major: 1-2-3-5-6
- Pentatonic Minor: 1-b3-4-5-b7
- Blues: 1-b3-4-#4-5-b7
- Dorian: W-H-W-W-W-H-W (minor with raised 6th — jazz, funk)
- Mixolydian: W-W-H-W-W-H-W (major with flat 7th — blues rock)
Podcast Production Workflow
Recording
# Record from default mic (sox)
sox -d -r 44100 -c 1 -b 16 recording.wav
# Record with ffmpeg (specify ALSA device on Linux)
ffmpeg -f alsa -i default -ar 44100 -ac 1 recording.wav
Processing Chain
# 1. Noise reduction
sox recording.wav -n trim 0 0.5 noiseprof /tmp/noise.prof
sox recording.wav clean.wav noisered /tmp/noise.prof 0.21
# 2. Normalize + compress + EQ for voice
ffmpeg -i clean.wav -af "\
highpass=f=80,\
lowpass=f=12000,\
equalizer=f=3000:t=h:w=1000:g=2,\
acompressor=threshold=-20dB:ratio=4:attack=5:release=50,\
loudnorm=I=-16:TP=-1\
" -ar 44100 podcast_ready.wav
# 3. Export MP3 for distribution
ffmpeg -i podcast_ready.wav -c:a libmp3lame -b:a 128k \
-metadata title="Episode Title" \
-metadata artist="Show Name" \
-metadata album="Podcast Name" \
-metadata genre="Podcast" \
episode.mp3
# 4. Generate waveform for show notes
ffmpeg -i episode.mp3 -filter_complex "showwavespic=s=1920x200:colors=0x1a1a2e" -frames:v 1 waveform.png
ID3 Tags
# Set all metadata
ffmpeg -i episode.mp3 -c copy \
-metadata title="EP 42: The Memory Architecture" \
-metadata artist="GSD Podcast" \
-metadata album="Getting Shit Done" \
-metadata track="42" \
-metadata date="2026" \
-metadata comment="LOD-tiered memory system deep dive" \
tagged.mp3
BPM and Key Detection
With ffmpeg/aubio
# Install aubio for beat/pitch detection
# apt install aubio-tools
# BPM detection
aubiotempo input.wav
# Pitch/key detection
aubiopitch -i input.wav -p yinfft
# Onset detection (transient markers)
aubioonset input.wav
With sox
# Generate stats (includes RMS, peak, DC offset)
sox input.wav -n stats 2>&1
Sample Rate / Bit Depth Reference
| Format |
Sample Rate |
Bit Depth |
Use |
| CD |
44.1 kHz |
16-bit |
Consumer playback |
| DVD |
48 kHz |
24-bit |
Video soundtrack |
| Hi-Res |
96 kHz |
24-bit |
Audiophile streaming |
| Studio |
96-192 kHz |
32-bit float |
Recording/mixing |
| Podcast |
44.1 kHz |
16-bit |
Voice distribution |
| Phone/VoIP |
8-16 kHz |
16-bit |
Voice calls |
Conversion
# Downsample from 96kHz/24-bit to 44.1kHz/16-bit with dither
sox input_96_24.wav -r 44100 -b 16 output_441_16.wav dither -s
# Same with ffmpeg
ffmpeg -i input_96_24.wav -ar 44100 -sample_fmt s16 -af "dither=method=triangular" output.wav
Related Skills & Agents
- ffmpeg-media — codec/format operations, video+audio conversion
- ffmpeg-processor agent — media processing specialist
- gource-visualizer — repository visualization with audio sync capability
- Audio research: ABL, DAA, DFQ, HFR, HFE, S36/SPS (360 musicians)
When This Skill Activates
- Audio mastering, mixing, EQ, compression
- Loudness measurement and normalization (LUFS, EBU R128)
- Podcast recording, editing, production
- Music theory questions (chords, scales, progressions)
- Synthesis design (FM, subtractive, granular, wavetable)
- Spectrum analysis and audio visualization
- Sample rate/bit depth conversion
- Noise reduction and audio cleanup
- BPM/key detection