Practical guide · Video voiceover
Revoice a video using your own captions in VoiceStudio
Turn a short video and a reviewed SRT file into a timed voiceover. Includes a downloadable example and an export checklist.
Applies to VoiceStudio Electron 0.5.6 · Release-source reviewed

A short video, three captions, one reviewed voiceover
When you already have approved words and timings, an SRT file can be the script for a new spoken track. This project starts with a short video, imports three caption cues into VoiceStudio's Dub workspace, assigns a saved voice, and checks the resulting video before export.
The example is an English-to-English revoice. You supply the final English words and do not need a translation step. It is useful for replacing a rough narration or making a consistent voiceover for your own demonstration.
In Electron v0.5.6, Import .srt is part of an existing media job. You load the video first. This guide does not describe a standalone subtitle-file-to-audio tool.
Use a platform with a supported local runtime for these fully local steps. The v0.5.6 Intel Mac desktop build requires a remote backend; it does not provide local synthesis on that Mac. Check your build on the download page before preparing a project.
- Source video: an approximately 18-second video you own, with one speaker for the first attempt
- Caption file: a valid SRT whose cues fit inside the video
- Voice: a saved, authorized reference voice
- Engines: a ready cloning-capable TTS engine and the dependencies needed for media preparation and transcription
If you have no saved voice yet, follow the local voice-cloning guide first and generate one short test with the engine you plan to use here. A successful preset-voice test is not enough: KittenTTS, for example, does not provide the reference-based cloning required for this dubbing path.
1. Write captions that have time to be spoken
Use a short, single-speaker source while learning the workflow. Record a simple 18-second video with space between the lines below, or make captions that match an existing video you own. The downloadable file is an original practice script, not a transcript of your footage.
Download the three-cue SRT example, or save the following plain text as three-cue-voiceover.srt using UTF-8:
1
00:00:01,000 --> 00:00:05,000
Start with one small idea.
2
00:00:06,000 --> 00:00:11,000
Give it a clear voice and room to breathe.
3
00:00:12,000 --> 00:00:17,000
Listen once more before you share it.Each cue has a number, a start and end time, and the words to speak. The first line has four seconds; the next two have five seconds each. Those are editable budgets for this exercise, not promised synthesis durations.
Read each line aloud while watching the clock. If you cannot say it comfortably within its slot, shorten it before rendering. Leave gaps where a viewer should pause or look at the screen. Do not stretch the cue past the end of the source video.
Keep cue timings sequential and non-overlapping for this first project. Make sure the decimal separator is a comma in SRT timestamps, that an end time is later than its start, and that there is a blank line between cues.
2. Prepare the video, then import its SRT
- Open Dub in VoiceStudio
- In Upload & Transcribe, choose or drop your local video
- Wait for preparation and any active transcription to finish so editing is available
- Select Import .srt and choose your caption file
- Read the import summary and compare the resulting rows with the file
Preparation can include extracting audio and separating vocals from background sound. It can take time even for a small file. Imported captions do not eliminate every media-processing dependency.
A successful import replaces the current segment text and timings. It also clears the generated-track buttons, so a previous render is not presented as the output of your new captions. Save useful work before replacing its captions.
The sidebar reports imported cues and, where applicable, malformed cues, dropped overlaps, or cues clamped to the media duration. For the supplied three-cue exercise in a video at least 18 seconds long, you want three usable cues and no unexpected warnings. If you see fewer, fix the file before generating.
Check the actual sentence in every row. Caption formatting such as italics is not meant to become spoken markup. v0.5.6 includes a fix for imported caption tags, but still listen to the output and keep the practice file plain while diagnosing a problem.
3. Set the language and assign a saved voice
Choose English under Dub into for this English script. Keep one target language selected while learning. Review the text in the active target rows and skip Translate All for this same-language exercise.
Assign the intended saved clone to the speaker using the casting controls. If your imported cues carry more than one speaker label, check all of them instead of assuming one assignment covers the whole file. The casting board can also assign voices to speakers.
Do not assume an imported caption number identifies a speaker. VoiceStudio retains existing references according to overlap in time, not simply by cue number. A subtitle replacement can change the relationship between source audio, speakers, and segments, so review the cast again after importing.
For a CPU-oriented reference-cloning setup, MOSS-TTS-Nano can be an option where its managed installation is supported and its language coverage fits. Check the engine guide; its one-click installer is not offered on Intel Macs in this release. Leave engine-specific production controls at their defaults. MOSS-TTS-Nano does not implement model-level style instructions or speed control.
If you want a translated dub later, obtain a reviewed translation or configure a suitable translation provider, then check every target row before generating. Selecting a different language does not translate the words by itself. See the dubbing reference for the wider pipeline.
4. Generate, then listen at every cue boundary
Leave Timing at Lip sync, the strict-slot strategy in this release, for the first comparison and select Generate Dub. The label does not guarantee visual lip synchronization or that a long sentence will fit. When generation finishes, compare Original with the generated Dubbed preview.
For the practice script, review the start and end of each slot:
- 1–5 seconds: does the first line start where expected, and is “idea” complete?
- 6–11 seconds: can you understand every word without rushing, and does the voice stay consistent?
- 12–17 seconds: is “share it” intact, with no carry-over from the preceding line?
- Between cues: are the pauses intentional, and is any background sound distracting?
If a line is crowded, shorten its text first. For example, “Give it a clear voice and room to breathe” can become “Give it a clear voice.” Generate again and compare the affected boundary. This is easier to evaluate than changing the voice, speed, timing strategy, and script at once.
Other timing options make different trade-offs. Smart Fit may change both audio speed and video timing; Stretch Video can change the picture's pace. Review the explanation in the UI before choosing one, especially when the video must match a fixed edit. Do not describe a timing-adjusted result as an unchanged-duration copy.
5. Export one clear deliverable
Expand Export options and review the selected language and output choices. For a first delivery, keep the choices simple:
- MP4: choose the intended dub track and default playback track; include the original only if you mean to deliver it too
- Background audio: decide whether the separated background belongs in the result, and listen for leftover speech
- Burn subtitles into picture (hardsub): enable only if you want captions permanently visible in the picture
- WAV or MP3: use an audio export if you will mix the voiceover in another editor
- SRT/VTT/ASS: use a subtitle sidecar when the player or editor should control caption display
Save the file, then open it in a separate player. Check its beginning, all three cue boundaries, and its last second. Confirm the default audio track, caption behavior, total duration, and absence of an accidental second voice. If you need to deliver only the new narration, make sure the export does not default to the original track.
Keep the source, final SRT, voice-reference permission record, and saved project until the delivery is approved. Add an appropriate synthetic-voice disclosure for the audience and use.
Fix the input before repeating the render
Import .srt is missing or disabled
Load the video first. An active preparation, transcription, or recovery state can prevent edits. Read its status; do not keep importing while a job is busy.
The import loses lines
Check the reported malformed, overlap, and duration counts. Inspect timestamps, blank lines, and whether cues extend beyond the video. Use the small sample to separate a formatting problem from a media problem.
Generation asks for a voice or rejects the engine
Assign a valid reference voice and choose a cloning-capable TTS engine. A preset-only engine that worked for a standalone narration may not work for this dubbing path.
The export plays the old voice
Check that you generated after the latest caption edit and that the default export track is the intended dub. Try another player's audio-track selector before assuming the file contains only one track.
Sources and version notes
Reviewed on 4 October 2026 against Electron v0.5.6. The practice captions are original and illustrative. This guide does not claim a translation-quality benchmark, guaranteed lip sync, or native export testing on every operating system.
- v0.5.6 release and caption-markup fix
- Released media and SRT import controls, import and generation behavior
- Dubbing workspace, timing, export options, and verification limits
For broader capabilities, visit the video-dubbing workflow. To create your first saved voice, use the practical cloning tutorial.