实战:MOSS的语音合成训练

实战:MOSS的语音合成训练

上篇文章我们搭建好了WSL的环境,那么基本上我们运行项目应该没啥问题了。如果没看过的可以参考:WSL训练VITS模型环境搭建

首先进入WSL,然后拉下项目代码(项目地址在文章最底部)

git clone 项目地址

之所以用这个项目是因为,这个项目我们只准备好音频文件即可,不需要再做其他操作,其他的标注等操作代码中都可以自动实现,按照步骤来就行。

但是呢,这个项目中并没有给出ipynb文件,直接在README.md中给出了一个谷歌colab的地址

实战:MOSS的语音合成训练

实战:MOSS的语音合成训练

 

当然,大家可以通过一些魔法方法在Colab中进行训练,文档说明已经很详细了。我因为一些个人原因(上篇提到过),于是就在本地的WSL进行训练了。

所以我把这个文档下载了下来,本地启动了一个jupyter来方便我查看操作,本地操作的话肯定就不是傻瓜式的了,还得去翻翻代码看看。

实战:MOSS的语音合成训练

 

好,现在参考教程文档也准备好了。

项目初始化

根据文档,首先我们克隆项目,装上依赖

git clone https://github.com/Plachtaa/VITS-fast-fine-tuning.gitpip install imageio==2.4.1pip install --upgrade youtube-dlpip install moviepy

随后,我们进入项目,装一下requirements.txt的依赖

cd VITS-fast-fine-tuningpip install -r requirements.txt

注意,上篇中也提到了,因为我们已经装了针对自己电脑环境的cuda的torch版本,所以把requirements中的下面框中的删了即可

实战:MOSS的语音合成训练

 

删掉。

随后我们继续配置好目录

cd monotonic_align/mkdir monotonic_alignpython3 setup.py build_ext --inplacecd ..mkdir pretrained_models
wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/sampled_audio4ft.zipunzip sampled_audio4ft.zip
mkdir video_datamkdir raw_audiomkdir denoised_audiomkdir custom_character_voicemkdir segmented_character_voice

选择模型类型,下面两个选项根据自己的想法二选一即可

# 选项一:中日英语 执行wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/D_trilingual.pth -O ./pretrained_models/D_0.pthwget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/G_trilingual.pth -O ./pretrained_models/G_0.pthwget 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.pthwget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/G_0-p.pth -O ./pretrained_models/G_0.pthwget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/config.json -O ./configs/finetune_speaker.json

至此项目初始化完毕。

数据集

数据集的话我直接在百度飞浆找到了MOSS导航语音包以及电影中的语音数据集

https://aistudio.baidu.com/aistudio/datasetoverview

实战:MOSS的语音合成训练

下面的我自己做数据集的部分可忽略

然后我又去猫眼下载了预告片

https://www.maoyan.com/films/1366696

又看了一遍流浪地球1特别版,录制了一些视频

然后通过PR将MOSS说话的片段剪辑出来

实战:MOSS的语音合成训练
随后通过Ultimate Vocal Remover工具做语音提取
https://github.com/Anjok07/ultimatevocalremovergui/

最后用PR将数据分为单独的小段,其实自己做不做没啥区别,因为跟飞浆上的有不少重复的,用飞浆的也可以,这里数据集只要是短音频即可。

然后我把所有小片段的音频文件压缩为MOSS.zip,放到项目的文件夹下。

实战:MOSS的语音合成训练

 

解压数据集到对应目录

unzip MOSS.zip -d ./custom_character_voice/

实战:MOSS的语音合成训练

然后进行数据集格式的预处理
# 将所有视频(无论是上传的还是下载的,且必须是.mp4格式)抽取音频python3 video2audio.py# 将所有音频(无论是上传的还是从视频抽取的,必须是.wav格式)去噪python3 denoise_audio.py# 标注短音频,注意,如果选的是中日英则写CJE,中日则写CJpython3 short_audio_transcribe.py --languages "CJE" --whisper_size medium

至此,数据集处理完毕。

模型训练

我们先进行训练方式的配置

# 如果满足以下条件:# 总样本少于100条# 样本包含角色只有1人# 样本质量一般或较差# 模型为CJE的时候# 样本来自爬取的视频# 希望保留预训练模型的原说话人(赛马娘&原神角色)# 则可以执行下面的语句,效果好一点python3 preprocess_v2.py --add_auxiliary_data True
# 否则可以执行下面# 注:CJ的时候必须执行下面python3 preprocess_v2.py

开始训练模型

# max_epochs为训练次数,默认的是30的时候,正常情况下效果会好点# 如果上面步骤添加了 --add_auxiliary_data True 则执行python finetune_speaker_v2.py -m "./OUTPUT_MODEL" --max_epochs "30"# 否则执行python finetune_speaker_v2.py -m "./OUTPUT_MODEL" --max_epochs "30" --drop_speaker_embed True

这里我实际测试了很多次,发现如果是训练MOSS的话,采用辅助语料进行训练,即--add_auxiliary_data True,那么会训练出说话带预期的MOSS语音,效果还不太好。

所以,我选择了不适用辅助语料,直接训练千次,来查看效果,当然这样比较耗时间。

执行完上面的之后,便开始了训练。

下面的图是我训练100次的结果。

实战:MOSS的语音合成训练

等待训练完成后,我们需要尝试模型效果

cp ./configs/modified_finetune_speaker.json ./finetune_speaker.jsonpython3 VC_inference.py --model_dir ./OUTPUT_MODEL/G_latest.pth

等运行好之后,它会启动一个本地的web服务,我们直接访问

http://127.0.0.1:7860/

便可以开始试用模型了。

实战:MOSS的语音合成训练

注意点

一 训练备份

实战:MOSS的语音合成训练

在我们训练过程中,每训练若干次,就会在OUTPUT_MODEL文件夹中存储一份。

因为,不是训练时间越长效果就越好,所以,我这里采用的是大批量训练,然后准备将历史训练的一块对比,看看效果,选出最优的那个模型。

二根据项目仓库的介绍,在模型训练好之后

实战:MOSS的语音合成训练

可以下载仓库中的interence.exe文件,进行模型的使用

 

项目地址:

 

 

本文来源:微信公众号《 谋机SEC》

免责说明

本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

给TA打赏
共{{data.count}}人
人已打赏
Free资源

实战:WSL训练VITS模型环境搭建

2023-4-12 17:23:01

Code开源推荐Free资源

PHP+Mysql开发的采集系统 支持支持 wordpress、zblog、emlog、帝国cms、typecho对接

2023-4-13 11:36:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索