写点什么

管家级教程:在 Windows 上配置 WSL2、CUDA 及 VLLM, 开源音频克隆项目

作者:溪抱鱼
  • 2025-08-06
    河南
  • 本文字数:2141 字

    阅读完需:约 7 分钟

ok,那么今天给大家分享一下之前看到过的一个 音频克隆项目

使用体验音色效果没有那么高的效果,不过开源嘛,搞来玩一玩试看看。

源地址: https://github.com/index-tts/index-tts

关于 IndexTTS

IndexTTS 是一个基于 GPT 风格的文本转语音 (TTS) 模型,主要基于 XTTS 和 Tortoise 算法。

它能够通过拼音纠正汉字发音,并通过标点符号控制任意位置的停顿。

我们增强了系统的多个模块,包括改进说话人条件特征表示,并集成 BigVGAN2 以优化音频质量。我们的系统基于数万小时的数据进行训练,达到了最佳性能,超越了目前流行的 TTS 系统,例如 XTTS、CosyVoice2、Fish-Speech 和 F5-TTS。

源项目基于 torch ,

本文实践项目是改用 VLLM 进行的项目https://github.com/Ksuriuri/index-tts-vllm

vllm 暂不支持 windows 运行,所以需要通过 wsl 虚拟机虚拟 linux 系统

目前 wsl 主力版本为 wsl2 所以我们采用 wsl2

需要的设备与流程:

  • 足够的存储空间

  • 显卡支持 CUDA,同样意味着显存也要够大

  • 安装 WLS2,安装配置 pip

  • 安装 uv,g++,cuda-tookit 配置工具

  • 配置虚拟环境,安装 requirements

  • 下载模型文件,转义模型文件

  • 运行 webui.py

确认开启 hyper-v


安装 WSL2

管理员身份下运行

自行开启魔法,以防被 443 拒绝

wsl --install
复制代码

手动安装 指定版本 也可以选择其他

wsl --install Ubuntu-22.04
复制代码

安装完往后可以在开始菜单找到并且固定


也可以通过命令行启动

安装和配置 pip

在刚安装好的虚拟机里面进行安装



修改为国内镜像

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse # 预发布软件源,不建议启用# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
复制代码

编辑文件 vi/etc/apt/sources.list 文件

sudo vi /etc/apt/sources.list
复制代码

按 dd 清除每一行,按 i 進入 insert,按右鍵黏貼,按 esc 退出 insert,:wq 保存後離開。 (WSL2安装Debian(Ubuntu)并配置国内apt源 - 知乎

执行更新

sudo apt update
复制代码

安装 pip

sudo apt install pip
复制代码

安装必要工具

安装 uv, 安装 gcc 和 g++

pip install uvpip install gccpip install g++
复制代码

安装和配置 cuda

windows 需要安装 cuda driver

wls2 需要安装不包含 driver 的 cuda tookit

参考 NVIDA CUDA 文档

windows 安装 cuda

NVIDA CUDA 12.9 toolkit

Wsl 安装 cuda-toolkit

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.debsudo dpkg -i cuda-keyring_1.1-1_all.debsudo apt-get updatesudo apt-get -y install cuda-toolkit-12-9
复制代码

Nvidia参考文档

wsl 配置环境变量

export CUDA_HOME="/usr/local/cuda-12.9"export PATH="/usr/local/cuda-12.9/bin:$PATH"
复制代码

输入一下命令确保 ok

nvidia-smi


配置克隆项目

git clone https://github.com/Ksuriuri/index-tts-vllm.git
复制代码

进入工作目录

cd index-tts-vllm
复制代码

创建 uv 虚拟环境

un .venv
复制代码

设置 python 版本

uv python install 3.10
复制代码

安装依赖包

uv pip install -r requirements.txt
复制代码

下载模型权重

地址

模型权重转换

需要转换为 transformers 库兼容的版本,

bash convert_hf_format.sh /path/to/your/model_dir
复制代码

/path/to/your/model_dir 需要修改成你需要保存的位置

这个是我的bash convert_hf_format.sh /home/leia/IndexTTS-1.5/
复制代码

将项目中的 webui.py 的 model_dir 修改为模型权重下载路径


运行下命令启动程序

VLLM_USE_V1=0 python webui.py
复制代码

往后再启动就是

leia@leia:~/index-tts-vllm$

 source .venv/bin/activate
复制代码

.venv 为我们创建的虚拟环境

运行成功的截图



API 支持

该项目使用 fastapi 封装了 api 接口,调用如下命令可以启动相关示例:

VLLM_USE_V1=0 python api_server.py --model_dir /home/leia/IndexTTS-1.5 --port 11996
复制代码

编写如下 python 文件 testindex-tts-vllm.py,

import requests
url = "http://127.0.0.1:11996/tts_url"data = { "text": "你好,我叫leia,很高兴认识你", "audio_paths": [ "spk_1234232323.wav", "spk_2344423234.wav" ]}
response = requests.post(url, json=data)with open("output.wav", "wb") as f: f.write(response.content)
复制代码


用户头像

溪抱鱼

关注

还未添加个人签名 2025-02-09 加入

还未添加个人简介

评论

发布
暂无评论
管家级教程:在 Windows 上配置 WSL2、CUDA 及 VLLM,开源音频克隆项目_人工智能_溪抱鱼_InfoQ写作社区