IndexTTS 2.5 audio.cpp 实验生成 · T8star-Aix
The IndexTTS GGUF path that won't install itself
- speaker_audio
- emotion
- audio.cpp 生成音频
- 实验后端报告 JSON
This is the node that keeps the rest of the IndexTTS 2.5 pack "clean" for the Comfy Registry. Instead of running the Python model, it shells out to a compiled audio.cpp CLI with an IndexTTS 2.5 GGUF - a smaller, faster-to-start, and sometimes slower-to-blink experimental backend. And to make that trade, you install the CLI and GGUF yourself. The node will not fetch them, no matter how nicely you ask.
That's deliberate. Older versions had a one-click installer that downloaded the runtime for you; the registry security scan didn't love a node that reaches out and installs binaries, so v0.20.5 removed it. What remains is the honest version: a node that runs a local program you already put on disk. This is the GGUF side-quest of the pack, not the main road - the normal "语音生成" node with the full Python model is what you'll use for real work.
How it works
You give it two absolute paths: executable_path (the audiocpp_cli binary) and gguf_model_path (the IndexTTS 2.5 GGUF directory or file). At queue time it probes the CLI, writes your speaker_audio reference out to a temp WAV, and runs the command with a fixed, validated argument list. The backend flag decides which compute path the CLI uses. Your optional emotion input (from the pack's emotion-control node) is translated to whatever audio.cpp understands - text, reference audio, or the eight-dimension vector. Output comes back as standard 22050 Hz ComfyUI AUDIO plus a JSON report with probe results and notes.
The paths are non-negotiable. Leave either empty and it errors before doing anything, which is the correct behavior for an "I installed this myself" node.
The inputs that matter
Only a few of these need your attention:
backend- the author's own tooltip is the whole story: NVIDIA →cuda, AMD →hiporvulkan, Apple Silicon →metal. CPU works but you'll wait.gguf_model_path/executable_path- absolute paths, both required.language-AUTOplus ZH / EN / JA / ES / AR, the same five the Python path supports.duration_factor- the official 0.5–2.0 acoustic duration scaling.memory_saver- frees the temporary graph after the phase finishes; on by default, leave it.
Outputs are the generated audio (AUDIO) and a report JSON. Wire the audio to Save Audio like any other TTS output.
Installing the audio.cpp side
The pack itself installs normally (ComfyUI Manager → search IndexTTS 2.5 · T8star-Aix, or git clone https://github.com/T8mars/comfyui-indextts25-t8.git into custom_nodes/). The heavy lift is the backend:
- Grab the runtime from the audio.cpp releases page - CUDA, Vulkan/CPU, or whatever matches your hardware.
- Download the IndexTTS 2.5 GGUF from the audio.cpp GGUF repo. The Q8 file is roughly 3.5 GB.
- Put both somewhere permanent and paste their absolute paths into the node.
Where people get burned
The biggest gotcha is trust. audio.cpp does its own text normalization in C++, and the README warns the boundary cases - rare dates, units, URLs, Japanese/Spanish tokenization - can differ from the official Python path. Same for emotion and pronunciation handling. This is an experimental backend for a reason: listen-compare the five languages against the Python output before you use it for anything that ships. It also doesn't share the Python model's reference cache, so there's a one-time encoding cost per run. If your only goal is "make IndexTTS run," skip this node entirely. Reach for it when you specifically want the GGUF footprint or a Metal/Vulkan path the torch side can't give you.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| executable_path | STRING | — | |
| gguf_model_path | STRING | — | |
| speaker_audio | AUDIO | — | |
| text | STRING | 这是隔离的 audio.cpp IndexTTS 2.5 实验后端。 | — |
| language | COMBO | ZH | 6 options: AUTO, ZH, EN, JA, ES, AR |
| backend | COMBO | cuda | NVIDIA 选 cuda,AMD 可选 hip/vulkan,Apple Silicon 选 metal。 |
| duration_factor | FLOAT | 1.000.5–2 | — |
| memory_saver | BOOLEAN | true | — |
| emotionopt | T8_INDEXTTS25_EMOTION | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio.cpp 生成音频 | AUDIO | — |
| 实验后端报告 JSON | STRING | — |