管家級(jí)教程:在 Windows 上配置 WSL2、CUDA 及 VLLM,開(kāi)源音頻克隆項(xiàng)目
ok,那么今天給大家分享一下之前看到過(guò)的一個(gè) 音頻克隆項(xiàng)目
使用體驗(yàn)音色效果沒(méi)有那么高的效果,不過(guò)開(kāi)源嘛,搞來(lái)玩一玩試看看。
源地址: https://github.com/index-tts/index-tts
關(guān)于IndexTTSIndexTTS是一個(gè)基于 GPT 風(fēng)格的文本轉(zhuǎn)語(yǔ)音 (TTS) 模型,主要基于 XTTS 和 Tortoise 算法。它能夠通過(guò)拼音糾正漢字發(fā)音,并通過(guò)標(biāo)點(diǎn)符號(hào)控制任意位置的停頓。我們?cè)鰪?qiáng)了系統(tǒng)的多個(gè)模塊,包括改進(jìn)說(shuō)話(huà)人條件特征表示,并集成 BigVGAN2 以?xún)?yōu)化音頻質(zhì)量。我們的系統(tǒng)基于數(shù)萬(wàn)小時(shí)的數(shù)據(jù)進(jìn)行訓(xùn)練,達(dá)到了最佳性能,超越了目前流行的 TTS 系統(tǒng),例如 XTTS、CosyVoice2、Fish-Speech 和 F5-TTS。
源項(xiàng)目基于torch ,
本文實(shí)踐項(xiàng)目是改用VLLM進(jìn)行的項(xiàng)目https://github.com/Ksuriuri/index-tts-vllm
vllm暫不支持windows運(yùn)行,所以需要通過(guò)wsl 虛擬機(jī)虛擬linux系統(tǒng)
目前wsl主力版本為wsl2所以我們采用wsl2
需要的設(shè)備與流程:
- 足夠的存儲(chǔ)空間
- 顯卡支持CUDA,同樣意味著顯存也要夠大
- 安裝WLS2,安裝配置pip
- 安裝uv,g++,cuda-tookit配置工具
- 配置虛擬環(huán)境,安裝requirements
- 下載模型文件,轉(zhuǎn)義模型文件
- 運(yùn)行webui.py
確認(rèn)開(kāi)啟hyper-v
安裝WSL2
管理員身份下運(yùn)行
自行開(kāi)啟魔法,以防被443拒絕
wsl --install
手動(dòng)安裝 指定版本 也可以選擇其他
wsl --install Ubuntu-22.04
安裝完往后可以在開(kāi)始菜單找到并且固定
也可以通過(guò)命令行啟動(dòng)
安裝和配置pip
在剛安裝好的虛擬機(jī)里面進(jìn)行安裝
修改為國(guó)內(nèi)鏡像
# 默認(rèn)注釋了源碼鏡像以提高 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
# 預(yù)發(fā)布軟件源,不建議啟用
# 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
WSL2安裝Debian(Ubuntu)并配置國(guó)內(nèi)apt源 - 知乎NVIDA CUDA 12.9 toolkitWsl 安裝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-9wsl配置環(huán)境變量
export CUDA_HOME="/usr/local/cuda-12.9" export PATH="/usr/local/cuda-12.9/bin:$PATH"輸入一下命令確保oknvidia-smi配置克隆項(xiàng)目
git clone https://github.com/Ksuriuri/index-tts-vllm.git進(jìn)入工作目錄
cd index-tts-vllm創(chuàng)建uv虛擬環(huán)境
un .venv設(shè)置python版本
uv python install 3.10安裝依賴(lài)包
uv pip install -r requirements.txt下載模型權(quán)重
模型權(quán)重轉(zhuǎn)換
需要轉(zhuǎn)換為transformers庫(kù)兼容的版本,bash convert_hf_format.sh /path/to/your/model_dir/path/to/your/model_dir 需要修改成你需要保存的位置這個(gè)是我的 bash convert_hf_format.sh /home/leia/IndexTTS-1.5/將項(xiàng)目中的webui.py的model_dir修改為模型權(quán)重下載路徑運(yùn)行下命令啟動(dòng)程序VLLM_USE_V1=0 python webui.py往后再啟動(dòng)就是leia@leia:~/index-tts-vllm$source .venv/bin/activate.venv 為我們創(chuàng)建的虛擬環(huán)境運(yùn)行成功的截圖API支持
該項(xiàng)目使用fastapi封裝了api接口,調(diào)用如下命令可以啟動(dòng)相關(guān)示例:VLLM_USE_V1=0 python api_server.py --model_dir /home/leia/IndexTTS-1.5 --port 11996編寫(xiě)如下python文件testindex-tts-vllm.py,import requests url = "http://127.0.0.1:11996/tts_url" data = { "text": "你好,我叫l(wèi)eia,很高興認(rèn)識(shí)你", "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)
浙公網(wǎng)安備 33010602011771號(hào)