likes
comments
collection
share

在其他软件中调用GPT-SoVITS将文字合成语音

作者站长头像
站长
· 阅读数 2

上一篇文章讲了“GPT-SoVITS”的安装训练,以及API的简单使用。今天就来介绍下如何使用该GPT-SoVITS在其他程序中进行TTS语音合成,以视频翻译配音工具为例。

填写供GPT-SoVITS使用的参考音频

首先升级视频翻译配音工具到 v1.18 ,然后打开 设置菜单-GPT-SoVITS API

在其他软件中调用GPT-SoVITS将文字合成语音

在以下几个文本框中填写相应内容

GPT-SoVITS API: 这里填写 GPT-SoVITS 的 api 地址和端口,自带的 api.py 默认地址是 http://127.0.0.1:9880 , 如果你不是本机部署,ip相应要修改,并允许其他机器访问,如果更改了接口,这里相应也需要修改。

额外参数: 目前暂未用到,主要用于冗余,以方便某些用户希望获取更多信息,比如是什么软件调用的,所以这里加了一个冗余,默认值为 pyvideotrans

参考音频#音频文字内容#语言代码: 这个是最重要的参数,用来决定合成什么音色。

如果你在启动GPT-SoVITS的api时,已经指定了默认的 “参考音频、音频文字内容、语言代码”,那么这里可以无需指定。比如你执行的是下面类似指定:

python api.py -dr 1.wav -dt "你好啊,我亲爱的朋友们,希望你们的每天都是美好愉快的" -dl zh

那么这里无需指定,会直接使用 1.wav 这个音频的音色来复制。

如果你没有指定,或者虽然你指定了,但又想使用其他的音色来合成声音,那么这里就必须指定参考音频了。

接下来重点讲下如何填写参考音频。

参考音频填写格式

每行以符号“#”分为3个部分 参考音频路径#参考音频的文本内容#语言代码

第一部分 是参考音频相对于 GPT-SoVITS 的路径,假如你直接将参考音频 1.wav 放在了 GPT-SoVITS 软件的根目录下,即和api.py在同一目录,那么参考音频填写1.wav,如果你放在了根目录下的audio目录下,那么填写audio/1.wav.

注意哦,参考音频是放在GPT-SoVITS软件目录中的,可不是在视频翻译软件中

第二部分 是音频里的文字内容,即里面的人说的是什么,将文字填写在第二部分。

第三部分 是语言代码,即这个说话人用什么语言说话的,目前只支持中日英语言,代码只可填写zh|en|ja三者之一。

比如我的音频1.wav里的内容是 "你好啊,我亲爱的朋友们,希望你们的每天都是美好愉快的",那么我填写后效果就是

1.wav#你好啊,我亲爱的朋友们,希望你们的每天都是美好愉快的#zh

可填写多个,每行一个,如下面示例

5.wav#为什么御弟哥哥,甘愿守孤灯#zh

d.wav#我的大学呢其实是在西安上的,也就是外国语大学,我们班当时有32个人,只有2个男生#zh

mayun.wav#我记得我大学一年级的时候,我自,我从小自学的英文,我的英文是在西湖边上抓老外#zh

填写后的整体效果如图

在其他软件中调用GPT-SoVITS将文字合成语音

填写后,就可以测试下是否可以了。没问题后去主界面TTS类型里选择“GPT-SoVITS”,角色列表里选择能填写的音频。

在其他软件中调用GPT-SoVITS将文字合成语音

启动 GPT-SoVITS API服务

如果你是用的Window预打包版,进入GPT-SoVITS根目录后,地址栏输入cmd回车,然后在弹出的窗口中执行命令 .\runtime\python api.py启动等待提示成功。

在其他软件中调用GPT-SoVITS将文字合成语音

如果你想在启动时指定默认的参考音频内容,按照如下命令执行

.\runtime\python api.py -dr 填写音频路径和名称 -dt 填写音频的文字内容  -dl 语言代码,从zh ja en 里填写一个

在其他软件中调用GPT-SoVITS将文字合成语音

如果你是源码部署的或Mac/Linux系统,只需将 .\runtime\python 替换为你的 python 命令即可。

模型切换问题

GPT-SoVITS 自带的api.py不可动态切换模型,也就是启动后,只可使用指定的那一个模型,如果想更换模型,需要代码里更改后,重新启动。

使用默认模型: GPT-SoVITS自带默认模型,可以使用不同的参考音频,克隆出不同音色,如果你使用这个模型,无需任何代码改动,直接填写角色就好了。

使用自行训练的模型: 那么参考音频建议固定为训练时的某个 3-10s 的音频文件,如果使用其他不相干的参考音频,那么你的训练将毫无意义。

打开GPT-SoVITS根目录下config.py文件,指定训练好的模型的路径名称。

在其他软件中调用GPT-SoVITS将文字合成语音

sovits_path=填写以.pth为后缀的模型地址,gpt_path=填写以.ckpt为后缀的模型地址。地址均是相对于软件根目录的地址。

最后启动命令

.\runtime\python api.py -dr 填写音频路径和名称 -dt 填写音频的文字内容  -dl 语言代码,从zh ja en 里填写一个

自己训练的模型在哪里

GPT-SoVITS 根目录下有2个文件夹

SoVITS_weights 文件夹中存放sovits模型,该类模型以 .pth 为后缀

GPT_weights文件夹中存放 gpt模型,该类模型以 .ckpt 为后缀

可以到这2个文件夹中寻找以你命名的模型开头,后跟e最大数字的模型文件。

中英混合发音

GPT-SoVITS 自带的api.py不支持中英混合发音,如果想支持,请下载该压缩包文件,用该压缩包内的 api.py 覆盖 GPT-SoVITS 根目录下的api.py, 点击下载该文件

完结撒花。