第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

管家級(jí)教程:在 Windows 上配置 WSL2、CUDA 及 VLLM,開(kāi)源音頻克隆項(xiàng)目

標(biāo)簽:
Html5 算法 人工智能

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

?code=YmVjNmQ5YmZmYTRhODlmMzVjZjA3MmY2Nj

安装WSL2

管理员身份下运行

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

wsl --install

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

wsl --install Ubuntu-22.04

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

?code=NGMwZjFhZmVmOWE3OTdkMzRiZjRlYzI2OD

也可以通过命令行启动

安装和配置pip

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

?code=ODY5NmRhZDFjNTBmYWJkZDgzMzI5MzU2OD

修改为国内镜像

# 默认注释了源码镜像以提高 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

?code=ZGI0MzZkNGE5ZWI3ZWEzYTBmN2E2M2E5Nz

配置克隆项目

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修改为模型权重下载路径

?code=N2FlMTc2NDBmMmUwMDJkODcyYTljYjRiMD

运行下命令启动程序

VLLM_USE_V1=0 python webui.py

往后再启动就是

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

 source .venv/bin/activate

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

运行成功的截图

?code=YTk5ZWRhZTg3ZDUwYmM1NGU3YTA2ZTc1Mz

?code=YmQ3NjQ3NDdhNjA0OWNhNmY2ZjIxZTI3YT

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)



點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消