基于VITS 快速微调的本地环境配置、本地训练以及本地推理的教程

这篇具有很好参考价值的文章主要介绍了基于VITS 快速微调的本地环境配置、本地训练以及本地推理的教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该教程能教会读者如何使用本地服务器使用VITS微调训练自己的想要的角色的声音并且本地推理,注意只能使用linux版本进行训练,但是推理可以在windows上完成。

操作系统:Linux(Ubuntu20.04)
Python版本:3.9
使用Conda虚拟环境

STEP 0 使用conda配置虚拟环境(个人习惯,也可以直接在本地服务器上嗯配)

conda create -n vits python=3.9
activate vits

STEP 1 复制代码库并安装运行环境

git clone https://github.com/Plachtaa/VITS-fast-fine-tuning.git
pip install imageio==2.4.1
pip install --upgrade youtube-dl
pip install moviepy
cd VITS-fast-fine-tuning
pip install -r requirements.txt
cd monotonic_align/
mkdir monotonic_align
python setup.py build_ext --inplace
cd ..
mkdir pretrained_models
# download data for fine-tuning
wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/sampled_audio4ft.zip
unzip sampled_audio4ft.zip
# create necessary directories
mkdir video_data
mkdir raw_audio
mkdir denoised_audio
mkdir custom_character_voice
mkdir segmented_character_voice

记得没错的话会提示关于pyopenjtalk的报错,因为这个包是基于openjtalk的共享库之上的,要安装之前需要先安装共享库,打开https://github.com/r9y9/open_jtalk的travis.yml文件,按照上面的教程进行make编译(注意要先进行before_install部分的安装在执行script部分)。

STEP 1.5 选择预训练模型

中日英三语模型(在根目录执行)

wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/D_trilingual.pth -O ./pretrained_models/D_0.pth
wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/G_trilingual.pth -O ./pretrained_models/G_0.pth
wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/configs/uma_trilingual.json -O ./configs/finetune_speaker.json

中日双语模型(在根目录执行)

wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/D_0-p.pth -O ./pretrained_models/D_0.pth
wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/G_0-p.pth -O ./pretrained_models/G_0.pth
wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/config.json -O ./configs/finetune_speaker.json

STEP 2 配置训练数据集

可以选择上传视频,长音频,短音频进行训练,但所放置的位置不一样。

视频:./video_data/
长音频:./raw_audio/
短音频:./custom_character_voice/
1.其中短音频的格式是:
 ├───Character_name_1
 ├   ├───xxx.wav
 ├   ├───...
 ├   ├───yyy.mp3
 ├   └───zzz.wav
 ├───Character_name_2
 ├   ├───xxx.wav
 ├   ├───...
 ├   ├───yyy.mp3
 ├   └───zzz.wav
 ├───...
 ├
 └───Character_name_n
     ├───xxx.wav
     ├───...
     ├───yyy.mp3
     └───zzz.wav
质量要求:2秒以上,10秒以内,尽量不要有背景噪音。
数量要求:一个角色至少10条,最好每个角色20条以上。
2.以角色名命名的长音频文件,音频内只能有单说话人,背景音会被自动去除。命名格式为:{CharacterName}_{random_number}.wav
(例如:Diana_234135.wav, MinatoAqua_234252.wav),必须是.wav文件。
3.以角色名命名的长视频文件,视频内只能有单说话人,背景音会被自动去除。命名格式为:{CharacterName}_{random_number}.mp4
(例如:Taffy_332452.mp4, Dingzhen_957315.mp4),必须是.mp4文件。

STEP 3 自动处理所有加载的数据

对数据进行预处理

# 将所有视频(无论是上传的还是下载的,且必须是.mp4格式)抽取音频
python video2audio.py
# 将所有音频(无论是上传的还是从视频抽取的,必须是.wav格式)去噪
python denoise_audio.py
# 分割并标注长音频(如果没有就不用执行,{PRETRAINED_MODEL}如果用中日英就填写CJE,否则CJ)
python long_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size medium
标注短音频(如果没有就不用执行,{PRETRAINED_MODEL}如果用中日英就填写CJE,否则CJ)
!python short_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size medium
#运行好后会生成划分好训练/测试集的最终标注,以及配置文件 

辅助训练数据(ADD_AUXILIARY)是从预训练的大数据集抽样得到的,作用在于保留预设角色的音色,以及防止模型在新的数据上过拟合。该选项只有在选择CJE模型的时候才能使用  

#以下情况请选用:  

#总样本少于100/样本包含角色只有1/样本质量一般或较差/样本来自爬取的视频/希望保留预训练模型的原说话人(赛马娘&原神角色)  

python preprocess_v2.py --add_auxiliary_data True

#以下情况可以不选用:  

#总样本量很大/样本质量很高/希望加速训练/只有二次元角色

#样本仅包含单说话人会导致报错,请勾选ADD_AUXILIARY或加入几个dummy speaker绕过去  

python preprocess_v2.py

STEP 4 开始训练

#开始微调模型,在30轮训练后会自动结束。

#训练时长取决于你录入/上传的音频总数。

#根据声线和样本质量的不同,所需的训练epochs数也不同。但是一般建议设置为30 epochs  

#你也可以在Tensorboard中预览合成效果,若效果满意可提前停止。  

开启Tensorboard

tensorboard --logdir "./OUTPUT_MODEL"

