Index TTS 2.5 - Load Voice
Index TTS 2.5 – Load Voice
- voice
Load Voice is how a saved voice gets back into your graph. The whole point of Extract Voice + Save Voice is that you encode a reference clip once and keep the result as a .pt file; this node is the thing that turns one of those files back into an INDEXTTS25_VOICE object you can hand to Voice Base for synthesis. No re-encoding, no original recording required - the file is the voice now.
How it works
The node's dropdown (voice_file) is populated by scanning ComfyUI's input/ and output/ folders recursively for .pt files - so anything you saved with Save Voice (output) or dropped in yourself (input) shows up there. Pick one, and the node torch.loads it, validates that it's a genuine IndexTTS-2.5 voice conditioning (format, version, and all five required tensors), and passes the object out. It also tracks the file's modification time, so if the .pt changes on disk, a re-queue actually reloads it instead of silently serving a stale copy.
Two buttons ride on the node thanks to the pack's web extension:
- 上传 .pt - opens a file picker and uploads a local
.ptintoComfyUI/input/IndexTTS2.5/voices/, validating it server-side before it lands. Handy when someone shares a voice file with you. - 刷新音色列表 - re-scans the folders and rebuilds the dropdown.
If nothing's found yet, the dropdown shows a placeholder telling you to upload a .pt or save one first. Upload is .pt-only and the server rejects anything else.
Wiring
Load Voice → Voice Base is the classic pairing: your library of saved voices on one side, your text, language, and speed settings on the other. You can also chain Load Voice back into Save Voice if you want a copy under a different prefix, but that's cosmetics.
Installing
Same single pack, same steps as every other node here:
cd ComfyUI/custom_nodes
git clone https://github.com/chenpipi0807/ComfyUI-Index-TTS.git
cd ComfyUI-Index-TTS
pip install -r requirements.txt
Models in ComfyUI/models/IndexTTS-2.5/ (one-click via TTS2_5_download.py) - Load Voice itself only needs them when the downstream Voice Base runs, but they're required for the workflow to do anything.
Gotchas
The dropdown only shows what was on disk when the node last scanned, so after you drop a .pt into input/ or output/ manually, hit 刷新音色列表 - it won't appear by itself. And the format check is strict: a voice saved from the 2.0 pipeline, or edited by hand, will error out with an unsupported-format message rather than loading garbage. The file list only ever references input/ and output/, so a voice parked anywhere else on your drive simply won't show up - drop it under input/ and it will.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| voice_file | COMBO | 1 options: (暂无音色,可点击上传 .pt) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| voice | INDEXTTS25_VOICE | — |