Skip to content

语音模块 - GPT_Sovits 配置指南 ✨

百灵的重要告知

本部分对接的API是 GPT_Sovits 的入口为 api_v2.py 的 API 接口

现在 GPT_Sovits 已经更新出现了推理特化包,缩写为 GSVI ,入口为 GSVI.py。

请知悉,GSVI 接口无法用于此模块,其 API 接口与本模块实现不兼容

喵哈~!欢迎查阅这份 GPT_Sovits 语音模块的指南!我是墨百灵,一只爱研究魔法的猫猫法师。

下面是这个模块的配置说明:这个模块是用来连接 GPT_Sovits 的 TTS,样例配置文件在template文件夹下面哦~

在开始之前,大家需要先把 template_configs/gpt_sovits.toml 这个样板复制到 configs/gpt_sovits.toml,然后按照自己的心意调整配置文件~

toml
[pipeline]
# pipeline预设配置
default_preset = "default"  # 默认使用的预设名称

# pipeline平台预设映射
[pipeline.platform_presets]
qq = "default"       # QQ平台使用default预设

[tts]
# GPT-SoVITS API 配置
host = "127.0.0.1"
port = 9880

# 语音合成基础配置
media_type = "wav"        # 音频格式: wav

# GPT-SoVITS 模型参数
top_k = 12                # top k 采样
top_p = 1.0              # top p 采样
temperature = 1.0        # 温度系数
batch_size = 1           # 批处理大小
batch_threshold = 0.75   # 批处理阈值
text_split_method = "cut5" # 文本分割方法
repetition_penalty = 1.35 # 重复惩罚系数
sample_steps = 32        # VITS采样步数
super_sampling = false    # 是否启用超采样

[tts.models]
# 自定义角色预设
[tts.models.presets]
# 预设角色配置示例
[tts.models.presets.default]
name = "默认角色"
gpt_model = ""
sovits_model = ""
ref_audio_path = "path to reference audio" # 参考音频路径
aux_ref_audio_paths = []                   # 辅助参考音频路径列表
prompt_text = "this is a ref audio"        # 提示文本
text_language = "auto"                     # 文本语言
prompt_language = "zh"                     # 提示语言
speed_factor = 1.0                         # 语速控制

[tts.models.presets.custom1]
name = "kanami"
gpt_model = "GPT_SoVITS/pretrained_models/XiangNaimei-e5.ckpt"
sovits_model = "GPT_SoVITS/pretrained_models/XiangNaimei_e4_s248.pth"
ref_audio_path = "GPT_SoVITS/pretrained_models/voices/平淡.WAV"
aux_ref_audio_paths = []                                              # 辅助参考音频路径列表
prompt_text = "嗨!我每天都会像这样做发声训练的。"                       # 提示文本
text_language = "zh"                                                  # 文本语言
prompt_language = "zh"                                                # 提示语言
speed_factor = 1.0                                                    # 语速控制

pipeline 配置

这部分指定平台使用的预设。

  • default_preset: 默认使用的预设名称。

pipeline.platform_presets 不同平台的预设

  • qq: QQ平台使用的预设名称啦~

百灵贴士!

这里的键值需要和[tts.models.presets].后面的名称一致。

比如,你想在QQ平台使用custom1预设,那么你需要在这里配置为custom1,同时在[tts.models.presets]中也要有[tts.models.presets.custom1]的配置哦~

键名说明~

这里的键名是平台的名称,也是Adapter的标识名称。

比如 MaiBot Napcat Adapter 默认使用qq作为标识符,那这里就应该设置为qq=你的预设

tts 配置 🎙️

接下来这部分,是配置 GPT-SoVITS API 接口用的。

  • host: GPT-SoVITS API 的主机地址,通常为 127.0.0.1,即本机地址。

  • port: GPT-SoVITS API 的端口,默认为 9880

  • media_type: 音频格式,仅支持wav格式,百灵建议不要更改

进阶配置

以下的内容如果大家对GPT_Sovits 还不太熟悉,这些可以先不做改动。

  • top_k: top k 采样,默认为 12
  • top_p: top p 采样,默认为 1.0
  • temperature: 温度系数,默认为 1.0
  • batch_size: 批处理大小,默认为 1
  • batch_threshold: 批处理阈值,默认为 0.75
  • text_split_method: 文本分割方法,默认为 cut5
  • repetition_penalty: 重复惩罚系数,默认为 1.35
  • sample_steps: VITS采样步数,默认为 32
  • super_sampling: 是否启用超采样,默认为 false

tts.models 配置 📂

这部分是用来配置大家模型文件的地方啦!

tts.models.presets 专属角色配置

这部分是配置大家配置的预设角色的地方。

就像墨百灵在前面提醒过大家的那样,预设的名称要和 [pipeline.platform_presets]. 后面的名字一模一样才行!

我们拿 default 为例:

大家需要添加一个 [tts.models.presets.default] 这样的配置 (如果已经有了就不用再加啦)。然后像下面这样配置项目:

  • name: 角色的名字,大家喜欢怎么叫就怎么填~
  • gpt_model: 这个角色专属的 GPT 模型路径。大家使用前请换成自己的模型,并检查路径哦。
  • sovits_model: 这个角色专属的 SoVITS 模型路径。同样,大家要换成自己的模型并检查路径。
  • ref_audio_path: 参考音频的路径,请大家一定要换成自己的参考音频,并确保它存在且路径无误哦。
  • prompt_text: 提示文本,文本需要与参考音频中的内容相同,语言类型需要对应下面的prompt_language
  • text_language: 你要合成的文本语言,默认为自动判断(auto)。
  • prompt_language: 提示文本的语言,默认为中文(zh)。
  • speed_factor: 语速控制,默认为 1.0

TIP

对于text_languageprompt_language,大家可以从这些里面选:

  • zh: 中英文混合
  • ja: 日英文混合
  • yue: 粤语英文混合
  • ko: 韩英文混合
  • auto: 多语种混合
  • auto_yue: 多语种混合(包含粤语)
  • all_zh: 纯中文
  • en: 纯英文
  • all_ja: 纯日文
  • all_yue: 纯粤语
  • all_ko: 纯韩文

此内容复制于GPT_Sovits代码部分,如果有问题请以GPT_Sovits代码为准。