GPT-SoVITS 本地化部署及使用 [详细教程]

 作者b站演示视频:

耗时两个月自主研发的低成本AI音色克隆软件,免费送给大家!【GPT-SoVITS】_哔哩哔哩_bilibili关注UP主并私信GPT/gpt/sovits/SOVITS/SoVITS/SVC/svc自动获取整合训练包下载链接文案配音:AI孙笑川(GPT-SoVITS)算法相关经验和成果是我和Rcell经过半年时间踩了上百个坑得出的当前的最优解,如果对大家有用的话,希望能够一键三连支持一下。如果是二创作品能带上github链接和GPT-SoVITS的tag是最好的github发布地址:https://git, 视频播放量 914240、弹幕量 1151、点赞数 63020、投硬币枚数 63804、收藏人数 94961、转发人数 10652, 视频作者 花儿不哭, 作者简介 RVC变声器创始人,要让所有人都能免费享受到科技进步带来的成果。收费的均不是本人。RVC官方唯一账号。,相关视频:【AI】在线一键语音生成,超强还原语气情感(GPT-SoVITS),你的声音,现在是我的了!- 手把手教你用 GPT-SoVITS 克隆声音!,【GPT-SoVITS】什么?小鱼给你的父母拜年!,【GPT-SoVITS】这个音色真的好像啊!AI陆景和,相似度98.7%❗这款免费的一键克隆声音的神器,让我直接变废!,黑科技Ai克隆任意音色GPT-Sovits+剪映5.9免费克隆音色,,2小时轻松入门GPT-SoVITS,包含整合包,autodl,colab教程,搭配文档观看,新发布的gpt-sovits效果太逆天了,以至于我忍不住想发出来。,AI声音克隆又进化了,1分钟训练模型,一键启动包发布!,17分钟学会RVC声音克隆丨真·保姆级教程-零基础入门声音训练模型,让你能够复刻任何人声icon-default.png?t=N7T8https://www.bilibili.com/video/BV12g4y1m7Uw


目录

一、GPT-SoVITS安装

二、GPT-SoVITs本地化使用教程

 1.前置数据集获取工具

 1.1 人声伴奏分离&去混响去延时工具

1.2 语音切分工具

1.3 语音降噪工具

1.4 中文批量离线ASR工具

1.5 语音文本校对标注工具

2. GPT-SoVITS-TTS

2.1 1A-训练集格式化工具  

 2.2 1B-微调训练

2.3 1C-推理

三、API调用GPT-SoVITS


一、GPT-SoVITS安装

GPT-SoVITS项目地址:GitHub - RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

GPT-SoVITS安装方法,可参考原项目readme文档:

GPT-SoVITS/docs/cn/README.md at main · RVC-Boss/GPT-SoVITS · GitHub

双击 go-webui.bat,或完成环境配置和依赖安装后,在终端中输入 python webui.py 即可启动项目。(Windows系统)

二、GPT-SoVITs本地化使用教程

 1.前置数据集获取工具

WebUI界面如图所示(版本为beta0217fix2):

 1.1 人声伴奏分离&去混响去延时工具

GPT-SoVITS集成UVR5工具,点击 方框1 中的 是否开启UVR5-WebUI 即可进入UVR5-WebUI界面(可能需要稍微等待一会)。若你的数据集非常干净,无BGM无混响无延迟,则可以略过本步骤,否则必须先预处理数据集。UVR5-WebUI界面如下:

在左边输入音频文件夹(不是音频文件本身)路径 或 拖拽音频文件,根据上方的描述选择合适的模型,补全两个输出文件夹路径,导出文件格式选择 wav 效果更好,点击转换后等待输出信息中出现success即可。若有任何报错,请返回终端中处理,所有的报错以终端中显示的内容为准。文件或文件夹路径直接复制Windows系统给出的路径即可。

完成输出后,关闭网页,返回WebUI界面中,取消勾选是否开启UVR5-WebUI,可释放部分内存。

1.2 语音切分工具

只需要补全两个路径,其它参数保持默认,点击 开启语音切割 即可。正常情况下速度会非常快。

