vasugo05 commited on
Commit
b4d33d6
·
verified ·
1 Parent(s): e2e0b4c

Upload README_INDEXTTS_1_5.md

Browse files
Files changed (1) hide show
  1. archive/README_INDEXTTS_1_5.md +247 -0
archive/README_INDEXTTS_1_5.md ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <div align="center">
3
+ <img src='assets/index_icon.png' width="250"/>
4
+ </div>
5
+
6
+
7
+ <h2><center>IndexTTS: An Industrial-Level Controllable and Efficient Zero-Shot Text-To-Speech System</h2>
8
+
9
+ <p align="center">
10
+ <a href='https://arxiv.org/abs/2502.05512'><img src='https://img.shields.io/badge/ArXiv-2502.05512-red'></a>
11
+
12
+ ## 👉🏻 IndexTTS 👈🏻
13
+
14
+ [[HuggingFace Demo]](https://huggingface.co/spaces/IndexTeam/IndexTTS) [[ModelScope Demo]](https://modelscope.cn/studios/IndexTeam/IndexTTS-Demo) \
15
+ [[Paper]](https://arxiv.org/abs/2502.05512) [[Demos]](https://index-tts.github.io)
16
+
17
+ **IndexTTS** is a GPT-style text-to-speech (TTS) model mainly based on XTTS and Tortoise. It is capable of correcting the pronunciation of Chinese characters using pinyin and controlling pauses at any position through punctuation marks. We enhanced multiple modules of the system, including the improvement of speaker condition feature representation, and the integration of BigVGAN2 to optimize audio quality. Trained on tens of thousands of hours of data, our system achieves state-of-the-art performance, outperforming current popular TTS systems such as XTTS, CosyVoice2, Fish-Speech, and F5-TTS.
18
+ <span style="font-size:16px;">
19
+ Experience **IndexTTS**: Please contact <u>xuanwu@bilibili.com</u> for more detailed information. </span>
20
+ ### Contact
21
+ QQ群(二群):1048202584 \
22
+ Discord:https://discord.gg/uT32E7KDmy \
23
+ 简历:indexspeech@bilibili.com \
24
+ 欢迎大家来交流讨论!
25
+ ## 📣 Updates
26
+
27
+ - `2025/05/14` 🔥🔥 We release the **IndexTTS-1.5**, Significantly improve the model's stability and its performance in the English language.
28
+ - `2025/03/25` 🔥 We release IndexTTS-1.0 model parameters and inference code.
29
+ - `2025/02/12` 🔥 We submitted our paper on arXiv, and released our demos and test sets.
30
+
31
+ ## 🖥️ Method
32
+
33
+ The overview of IndexTTS is shown as follows.
34
+
35
+ <picture>
36
+ <img src="assets/IndexTTS.png" width="800"/>
37
+ </picture>
38
+
39
+
40
+ The main improvements and contributions are summarized as follows:
41
+ - In Chinese scenarios, we have introduced a character-pinyin hybrid modeling approach. This allows for quick correction of mispronounced characters.
42
+ - **IndexTTS** incorporate a conformer conditioning encoder and a BigVGAN2-based speechcode decoder. This improves training stability, voice timbre similarity, and sound quality.
43
+ - We release all test sets here, including those for polysyllabic words, subjective and objective test sets.
44
+
45
+
46
+
47
+ ## Model Download
48
+ | 🤗**HuggingFace** | **ModelScope** |
49
+ |----------------------------------------------------------|----------------------------------------------------------|
50
+ | [IndexTTS](https://huggingface.co/IndexTeam/Index-TTS) | [IndexTTS](https://modelscope.cn/models/IndexTeam/Index-TTS) |
51
+ | [😁IndexTTS-1.5](https://huggingface.co/IndexTeam/IndexTTS-1.5) | [IndexTTS-1.5](https://modelscope.cn/models/IndexTeam/IndexTTS-1.5) |
52
+
53
+
54
+ ## 📑 Evaluation
55
+
56
+ **Word Error Rate (WER) Results for IndexTTS and Baseline Models on the** [**seed-test**](https://github.com/BytedanceSpeech/seed-tts-eval)
57
+
58
+ | **WER** | **test_zh** | **test_en** | **test_hard** |
59
+ |:----------------------:|:-----------:|:-----------:|:-------------:|
60
+ | **Human** | 1.26 | 2.14 | - |
61
+ | **SeedTTS** | 1.002 | 1.945 | **6.243** |
62
+ | **CosyVoice 2** | 1.45 | 2.57 | 6.83 |
63
+ | **F5TTS** | 1.56 | 1.83 | 8.67 |
64
+ | **FireRedTTS** | 1.51 | 3.82 | 17.45 |
65
+ | **MaskGCT** | 2.27 | 2.62 | 10.27 |
66
+ | **Spark-TTS** | 1.2 | 1.98 | - |
67
+ | **MegaTTS 3** | 1.36 | 1.82 | - |
68
+ | **IndexTTS** | 0.937 | 1.936 | 6.831 |
69
+ | **IndexTTS-1.5** | **0.821** | **1.606** | 6.565 |
70
+
71
+
72
+ **Word Error Rate (WER) Results for IndexTTS and Baseline Models on the other opensource test**
73
+
74
+
75
+ | **Model** | **aishell1_test** | **commonvoice_20_test_zh** | **commonvoice_20_test_en** | **librispeech_test_clean** | **avg** |
76
+ |:---------------:|:-----------------:|:--------------------------:|:--------------------------:|:--------------------------:|:--------:|
77
+ | **Human** | 2.0 | 9.5 | 10.0 | 2.4 | 5.1 |
78
+ | **CosyVoice 2** | 1.8 | 9.1 | 7.3 | 4.9 | 5.9 |
79
+ | **F5TTS** | 3.9 | 11.7 | 5.4 | 7.8 | 8.2 |
80
+ | **Fishspeech** | 2.4 | 11.4 | 8.8 | 8.0 | 8.3 |
81
+ | **FireRedTTS** | 2.2 | 11.0 | 16.3 | 5.7 | 7.7 |
82
+ | **XTTS** | 3.0 | 11.4 | 7.1 | 3.5 | 6.0 |
83
+ | **IndexTTS** | 1.3 | 7.0 | 5.3 | 2.1 | 3.7 |
84
+ | **IndexTTS-1.5** | **1.2** | **6.8** | **3.9** | **1.7** | **3.1** |
85
+
86
+
87
+ **Speaker Similarity (SS) Results for IndexTTS and Baseline Models**
88
+
89
+ | **Model** | **aishell1_test** | **commonvoice_20_test_zh** | **commonvoice_20_test_en** | **librispeech_test_clean** | **avg** |
90
+ |:---------------:|:-----------------:|:--------------------------:|:--------------------------:|:--------------------------:|:---------:|
91
+ | **Human** | 0.846 | 0.809 | 0.820 | 0.858 | 0.836 |
92
+ | **CosyVoice 2** | **0.796** | 0.743 | 0.742 | **0.837** | **0.788** |
93
+ | **F5TTS** | 0.743 | **0.747** | 0.746 | 0.828 | 0.779 |
94
+ | **Fishspeech** | 0.488 | 0.552 | 0.622 | 0.701 | 0.612 |
95
+ | **FireRedTTS** | 0.579 | 0.593 | 0.587 | 0.698 | 0.631 |
96
+ | **XTTS** | 0.573 | 0.586 | 0.648 | 0.761 | 0.663 |
97
+ | **IndexTTS** | 0.744 | 0.742 | **0.758** | 0.823 | 0.776 |
98
+ | **IndexTTS-1.5** | 0.741 | 0.722 | 0.753 | 0.819 | 0.771 |
99
+
100
+
101
+
102
+ **MOS Scores for Zero-Shot Cloned Voice**
103
+
104
+ | **Model** | **Prosody** | **Timbre** | **Quality** | **AVG** |
105
+ |-----------------|:-----------:|:----------:|:-----------:|:---------:|
106
+ | **CosyVoice 2** | 3.67 | 4.05 | 3.73 | 3.81 |
107
+ | **F5TTS** | 3.56 | 3.88 | 3.56 | 3.66 |
108
+ | **Fishspeech** | 3.40 | 3.63 | 3.69 | 3.57 |
109
+ | **FireRedTTS** | 3.79 | 3.72 | 3.60 | 3.70 |
110
+ | **XTTS** | 3.23 | 2.99 | 3.10 | 3.11 |
111
+ | **IndexTTS** | **3.79** | **4.20** | **4.05** | **4.01** |
112
+
113
+
114
+ ## Usage Instructions
115
+ ### Environment Setup
116
+ 1. Download this repository:
117
+ ```bash
118
+ git clone https://github.com/index-tts/index-tts.git
119
+ ```
120
+ 2. Install dependencies:
121
+
122
+ Create a new conda environment and install dependencies:
123
+
124
+ ```bash
125
+ conda create -n index-tts python=3.10
126
+ conda activate index-tts
127
+ apt-get install ffmpeg
128
+ # or use conda to install ffmpeg
129
+ conda install -c conda-forge ffmpeg
130
+ ```
131
+
132
+ Install [PyTorch](https://pytorch.org/get-started/locally/), e.g.:
133
+ ```bash
134
+ pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118
135
+ ```
136
+
137
+ > [!NOTE]
138
+ > If you are using Windows you may encounter [an error](https://github.com/index-tts/index-tts/issues/61) when installing `pynini`:
139
+ `ERROR: Failed building wheel for pynini`
140
+ > In this case, please install `pynini` via `conda`:
141
+ > ```bash
142
+ > # after conda activate index-tts
143
+ > conda install -c conda-forge pynini==2.1.6
144
+ > pip install WeTextProcessing --no-deps
145
+ > ```
146
+
147
+ Install `IndexTTS` as a package:
148
+ ```bash
149
+ cd index-tts
150
+ pip install -e .
151
+ ```
152
+
153
+ 3. Download models:
154
+
155
+ Download by `huggingface-cli`:
156
+
157
+ ```bash
158
+ huggingface-cli download IndexTeam/IndexTTS-1.5 \
159
+ config.yaml bigvgan_discriminator.pth bigvgan_generator.pth bpe.model dvae.pth gpt.pth unigram_12000.vocab \
160
+ --local-dir checkpoints
161
+ ```
162
+
163
+ Recommended for China users. 如果下载速度慢,可以使用镜像:
164
+ ```bash
165
+ export HF_ENDPOINT="https://hf-mirror.com"
166
+ ```
167
+
168
+ Or by `wget`:
169
+
170
+ ```bash
171
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/bigvgan_discriminator.pth -P checkpoints
172
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/bigvgan_generator.pth -P checkpoints
173
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/bpe.model -P checkpoints
174
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/dvae.pth -P checkpoints
175
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/gpt.pth -P checkpoints
176
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/unigram_12000.vocab -P checkpoints
177
+ wget https://huggingface.co/IndexTeam/IndexTTS-1.5/resolve/main/config.yaml -P checkpoints
178
+ ```
179
+
180
+ > [!NOTE]
181
+ > If you prefer to use the `IndexTTS-1.0` model, please replace `IndexTeam/IndexTTS-1.5` with `IndexTeam/IndexTTS` in the above commands.
182
+
183
+
184
+ 4. Run test script:
185
+
186
+
187
+ ```bash
188
+ # Please put your prompt audio in 'test_data' and rename it to 'input.wav'
189
+ python indextts/infer.py
190
+ ```
191
+
192
+ 5. Use as command line tool:
193
+
194
+ ```bash
195
+ # Make sure pytorch has been installed before running this command
196
+ indextts "大��好,我现在正在bilibili 体验 ai 科技,说实话,来之前我绝对想不到!AI技术已经发展到这样匪夷所思的地步了!" \
197
+ --voice reference_voice.wav \
198
+ --model_dir checkpoints \
199
+ --config checkpoints/config.yaml \
200
+ --output output.wav
201
+ ```
202
+
203
+ Use `--help` to see more options.
204
+ ```bash
205
+ indextts --help
206
+ ```
207
+
208
+ #### Web Demo
209
+ ```bash
210
+ pip install -e ".[webui]" --no-build-isolation
211
+ python webui.py
212
+
213
+ # use another model version:
214
+ python webui.py --model_dir IndexTTS-1.5
215
+ ```
216
+
217
+ Open your browser and visit `http://127.0.0.1:7860` to see the demo.
218
+
219
+
220
+ #### Sample Code
221
+ ```python
222
+ from indextts.infer import IndexTTS
223
+ tts = IndexTTS(model_dir="checkpoints",cfg_path="checkpoints/config.yaml")
224
+ voice="reference_voice.wav"
225
+ text="大家好,我现在正在bilibili 体验 ai 科技,说实话,来之前我绝对想不到!AI技术已经发展到这样匪夷所思的地步了!比如说,现在正在说话的其实是B站为我现场复刻的数字分身,简直就是平行宇宙的另一个我了。如果大家也想体验更多深入的AIGC功能,可以访问 bilibili studio,相信我,你们也会吃惊的。"
226
+ tts.infer(voice, text, output_path)
227
+ ```
228
+
229
+ ## Acknowledge
230
+ 1. [tortoise-tts](https://github.com/neonbjb/tortoise-tts)
231
+ 2. [XTTSv2](https://github.com/coqui-ai/TTS)
232
+ 3. [BigVGAN](https://github.com/NVIDIA/BigVGAN)
233
+ 4. [wenet](https://github.com/wenet-e2e/wenet/tree/main)
234
+ 5. [icefall](https://github.com/k2-fsa/icefall)
235
+
236
+ ## 📚 Citation
237
+
238
+ 🌟 If you find our work helpful, please leave us a star and cite our paper.
239
+
240
+ ```
241
+ @article{deng2025indextts,
242
+ title={IndexTTS: An Industrial-Level Controllable and Efficient Zero-Shot Text-To-Speech System},
243
+ author={Wei Deng, Siyi Zhou, Jingchen Shu, Jinchao Wang, Lu Wang},
244
+ journal={arXiv preprint arXiv:2502.05512},
245
+ year={2025}
246
+ }
247
+ ```