Birthday edit teaching pack — 24 October 2026
Fictional contributor name cards, synthetic voices, AI-generated pictures.
No real participant footage or private collection is included.

With Python 3 and FFmpeg on PATH, run: python assemble-birthday.py
The script makes render-parts, three final videos and their VTT/SRT captions. It performs
local processing only, with no upload, publication or account access.
The source files arrived in the example order Rae, Nora, Owen. The cutlist keeps
complete utterances, removes deliberate padding and arranges opening, story,
wish. Audio is measured, then processed with loudnorm I=-20:TP=-3:LRA=7,
resampled to stereo 48 kHz and limited to 0.7 without automatic level makeup.
Lossless PCM intermediates avoid repeated AAC padding at the joins. The final
mix also has a 0.8 gain for encoding headroom; the delivered file uses AAC.
These settings do not claim that every encoded segment exactly
reaches a loudness target. Review actual output before sharing. No music is used.

The original three 1536 × 1024 pictures are preserved unchanged. Prepared cards
fit them whole at 750 × 500; source hashes are in project.json. Cards are included
so the portable runner needs no font files. This is a reproduction/input pack,
not a native editor project or a hosted AlbumMap export demonstration.

The 31.5-second compilation has 25.5 seconds of kept messages and six seconds of
title/ending. The 49.5-second slideshow adds fifteen picture seconds and uses
nine title/ending seconds. Eight short phrase cues preserve all spoken words.
Their explicit timings are in project.json; they are not automatic transcription.
The runner regenerates VTT and SRT through birthday_caption_tracks.py. When
changing speech or cuts, review the cue timings and text before regenerating.
WebVTT placement is chosen for these name cards. SRT preserves the same words
and timings without that placement setting. Review caption position in your
chosen editor when substituting other visuals.
The 61.5-second birthday map gift adds the complete twelve-second map source
before the relevant picture/message groups. Those city assignments are fictional
teaching choices. Approximate map arcs are not a record of travel or directions.
