I encountered two issues when using the IndexTTS 2.5 engine in Voice Studio.
During the installation of IndexTTS through Voice Studio, the installation failed because the config_v2_5.yaml file provided by Voice Studio had an incorrect filename and/or configuration content.
The official IndexTTS project has already fixed this issue on Hugging Face. The workaround is to download the config.yaml configuration file provided by the IndexTTS team from Hugging Face, rename it to config_v2_5.yaml, and replace the existing file. After doing this, IndexTTS can start normally.
It appears that Voice Studio may be using an outdated or incorrect version of this configuration file.
After IndexTTS is successfully installed and started, short text can be converted to audio normally.
However, when I try to generate audio from a long piece of text, IndexTTS itself appears to continue running normally and is still processing the request. The problem is that Voice Studio terminates the IndexTTS process because it considers the process unresponsive after 60 seconds.
However, this did not resolve the problem. When I submit long text and generate a long audio file, the same error still occurs and the IndexTTS process is still terminated.
2026-08-20 17:26:25,715 INFO [omnivoice.subprocess_backend] [indextts2] spawning sidecar: python.exe main.py
2026-08-20 17:26:25,814 INFO [omnivoice.subprocess_backend] [indextts2] sidecar ready
2026-08-20 17:26:36,492 INFO [omnivoice.subprocess_backend] [indextts2] >> Low-VRAM mode enabled (8.0 GB < 10 GB), long text will be split into chunks
2026-08-20 17:26:52,989 INFO [omnivoice.subprocess_backend] [indextts2] >> GPT weights restored from: C:\Users\Administrator\AppData\Roaming\OmniVoice\engines\indextts2\index-tts-2.5\checkpoints\gpt.pth
2026-08-20 17:26:52,990 INFO [omnivoice.subprocess_backend] [indextts2] GPT2InferenceModel has generative capabilities, as `prepare_inputs_for_generation` is explicitly overwritten. However, it doesn't directly inherit from `GenerationMixin`. From 👉v4.50👈 onwards, `PreTrainedModel` will NOT inherit from `GenerationMixin`, and this model will lose the ability to call `generate` and other related functions.
2026-08-20 17:26:52,990 INFO [omnivoice.subprocess_backend] [indextts2] - If you're using `trust_remote_code=True`, you can get rid of this warning by loading the model with an auto class. See https://huggingface.co/docs/transformers/en/model_doc/auto#auto-classes
2026-08-20 17:26:52,990 INFO [omnivoice.subprocess_backend] [indextts2] - If you are the owner of the model architecture code, please modify your model class such that it inherits from `GenerationMixin` (after `PreTrainedModel`, otherwise you'll get an exception).
2026-08-20 17:26:52,991 INFO [omnivoice.subprocess_backend] [indextts2] - If you are not the owner of the model architecture class, please contact the model code owner to update it.
2026-08-20 17:26:57,370 INFO [omnivoice.subprocess_backend] [indextts2] >> semantic_codec weights restored from: C:\Users\Administrator\AppData\Roaming\OmniVoice\engines\indextts2\index-tts-2.5\checkpoints\codec.pth
2026-08-20 17:26:57,573 INFO [omnivoice.subprocess_backend] [indextts2] >> semantic_codec weights restored cost: 1.6409492999991926
2026-08-20 17:26:58,727 INFO [omnivoice.subprocess_backend] [indextts2] cfm loaded
2026-08-20 17:26:58,838 INFO [omnivoice.subprocess_backend] [indextts2] length_regulator loaded
2026-08-20 17:26:59,098 INFO [omnivoice.subprocess_backend] [indextts2] >> s2mel weights restored from: C:\Users\Administrator\AppData\Roaming\OmniVoice\engines\indextts2\index-tts-2.5\checkpoints\s2mel.pth
2026-08-20 17:26:59,458 INFO [omnivoice.subprocess_backend] [indextts2] >> campplus_model weights restored from: C:\Users\Administrator\AppData\Roaming\OmniVoice\engines\indextts2\index-tts-2.5\checkpoints\hf_cache\campplus_cn_common.bin
2026-08-20 17:26:59,458 INFO [omnivoice.subprocess_backend] [indextts2] Loading config.json from local directory
2026-08-20 17:27:00,902 INFO [omnivoice.subprocess_backend] [indextts2] Loading weights from local directory
2026-08-20 17:27:01,552 INFO [omnivoice.subprocess_backend] [indextts2] Removing weight norm...
2026-08-20 17:27:01,587 INFO [omnivoice.subprocess_backend] [indextts2] >> bigvgan weights restored from: C:\Users\Administrator\AppData\Roaming\OmniVoice\engines\indextts2\index-tts-2.5\checkpoints\hf_cache\bigvgan
2026-08-20 17:27:03,349 INFO [omnivoice.subprocess_backend] [indextts2] >> starting inference...
2026-08-20 17:27:05,314 INFO [omnivoice.subprocess_backend] [indextts2] text after normalization: 轻轻的我走了, 正如我轻轻的来, 我轻轻的招手, 作别西天的云彩.
2026-08-20 17:27:05,437 INFO [omnivoice.subprocess_backend] [indextts2] Use the specified emotion vector
2026-08-20 17:27:05,597 INFO [omnivoice.subprocess_backend] [indextts2] Passing a tuple of `past_key_values` is deprecated and will be removed in Transformers v4.53.0. You should pass an instance of `Cache` instead, e.g. `past_key_values=DynamicCache.from_legacy_cache(past_key_values)`.
2026-08-20 17:27:21,158 INFO [omnivoice.subprocess_backend] [indextts2]
0%| | 0/25 [00:00<?, ?it/s]
4%|▍ | 1/25 [00:00<00:06, 3.53it/s]
12%|█▏ | 3/25 [00:00<00:04, 5.23it/s]
20%|██ | 5/25 [00:00<00:03, 6.02it/s]
28%|██▊ | 7/25 [00:01<00:02, 6.42it/s]
36%|███▌ | 9/25 [00:01<00:02, 6.66it/s]
40%|████ | 10/25 [00:01<00:02, 6.91it/s]
48%|████▊ | 12/25 [00:01<00:01, 7.13it/s]
56%|█████▌ | 14/25 [00:04<00:06, 1.66it/s]
64%|██████▍ | 16/25 [00:04<00:03, 2.27it/s]
68%|██████▊ | 17/25 [00:05<00:03, 2.63it/s]
72%|███████▏ | 18/25 [00:07<00:06, 1.16it/s]
76%|███████▌ | 19/25 [00:07<00:04, 1.45it/s]
80%|████████ | 20/25 [00:08<00:02, 1.81it/s]
84%|████████▍ | 21/25 [00:08<00:01, 2.25it/s]
92%|█████████▏| 23/25 [00:08<00:00, 3.23it/s]
100%|██████████| 25/25 [00:08<00:00, 4.05it/s]
100%|██████████| 25/25 [00:08<00:00, 2.87it/s]
2026-08-20 17:27:27,314 INFO [omnivoice.subprocess_backend] [indextts2] torch.Size([1, 132864])
2026-08-20 17:27:27,315 INFO [omnivoice.subprocess_backend] [indextts2] >> gpt_gen_time: 7.11 seconds
2026-08-20 17:27:27,315 INFO [omnivoice.subprocess_backend] [indextts2] >> gpt_forward_time: 0.00 seconds
2026-08-20 17:27:27,315 INFO [omnivoice.subprocess_backend] [indextts2] >> s2mel_time: 8.73 seconds
2026-08-20 17:27:27,315 INFO [omnivoice.subprocess_backend] [indextts2] >> bigvgan_time: 6.16 seconds
2026-08-20 17:27:27,316 INFO [omnivoice.subprocess_backend] [indextts2] >> Total inference time: 23.97 seconds
2026-08-20 17:27:27,316 INFO [omnivoice.subprocess_backend] [indextts2] >> Generated audio length: 6.03 seconds
2026-08-20 17:27:27,316 INFO [omnivoice.subprocess_backend] [indextts2] >> RTF: 3.9774
2026-08-20 17:27:27,316 INFO [omnivoice.subprocess_backend] [indextts2] >> starting inference...
2026-08-20 17:27:27,316 INFO [omnivoice.subprocess_backend] [indextts2] text after normalization: 那河畔的金柳, 是夕阳中的新娘, 波光里的艳影, 在我的心头荡漾.
2026-08-20 17:27:27,414 INFO [omnivoice.subprocess_backend] [indextts2] Use the specified emotion vector
2026-08-20 17:27:45,377 INFO [omnivoice.subprocess_backend] [indextts2]
0%| | 0/25 [00:00<?, ?it/s]
4%|▍ | 1/25 [00:00<00:05, 4.77it/s]
12%|█▏ | 3/25 [00:00<00:03, 5.91it/s]
16%|█▌ | 4/25 [00:03<00:23, 1.10s/it]
20%|██ | 5/25 [00:03<00:18, 1.09it/s]
28%|██▊ | 7/25 [00:04<00:10, 1.75it/s]
32%|███▏ | 8/25 [00:04<00:08, 2.10it/s]
36%|███▌ | 9/25 [00:04<00:06, 2.52it/s]
48%|████▊ | 12/25 [00:05<00:03, 3.86it/s]
52%|█████▏ | 13/25 [00:05<00:02, 4.09it/s]
60%|██████ | 15/25 [00:05<00:02, 4.49it/s]
64%|██████▍ | 16/25 [00:05<00:01, 4.64it/s]
68%|██████▊ | 17/25 [00:06<00:01, 4.18it/s]
72%|███████▏ | 18/25 [00:06<00:01, 4.84it/s]
76%|███████▌ | 19/25 [00:10<00:06, 1.15s/it]
84%|████████▍ | 21/25 [00:10<00:02, 1.36it/s]
92%|█████████▏| 23/25 [00:10<00:00, 2.09it/s]
96%|█████████▌| 24/25 [00:10<00:00, 2.25it/s]
100%|██████████| 25/25 [00:10<00:00, 2.28it/s]
2026-08-20 17:27:52,292 INFO [omnivoice.subprocess_backend] [indextts2] torch.Size([1, 138240])
2026-08-20 17:27:52,312 INFO [omnivoice.subprocess_backend] [indextts2] >> gpt_gen_time: 7.08 seconds
2026-08-20 17:27:52,313 INFO [omnivoice.subprocess_backend] [indextts2] >> gpt_forward_time: 0.00 seconds
2026-08-20 17:27:52,313 INFO [omnivoice.subprocess_backend] [indextts2] >> s2mel_time: 10.98 seconds
2026-08-20 17:27:52,313 INFO [omnivoice.subprocess_backend] [indextts2] >> bigvgan_time: 6.92 seconds
2026-08-20 17:27:52,313 INFO [omnivoice.subprocess_backend] [indextts2] >> Total inference time: 25.00 seconds
2026-08-20 17:27:52,313 INFO [omnivoice.subprocess_backend] [indextts2] >> Generated audio length: 6.27 seconds
2026-08-20 17:27:52,314 INFO [omnivoice.subprocess_backend] [indextts2] >> RTF: 3.9871
2026-08-20 17:27:52,314 INFO [omnivoice.subprocess_backend] [indextts2] >> starting inference...
2026-08-20 17:27:52,314 INFO [omnivoice.subprocess_backend] [indextts2] text after normalization: 软泥上的青荇, 油油的在水底招摇, 在康河的柔波里, 我甘心做一条水草!
2026-08-20 17:27:52,399 INFO [omnivoice.subprocess_backend] [indextts2] Use the specified emotion vector
2026-08-20 17:28:03,352 ERROR [omnivoice.subprocess_backend] [indextts2] sidecar exceeded recv timeout; killing
2026-08-20 17:28:03,852 INFO [omnivoice.subprocess_backend] [indextts2]
0%| | 0/25 [00:00<?, ?it/s]
4%|▍ | 1/25 [00:00<00:07, 3.08it/s]
2026-08-20 17:28:03,861 ERROR [omnivoice.generate] Streaming generation failed unexpectedly
Before filing
main) — older builds may already be fixed.What happened?
I encountered two issues when using the IndexTTS 2.5 engine in Voice Studio.
1. IndexTTS installation fails because of
config_v2_5.yamlDuring the installation of IndexTTS through Voice Studio, the installation failed because the
config_v2_5.yamlfile provided by Voice Studio had an incorrect filename and/or configuration content.The official IndexTTS project has already fixed this issue on Hugging Face. The workaround is to download the
config.yamlconfiguration file provided by the IndexTTS team from Hugging Face, rename it toconfig_v2_5.yaml, and replace the existing file. After doing this, IndexTTS can start normally.It appears that Voice Studio may be using an outdated or incorrect version of this configuration file.
2. Long-text generation causes Voice Studio to terminate the IndexTTS process
After IndexTTS is successfully installed and started, short text can be converted to audio normally.
However, when I try to generate audio from a long piece of text, IndexTTS itself appears to continue running normally and is still processing the request. The problem is that Voice Studio terminates the IndexTTS process because it considers the process unresponsive after 60 seconds.
I tried to fix this myself by modifying
subprocess_backend.pyand changing:RECV_TIMEOUT_S = 60to:
RECV_TIMEOUT_S = 3600However, this did not resolve the problem. When I submit long text and generate a long audio file, the same error still occurs and the IndexTTS process is still terminated.
Steps to reproduce
Issue 1 –
config_v2_5.yamlconfig_v2_5.yamlconfiguration file.config_v2_5.yamlwith the official IndexTTS team'sconfig.yamlfrom Hugging Face.config_v2_5.yaml.Issue 2 – Long-text generation
I also tried changing
RECV_TIMEOUT_S = 60toRECV_TIMEOUT_S = 3600insubprocess_backend.py, but the issue persisted.What did you expect instead?
fix bug
Operating system
Windows (x64)
How did you install it?
Desktop app (installer / AppImage)
Version
v 0.5.0--130
Compute device
NVIDIA GPU (CUDA)
Active TTS/ASR engine
inedx tts 2.5
Logs / diagnostic bundle
Anything else?
No response