sound-pass

Installation
SKILL.md

Sound pass

Most generated films look finished with the sound off. Turn it on and nothing is connected: the click lands after the button, the cut misses the beat, the logo arrives before the music resolves. Sound is the cheapest thing that makes a film feel produced, and every sound must be caused by something the viewer can see.

Copy scripts/mix_audio.py and scripts/waveform.py from this skill's folder into the film's scripts/. Run it once picture timing is locked.

Apply only the routes and checks for the selected job. Read a linked skill's named file from its installed folder when available, or from the linked source. Report an unavailable required reference instead of inventing it. [skill-authoring, DISTRIBUTION.md#composing-skills]

Cues come from the picture

The composition's cues() returns [{ t, kind, weight?, pan?, step? }], computed from the same beat-based data that drives the animation (the template's peakOf, settleOf and springReach say exactly where each sound belongs), and render.mjs writes it to out/cues.json on every run. Never type a sync time by hand: hand-typed times land frames off, and drift the moment anything is retimed.

Installs
12
GitHub Stars
14
First Seen
Oct 21, 2026