新版本的GPT-SoVITS V2,带来了声音克隆技术的全新突破,无论是游戏角色还是现实明星,都能轻松实现声音定制。
游戏角色声音克隆
![](https://pic3.zhimg.com/80/v2-039e97e2c4b7c63616ce60ef85936dce_1440w.webp)
直面天命,最近黑神话悟空刷爆了各大平台,何不试试用GPT-SoVITS克隆悟空的声音?只需几步,你就能重现《大话西游》里那些令人难忘的经典台词!
[https://www.zhisk.com/wp-content/uploads/2024/08/heishenghua.mp3 播放MP3]
现实明星声音克隆
想象一下,每天早上都是你最喜欢的明星叫你起床。你准备好体验了吗?先来听听我的闹钟吧。
[https://www.zhisk.com/wp-content/uploads/2024/08/damimi.mp3 播放MP3]
听出来是谁在叫我起床了吗?没错,有了GPT-SoVITS V2,这一切都变得触手可及!只需提供一段简单的音频样本,再输入你想要她说的话,你也能拥有独一无二的声音体验。
心里是不是已经有了很多有趣的点子?赶快试试GPT-SoVITS V2,让你的创意变成现实吧!
GPT-SoVITS V2模型新特点(v2模型新特点)
(1)SoVITS:对低音质参考音频(尤其是来源于网络的高频严重缺失、听着很闷的音频)合成出来音质更好
SoVITS:提高了低质量参考音频(尤其是来自互联网的高频损失严重、声音低沉的音频)的合成质量。
(2)加大训练集到5k小时,零射击性能更好的音色基础
增加训练数据集:扩充至5k小时,增强零样本性能,使音色更加相似。
(3)增加2个语种,现在可训练5个语种之间相互跨语种合成(跨语种合成,指集、参考音频语种和需要合成的语种不同)
增加两种语言:现在支持五种语言之间的跨语言合成(跨语言合成意味着训练数据集、参考音频语言和要合成的语言都可以不同)。
(4)更好的文本前端:持续迭代更新。v2中英文加入了多音字优化。
改进的文本前端:持续更新。对于 v2,中文和英文已针对多音字符进行了优化。
获取指南:
- 一键整合包获取:关注公众好 InnoTechX,发送 “gsv” 获取。
- 一键启动,不用配置复杂环境。
- 下载不用开会员、取决你的网速
前置条件:
- 适用于 Windows 用户(Windows 10 及以上版本),英伟达显卡6G及以上。
使用步骤:
- 下载解压包并解压到本地目录。
- 进入目录后,点击 go-webui.bat 即可启动程序。
注意:程序运行期间,请勿关闭 cmd 命令窗口。
TTS 推理一条龙:
一、音频处理(音频有背景音乐的需要处理,如果是干声直接跳过看第二步)
首先要处理音频,保证音频只有人声。有两种方式,使用次数少直接使用第一种方式
①使用在线网站处理 https://vocalremover.org/zh/
![](https://pic1.zhimg.com/80/v2-431908ebf9d816fcdb8feb3551260058_1440w.webp)
在去人声界面 选择音频文件上传
![](https://pic2.zhimg.com/80/v2-22946d373cb3797ee262ff6ece708489_1440w.webp)
等待处理结束后,将音乐拉低,人声拉到最高,保存下载人声,即可进行第二步,无需再使用UVR5处理。这样直接获取比较纯净的人声
![](https://pic3.zhimg.com/80/v2-18c1baefbe85c0c3aff70aae7d55e9ba_1440w.webp)
②使用GPT-SoVITS自带UVR5处理。(比较麻烦,如果使用次数少直接使用第一种方式)
1.点击 go-webui.bat 启动程序后,会有网页弹出
![](https://pic4.zhimg.com/80/v2-ad4261863db609f95dc7c8ba65e8d387_1440w.webp)
![](https://pic1.zhimg.com/80/v2-44f5697009bc6d8aedfb861350e5fe84_1440w.webp)
2.点击是否开启UVR5-WebUI,稍等查看cmd输出,没有报错,便会自动打开UVR5-WebUI网页
![](https://pic4.zhimg.com/80/v2-c3df7ab37d5cdc9d8cd496978585486b_1440w.webp)
![](https://pic2.zhimg.com/80/v2-32abb1328aa9f7bd058b0a4d20265b55_1440w.webp)
如果cmd窗口没有报错,但是浏览器没有弹出跳转,自己手动输入http://localhost:9873/ 到浏览器跳转
3.将自己准备好的音频文件的路径输入到路径输入框,或者直接拖拽到选择框
选择HP2_all_vocals处理,点击转换,等待处理完成
![](https://pic2.zhimg.com/80/v2-4ac98f45a347fdddc984ccd99952fff9_1440w.webp)
4.处理完后在输出目录会多两个文件,再次进行onnx_dereverb处理。将vocal开头的文件拖到文件选择框,选择onnx_dereverb处理
![](https://pic1.zhimg.com/80/v2-e8ddde0ca49a012872f7d20245814eb8_1440w.webp)
![](https://pic4.zhimg.com/80/v2-868c2fcefadd84cf39334a5cdf87f39f_1440w.webp)
处理过程中,可能会卡住,比如我使用时在33%进度卡主,需要关掉cmd命令窗口,重新按之前步骤打开UVR5,继续把上面图片标注的文件拖进来重新处理
![](https://pic1.zhimg.com/80/v2-d23f696826b1c07fe75fe3c01b984658_1440w.webp)
5.处理完后在输出目录又会多两个文件,再次进行VR-DeEcho-Aggressive处理。将后缀是flac_main_vocal.flac拖到文件选择框,下图已经标注,选择VR-DeEcho-Aggressive处理,导出文件格式 现在需要更改一下,不然等下难得找到,这里选择wav,不再是之前的flac格式
![](https://pic4.zhimg.com/80/v2-deaf1a8868feafc86979125ba01917bb_1440w.webp)
![](https://pic3.zhimg.com/80/v2-9f394fd5795ae4388c31d74fbccd78e6_1440w.webp)
![](https://pic1.zhimg.com/80/v2-710419d78223d18c9097f3ad447badc8_1440w.webp)
最后得到的这个文件,就是我们要使用的比较纯净的人声音频文件
![](https://pic3.zhimg.com/80/v2-0389300dfaae7cd5a853d1b56cb0773e_1440w.webp)
UVR5处理有点复杂,还是建议使用步骤①
二、语音切分
1.U回到之前的界面,也就是 http://localhost:9874/,勾选掉之前的UVR5处理,节省点显存
![](https://pic4.zhimg.com/80/v2-c3df7ab37d5cdc9d8cd496978585486b_1440w.webp)
2.输入之前的音频文件目录,修改切分后的根目录,建议加入子目录。
![](https://pic4.zhimg.com/80/v2-222310d01a47ab33999082f195e629e3_1440w.webp)
比如我在slicer_opt后面加入damimi子目录
![](https://pic2.zhimg.com/80/v2-d2589ecf7567feed90823540946ba6a9_1440w.webp)
这里的其他参数基本可以不做修改,点击 开始语音切割,在设置好的输出目录就可以看到切分好的音频文件。
![](https://pic3.zhimg.com/80/v2-5df6c2e0ff13e5a2c179ff2ef6c2641e_1440w.webp)
三、语音打标
打标就是给每个音频配上文字,这样才能让AI学习到每个字该怎么读。这里的标指的是标注
1.先对声音进行识别,生成对印的文本内容。
![](https://pic3.zhimg.com/80/v2-17129fedef21d6c1c73be2cfe9e55dae_1440w.webp)
这里的 输入文件夹路径 需要修改成第二步中的语音分段路径,你的要填入你对应的全路径。ASR模型,是中文就选择中文,是其他语言选择Whisper多语种即可。
![](https://pic1.zhimg.com/80/v2-8c4e658ecdbf0d0b4f7ebf09bc112aa0_1440w.webp)
点击开启离线批量ASR,可以在cmd查看进度信息。
![](https://pic1.zhimg.com/80/v2-0de89e56640003c1ff6b831875d03a64_1440w.webp)
显示任务完成,就可以在输出目录 output/asr_opt/ 看到 damimi.list文件
![](https://pic3.zhimg.com/80/v2-fa256af5500d55be1f829a1ba5b017ce_1440w.webp)
可以打开浏览,发现都是音频文件对应的文本内容。
![](https://pic3.zhimg.com/80/v2-bc371ead440a928d19bcc9830c2eaab6_1440w.webp)
2.打标注(如果你想快速体验效果,不追求质量,也可以直接跳过)
![](https://pic4.zhimg.com/80/v2-89f81825132d955fe025fcf305826537_1440w.webp)
这里一般会自动喂饭,不用输入list标注文件路径,没有就自己输入,点击 勾选 是否开启打标WebUI,稍等几秒会弹出一个新的网页。有的时候会抽风,关掉cmd,重新输入list标注文件地址,重新勾选勾选是否开启打标WebUI,等待网页打开即可。
![](https://pic3.zhimg.com/80/v2-078d88234839096c03d2f311de2e1d4e_1440w.webp)
对于上图的英文翻译,从左到右
跳转页码(Change Index)、保存修改(Submit Text)、合并音频(Merge Audio)、删除音频(Delete Audio)、上一页(Previous Index)、下一页(Next Index)、分割音频(Split Audio)、保存文件(Save File)、反向选择(Invert Selection)。
3.校对标注
这个页面看起来按钮比较多,但是常用的也就那几个。我们需要检查Text文本和音频内容是否相同,如果有错误的地方,就需要人工修改。部分音频太短的,没有参考价值可以直接删除。不建议使用合并功能,有bug。。。
![](https://pic3.zhimg.com/80/v2-078d88234839096c03d2f311de2e1d4e_1440w.webp)
下面举例如何合并
![](https://pic1.zhimg.com/80/v2-a968204f62703bdfe6b79cf23e65e0fc_1440w.webp)
![](https://pic1.zhimg.com/80/v2-dcfe38f8b7a75f9096a9972c1bdc0138_1440w.webp)
按照上图顺序就可以合并音频。
假设现在你已经完成了校对标注,点击 Save File保存标注文件。回到之前的界面,将打标注界面关掉,节省显存,当然显存大也可以不管
![](https://pic2.zhimg.com/80/v2-5cdf62012e0b9afa9e8d8c8daef2d2a1_1440w.webp)
四、训练数据集格式化
切换到分栏 1.GPT-SoVITS-TTS进行训练模型
![](https://pic1.zhimg.com/80/v2-45e45461c7b2369cc49c42086bbf5cb0_1440w.webp)
按照上述步骤操作设置,设置完毕,滑动到网页最底部,点击 开启一键三连
![](https://pic2.zhimg.com/80/v2-18ce780563e147882751d55eb918cb0d_1440w.webp)
查看cmd进程,软件本身有一些bug,有时可能会卡主不动。
![](https://pic3.zhimg.com/80/v2-aaf0a8c6d4cabd88f105b5dc8843f102_1440w.webp)
比如我这里cmd长时间停止在这个界面,肯定是不对的,关闭cmd窗口,按照上文说的重新启动go-webui.bat,再次进入这一步即可。
类似这种输出代表执行成功
![](https://pic4.zhimg.com/80/v2-887f0fa9e72f52d7bced599788c03187_1440w.webp)
也可以到logs目录中,成功执行里面有三个文件夹和两个文件,三个文件夹里面有文件基本代表执行成功,如下图标注所示
![](https://pic2.zhimg.com/80/v2-17307562ebbd29f6e58b063485934799_1440w.webp)
如果重试依然执行失败,请更换声音素材重新尝试
五、训练模型
1.开启SoVITS训练
依然是在分栏 1.GPT-SoVITS-TTS进行处理,他下面还有个微调训练,也就是叫做训练模型。
![](https://pic4.zhimg.com/80/v2-f904ec564662c4536ec14f64792a56b7_1440w.webp)
图上所示参数基本可以默认。除了batch_size和总训练轮数简单设置一下
batch_size:6g设置1 8g设置212设置5 16g设置8 22g设置12 24设置14
这个当然要看你显卡体质,你可以观察任务管理器,跑满了就降低一点,剩余多,就停止掉训练调高一点,这里没有什么是固定的说法。
总训练轮数:长一点的音频素材可以设置15,短一点的推荐默认的8即可。
先开启SoVITS训练,完成后再 开启GPT训练,这里我们点击开始SoVITS训练
![](https://pic4.zhimg.com/80/v2-2bf580f70f6ecc394b06990534861007_1440w.webp)
查看cmd非常必要,我执行时,cmd界面又卡住,一样的,关掉cmd窗口,重启软件,界面这样才是正常的,软件本身有一堆bug
![](https://pic2.zhimg.com/80/v2-11d88b828c66c077a63f961401425281_1440w.webp)
正常执行界面,也可以切出任务管理器,查看GPU显存占用有没有波动,cmd没有输出,GPU显存一定时间没有波动,那就是要重新启动了,因为程序卡主了。
![](https://pic4.zhimg.com/80/v2-70dd1c90790cd7201b10c6e9e018f6cb_1440w.webp)
cmd输出窗口可以看到执行的批次,划线处
![](https://pic2.zhimg.com/80/v2-01c01e159ca59b100d3eefda853361d1_1440w.webp)
我设置的批次是8,完成后的cmd窗口输出和软件界面提示一并放出。
![](https://pic1.zhimg.com/80/v2-774bfc642e5da37b8d11f96563a4713c_1440w.webp)
![](https://pic3.zhimg.com/80/v2-7bf99b744581b96bfb90f5ab6b7df07e_1440w.webp)
我的声音素材时长大概3分钟,可以重新调整总训练轮数为15重新训练。具体看你要求,一般总训练轮数15基本已经满足使用了。
2.开启GPT训练
![](https://pic2.zhimg.com/80/v2-5f0f54aec1b1326d62f0b92e1746ec05_1440w.webp)
batch_size和总训练轮数和1中所述的一样设置即可,开始GPT训练
点击后cmd一段时间没输出就关掉重开,不得不说bug是真多
正常界面应该是这样的
![](https://pic4.zhimg.com/80/v2-24ecea34d83fe196576575c772ff4777_1440w.webp)
处理完成的界面显示
![](https://pic4.zhimg.com/80/v2-55f424c04a35489dc30ddfc7ffaa297f_1440w.webp)
SoVITS 和 GPT训练都完成后,就可以在模型目录查看到这两个模型
![](https://pic1.zhimg.com/80/v2-6bec03b7ce2494dfae83a7a1b7ed06e8_1440w.webp)
![](https://pic2.zhimg.com/80/v2-5346e978d87e6674219e9307281a2825_1440w.webp)
![](https://pic3.zhimg.com/80/v2-77c61adc9a24ddc2a35fe888c0416406_1440w.webp)
你训练好的模型也可以发送给别人,别人复制到相同目录下,就可以实现根据模型克隆语音。
六、克隆声音
这也是最后一个环节了,用之前训练好的模型克隆声音。
先切换分栏到推理界面,然后点击刷新模型
![](https://pic4.zhimg.com/80/v2-5eb7da6d21be6f571059aeaae8cfe913_1440w.webp)
在GPT模型列表和SoVITS模型列表选择之前训练的模型即可,一般选择训练轮数最大的,和步数最多的,e代表轮数,s代表步数
![](https://pic3.zhimg.com/80/v2-a2197c20e00adfe387b2ca6356f257da_1440w.webp)
![](https://pic1.zhimg.com/80/v2-a41eb5c9a1d38053b5435d71896acd90_1440w.webp)
再勾选下面箭头指向处,会自动打开新的网页
![](https://pic2.zhimg.com/80/v2-1cd65ae55493c5c1679deebb426d7f61_1440w.webp)
![](https://pic4.zhimg.com/80/v2-d4777ef2c3165539b36e33304230767b_1440w.webp)
可以在之前的音频切分找到需要使用的素材
![](https://pic2.zhimg.com/80/v2-cbf2f5a484ccafa1d44269e1b0367d21_1440w.webp)
拖拽进去
![](https://pic1.zhimg.com/80/v2-c492b1b5ba1cfc981f66b07b743bf09c_1440w.webp)
找到之前的打标文件,找到对应的文本复制
![](https://pic2.zhimg.com/80/v2-f9c76edacb17c9b765e2d602e255ee85_1440w.webp)
![](https://pic2.zhimg.com/80/v2-cdf094c98101ec35a0d60e6196340b21_1440w.webp)
如下图按照顺序,在序号③中填入你想要让他说的话,第④个序号中,怎么切一般选择按中文句号切
![](https://pic2.zhimg.com/80/v2-86f0d7e5a91a75d69455d273e024edf5_1440w.webp)
![](https://pic3.zhimg.com/80/v2-06c5c79a3eb7253727398a77cf40fc8a_1440w.webp)
最后点击合成语音即可
![](https://pic1.zhimg.com/80/v2-53389e3f06d7bcf45e30ef570c9dd09c_1440w.webp)
好的,教程到此结束,谢谢大家的观看,有问题可以通过公众好加入星球联系提供支持。