Monorepo for Aesthetic.Computer aesthetic.computer

lacma-2026 demo: clean audio concat + drop prompt sim + retime narration master

Audio sync fix: switching from `ffmpeg -f concat -c copy` (demuxer stream-copy, brittle when source sample rates/PTS differ) to the `concat` filter with full re-encode and explicit aresample on each input's audio: [0:a]aresample=48000:async=1,pan=stereo|c0=c0|c1=c0[a0]; [1:a]aresample=48000:async=1[a1]; [v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a] This ensures sample-aligned, PTS-continuous output across the boundary between demo-viennese and the shutdown strobe. Fixes user-reported "notepat audio playback still isn't heard in time with the video". Sequence simplified — prompt-off simulation dropped. On real hardware prompt.mjs receives "off" to trigger draw_shutdown_anim(); my PIL prompt sim was a full-screen cream box that didn't reflect the actual piece and made the flow feel more fake than it needed to. Cleaner to go boot → notepat → shutdown directly with a byline explaining how the real trigger works. New 19.27s video: 0.00 – 3.00 boot greeting (real capture, own TTS) 3.00 – 17.75 notepat playing the Viennese waltz (real capture) 17.75 – 19.27 shutdown strobe (simulated, matches C code exactly) Narration retimed: cues at 0:06, 0:09, 0:13, 0:16 land squarely on the instrument section, nothing over the boot (has own TTS) or the shutdown (will have own TTS + chime once hardware-recaptured). Caption sequence chip + byline updated to match. Cachebuster v=4 → v=5.


+18 -18
2 changed files