Skip to content

Add ElevenLabs voiceover pipeline to ArbEdge ads project - #43

Open
jdthorsen62-lgtm wants to merge 1 commit into
digitalsamba:mainfrom
jdthorsen62-lgtm:main
Open

Add ElevenLabs voiceover pipeline to ArbEdge ads project#43
jdthorsen62-lgtm wants to merge 1 commit into
digitalsamba:mainfrom
jdthorsen62-lgtm:main

Conversation

@jdthorsen62-lgtm

Copy link
Copy Markdown

Summary

  • Adds a narration field per beat in projects/arbedge-ads/script.json, replacing the prior voiceover field
  • tools/gen_voiceover.py generates one MP3 per beat via ElevenLabs (voice G5FFvULjfTouEEWKNmuH, model eleven_multilingual_v2, stability 0.5), idempotent via a text hash so unchanged beats are skipped on rerun
  • Each beat's duration_frames is synced to its actual audio duration (via ffprobe) plus ~0.4s padding
  • <Audio> playback (already wired per-beat inside its <Sequence>) now has real generated audio to play
  • Includes the 5 generated MP3s and updated script.json/types.ts/gen_voiceover.py

Test plan

  • Ran tools/gen_voiceover.py — generated audio + updated durations for all 5 beats
  • Reran tools/gen_voiceover.py — confirmed idempotency (all beats cached, no regeneration)
  • Rendered full composition (npx remotion render FullAd) and verified via ffprobe/volumedetect that the output has a real (non-silent) AAC audio track spanning the full video duration

🤖 Generated with Claude Code

Per-beat narration field in script.json, idempotent tools/gen_voiceover.py
(hash-based skip, ffprobe duration sync to duration_frames), and generated
audio for all 5 beats using voice G5FFvULjfTouEEWKNmuH.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jdthorsen62-lgtm

Copy link
Copy Markdown
Author

@digitalsamba Could someone with write access review and merge this when you get a chance? It's clean and mergeable, no CI configured on this repo to block on.

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