GPT-SoVITS声音克隆效果很逼真,请谨慎使用
作者: 萤火遛AI 来源: 萤火遛AI
大家好,我是每天分享AI应用的萤火君!
GPT-SoVITS是B站大佬“花儿不哭”开源的低成本AI音色克隆软件,MIT协议,目的是造福所有普通人。
GPT-SoVITS 只需要少量语音微调训练(推荐1分钟,最少5秒钟),就可以快速克隆人物的音色;或者不训练直接推理,由参考音频的情感、音色、语速控制合成音频的情感、音色、语速;还可以跨语种生成,即参考音频(训练集)和推理文本的语种为不同语种。
目前 GPT-SoVITS 已经发布了 V2版本:对低音质参考音频合成出来音质更好;底膜训练集增加到5k小时,zero shot性能更好音色更像,所需数据集更少;增加韩粤两种语言,中日英韩粤5个语种均可跨语种合成;V2中还加入了多音字优化。
这篇文章就来介绍下 GPT-SoVITS 安装使用方法。
安装部署
环境要求
支持 CUDA 的 NVIDIA 显卡,至少 6G 以上显存。
Windows或者Linux操作系统,如果是苹果电脑,需要 macOS 14及以上更高版本。
如果本地电脑不满足,可以使用云环境,下文使用说明将以云环境为例。
部署说明
安装 GPT-SoVITS 比较简单,以 Ubuntu 为例,只需要使用下边的脚本即可:
# 从 Github 下载代码
git clone --depth 1 https://github.com/RVC-Boss/GPT-SoVITS
cd GPT-SoVITS
# 使用conda创建Python虚拟环境
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
# 安装 GPT-SoVITS 依赖的包
conda install -c conda-forge gcc
conda install -c conda-forge gxx
conda install ffmpeg cmake
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=11.8 -c pytorch -c nvidia
apt install ffmpeg
apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
pip install -r requirements.txt
pip install ipykernel
如果你使用其它操作系统,Github上有介绍,可以参考:https://github.com/RVC-Boss/GPT-SoVITS
如果你访问 Github 不方便,可以给公众号 “萤火遛AI” 发消息“GSV”,即可获取相关程序代码和模型。
使用GPT-SoVITS
首先准备1分钟以上的待训练人物的声音,不要过长,越长处理的越慢。声音尽量纯净,避免背景音、杂音或者会其它人物的声音。
1、云环境注册
我在好易社区制作了一个 GPT-SoVITS 最新版本的镜像,平台有一定的免费额度,可以体验2个多小时。访问地址:https://www.haoee.com/?inviteCode=XLZLpI7Q
或者使用微信扫码注册。
2、创建容器实例
在“算力市场”中创建容器实例:
在社区镜像中选择 “GPT-SoVITS”:
3、访问 JupyterLab
容器实例启动后,点击对应实例的 “JupyterLab”。
4、启动 GPT-SoVITS
打开 “启动器”,点击重启按钮启动 GPT-SoVITS 主程序。
程序启动后,点击打开上图中4指向的连接,程序主界面如下:
5、声音预处理
启动UVR5,人声去伴奏、混响、延迟。如果声音比较干净,质量较好,可以跳过这一步。
在 JupyterLab 控制台获取 UVR5 的访问地址,可以直接点击。
在浏览器打开UVR5的访问界面。
上传人物的声音文件,选择 Model,点击 Convert,稍等片刻会输出结果。
如果声音质量不高,可以使用多个模型进行多次处理:HP3_all_vocals -> VR-DeEchoDeReverb -> VR-DeEchoAggressive 。
生成的文件在这里:/root/GPT-SoVITS/output,我们可以右键下载这个文件到本地,或者复制这个文件的路径,以便后续使用。
处理完毕之后,关闭UVR5,节省显存使用。只需要去掉勾选即可。
6、构造训练数据集
回到主界面,继续处理。
语音切分:这一步是将语音文件拆分成多段,用于后续的训练。
这里需要先填写声音文件在服务器中的路径,可以通过 JupyterLab 上传,或者复制上一步 UVR5 处理后的声音文件路径。
去噪:可选步骤,如果语音中的噪音比较多。输入文件夹路径默认就行,除非自定义。
打标:生成语音对应的文字,用于后续训练时学习声音和文字的关系。输入文件夹路径默认就行,除非自定义。
7、格式化训练数据
进入 “1-GPT-SoVITS-TTS” -> “1A-训练集格式化工具” 页签,填写将要生成的语音模型名称,“文本标注文件”将自动填充(除非自定义),最后点击“开启一键三连”,完成训练集数据的格式化。
8、训练语音模型
进入“1B-微调训练”,训练自己需要的语音模型。这一步是在基础语音模型的基础上训练微调模型。
先“开启SOVITS训练”,训练结束后,再“开启GPT训练”。
batch_size:是同时并行训练的子任务的数量,显存越大,设置的可越大,一般为显存的一半,不过也不是绝对的,如果显存过小,建议设置为1或2。
总训练轮数:不要超过20。
9、使用模型生成语音
进入“1C-推理”页签,刷新模型路径,可以在4和5中看到新生成的模型/
测试推理,还需要开启TTS推理WebUI。
开启后到 JupyterLab,点击下方的访问链接。
打开语音模型推理页面:
-
首先选择生成的 GPT 和 SOVITS 模型。
-
然后从原始训练的语音中截取一段大约5秒的音频作为参考声音,同时把这句话对应的文字填写到“参考音频的文本”中,这会影响合成语音的语调语气。
-
然后填写需要合成的文本。
-
最后点击“合成语音”,生成后可以在线播放生成的语音。
以上就是 GPT-SOVITS 在云平台的使用说明,如有问题,欢迎留言。
更多AI工具,参考Github-AiBard123,国内AiBard123