Skip to content

feat: lock narration voice and add a spoken setup card - #63

Merged
calvin-archastro merged 1 commit into
mainfrom
feat/narration-voice-lock-and-setup
Aug 13, 2026
Merged

feat: lock narration voice and add a spoken setup card#63
calvin-archastro merged 1 commit into
mainfrom
feat/narration-voice-lock-and-setup

Conversation

@calvin-archastro

Copy link
Copy Markdown
Contributor

Summary

  • Long step transcripts are spoken in sentence chunks and trailing Qwen silence is trimmed, so the video hold follows speech instead of a padded WAV.
  • Burn-in captions are a Settings toggle, off by default (the word clock cannot stay locked to TTS pacing).
  • Each job synthesizes one short speaker clip, then ICL-clones every later sentence from that same reference so timbre does not wander between chunks.
  • After the intro card, a THE SETUP page typesets Goal / Persona from prompt.md and narrates them before the first screenshot.

Test plan

  • NarrationTests + PreferencesTests + FrictionLogLoaderTests (15+ tests, no live TTS in CI)
  • Live ice cream friction-log re-render with ICL (Returning cached context) and context.wav
  • Rebuild Debug app, enable Narration, Make narrated video on a log that has Goal + Persona
  • Confirm timeline: intro → setup card (spoken) → steps → outro
  • Confirm captions stay off unless Burn in captions is enabled
  • Confirm voice stays one speaker across setup + steps

Chunk long transcripts and trim Qwen trailing silence so holds
follow speech. Burn-in captions are opt-in and off by default.
Each job clones later sentences from one reference clip so the
speaker stays put. After the intro, a setup page speaks Goal
and Persona from the friction-log prompt.
@calvin-archastro
calvin-archastro requested a review from a team August 13, 2026 19:49
@calvin-archastro
calvin-archastro merged commit 8cc3a65 into main Aug 13, 2026
11 checks passed
@calvin-archastro
calvin-archastro deleted the feat/narration-voice-lock-and-setup branch August 13, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant