今天给大家分享一个声音克隆的项目。我们只要上传一分钟的语音,就可以完美复刻任意角色的语音语气、语调,实现声音情感的真实复刻,而且它还支持中日英等多个语种。我为大家制作了Windows版本和Mac版本的整合包(文章末尾自取)
首先听下我用了四位朋友的一分钟的语音素材来训练的音频效果。
声音演示
下面我分享制作流程,篇幅较长,多图,但是步骤很简单。
安装与启动
Win:
Windows用户将下载好的压缩包解压到本地目录,双击
启动器.exe
即可。
耐心等待一会儿,会自动打开一个网页。这就是程序的主界面。
Mac:
Mac用户由于权限设置会比Windows相对麻烦些,首先解压压缩包,来到项目路径下,我们看到这两个文件是文稿形式,这时我们需要开启下文件权限才可以使用。
回到最外层文件夹,也就是你解压包所在的目录。
打开
终端
。
输入指令**
sudo chmod -R 777
**,然后将文件夹拖拽进
终端
内。
完整命令,别忘了777后有个
空格
之后按下回车。这时需要输入屏幕密码,我们输入密码后按回车。(输入的时候密码不会显示)
执行完毕,我们可以将
终端
窗口关闭。
再次回到项目目录内,可以看到刚才的两个文件已经变成
Unix可执行文件
的格式。这就代表成功了,如果这两个文件没变成
Unix可执行文件
的格式,你需要检查下上一步是否正确执行。
接下来,Mac用户还需要开启
允许任何来源APP
的权限才可以完全使用。如果你不知道你的电脑是否开启了这个选项,你可以进入系统设置--隐私与安全性--安全性,查看是否是
任何来源
选项。
如果你已经开启,请忽略下面的步骤,如果不是
任何来源
选项,根据下面步骤开启。
双击来源开启。
选择打开。
提示需要输入锁屏密码。输入完毕后按回车。
显示开启成功,可以将
终端
窗口关掉。
到这里为止,Mac用户使用前的权限都开启了。后续使用无需重复执行以上步骤,直接点击
启动器
启动即可。
双击
启动器
。弹出的询问框点击打开。
耐心等待一会儿,会自动打开一个网页。这就是程序的主界面。
开始操作
从这里开始,Windows用户和Mac用户的操作步骤是一样的。
分三大步骤:
- 数据集处理。
- 模型训练。
- 推理模型。
数据集处理
请认真准备数据集!以免后面出现各种报错,和炼出不理想的模型!好的数据集是炼出好的模型的基础!
首先我们需要准备一段音频文件,准备一段人物说话的音频即可。
音频标准:
- 音频里不要有嘈杂的环境音、噪音、背景音乐等。
- 音频长度30s-60s。
- 音频格式为wav。
下面是我用的音频,可以参考下:
原音频参考
如果你的音频里有背景音乐等杂音,需要执行下面步骤进行处理,如果没有请忽略。
音频处理
勾选此选项,然后会自动进入声音处理界面。
第一步拖拽需要处理的音频。第二步根据说明来选择对应的模型,一般选择HP3就足够了。第三步选择导出文件格式为
WAV
。
然后点击转换,耐心等待一会儿。
当输出信息这一栏有Success字样就完成了音频的处理。
可以在项目路径下:
output
--
uvr5_opt
文件夹下找到处理的两个音频文件。一个是伴奏,一个是人声。我们训练需要用到人声部分。
处理完毕后我们来到主界面将这个选项关闭。
音频切分
这里填入准备好的音频路径。然后点击
开启语音切割
。
切分好的音频在
GPT-SoVITS-main/output/slicer_opt
文件夹内。
音频降噪
这一步根据你的音频质量来,如果噪音不大,此步骤可以忽略不执行。
这里填入上一步切分好的音频路径。点击
开启语音降噪
。
降噪完成。
降噪完成的音频文件在
GPT-SoVITS-main/output/denoise_opt
文件夹内。
音频打标
这一步只需要填写
输入文件夹路径
。如果你音频降噪过,那么是**
GPT-SoVITS-main/output/denoise_opt
文件夹,如果你切分了没有降噪,那么是
GPT-SoVITS-main/output/slicer_opt
文件夹。其他选项保持默认,然后点击
开启离线批量ASR
**。
补充:这里模型选项默认是中文,如果你想训练中英混合的模型、日文、韩文等其他语言。你需要在ASR模型选项选择
Faster Whisper (多语种)
,ASR语言设置选择
auto
。
校对标注
这一步比较费时间,如果不追求极致效果,可以忽略这一步。
填入标注文件的路径。**
GPT-SoVITS-main/output/asr_opt/denoise_opt.list
**
勾选
是否开启打标WebUI
然后会跳转到打标网页,红框区域是根据音频生成对应的文字。黄框区域是对应的音频。这一步要做的是试听,然后根据音频来修改前面的文字和断句。
比如我们根据音频在句子中增加
,
来断句。
修改前:
修改后:
修改完后需要点击
Submit Text
和
Save File
来保存。
如果你的音频文件很长,你需要进行翻页操作对每句话进行校对,
Previous Index
和
Next Index
是上一页和下一页。
当你校对完成后,记得保存,随后关闭这个页面就可以了。回到主界面,关闭勾选。
output目录文件夹介绍。没执行过降噪或者是音频处理就不会有
denoise_opt
、
uvr5_opt
文件夹。
模型训练
训练集格式化
接下来开始训练模型,点击
GPT-SoVITS-TTS
进入新的界面。
选择
训练格式化工具
这一栏。在训练模型前我们需要对数据集进行修改操作。
这里填写标注文件的路径**
GPT-SoVITS-main/output/asr_opt/denoise_opt.list
**
点击
一键三连
。其他
开启文本获取
、
开启ssl提取
、
开启语义token提取
选项不用执行。一键三连会自动执行上述步骤。
执行完毕后我们可以看到**
GPT-SoVITS-main/logs
文件夹下会生成一个跟模型名一样的文件夹。(模型名称可以修改,不要用中文)**
微调训练
进入
微调训练
这一栏
这里需要调整SoVITS训练参数和GPT训练参数,
每张显卡的batch_size
和
总训练轮数
我这里设置的是15,总训练轮数一般设置成10。这两个参数根据电脑配置来自行调整。
训练轮数
千万不能高于20。
学习率
保持默认值。保存频率设置为5。其他选项为默认。
然后先点
开启SoVITS训练
,训练完后再点
开启GPT训练
,不可以一起训练(除非你有两张卡)!如果中途中断了,直接再点开始训练就好了,会从最近的保存点开始训练。
两个训练都完成后我们可以去模型文件夹确认下。两个训练生成的模型分别在
GPT-SoVITS-main/SoVITS_weights
和
GPT-SoVITS-main/GPT_weights
文件夹内。
模型推理
来到推理界面
点击
刷新模型路径
。
选择对应的模型,e代表轮数,s代表步数。不是轮数越高越好,这里我选择了最低的轮数5进行推理。如果你选择轮数为5的推理后的音频效果不理想,可以选择更高轮数的模型。
勾选打开推理界面。
推理界面
确认下模型是否跟我们刚才选的一样。
然后上传一段参考音频,建议是数据集中的音频。最好5秒。参考音频很重要!会学习语速和语气,请认真选择。
这里我选择的是降噪切分后的音频。
参考音频的文本是参考音频说什么就填什么,语种也要对应。
接着就是输入要合成的文本了,注意语种要对应。切分选择
凑50字一切
,没超过50字的不会切。然后点击合成语音。
生成的语音
生成音频
如果你要合成的文本中有英文,你需要选择对应的语种。
如果你发现选择中英混合或者其他语种推理的音频效果不太理想,你的准备音频可以是中英混合的,中文掺杂着英文,然后生成标注的时候就选择多语种。
至此,我们训练好了一个声音模型并可以用它生成任何音频。
整合包获取
关注公众号,发送0301关键字获取整合包
常见问题:
如何训练第二个模型?
将以下几个路径下的文件移走或者删除。否则第二次训练的时候会造成数据混淆。
标注文件夹**
GPT-SoVITS-main/output/asr_opt
**
噪音音频切分文件夹**
GPT-SoVITS-main/output/denoise_opt
**
音频切分文件夹**
GPT-SoVITS-main/output/slicer_opt
**
如果你第二次不修改模型名字,那你需要将
GPT-SoVITS-main/logs/
文件夹内的模型同名文件夹移走或删除。也可以直接修改模型名字。
如何分享我训练的模型?
将下面这两个路径下的文件粘贴到别人的同样的目录下即可。
**
GPT-SoVITS-main/SoVITS_weights
**
**
GPT-SoVITS-main/GPT_weights
**
怎么样才算训练好一个模型?
这个问题其实没有一个准确答案,模型的训练取决于你的数据集质量、时长,轮数,等因素。每次训练完成后听下看看是否满足你的心里预期。如果你的模型推理出来的效果一直不理想,你应该重点关注下你的数据集是否有问题。
感谢
本次的分享结束啦,最后感谢樱子老师、阳光老师、贝贝老师、翅膀同学提供的音频素材。
本文出现的所有音频仅供参考,未经授权禁止商用。
如果本文对您有帮助,还请点个赞,感谢您的阅读。
版权归原作者 嘟嘟实验室 所有, 如有侵权,请联系我们删除。