如果开启了辅助训练数据(ADD_AUXILIARY请使用以下指令:

python finetune_speaker_v2.py -m "./OUTPUT_MODEL" --max_epochs "{Maximum_epochs}"
#{Maximum_epochs}为你想要训练的Epoch

否则执行以下指令:

python finetune_speaker_v2.py -m "./OUTPUT_MODEL" --max_epochs "{Maximum_epochs}" --drop_speaker_embed True
#{Maximum_epochs}为你想要训练的Epoch

STEP 5 本地推理

 直接下载https://github.com/Plachtaa/VITS-fast-fine-tuning/releases/download/webui-v1.1/inference.rar

下载好并且解压缩之后之后将训练好的模型文件G_latest.pth以及配置文件config.json(请先改名为finetune_speaker.json)放入inference的根目录目录中,然后运行inference就能愉快的玩耍啦!文章来源地址https://www.toymoban.com/news/detail-426533.html

到了这里,关于基于VITS 快速微调的本地环境配置、本地训练以及本地推理的教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI数字人:基于VITS模型的中文语音生成训练

            VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一种结合变分推理(variational inference)、标准化流(normalizing flows)和对抗训练的高表现力语音合成模型。         VITS模型是韩国科学院在2021年6月提出的,VITS通过隐变量而非频谱串联起来语

    2024年02月11日
    浏览(38)
  • Mx-yolov3环境配置+本地模型训练+K210

    文章目录 一、Mx-yolov3环境配置 二、模型训练 1.测试  2.数据集制作 3.VOTT标注与模型测试 三、部署到k210  1.模型转换  2.脚本运行  3.脱机运行  4.一个问题 四、总结 1. Mx-yolov3软件下载:链接:https://pan.baidu.com/s/1U0c6hk5PNdOwECnhu_XjuA                     提取码:fy22 2. 在安装

    2024年02月14日
    浏览(55)
  • AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练

            VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一种语音合成方法,它使用预先训练好的语音编码器 (vocoder声码器) 将文本转化为语音。         VITS 的工作流程如下:         (1)将文本输入 VITS 系统,系统会将文本转化为发音规则。

    2024年02月16日
    浏览(37)
  • MMdetection 环境配置、config文件解析以及训练自定义VOC数据集

    MMDetection是针对目标检测任务推出的一个开源项目,它基于Pytorch实现了大量的目标检测算法,把数据集构建、模型搭建、训练策略等过程都封装成了一个个模块,通过模块调用的方式,我们能够以很少的代码量实现一个新算法,大大提高了代码复用率。本文记录一下关于MMd

    2024年02月14日
    浏览(34)
  • 基于GPT3.5逆向 和 本地Bert-Vits2-2.3 的语音智能助手

    各位读者你们好,我最近在研究一个语音助手的项目,是基于GPT3.5网页版的逆向和本地BertVits2-2.3 文字转语音,能实现的事情感觉还挺多,目前实现【无需翻墙,国内网络发送消息,返回答案文字和语音】,网站已上线并未公开链接,以下是演示GIF: 前端使用uni-app完成,登录

    2024年01月24日
    浏览(46)
  • 民谣女神唱流行,基于AI人工智能so-vits库训练自己的音色模型(叶蓓/Python3.10)

    流行天后孙燕姿的音色固然是极好的,但是目前全网都是她的声音复刻,听多了难免会有些审美疲劳,在网络上检索了一圈,还没有发现民谣歌手的音色模型,人就是这样,得不到的永远在骚动,本次我们自己构建训练集,来打造自己的音色模型,让民谣女神来唱流行歌曲,

    2024年02月04日
    浏览(50)
  • 机器人训练环境isaac gym以及legged_gym项目的配置问题

    isaac gym是现阶段主流的机器人训练环境之一,而“https://leggedrobotics.github.io/legged_gym/”(下称legged_gym)则是入门isaac gym机器人训练的经典开源项目,博主在这里记录实现legged_gym项目过程中的部分环境配置过程: 首先在ubuntu系统中创建新的虚拟环境,python版本为3.8: 进入虚拟

    2024年01月24日
    浏览(45)
  • GPT-LLM-Trainer:如何使用自己的数据轻松快速地微调和训练LLM

    想要轻松快速地使用您自己的数据微调和培训大型语言模型(LLM)?我们知道训练大型语言模型具有挑战性并需要耗费大量计算资源,包括收集和优化数据集、确定合适的模型及编写训练代码等。今天我们将介绍一种实验性新方法,实现特定任务高性能模型的训练。 我们的目

    2024年02月11日
    浏览(41)
  • PyTorch 微调终极指南:第 1 部分 — 预训练模型及其配置

            如今,在训练深度学习模型时,通过在自己的数据上微调预训练模型来迁移学习已成为首选方法。通过微调这些模型,我们可以利用他们的专业知识并使其适应我们的特定任务,从而节省宝贵的时间和计算资源。 本文分为四个部分,侧重于微调模型的不同方面。

    2024年02月13日
    浏览(31)
  • 基于ChatYuan-large-v2 微调训练 医疗问答 任务

    上篇基于 ChatYuan-large-v2 语言模型 Fine-tuning 微调训练了广告生成任务,总体生成效果还可以,但上篇文章的训练是微调的模型全部的参数,本篇文章还是以 ChatYuan-large-v2 作为基础模型,继续探索仅训练解码器层参数,并在医疗问答任务上的效果如何。 下面是上篇文章的地址:

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包