Voiceover and sound

The voice drives the picture: a scene waits for a word before the next shape appears, the music ducks while someone speaks, and subtitles come out of the same render.

A spoken line in sync with motion. The code of this video

How it is built

  • voice("…").start() speaks a line; .at_word("square") waits for that word (sound and voice).
  • oxframe does not call a speech service: you plug in your own provider with TtsProvider, and the audio is cached so CI renders it without a key.
  • sound("click.wav").play() puts effects on the timeline; Audio::track(..).duck_under_voice() lowers the music under speech.
  • oxframe render --subtitles out.vtt writes the captions.

With an agent

Install the skills, then give your agent a first prompt. The voiceover skill tells it how videos of this kind are made, and oxframe check shows it what is wrong before anything is rendered.

npx skills add oxygenframe/oxframe-sdk
Add a voiceover to the intro scene: one line per step, each shape appearing when its word is spoken, and subtitles in out/intro.vtt.

Start from an example