Skip to content

IndexTTS narration guide for voice references and scene timing

Plan IndexTTS narration with version-specific setup, permitted voice and emotion references, actual duration review and a free local audio export checker

Check an audio export locally

Load a short WAV, MP3 or another format your browser can decode. Files stay in your browser. This checks basic decoded levels and metadata, then lets you listen.

Choose an audio file or try an original reference

These are decoded PCM measurements, not LUFS, true peak or a voice-quality score. Browser decoding can resample the file. The included tones are original mathematical calibration references.

Original narration production brief with text audio and scene cut stages

Write the narration around a visible scene change

For a drama or cinema sequence, narration should contribute information the picture does not already supply. Decide what the audience learns, where the speaker pauses and what shot follows the line. A polished voice can still be the wrong take if it explains the reveal too early or runs through the listener's reaction.

The hallway was quiet. Then the blue door opened, and Mara heard her name.

This original scene and recording brief separates the quiet hallway, opening door and final name cue. It contains no generated voice recording. Keep the spoken words approved before testing a voice or emotional delivery.

Separate IndexTTS releases before following setup instructions

The official IndexTTS repository identifies IndexTTS 2.5 as its current release and dates it August 10, 2026. It documents five languages, emotion controls and a speaking-duration factor for that version. Those documented features do not establish pronunciation accuracy, scene fit or inference speed on your device.

Its current WebUI instructions distinguish the default release from version 2 and its model directory. After following the matching upstream setup, the documented launch forms are:

# Current default release
uv run webui.py

# Version 2 with its separate model directory
uv run webui.py --version 2 --model_dir ./checkpoints_2

These were not executed for this article. Record the repository revision, model version, model directory and interface used. Keep model files and configuration from the same release together. Follow the current official source for setup and implementation terms instead of assuming a similarly named hosted service is maintained by the model team.

Keep speaker identity separate from emotional direction

Start with a clean voice reference you are permitted to use. Listen for background music, another speaker, clipping and abrupt cuts. Save the exact recording used in a take rather than swapping files under the same name. This is input preparation, not proof that a model will reproduce the intended voice.

The upstream API distinguishes a speaker reference from an optional emotional reference. The useful editorial rule is to write what each one is meant to supply. The speaker reference defines the intended voice identity; the emotion direction defines how this particular line should be delivered. Review the result rather than assuming one recording can answer both questions cleanly.

DecisionRecord before generationReview afterward
WordsApproved spoken scriptEvery word, name and number
VoicePermitted speaker referenceRecognizability and unwanted variation
EmotionDirection and any separate referenceWhether the performance serves the scene
TimingIntended pause and cutActual returned duration and delivery

Make a first take with one clear intention

For the original hallway brief, begin with a restrained narrator who notices the change before explaining it. Keep the first sentence calm and leave a readable pause before the door opens. Treat this as a production direction to evaluate, not a guaranteed parameter-to-performance mapping.

Record the approved text, selected voice, language and settings with the returned file. Listen to the complete take once without looking at the text. Then compare it word by word with the script. The name Mara and the final phrase are deliberate review points in this exercise. A pleasant voice does not establish that the words were spoken correctly.

Keep alternative emotional deliveries as separate takes. If one line becomes too urgent, revise that direction while preserving a known voice and text baseline. Changing the voice, language, script and emotional reference together may produce a useful result but will not isolate the reason it changed.

Treat duration control as a setting to verify

The official version 2.5 documentation defines duration_factor: values above one lengthen the delivery and values below one shorten it, within its documented range. That is different from proving that an arbitrary sentence will finish on a specific frame. Version-specific controls should not be assumed to exist in a version 2 wrapper.

Place the returned recording on the scene timeline and measure its actual end. If it crowds the reaction, consider shortening the text, changing the pause or testing a different delivery. Do not silently stretch a line until it fits and then describe that edited timing as a model result. Save an original returned file and an edited delivery separately.

