AI 文摘

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

可关注我们的公众号:每天AI新工具