name: ai-video-voice description: Voiceover and subtitles for a short video: single-take TTS synthesis, audio-picture sync by real duration, subtitle timing from audio, mix normalized to -14 LUFS. Runs after ai-video-render, before review.
ai-video-voice: 配音
When to use
The silent video (film.mp4) exists. This skill adds voiceover, subtitles, and the final mix. It never changes the picture.
1. Check the voice config first
Run the TTS config check before synthesizing (for example a doctor command if the TTS tool provides one). Report missing configuration to the user; do not silently switch to a different voice.
- If the user asked for a personal voice and its config is missing or broken, pause only the affected voiceover. Do not silently swap in another voice.
- Personal voice configs, recordings, reference clips, and model weights stay in a private directory. They never enter this repository.
2. Synthesize in one whole take
- Synthesize the voiceover in one whole take, not stitched sentence by sentence. Stitching creates audible seams and drift.
- If the voice model or reference clip changes, generate a new version of the voiceover. Never overwrite the old audio file.
3. Audio-picture sync uses real duration
- Sync by the voiceover's real duration. Never time-stretch audio to fit a shot.
- If footage is short, hold the last frame to fill the gap. If footage is long, cut the lowest-information segment.
- Land heavy actions on strong beats. Move sound effects from the motion itself.
4. Subtitles follow the audio
- Subtitle timing comes from the audio, not from the script estimate. Transcribe with a speech recognizer when available; without one, use the script plus silence detection (error can reach 0.4 seconds).
- Correct misrecognitions against the script. Cut leading and trailing sentences that belong to neighbors.
- Deliver
captions.srtwith the film. If the film is re-cut for an editor that adds its own subtitles, also deliver a no-subtitle video plus the.srtfile.
5. Mix
- Normalize the mixed audio to -14 LUFS.
- Keep music, voiceover, and sound effects on one timeline with the picture.
- Check audio peak and full decode before handing off to review.
Output contract
voiceover.wav(or.mp3), one whole take.captions.srt.mix-report.md(duration, peak, LUFS, subtitle source and error bound).
Rules
- A missing voice config blocks voiceover only. It never blocks script or picture work.
- Never claim a subtitle file is exact when it came from silence detection; write the error bound in the mix report.
- No upload or deployment of audio without release authorization.