1.3 语音降噪工具

同样,只需将语音切分的输出路径作为语音降噪的输入,再新建一个输出路径即可。补全两个路径后点击 开启语音降噪 ,通常GPU设备只需稍等片刻,CPU设备则需等待较长时间,降噪进度可以在终端中查看。

1.4 中文批量离线ASR工具

将语音降噪输出路径作为此处的输入路径,补全输出路径,其它保持默认,点击开启离线批量ASR即可,整体速度较快。这一步的目的是为每段音频自动添加字幕,并将所有音频的字幕和地址保存在一个.list文件中。

1.5 语音文本校对标注工具

先将刚刚生成的.list文件路径填入,点击 是否开启打标WebUI 后稍等片刻。

 打开后界面如下: 

在此界面下,你可以收听每一段音频并修改对应的文本。ASR自动生成字幕的文字通常都是正确的,但标点和断句可能与音频不符,可以手动修改一下。修改后需要点击左上角的 Submit Text 更新 .list 文件。右上角的 Previous IndexNext Index 可以实现向前和向后翻页的功能。若某个音频质量不佳,可勾选 Choose Audio 中的 Yes ,随后点击最上方的 Delete Audio 进行删除,则后续该音频不会出现在 .list 文件中,也不会参与训练。

完成校对后关闭本网页,同样返回WebUI界面取消勾选 是否开启打标WebUI,释放内存。


2. GPT-SoVITS-TTS

构建好前置数据集后,下面开始训练部分。

首先返回 WebUI 页面最上方,点击 1-GPT-SoVITS-TTS,进入训练部分。

2.1 1A-训练集格式化工具  

打开后界面如下:

修改 实验/模型名(一定要改,每次训练都要改一次!),再把 .list 文件路径填入,直接点击最下方的 一键三连 即可自动完成所有格式化任务。

 2.2 1B-微调训练

首先选择 1B-微调训练,其次根据自己设备情况修改 batch_size 和 总训练轮数,通常保持默认即可。若修改了训练轮数,则还需额外调整一下 保存频率 为训练轮数的因数,点击 开启SoVITS训练,耐心等待较长时间,可在终端中实时查看训练进度。

完成SoVITS训练后,以同样的方式调整GPT训练参数,点击 开启GPT训练 即可,且本训练速度较快。

2.3 1C-推理

进入 1C-推理界面,点击 刷新模型路径后,选择刚刚训练好的GPT模型和SoVITS模型,再勾选 是否开启TTS推理WebUI,稍等片刻后进入推理界面。

首先需要设置参考音频,直接拖入参考音频并填入参考音频的文本,选择参考音频的语种即可。 GPT-SoVITS 也提供 无参考文本模式(虚线框中勾选),但效果并不好,还是建议花几秒钟自己填上参考文本。参考文本的语速和情感将会影响需要合成的文本的语速和情感,因此也需要认真选择,而音色还是由选定的模型决定。

填入合成文本时,还需要选择合成的语种,其它参数可以默认,点击 合成语音 即可。若一次合成的文字过长,则 GPT-SoVITS 会出现吞字、重复、胡言乱语的情况,因此需要对文本进行切分。推理页面最下方提供切分工具,若还是觉得效果不好,可自行通过回车键进行切分,GPT-SoVITS会自动把每一段切分后的语音合并成一个完整的语言输出。


三、API调用GPT-SoVITS

b站教程地址:

GPT-SoVITS教程5-如何调用API_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV16H4y1E7YD/?spm_id_from=333.337.search-card.all.click&vd_source=5243a11fbbc6c66d8d676116bea07e1e

  • 首先打开 api.py 文件,在文件最上方写有运行api脚本时可以传入的参数。
"""
# api.py usage

` python api.py -dr "123.wav" -dt "一二三。" -dl "zh" `

## 执行参数:

`-s` - `SoVITS模型路径, 可在 config.py 中指定`
`-g` - `GPT模型路径, 可在 config.py 中指定`

调用请求缺少参考音频时使用
`-dr` - `默认参考音频路径`
`-dt` - `默认参考音频文本`
`-dl` - `默认参考音频语种, "中文","英文","日文","zh","en","ja"`

`-d` - `推理设备, "cuda","cpu"`
`-a` - `绑定地址, 默认"127.0.0.1"`
`-p` - `绑定端口, 默认9880, 可在 config.py 中指定`
`-fp` - `覆盖 config.py 使用全精度`
`-hp` - `覆盖 config.py 使用半精度`
`-sm` - `流式返回模式, 默认不启用, "close","c", "normal","n", "keepalive","k"`
·-mt` - `返回的音频编码格式, 流式默认ogg, 非流式默认wav, "wav", "ogg", "aac"`
·-cp` - `文本切分符号设定, 默认为空, 以",.,。"字符串的方式传入`

`-hb` - `cnhubert路径`
`-b` - `bert路径`

"""
  • 在终端中运行 python api.pyruntime\python.exe api.py。可以在运行脚本时即传入执行参数,例如指定默认参考音频、默认参考文本等, 也可以直接运行,后序推理时再指定。 
  •  如图出现网址,即代表 api 接口已开启。随后再打开一个终端,输入 ipconfig,找到 无线局域网适配器 WLAN 项下的 IPv4地址

  • 用IPv4地址替换 api.py 脚本网址里的 0.0.0.0,则与你处于同一内网中的计算机都可以使用这个接口调用你电脑上的 GPT-SoVITS。例如此处:http://10.10.9.169:9880
  • 若想查看 FastAPI 文档,可以在网址后加上 /docs 
  • post get 的请求格式,详见 api.py 文档最上方的使用说明 
"""
使用执行参数指定的参考音频:
GET:
    `http://127.0.0.1:9880?text=先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。&text_language=zh`
POST:
```json
{
    "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。",
    "text_language": "zh"
}
```

使用执行参数指定的参考音频并设定分割符号:
GET:
    `http://127.0.0.1:9880?text=先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。&text_language=zh&cut_punc=,。`
POST:
```json
{
    "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。",
    "text_language": "zh",
    "cut_punc": ",。",
}
```

手动指定当次推理所使用的参考音频:
GET:
    `http://127.0.0.1:9880?refer_wav_path=123.wav&prompt_text=一二三。&prompt_language=zh&text=先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。&text_language=zh`
POST:
```json
{
    "refer_wav_path": "123.wav",
    "prompt_text": "一二三。",
    "prompt_language": "zh",
    "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。",
    "text_language": "zh"
}
```

RESP:
成功: 直接返回 wav 音频流, http code 200
失败: 返回包含错误信息的 json, http code 400


### 更换默认参考音频

endpoint: `/change_refer`

key与推理端一样

GET:
    `http://127.0.0.1:9880/change_refer?refer_wav_path=123.wav&prompt_text=一二三。&prompt_language=zh`
POST:
```json
{
    "refer_wav_path": "123.wav",
    "prompt_text": "一二三。",
    "prompt_language": "zh"
}
```

RESP:
成功: json, http code 200
失败: json, 400
"""
  • 如果原生 api 接口不足以满足你的要求,可以参考其它改良版的 api 接口,例如:

GPT-SoVITS项目的API改良与使用_gpt-sovits api-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/AAI666666/article/details/136554163

  • 也欢迎大家查看本人的 api 改进代码,为大家增加了在使用过程中切换输出模型和语音生成情绪的功能:

针对 GPT-SoVITS 项目的 API 接口改进_gpt-sovits接口响应太慢-CSDN博客文章浏览阅读831次,点赞20次,收藏18次。本代码是针对GPT-SoVITS项目的补充,主要是为了解决原项目api接口功能不足的问题。本api.py文件可以直接覆盖原GPT-SoVITS项目代码的api.py文件,并不会影响原项目的完整性。提供在运行过程中切换模型(音色)的接口,支持POST和GET提供切换情绪的接口,即可以通过预设参考音频并赋予情绪的形式,在推理过程中快速选择指定情绪,支持POST和GET。_gpt-sovits接口响应太慢https://blog.csdn.net/Polo_fang/article/details/140696031?spm=1001.2014.3001.5501

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值