如何建立网站自己做站长,个人网站模板之家,未成年做网站,网站建设维护知识环境#xff1a;
硬#xff1a;
台式电脑
1.cpu:I5 11代以上
2.内存16G以上
3.硬盘固态500G以上
4.显卡N卡8G显存以上 20系2070以上
本案例英伟达4070 12G
5.网络可连github
软#xff1a;
Win10 专业版 19045以上
WSL2 -Ubuntu22.04
1.bert-Vits2.3
Extra-v2:…环境
硬
台式电脑
1.cpu:I5 11代以上
2.内存16G以上
3.硬盘固态500G以上
4.显卡N卡8G显存以上 20系2070以上
本案例英伟达4070 12G
5.网络可连github
软
Win10 专业版 19045以上
WSL2 -Ubuntu22.04
1.bert-Vits2.3
Extra-v2:中文特化修复版 Extra-Fix分支
底模Bert-VITS2_中文特化修复底模_0.0.1
2.python 3.11以上
3.git
4.cuda11.8
5.pytorch2.1
问题描述
WSL下如何使用Ubuntu本地部署Vits2.3-Extra-v2:中文特化修复版 解决方案
Bert-VITS2简介
bert-vits2可预测感情文本转语音技术的工作原理是首先对大量的文本数据进行情感分析以了解不同情感表达的语法和词汇使用情况。然后利用这些信息人工智能模型可以预测给定文本的情感倾向并调整语音输出的音调和语速等参数以匹配这种情感倾向。
流程包括文本预处理、声学模型处理训练和后处理三个步骤。首先文本预处理会对标注的文本分析和处理例如分词、词性标注和语法分析等。然后声学模型训练会将文本转化为声学特征这个过程通常需要大量的语音数据来训练。最后后处理会对生成的语音波形进行优化和调整以使其更符合直播带货的需求Bert-VITS2部署
一、部署底层环境
Win10 安装WSL
WSL全称Windows Subsystem for Linux是Windows操作系统中的一个功能它允许在Windows上运行Linux子系统。通过WSL用户可以在Windows环境下使用Linux的命令行工具、脚本和应用程序而无需进行双系统切换或虚拟机配置。WSL提供了与Linux内核的兼容性使得在Windows上进行开发和运行Linux应用变得更加方便。用户可以在Microsoft Store中下载WSL安装后即可使用。1.启用 WSL 相关功能
打开cmd终端管理员权限
运行以下命令以启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重新启动计算机
2.安装 WSL 2 Linux 内核更新包 下载适用于你的系统的 WSL 2 Linux 内核更新包
x64 系统https://aka.ms/wsl2kernel
ARM64 系统https://aka.ms/wsl2kernelarm64 安装下载的。
3.设置 WSL 2 为默认版本 打开 cmd终端运行以下命令以将 WSL 2 设置为默认版本 shell wsl --set-default-version 2
4.安装 Ubuntu 22.04 分发版 打开 Microsoft Store 应用商店 在搜索栏中搜索 “Ubuntu 22.04” 选择 “Ubuntu 20.04 LTS” 并点击 “获取” 安装完成后点击 “启动” 5.配置 Ubuntu 22.04 在 Ubuntu 20.04 的安装界面中为新的 Linux 用户设置用户名和密码 安装显卡驱动
1.Win10安装cuda-wsl驱动
https://developer.nvidia.com/cuda/wsl
确定要安装的版本
从物理设备开始一直到上层应用CUDA有一条复杂的软件版本依赖链。我们通常从自己电脑的物理GPU型号开始确定每个环节的软件版本
GPU物理设备的型号 ——决定—— GPU驱动的版本号 对应关系
GPU驱动的版本号 ——决定—— CUDA的版本号 对应关系
CUDA的版本号 ——决定—— cuDNN的版本号 对应关系
CUDA的版本号同上 ——决定—— PyTorch等深度学习框架的版本号 对应关系nvcc -V cmd下以root权限进入WSL
wsl -u root 查看显卡配置 nvidia-smi2.ubuntu安装cuda如果WIN10下驱动正常这步不需要再安装
https://developer.nvidia.com/cuda-toolkit-archive 安装cuda11.8
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run选install 3.安装cuda-toolkit
apt install nvidia-cuda-toolkit完成查看
nvcc -V 4.安装cuDNN
https://developer.nvidia.com/rdp/cudnn-archive#a-collapse833-115
拉取Vits2.3项目
拉取Extra-Fix分支
1.在e盘新建work文件夹
2.进入文件夹cd /mnt/e/work
git clone https://github.com/fishaudio/Bert-VITS2.git还可以下载下来解压到work目录 3.安装python3.11
编辑软件源配置文件
sudo nano /etc/apt/sources.list在打开的文件中将现有的软件源地址替换为清华大学的镜像源地址。
将清华源地址粘贴到文件中
deb 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 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
保存更改并关闭编辑器按下 Ctrl X然后按下 Y 确认保存最后按下 Enter 关闭编辑器。
更新软件包列表sudo apt update安装python3.11
sudo apt install python3.11apt install python3-pip4.安装pytorch
PyTorch是一个开源的机器学习框架用于构建深度学习模型。它提供了丰富的工具和库使得开发者可以轻松地创建和训练各种类型的神经网络模型pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118警告以“root”用户身份运行pip可能会导致权限中断以及与系统包管理器发生冲突。建议改用虚拟环境https://pip.pypa.io/warnings/venv
5.设置虚拟环境
安装venv包请先安装
sudo apt install python3-venv创建新的虚拟环境
python3 -m venv vitsenv将vitsenv替换为您想要为虚拟环境的名称
激活虚拟环境
source vitsenv/bin/activate现在您的提示符应该已更改表示您正在虚拟环境中工作。现在您可以使用pip而无需使用sudo命令
完成工作后请记得停用虚拟环境
deactivate
pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118查看是否成功
python -c import numpy; print(numpy.__version__)python -c import torch; print(torch.__version__)6.安装需求依赖库
安装项目里的需求依赖库: pip install -r requirements.txtrequirements.txt 里面内容
librosa0.9.2用于音频和音乐信号处理的Python库。
matplotlib用于创建可视化图表和绘图的Python库。
numpy用于进行数值计算和数组操作的Python库。
numba用于提供即时编译JIT功能加速Python代码的执行。
phonemizer用于将文本转换为音素序列的Python库。
scipy用于科学计算和数值分析的Python库。
tensorboard用于可视化和监控深度学习模型训练过程的工具。
Unidecode用于将Unicode文本转换为ASCII文本的Python库。
amfm_decompy用于分解调频调幅信号的Python库。
jieba_fast用于中文分词的快速版本。
jieba用于中文分词的Python库。
transformers用于自然语言处理NLP任务的预训练模型和工具的库。
pypinyin用于将汉字转换为拼音的Python库。
cn2an用于将中文数字转换为阿拉伯数字的Python库。
gradio3.50.2用于构建交互式界面的Python库。
av用于音频和视频处理的Python库。
mecab-python3Python的日本语形态分析器MeCab的绑定。
loguru用于更简单和更美观的日志记录的Python库。
unidic-lite日本语形态分析字典Unidic的轻量级版本。
cmudict包含美国英语发音的字典。
fugashiPython的日本语形态分析器。
num2words将数字转换为对应的文字表达的Python库。
PyYAML用于解析和生成YAML文件的Python库。
requests用于发送HTTP请求的Python库。
pyopenjtalk-prebuilt日本语文本到语音合成的库。
jaconv用于日本语文本转换的Python库。
psutil用于获取系统信息和进程管理的Python库。
GPUtil用于获取GPU显卡信息的Python库。
vector_quantize_pytorch用于向量量化的PyTorch实现。
g2p_en用于将英文单词转换为音素序列的Python库。
sentencepiece用于分词和文本处理的Python库。
pykakasi用于日语文本转化为罗马字拼音的Python库。
langid用于自然语言文本语言检测的Python库。
onnxruntime-gpu用于在GPU上运行ONNX模型的库。
opencc1.1.7用于简繁体中文转换的库。
WeTextProcessing0.1.10用于中文文本处理的库安装需要一段时间。。。
可以把源设置为清华的
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple7.安装转写包
pip install funasr modelscope -i https://pypi.douban.com/simple/二、模型下载
1.首先是bert模型下载
bert模型链接
https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model
2.按各自需要下载英日中的bert模型将下载得到的pytorch_model.bin文件放入对应文件夹
deberta-v2-large-japanese-char-wwm必下
点进去下载
chinese-roberta-wwm-ext-large 必下
点进去下载 3.放进chinese-roberta-wwm-ext-large 下
将clap模型放入
Bert-VITS2\emotional\clap-htsat-fused
4.然后我们需要下载训练所需要的预训练模型
先输入
pip install openi5.安装启智ai
然后进入以下链接: https://openi.pcl.ac.cn/user/settings/applications先注册该平台账号然后生成token(令牌) 保存该令牌然后回到vits界面输入openi login
右键粘贴你刚才保存的token 6.在线下载
openi model download -r Stardust_minus/Bert-VITS2 -m Bert-VITS2_中文特化修复底模 -p ./pretrained_model 还可以手工一个一个下载
放置在你设定的数据集名称文件夹 模型文件夹里和下面自定义模型文件夹路径一样 三、生成和修改配置文件
1.首次使用该项目先输入 python resample.py生成配置文件 2.然后修改config.yml,根据自己实际情况进行修改
如果你不知道应该怎么修改可以给我的参考一下
dataset_raw是你放置未处理的音频的文件夹dataset处理后的数据集文件夹
这两个文件夹都需要手动创建
mirror将它的值从改为openi 3.将标注文本文件全部同意命名为clean_barbara.list标注文本位于filelist文件夹内(后期用别的软件标注标注文件在这替换) 4.自动保存的模型数量根据需要和自己的硬盘空间进行修改
5.server内的模型留空[]进入Hiyori UI后再加载模型 6.webui块的模型路径根据你自己的模型位置进行修改
ctrl将所有的config.json路径都替换为configs/config.json 全部配置文件内容如下
# 全局配置
# 对于希望在同一时间使用多个配置文件的情况例如两个GPU同时跑两个训练集通过环境变量指定配置文件不指定则默认为./config.yml# 拟提供通用路径配置统一存放数据避免数据放得很乱
# 每个数据集与其对应的模型存放至统一路径下后续所有的路径配置均为相对于datasetPath的路径
# 不填或者填空则路径为相对于项目根目录的路径
dataset_path: # 模型镜像源默认huggingface使用openi镜像源需指定openi_token
mirror: openi
openi_token: 824fc7f0a921968883b708ea1ad64fe015894b37 # openi token# resample 音频重采样配置
# 注意 “:” 后需要加空格
resample:# 目标重采样率sampling_rate: 44100# 音频文件输入路径重采样会将该路径下所有.wav音频文件重采样# 请填入相对于datasetPath的相对路径in_dir: dataset_raw/XFQLS # 相对于根目录的路径为 /datasetPath/in_dir# 音频文件重采样后输出路径out_dir: dataset/XFQLS# preprocess_text 数据集预处理相关配置
# 注意 “:” 后需要加空格
preprocess_text:# 原始文本文件路径文本格式应为{wav_path}|{speaker_name}|{language}|{text}。transcription_path: filelists/clean_barbara.list# 数据清洗后文本路径可以不填。不填则将在原始文本目录生成cleaned_path: # 训练集路径train_path: filelists/train.list# 验证集路径val_path: filelists/val.list# 配置文件路径config_path: configs/config.json# 每个语言的验证集条数val_per_lang: 4# 验证集最大条数多于的会被截断并放到训练集中max_val_total: 12# 是否进行数据清洗clean: true# bert_gen 相关配置
# 注意 “:” 后需要加空格
bert_gen:# 训练数据集配置文件路径config_path: configs/config.json# 并行数num_processes: 4# 使用设备可选项 cuda 显卡推理cpu cpu推理# 该选项同时决定了get_bert_feature的默认设备device: cuda# 使用多卡推理use_multi_device: false# emo_gen 相关配置
# 注意 “:” 后需要加空格
emo_gen:# 训练数据集配置文件路径config_path: configs/config.json# 并行数num_processes: 4# 使用设备可选项 cuda 显卡推理cpu cpu推理device: cuda# 使用多卡推理use_multi_device: false# train 训练配置
# 注意 “:” 后需要加空格
train_ms:env:MASTER_ADDR: localhostMASTER_PORT: 10086WORLD_SIZE: 1LOCAL_RANK: 0RANK: 0# 可以填写任意名的环境变量# THE_ENV_VAR_YOU_NEED_TO_USE: 1234567# 底模设置base:use_base_model: falserepo_id: Stardust_minus/Bert-VITS2model_image: Bert-VITS2_2.3底模 # openi网页的模型名# 训练模型存储目录与旧版本的区别原先数据集是存放在logs/model_name下的现在改为统一存放在Data/你的数据集/models下model: data/XFQLS/models# 配置文件路径config_path: configs/config.json# 训练使用的worker不建议超过CPU核心数num_workers: 5# 关闭此项可以节约接近70%的磁盘空间但是可能导致实际训练速度变慢和更高的CPU使用率。spec_cache: False# 保存的检查点数量多于此数目的权重会被删除来节省空间。keep_ckpts: 15# webui webui配置
# 注意 “:” 后需要加空格
webui:# 推理设备device: cuda# 模型路径model: models/G_8000.pth# 配置文件路径config_path: configs/config.json# 端口号port: 7860# 是否公开部署对外网开放share: false# 是否开启debug模式debug: false# 语种识别库可选langid, fastlidlanguage_identification_library: langid# server-fastapi配置
# 注意 “:” 后需要加空格
# 注意本配置下的所有配置均为相对于根目录的路径
server:# 端口号port: 5000# 模型默认使用设备但是当前并没有实现这个配置。device: cuda# 需要加载的所有模型的配置可以填多个模型也可以不填模型等网页成功后手动加载模型# 不加载模型的配置格式删除默认给的两个模型配置给models赋值 [ ]也就是空列表。参考模型2的speakers 即 models: [ ]# 注意所有模型都必须正确配置model与config的路径空路径会导致加载错误。# 也可以不填模型等网页加载成功后手动填写models。models:- # 模型的路径model: # 模型configs/config.json的路径config: # 模型使用设备若填写则会覆盖默认配置device: cuda# 模型默认使用的语言language: ZH# 模型人物默认参数# 不必填写所有人物不填的使用默认值# 暂时不用填写当前尚未实现按人区分配置speakers:- speaker: 科比sdp_ratio: 0.2noise_scale: 0.6noise_scale_w: 0.8length_scale: 1- speaker: 五条悟sdp_ratio: 0.3noise_scale: 0.7noise_scale_w: 0.8length_scale: 0.5- speaker: 安倍晋三sdp_ratio: 0.2noise_scale: 0.6noise_scale_w: 0.8length_scale: 1.2- # 模型的路径model: # 模型configs/config.json的路径config: # 模型使用设备若填写则会覆盖默认配置device: cpu# 模型默认使用的语言language: JP# 模型人物默认参数# 不必填写所有人物不填的使用默认值speakers: [ ] # 也可以不填# 百度翻译开放平台 api配置
# api接入文档 https://api.fanyi.baidu.com/doc/21
# 请不要在github等网站公开分享你的app id 与 key
translate:# 你的APPIDapp_key: # 你的密钥secret_key: