Skip to content
Back to skills

Audio Mix Maker

ASecurity

Mix music/audio onto an existing video via ffmpeg. Modes: replace, overlay, duck (sidechain compressor lowers music under speech). Volume + fade controls. Pure ffmpeg, no API. Use when: 'mix this music onto the video', 'add background music to video', 'duck the music under voiceover', 'смешай музыку с видео', 'фоновая музыка для видео'.

  • 19 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added August 31, 2026
ai-agentsbashapi

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned August 31, 2026

npx -y skills add Mikefluff/skills --skill audio-mix-maker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audio Mix Maker?

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

Security grade badge for Audio Mix Maker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mikefluff-audio-mix-maker/badge)](https://www.skillsdirectory.com/skills/mikefluff-audio-mix-maker)

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: audio-mix-maker
description: "Mix music/audio onto an existing video via ffmpeg. Modes: replace, overlay, duck (sidechain compressor lowers music under speech). Volume + fade controls. Pure ffmpeg, no API. Use when: 'mix this music onto the video', 'add background music to video', 'duck the music under voiceover', 'смешай музыку с видео', 'фоновая музыка для видео'."

license: MIT
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Grep
  - Glob
---

<objective>
Mix a music / audio track onto an existing video with ffmpeg-driven post-processing. Returns a new MP4 with the music mixed according to the chosen mode.

Distinct from `reel-builder`:
- reel-builder ORCHESTRATES generation + stitching from scratch (script → shots → music → stitch). This skill is JUST the final-mix step on assets you already have.
- No script / no video / music generation — bring your own.

Distinct from `subtitle-burner`:
- subtitle-burner adds CAPTIONS. This skill adds AUDIO MIX.
- Both are pure-ffmpeg utilities — they share the lightweight wrapper pattern.

Distinct from `voiceover-maker`:
- voiceover-maker GENERATES TTS. This skill MIXES audio onto video.

This skill does NOT:
- Generate music (use `music-prompt --execute` first)
- Generate voiceover (use `voiceover-maker --execute` first)
- Stitch multiple video clips (use `reel-builder` for that, or raw ffmpeg `concat`)
- Cut / trim video segments (use ffmpeg / DaVinci Resolve / Premiere)
- Sync audio to specific moments (use a NLE — Final Cut / Premiere / DaVinci)
</objective>

## ROLE

Read video + music + mode + volume/fade controls → run ffmpeg with the right filter chain → save mixed MP4.

## PIPELINE

1. **Resolve inputs**:
   - `--video <path>` — source MP4 / MOV / WebM (required)
   - `--audio <path>` — music / SFX / voiceover (required)

2. **Pick mode**:
   - `--mode replace` (default) — drop the video's original audio, use music as sole track
   - `--mode overlay` — mix music ON TOP of original audio (both audible at constant volume)
   - `--mode duck` — overlay with sidechain compression (music auto-lowers when speech detected)

3. **Volume + fade controls**:
   - `--volume <multiplier>` — 0.0-2.0 music volume (default 0.8)
   - `--fade-in <seconds>` — fade in duration (default 0)
   - `--fade-out <seconds>` — fade out duration (default 0.5)
   - `--duck-amount <0-1>` — duck mode only: how much music attenuates (default 0.6)

4. **Detect ffmpeg** — print install instructions if missing.

5. **Run ffmpeg** — encoded as one of three filter chains depending on mode.

6. **Save**:
   - Default: `<video-stem>-mixed<ext>` next to source
   - Custom: `--output <path>`

## MODES

### Required

- `audio-mix-maker --video <path> --audio <path>`

### Mix mode

- `--mode replace|overlay|duck` (default `replace`)

### Volume

- `--volume <0.0-2.0>` (default 0.8)
- `--fade-in <seconds>` (default 0)
- `--fade-out <seconds>` (default 0.5)
- `--duck-amount <0.0-1.0>` (default 0.6, duck mode only)

### Output

- `--output <path>` (default: `<video-stem>-mixed<ext>`)

## REFERENCES (load on demand)

| File | When to load |
|---|---|
| [references/modes.md](references/modes.md) | Step 2 — when to pick replace vs overlay vs duck, and how each affects the listener |
| [references/troubleshoot.md](references/troubleshoot.md) | When ffmpeg fails, audio is clipped, ducking too aggressive / too subtle |

## EXAMPLES

See [examples/before-after.md](examples/before-after.md) — 3 calibration runs: silent screen recording + background music (replace), voiceover-driven explainer + background music (duck), b-roll with original audio + music bed (overlay).

## CONSTRAINTS

- **ffmpeg required.** Install: `brew install ffmpeg` (Mac) / `apt-get install -y ffmpeg` (Debian). install.sh offers auto-install.

- **Video codec preserved.** This skill uses `-c:v copy` — no re-encode of video frames. Output video quality identical to source.

- **Audio re-encoded.** Output audio is AAC 192kbps (industry standard for video).

- **Music length usually exceeds video.** Skill uses `-shortest` flag — output truncates at the shorter of (video duration, music duration). Music is faded out at the cut point if `--fade-out > 0`.

- **Duck mode requires speech in the video.** If there's no speech / dialogue, duck mode behaves like overlay. For pure music-on-music: use overlay.

- **Volume max is ~2.0.** Past 2× the source volume, distortion appears. For louder music: re-master the input audio file first.

- **Fade timing is from the video start.** Fade-in starts at t=0; fade-out completes at the end of the shorter track. Custom mid-clip fades require DaVinci / Premiere / manual ffmpeg.

- **Output is MP4 by default.** If source is MOV / WebM, output preserves the container.

- **Cost = $0.** No API calls — local ffmpeg only.

- **No multitrack mixing.** v1 mixes ONE music track onto video. For multi-track (music + SFX + voiceover): chain calls or use a DAW.

- **Sample rate / channel layout handled implicitly.** ffmpeg resamples as needed. For exact control: use raw ffmpeg.

## INVOCATION HINTS

When the user says any of:

- "mix this music onto the video", "add background music"
- "duck the music under the voiceover", "lower music when speech"
- "replace audio with music"
- "смешай музыку с видео", "фоновая музыка для видео"
- "подложи трек под видосик"

If the user describes a podcast / explainer / interview workflow with voiceover, suggest `--mode duck`. If pure music video / silent footage, suggest `--mode replace`.

Defaults: `--mode replace --volume 0.8 --fade-out 0.5`. No `--execute` flag — the skill always executes (it's a local-only utility, no cost).

This skill is distinct from:
- `reel-builder` — generates + stitches; this is final-mix only
- `subtitle-burner` — captions, not audio
- `voiceover-maker` — generates TTS; this mixes
- `music-prompt` — generates music; this consumes the output of music-prompt
- `gif-maker` — produces GIF, no audio

Files in this skill

  • SKILL.md6 KB
  • examples/before-after.md3.8 KB
  • references/modes.md4.6 KB
  • references/troubleshoot.md4.3 KB
  • scripts/run.py784 B

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.