C.W.K.
Stream
Lesson 08 of 10 · published

Audio Mixing

~10 min · mix, amix, background, voiceover

Level 0Viewer
0 XP0/73 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

Two patterns cover most mixing

  • amix — mix N inputs into one stream. Per-input weights. Good for 'voice + background music'.
  • amerge — combine N inputs into a single multi-channel stream. Use when you want to keep tracks separate but in one file (e.g., create a stereo from two monos).

Voice over music — the recipe

Background music at -14 dB sits comfortably under voice. Use volume on the music input before mixing. Apply sidechaincompress for radio-style ducking (music auto-quiets when voice is present).

Code

Voice + background music·bash
# Simple mix: voice full volume, music at -14 dB
ffmpeg -i voice.wav -i music.mp3 \
  -filter_complex "[1:a]volume=-14dB[bg]; [0:a][bg]amix=inputs=2:duration=first:dropout_transition=0" \
  -c:a aac -b:a 192k mixed.m4a

# duration=first → output ends when voice ends (don't pad with silent music)
# duration=longest → output as long as longest input
Sidechain compression — radio-style ducking·bash
# Music auto-quiets when voice plays
ffmpeg -i voice.wav -i music.mp3 \
  -filter_complex "[1:a][0:a]sidechaincompress=threshold=0.05:ratio=8:level_sc=0.6[bg]; \
                   [0:a][bg]amix=inputs=2:duration=first" \
  -c:a aac -b:a 192k mixed_ducked.m4a

External links

Exercise

Pair a 30-second voice clip with 60 seconds of background music. Mix with the simple recipe at -14 dB music. Listen — is dialogue clear? Then add sidechaincompress ducking and compare. Which mix do you actually prefer? For your own podcast workflow, which becomes your default?

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.