File size: 4,898 Bytes
dcb0055 c0bfde5 dcb0055 c0bfde5 dcb0055 c0bfde5 d0aa86e c0bfde5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | ---
language:
- zh
- en
- ja
- es
- ar
license: other
license_name: bilibili-model-license
license_link: LICENSE
library_name: indextts
pipeline_tag: text-to-speech
tags:
- text-to-speech
- tts
- zero-shot
- voice-cloning
- multilingual
- cross-lingual
- emotion-controllable
---
# IndexTTS-2.5
IndexTTS-2.5 is a zero-shot text-to-speech model that performs voice cloning from a single reference audio. It supports **Chinese, English, Japanese, Spanish, and Arabic**, with cross-lingual voice transfer and disentangled emotion control.
Compared to IndexTTS-2, it adds Japanese/Spanish/Arabic support, improves inference speed, and enhances controllability of Chinese Pinyin, English CMU phonemes, and Japanese Kana.
## Model Details
- **Developed by:** IndexTeam, Bilibili
- **Model type:** Autoregressive zero-shot TTS (GPT + DiT + BigVGAN)
- **Languages:** Chinese, English, Japanese, Spanish, Arabic
- **License:** Bilibili Model License
### Model Sources
- **Repository:** [github.com/index-tts/index-tts](https://github.com/index-tts/index-tts)
- **Demo:** [IndexTTS-2.5 Demo Page](https://index-tts.github.io/index-tts2-5.github.io/)
## How to Get Started
### Installation
```bash
git clone https://github.com/index-tts/index-tts.git && cd index-tts
git lfs pull
pip install -U uv
uv sync --all-extras
```
### Download Model Weights
```bash
# HuggingFace
uv tool install "huggingface-hub[cli,hf_xet]"
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints
# ModelScope
uv tool install "modelscope"
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints
```
### Quick Inference
```python
from indextts.infer_v2_5 import IndexTTS2
tts = IndexTTS2(cfg_path="checkpoints/config.yaml", model_dir="checkpoints", use_bf16=True)
# Basic voice cloning
tts.infer(
spk_audio_prompt="prompt.wav",
text="Hello, this is a voice cloning demo.",
lang="EN",
output_path="output.wav",
)
# With emotion control
tts.infer(
spk_audio_prompt="prompt.wav",
text="快躲起来!是他要来了!",
lang="ZH",
output_path="output.wav",
emo_vector=[0, 0, 0.8, 0, 0, 0, 0, 0],
)
# With Pinyin/phoneme annotation
tts.infer(
spk_audio_prompt="prompt.wav",
text="他在银<行|XING2>里<行|HANG2>走了半天。",
lang="ZH",
output_path="output.wav",
)
```
### Web Demo
```bash
uv run webui.py --version 2.5 --model_dir ./checkpoints
```
## Uses
### Direct Use
- Zero-shot voice cloning from a single reference audio
- Multilingual speech synthesis (Chinese, English, Japanese, Spanish, Arabic)
- Cross-lingual voice transfer (e.g., Chinese speaker voice → English output)
- Emotion-controllable speech synthesis via emotion vectors, emotion reference audio, or text-based emotion detection
### Downstream Use
- Audiobook and podcast production
- Voice dubbing and localization
- Conversational AI and virtual assistants
### Out-of-Scope Use
- Impersonation or deception without consent
- Generating misleading or fraudulent audio content
- Any use that violates applicable laws or regulations
## Bias, Risks, and Limitations
- Voice cloning quality may vary across speakers and languages.
- The model may produce artifacts or unnatural prosody for very long or highly complex text.
- Cross-lingual transfer quality depends on the target language and speaker characteristics.
- The model does not verify speaker identity or consent. Users are responsible for ethical use.
## Evaluation
### Zero-Shot TTS (CV3-Eval)
| Model | Params | zh WER↓ | zh SS↑ | en WER↓ | en SS↑ | es WER↓ | es SS↑ | ja WER↓ | ja SS↑ | ar WER↓ | ar SS↑ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| VoxCPM2 | 2B | 3.88 | 74.99 | 5.13 | 71.57 | 5.49 | 74.67 | 6.69 | 72.90 | 14.94 | 65.99 |
| CosyVoice3-0.5B | 0.5B | 3.84 | 80.01 | 4.88 | 74.16 | 4.04 | 78.85 | - | 76.36 | - | - |
| Fish Audio S2 Pro | 4B | 3.62 | 67.79 | 3.83 | 61.66 | 2.93 | 67.44 | 5.15 | 66.15 | 14.15 | 59.43 |
| Qwen3-TTS | 1.7B | 3.27 | 73.02 | 5.06 | 67.17 | 2.87 | 73.17 | 5.89 | 70.18 | - | - |
| **IndexTTS2.5** | **0.8B** | 4.36 | 77.10 | 5.12 | 68.06 | 3.75 | 76.39 | 5.66 | 74.62 | 14.88 | 69.74 |
| **IndexTTS2.5-RL** | **0.8B** | 3.93 | 77.92 | 3.89 | 67.79 | 3.33 | 76.68 | 5.30 | 75.41 | 13.58 | 70.36 |
### Cross-Lingual TTS (Chinese prompt → target language)
| Model | Params | zh→en WER↓ | zh→en SS↑ | zh→es WER↓ | zh→es SS↑ | zh→ja WER↓ | zh→ja SS↑ | zh→ar WER↓ | zh→ar SS↑ |
|---|---|---|---|---|---|---|---|---|---|
| VoxCPM2 | 2B | 4.48 | 64.25 | 16.38 | 64.89 | 11.84 | 71.54 | 11.09 | 67.62 |
| CosyVoice3-0.5B | 0.5B | 3.23 | 62.79 | 4.58 | 64.04 | - | - | - | - |
| **IndexTTS2.5** | **0.8B** | 3.62 | 63.83 | 5.17 | 65.48 | 6.57 | 74.16 | 9.51 | 71.02 |
| **IndexTTS2.5-RL** | **0.8B** | 3.55 | 67.47 | 4.86 | 64.47 | 6.38 | 75.82 | 9.89 | 73.05 |
|