README.md 5.88 KB
Newer Older
yangzhong's avatar
yangzhong committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# IndexTTS-vLLM

## 论文

IndexTTS2: A Breakthrough in Emotionally Expressive and Duration-Controlled Auto-Regressive Zero-Shot Text-to-Speech

https://arxiv.org/abs/2506.21619

## 模型结构

IndexTTS2 是 B 站提出的零样本可控 TTS 模型,采用 “自回归 + 非自回归” 级联架构,核心由 Text‑to‑Semantic(T2S)、Semantic‑to‑Mel(S2M)、BigVGANv2 声码器 三大模块组成,支持精确时长控制与情感‑音色解耦,适配零样本语音合成与视频配音等场景。
模型采用三阶段流水线,输入文本、音色 / 风格提示、可选时长控制,输出高保真语音,流程如下:
1.文本→语义 Token(T2S):自回归生成带时长 / 情感约束的语义 Token;
2.语义 Token→梅尔频谱(S2M):非自回归流匹配生成梅尔谱,融入 GPT 隐表示保障情感清晰度;
3.梅尔频谱→波形(声码器):BigVGANv2 转波形,兼顾音质与推理速度。

yangzhong's avatar
yangzhong committed
17
![images](https://developer.sourcefind.cn/codes/modelzoo/index-tts-vllm/-/raw/master/assets/IndexTTS2.png?inline=false)
yangzhong's avatar
yangzhong committed
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

## 环境配置

### Docker(方法一)

```
在光源可拉取docker镜像:
docker pull image.sourcefind.cn:5000/dcu/admin/base/vllm:0.9.2-ubuntu22.04-dtk25.04.1-rc5-rocblas104381-0915-das1.6-py3.10-20250916-rc2-ds3.2
创建并启动容器:
docker run -it --network=host --name=dtk25041_torch25 -v /opt/hyhal:/opt/hyhal:ro -v /usr/local/hyhal:/usr/local/hyhal:ro -v /public:/public:ro --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=128G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 image.sourcefind.cn:5000/dcu/admin/base/vllm:0.9.2-ubuntu22.04-dtk25.04.1-rc5-rocblas104381-0915-das1.6-py3.10-20250916-rc2-ds3.2
docker exec -it dtk25041_torch25 /bin/bash
安装依赖包:
cd index-tts-vllm/
pip install http://112.11.119.99:18000/customized/vllm/dtk25.04.1/vllm-0.10.2%2Bdas.opt1.alpha.dfe1a84.dtk25041-cp310-cp310-linux_x86_64.whl   # 安装vllm0.10.2
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install http://112.11.119.99:18000/customized/torchaudio/dtk25.04.2/torchaudio251-hip/torchaudio-2.5.1%2Bdas.opt1.dtk25042-cp310-cp310-manylinux_2_28_x86_64.whl --force-reinstall --no-deps    # 安装指定版本的torchaudio
# 安装Qt5
apt update && apt install -y libqt5core5a libgstreamer-plugins-good1.0-0 gstreamer1.0-plugins-base
# vllm必须安装指定的0.10.2版本,torchaudio需要卸载安装指定whl包
```
### Dockerfile(方法二)

```
docker build --no-cache -t index-tts-vllm:latest .
docker run -dit --network=host --name=index-tts-vllm --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=16G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal/:/opt/hyhal/:ro -v /usr/local/hyhal:/usr/local/hyhal:ro index-tts-vllm:latest
docker exec -it index-tts-vllm /bin/bash
安装依赖包:
cd index-tts-vllm/
pip install http://112.11.119.99:18000/customized/vllm/dtk25.04.1/vllm-0.10.2%2Bdas.opt1.alpha.dfe1a84.dtk25041-cp310-cp310-linux_x86_64.whl   # 安装vllm0.10.2
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install http://112.11.119.99:18000/customized/torchaudio/dtk25.04.2/torchaudio251-hip/torchaudio-2.5.1%2Bdas.opt1.dtk25042-cp310-cp310-manylinux_2_28_x86_64.whl --force-reinstall --no-deps    # 安装指定版本的torchaudio
# 安装Qt5
apt update && apt install -y libqt5core5a libgstreamer-plugins-good1.0-0 gstreamer1.0-plugins-base
# vllm必须安装指定的0.10.2版本,torchaudio需要卸载安装指定whl包
```

### Anaconda(方法三)

```
1.创建conda虚拟环境:
conda create -n index-tts-vllm python=3.10
2.关于本项目DCU显卡所需的工具包、深度学习库等均可从光合开发者社区下载安装:https://developer.hpccube.com/tool/
DTK驱动:dtk25.04.1
python:python3.10
torch:2.5.1
Tips:以上DTK、python、torch等DCU相关工具包,版本需要严格一一对应
3.其它非特殊库参照requirements.txt安装
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install http://112.11.119.99:18000/customized/vllm/dtk25.04.1/vllm-0.10.2%2Bdas.opt1.alpha.dfe1a84.dtk25041-cp310-cp310-linux_x86_64.whl   # 安装vllm0.10.2
pip install http://112.11.119.99:18000/customized/torchaudio/dtk25.04.2/torchaudio251-hip/torchaudio-2.5.1%2Bdas.opt1.dtk25042-cp310-cp310-manylinux_2_28_x86_64.whl --force-reinstall --no-deps    # 安装指定版本的torchaudio
# 安装Qt5
apt update && apt install -y libqt5core5a libgstreamer-plugins-good1.0-0 gstreamer1.0-plugins-base
# vllm必须安装指定的0.10.2版本,torchaudio需要卸载安装指定whl包
```

## 测试数据集



## 预训练模型

模型权重下载到 `checkpoints/` 路径下:

```
modelscope download --model kusuriuri/IndexTTS-2-vLLM --local_dir ./checkpoints/IndexTTS-2-vLLM
```

## 推理

#### 单机单卡推理

使用 fastapi 封装了 api 接口,启动示例如下:

```
python api_server_v2.py
```

#### 启动参数

- `--model_dir`: 必填,模型权重路径
- `--host`: 服务ip地址,默认为 `0.0.0.0`
- `--port`: 服务端口,默认为 `6006`
- `--gpu_memory_utilization`: vllm 显存占用率,默认设置为 `0.25`

#### API 请求示例

```
python api_example_v2.py
```

## result



## 精度



### 应用场景

### 算法类别

文本转语音(TTS)领域

### 热点应用行业

医疗,教育,科研,游戏娱乐

## 源码仓库及问题反馈

- https://developer.sourcefind.cn/codes/modelzoo/index-tts-vllm

## 参考资料
- https://github.com/Ksuriuri/index-tts-vllm