update: 更新文档

This commit is contained in:
Sakura-RanChen
2025-09-24 16:35:26 +08:00
parent af9ed0cd86
commit ebf10828f0
+37 -14
View File
@@ -1,9 +1,12 @@
# IndexStreamTTS 使用指南 # IndexStreamTTS 使用指南
## 环境准备 ## 环境准备
### 1. 克隆项目 (这里使用的为VLLM版本) ### 1. 克隆项目 注意这里使用的为VLLM1.0的Releases版本)
```bash ```bash
git clone https://github.com/Ksuriuri/index-tts-vllm.git https://github.com/Ksuriuri/index-tts-vllm/releases/tag/IndexTTS-vLLM-1.0
```
进入解压后的目录
```bash
cd index-tts-vllm cd index-tts-vllm
``` ```
@@ -13,7 +16,7 @@ conda create -n index-tts-vllm python=3.12
conda activate index-tts-vllm conda activate index-tts-vllm
``` ```
### 3. 安装PyTorch ### 3. 安装PyTorch 需要版本为2.8.0(最新版)
#### 查看显卡最高支持的版本和实际安装的版本 #### 查看显卡最高支持的版本和实际安装的版本
```bash ```bash
nvidia-smi nvidia-smi
@@ -27,12 +30,11 @@ CUDA Version: 12.8
```bash ```bash
Cuda compilation tools, release 12.8, V12.8.89 Cuda compilation tools, release 12.8, V12.8.89
``` ```
#### 那么对应的安装命令 (请注意不要横跨大版本!!!) #### 那么对应的安装命令pytorch默认给的是12.8的驱动版本)
```bash ```bash
pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128 pip install torch torchvision
``` ```
优先建议安装 pytorch 2.7.0(对应 vllm 0.9.0),具体安装指令请参考:[pytorch 官网](https://pytorch.org/get-started/locally/]\) 需要 pytorch 版本 2.8.0(对应 vllm 0.10.2),具体安装指令请参考:[pytorch 官网](https://pytorch.org/get-started/locally/]\)
若显卡不支持,请安装 pytorch 2.5.1(对应 vllm 0.7.3),并将 requirements.txt 中 vllm==0.9.0 修改为 vllm==0.7.3
### 4. 安装依赖 ### 4. 安装依赖
```bash ```bash
@@ -54,7 +56,7 @@ git lfs install
``` ```
创建模型目录,并拉取模型 创建模型目录,并拉取模型
```bash ```bash
mkkdir model_dir mkdir model_dir
cd model_dir cd model_dir
git clone https://www.modelscope.cn/IndexTeam/IndexTTS-1.5.git git clone https://www.modelscope.cn/IndexTeam/IndexTTS-1.5.git
``` ```
@@ -71,6 +73,9 @@ bash convert_hf_format.sh model_dir/IndexTTS-1.5
### 6. 更改接口适配一下项目 ### 6. 更改接口适配一下项目
接口返回数据与项目不适配需要调整一下,使其直接返回音频数据 接口返回数据与项目不适配需要调整一下,使其直接返回音频数据
```bash
vi api_server.py
```
```bash ```bash
@app.post("/tts", responses={ @app.post("/tts", responses={
200: {"content": {"application/octet-stream": {}}}, 200: {"content": {"application/octet-stream": {}}},
@@ -104,7 +109,7 @@ async def tts_api(request: Request):
vi start_api.sh vi start_api.sh
``` ```
### 将下面内容粘贴进去并按:输入wq保存 ### 将下面内容粘贴进去并按:输入wq保存
#### 脚本中的/home/system/indexTTS/index-tts-vllm/model_dir/IndexTTS-1.5 请自行修改为实际路径 #### 脚本中的/home/system/index-tts-vllm/model_dir/IndexTTS-1.5 请自行修改为实际路径
```bash ```bash
# 激活conda环境 # 激活conda环境
conda activate index-tts-vllm conda activate index-tts-vllm
@@ -129,17 +134,35 @@ else
echo "已终止进程 $PID_VLLM" echo "已终止进程 $PID_VLLM"
fi fi
# 查找占用VLLM::EngineCore进程
GPU_PIDS=$(ps aux | grep -E "VLLM|EngineCore" | grep -v grep | awk '{print $2}')
# 检查是否找到进程号
if [ -z "$GPU_PIDS" ]; then
echo "没有找到VLLM相关进程"
else
echo "找到VLLM相关进程,进程号为: $GPU_PIDS"
# 先尝试普通kill,等待2秒
kill $GPU_PIDS
sleep 2
# 检查进程是否还在
if ps -p $GPU_PIDS > /dev/null; then
echo "进程仍在运行,强制终止..."
kill -9 $GPU_PIDS
fi
echo "已终止进程 $GPU_PIDS"
fi
# 创建tmp目录(如果不存在) # 创建tmp目录(如果不存在)
mkdir -p tmp mkdir -p tmp
# 后台运行api_server.py,日志重定向到tmp/server.log # 后台运行api_server.py,日志重定向到tmp/server.log
export VLLM_USE_V1=0 nohup python api_server.py --model_dir /home/system/index-tts-vllm/model_dir/IndexTTS-1.5 --port 11996 > tmp/server.log 2>&1 &
nohup python api_server.py --model_dir /home/system/indexTTS/index-tts-vllm/model_dir/IndexTTS-1.5 --port 11996 > tmp/server.log 2>&1 &
echo "api_server.py 已在后台运行,日志请查看 tmp/server.log" echo "api_server.py 已在后台运行,日志请查看 tmp/server.log"
``` ```
给脚本执行权限并运行脚本 给脚本执行权限并运行脚本
```bash ```bash
chmod +x tmp chmod +x start_api.sh
./start_api.sh ./start_api.sh
``` ```
日志会在tmp/server.log中输出,可以通过以下命令查看日志情况 日志会在tmp/server.log中输出,可以通过以下命令查看日志情况
@@ -148,7 +171,7 @@ tail -f tmp/server.log
``` ```
## 音色配置 ## 音色配置
index-tts-vllm支持通过配置文件注册自定义音色,支持单音色和混合音色配置。 index-tts-vllm支持通过配置文件注册自定义音色,支持单音色和混合音色配置。
在项目根目录下的assets/speaker.json文件中配置自定义音色 在项目根目录下的assets/speaker.json文件中配置自定义音色
### 配置格式说明 ### 配置格式说明
```bash ```bash
{ {
@@ -161,5 +184,5 @@ index-tts-vllm支持通过配置文件注册自定义音色,支持单音色和
] ]
} }
``` ```
### 注意 ### 注意 (需重启服务进行注册)
添加后需在智控台中添加相应的说话人(单模块则更换相应的voice) 添加后需在智控台中添加相应的说话人(单模块则更换相应的voice)