filmcraft-pacing
Pacing in FilmCraft
House style: for any client edit, load edit-style (and its talking-head-edit or voiceover-edit sub-skill) first. It holds the approved principles and numbers this tool applies.
Tool: scripts/pace.py. It needs the filmcraft skill (fc.py, so edits go live when the app has the project open) and the transcribe skill (pauses.py) installed alongside, plus numpy and ffmpeg (ffmpeg only reads the voice for analysis; the edit never leaves FilmCraft).
The workflow
-
Report first, and quote the numbers to the user:
<skill-dir>/scripts/pace.py report video-N/edit/hook-1.fcproj # --vo A2 if the voice isn't on A1It prints the pauses and how much each style would cut, shot lengths and the longest stretch with nothing changing, B-roll without motion, talking clips that already move, captions left up through a pause of 0.4 s or more, and the music gain.
-
Tighten:
pace.py tighten PROJECT --style calm(add--dryto see the cuts first). It razors V1 and the voice track at each pause, ripple-deletes the dead air and moves every other clip (B-roll, overlays, music) to the time it was cut to. Cuts land on existing seams when one is within 2 frames, so no 1-frame slivers. -
Motion:
pace.py motion PROJECT --style calm(--face-yif the face isn't at about 40% of the height). -
Captions after the cuts: the timing moved, so run
captions-filmcraftwords,plan,build,checkagain. -
Report again and tell the user the before/after numbers. Never export (filmcraft does that when the user says so).