launch-mix
Skill16 starsChanged 47 days agoMITView on GitHub
Tool manual under launch-film (mixdown.py for buses, ducking, loudness and the brickwall). Mix and master the audio of a launch film. Music, SFX and voice-over on separate buses, the bed ducked by the voice's real envelope with a presence carve, the music dropped out for the logo, glue compression, a true-peak-safe limiter, -14 LUFS and -1 dBTP, then laid onto the rendered picture. Use after the score, the sound effects and the voice exist, for "mix", "master", "loudness", "LUFS", "ducking", "mux the audio".
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- launch-brandSkill
- launch-filmSkill
- launch-motionSkill
- launch-reviewSkill
- launch-scoreSkill
- launch-soundSkill
- launch-storySkill
- launch-voiceSkill
- launch-worldSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Write mix.json. The full format is in the header of skills/launch-mix/scripts/mixdown.py.
- Very specific: line 24
Run python3 skills/launch-mix/scripts/mixdown.py mix.json from your venv (numpy, soundfile, pedalboard, pyloudnorm).
- Distinctive: line 25
Read the printed ebur128 summary.
- Distinctive: line 45
Keep a WAV master (48 kHz, 24-bit) next to the muxed MP4 (AAC 256 kbps).
- Distinctive: line 50
Never raise the whole mix to fix a quiet voice.
- Distinctive: line 51
Never limit more than 3 dB on the master.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Launch mix
Tool manual under
launch-film. Start atskills/launch-film/SKILL.md: it holds the core, the hook-plus-body template and the lessons. Where this page differs,launch-filmwins.
A mix is a set of relationships, not a stack of effects. The voice owns intelligibility, the effects own the moments, the music owns momentum and gives way to both. HyperFrames renders the picture; it has no master bus, so the finished mix is made here, outside the composition, and laid onto the render.
In the film template, film/audio.py writes the mix file and runs this script for you. Use this page to understand and change the moves.
Inputs
- the music take (
launch-score) sfx.wav(launch-sound)vo.wavand the word times (launch-voice), when narrated- the picture: the HyperFrames render, rendered silent
Procedure
- Write
mix.json. The full format is in the header ofskills/launch-mix/scripts/mixdown.py. - Run
python3 skills/launch-mix/scripts/mixdown.py mix.jsonfrom your venv (numpy, soundfile, pedalboard, pyloudnorm). - Read the printed ebur128 summary. Integrated must be -14 ± 0.5 LUFS, true peak at or under -1.0 dBFS.
- With
videoset, the script muxes the master onto the picture (video_out). Hand that file tolaunch-review.
The moves and why
| Move | Setting | Why |
| Voice bus | high-pass 80 Hz, 3:1 compression at -20 dB, +1 dB at 3.2 kHz | steady level, consonants forward |
| Duck | music down 8 to 10 dB following the voice envelope, attack 80 ms, release 350 ms | the bed breathes with speech instead of sitting at a fixed low level |
| Presence carve | -4 dB at 2.5 kHz on the bed, blended by the same envelope | makes room where speech lives, only while it speaks |
| Music tone | high-pass 28 Hz, gentle low and high shelves | removes rumble, keeps the bed soft behind the product |
| SFX bus | high-pass 40 Hz, 2.5:1 at -18 dB, fast attack | glues the palette so events feel like 1 family |
| Drop-out | music to silence about 0.1 s before the logo, 80 ms ramp | the logo and its sting land in near silence, as strong launch films do |
| Master | 1.8:1 glue compression, then up to 3 passes of gain to target and a look-ahead brickwall at the ceiling | loud enough for YouTube without pumping |
Starting balance with no voice: music -2 to -4 dB, SFX 0 dB. With a voice: voice 0 dB, music -6 dB before ducking, SFX -3 dB.
Targets
- YouTube, LinkedIn, X: -14 LUFS integrated, -1 dBTP. Loudness range 1.5 to 6 LU (a strong reference launch measured 1.6).
- Keep a WAV master (48 kHz, 24-bit) next to the muxed MP4 (AAC 256 kbps).
Rules
- Do not use pedalboard's
Limiteras a ceiling: it behaves like a maximiser (the output level barely follows the input; a 33 s test came out at -10.8 LUFS).mixdown.pyhas its own look-ahead brickwall for that reason, on 4x oversampled true peaks (on sample peaks a 0.9 dB inter-sample over got through, and an AAC master then clipped). - Never raise the whole mix to fix a quiet voice. Fix the voice bus or duck deeper.
- Never limit more than 3 dB on the master; if you must, the balance is wrong.
- The logo lands in near silence: a drop-out or a fade, never the full bed.
- A mix is not done until
launch-reviewhas measured it and someone has listened on laptop speakers and on headphones.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

