当前位置: 首页 > news >正文

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

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

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

源地址:项目地址

关于IndexTTS

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

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

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

源项目基于torch ,

本文实践项目是改用VLLM进行的项目改进的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 multiverse
deb 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 multiverse
deb 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 uv
pip install gcc
pip 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.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo 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 requestsurl = "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)

http://www.dtcms.com/a/314468.html

相关文章:

  • 解决 Alpine 容器中编译 confluent-kafka-go 报错的问题
  • LLaMA-Factory微调教程4:模型评估
  • Spring Boot + ShardingSphere 分库分表实战
  • 【CVPR2025】计算机视觉|AnomalyNCD:让工业异常分类“脱胎换骨”!
  • 计算机视觉(2)车规摄像头标准
  • YOLO11涨点优化:原创自研DSAM注意力!基于BiLevelRoutingAttention的颠覆性升级
  • nodejs 封装方法将打印日志输出到指定文件
  • javacc实现简单SQL解析器
  • Llama 3词汇表揭秘:128,000个token解析:merges 是子词分词算法
  • 数据结构——单向链表部分操作及valgrind安装
  • Exporters | 安装mongodb_exporter
  • 数据分页异步后台导出excel
  • 【Ubuntu】请问,`ip -a`显示的“wlo1”是什么呀?
  • 笔试——Day28
  • 如何在 Ubuntu 24.04 上安装和配置 TFTP 服务器
  • 高防服务器租用的作用都有哪些?
  • 上海交通大学联合项目论文解读 | Hume 模型:视觉 - 语言 - 动作模型中引入系统2思维
  • 单片机51 day46
  • 部署 Kibana 8.2.2 可视化管理 Elasticsearch 8.2.2 集群
  • 【测试工程思考】测试自动化基础能力建设
  • 机试备考笔记 4/31
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(下)【make/Makefile】
  • 笛卡尔坐标
  • 机器学习笔记:集成学习/模型融合
  • usr/bin/ld链接报错undefined reference `av_frame_free(AVFrame**)‘等ffmpeg库报错
  • 【Spark征服之路-4.5-Spark-Streaming核心编程(三)】
  • debian 时间同步 设置ntp服务端 客户端
  • FastAPI入门:中间件、CORS跨域资源共享、SQL数据库
  • 【笔记】ROS1|4 Turtlebot3仿真Waffle循线跟踪【旧文转载】
  • Linux 磁盘管理与分区配置