IndexTTS 2.5 角色音色 · T8star-Aix
Bundle a reference clip into a named voice, so multi-role works
- speaker_audio
- emotion
- 角色音色
- 音色信息
Single-clip cloning is easy in IndexTTS 2.5 - that's the Generate node. The hard part comes the moment you want two characters in one audio file: suddenly you need a way to say "voice A speaks line 1, voice B speaks line 2" without re-plumbing audio clips everywhere. This node is that glue. It takes a role name, a reference clip, a default language, and an optional emotion, and wraps them into a single T8_INDEXTTS25_VOICE value - a named, reusable character that the rest of the multi-role flow understands.
What you set
- role_name - the name your script will reference. Whatever you put here is what you type in the batch script's
角色field (or the[角色]prefix in SRT). Keep it consistent; the pack refuses duplicate role names downstream rather than guessing. - speaker_audio - the standard ComfyUI
AUDIOfromLoad Audio. Same advice as the main Generate node: 3–10 seconds, clean, single speaker, no music. This is the voice's identity. - language - the default language for lines that don't specify one.
- emotion (optional) - connect an emotion control node and that mood becomes the character's default. This is the per-role emotion wiring:
emotion A → voice A,emotion B → voice B, and each character's lines pick up their own mood without it leaking into the other character's audio.
Outputs: 角色音色 (the voice value to feed into the role library) and 音色信息, a string describing what got packaged.
Where it fits
The README's multi-role shape is: one Voice Profile per character → all of them into the role library node (or its Merge Voice Emotions alias) → that library into the multi-role/SRT generation node, alongside a dialogue script. The voice profile is the "cast member" - you can swap a reference clip to recast a character without touching the script at all, which is the workflow trick worth internalizing. Do your voice tuning here, at the cast level, not per-line.
Realistic expectations
This node is trivial mechanically - it packages data, it doesn't synthesize. Everything that matters is upstream (the reference clip quality, the emotion wiring) and downstream (the dialogue generation). Don't expect the voice profile to "do" anything on its own; it's the typed container that makes the multi-role pipeline possible. Its real value is organizational: named roles, per-role defaults, and a clean cast list you can inspect and reorder.
Notes
No separate install - it ships with the pack (Manager search IndexTTS 2.5 · T8star-Aix or the repo clone), and it has no model load of its own. If you're building a workflow from scratch and only need one voice, you can skip this node entirely and wire Load Audio straight into Generate. Reach for it the moment your script has a second 角色 - that's when the organizational overhead pays for itself.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| role_name | STRING | 旁白 | — |
| speaker_audio | AUDIO | — | |
| language | COMBO | ZH | 5 options: ZH, EN, JA, ES, AR |
| emotionopt | T8_INDEXTTS25_EMOTION | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 角色音色 | T8_INDEXTTS25_VOICE | — |
| 音色信息 | STRING | — |