For repeated episodes, use a consistent naming scheme and a take record. The blank narration take ledger includes model version, voice and emotion references, approved text, language, settings, actual duration, pronunciation and scene-fit observations. Leave unmeasured fields empty.

Inspect a concrete ComfyUI voice workflow

The snicolast ComfyUI IndexTTS2 wrapper is a community implementation for version 2. Its example workflow folder and node documentation describe a speaker-audio input, text and synthesis node, then audio preview or saving. This is an integration source, not a graph we executed.

  1. Read the maintainer's current platform and dependency requirements.
  2. Inspect the example graph and identify the speaker reference and text inputs.
  3. Begin with the Simple synthesis path before adding optional emotion controls.
  4. Connect the returned audio to the documented preview or Save Audio path.
  5. Record the node version and actual exported file with your take.

The wrapper documents Simple, Advanced and Save Audio nodes. Its version 2 label does not establish support for version 2.5. Check the selected wrapper's own model paths and controls, and keep a known working graph before changing a dependency. The ComfyUI workflow guide covers the broader graph and environment review.

Check the actual audio export locally

The free checker above decodes a short audio file in your browser and reports duration, channel count, decoded sample rate, sample peak and RMS. It also lets you listen. Choose a file within its displayed limits. Your file stays in the browser; the original built-in tone references are calibration examples, not generated speech.

Use these measurements to catch basic delivery problems and compare your own exports. They do not calculate LUFS, true peak, transcript accuracy, voice similarity or a quality score. Browser decoding may resample the source, so the decoded rate is not a certificate of the original container's settings.

For a picture-and-sound handoff check, use the original flash and click references. They distinguish a known track shift from speech review. The calibration report covers only those authored files; it does not measure your hardware playback latency or prove the alignment of a narration take.

Listen again after the edit and final mix

Place the accepted narration with the intended picture, music and effects. Confirm that the door reveal and name cue still read clearly. Reopen the final exported file rather than relying on an editor preview. Check the first word, final word, pauses, actual duration and audibility in context.

For a visible speaker, approve the audio first and then choose a lip-sync route such as the LatentSync workflow or MuseTalk dialogue workflow. Voice generation and mouth animation are separate production stages. For a voiceover over product footage, use the UGC voiceover workflow.

Build a repeatable cinema narration record

Keep the accepted voice reference, text, returned audio and final edit together with their take notes. Listen to several neighboring scenes in sequence for changes in delivery and pacing. A take can be acceptable alone while sounding inconsistent between two quieter lines.

Use the short drama guide for scene beats and the multi-shot guide for coverage. Explore Clout AI Cinema for its available project and scene workflow and Faceless Studio for supported narrated-video operations. This article does not establish IndexTTS hosting or local-runtime import in Clout.

Sources and testing

Official IndexTTS repository and named community wrapper checked October 22, 2026. Version-specific setup and duration statements are documentation checks, not executed inference or performance measurements. Scene brief and take ledger are original. The local audio checker measures decoded samples; calibration clips contain synthesized tones, not speech. No model weights, voice reference processing, voice generation or quality benchmark was performed.

Questions, answered

Frequently asked questions

Which IndexTTS version does this guide distinguish

It separates the current official version 2.5 instructions from version 2 and a named version 2 ComfyUI wrapper. Record the exact release and model paths used.

Does the download contain an AI voice recording

No. The downloadable brief and take ledger are original planning aids. No voice recording or model inference was generated for this guide.

Are speaker and emotion references the same decision

Keep them separate in the production brief. Record which input defines the intended voice and which supplies emotional direction, then review the actual output.

Does a duration factor guarantee an exact scene cut

No. Measure the returned audio and review it on the actual timeline. A version-specific control is not proof of an exact finish frame.

What does the local audio checker measure

It reports basic decoded PCM duration, channels, sample rate, sample peak and RMS. It does not score speech, voice similarity or overall quality.

Does a version 2 ComfyUI wrapper prove version 2.5 support

No. Check the wrapper maintainer’s current model requirements and controls instead of assuming support from the family name.