Skip to content

GPT-SoVITS

GPT-SoVITS是开源的语音合成引擎,能够将文本转换为自然流畅的语音输出。

特点

  • 支持多语言文本转语音,包括中文、英文、日语、韩语和粤语
  • 支持多种认证方式,包括Basic认证、JWT认证和无认证模式
  • 支持参考音频,可实现声音克隆
  • 可自动移除不可阅读的内容,如emoji、Markdown等
  • 可设置触发概率,控制文本转语音的频率

代码配置

根据Sovits TTS技能的配置要求,可以通过以下方式进行配置:

typescript
const ppagent = new PPAgent({
  // ... source配置 ...
  // ... bot配置 ...
  skills: [
    {
      name: "sovite-tts",
      options: {
        instanceName: "sovits-tts-skill", // 实例名称,全局唯一
        apiHost: "https://your.sovits.api.domain", // Sovits API地址,必填
        authType: "none", // 认证类型:'basic'、'jwt'或'none',必填
        userName: "your_username", // Basic认证用户名,当authType为'basic'时必填
        password: "your_password", // Basic认证密码,当authType为'basic'时必填
        jwt: "your_jwt_token", // JWT令牌,当authType为'jwt'时必填
        isStreaming: false, // 是否流式返回,目前不支持,保持为空或false
        probability: 1, // 触发语音的概率,范围0-1,默认为1
        deleteUnreadableText: false, // 是否自动移除不可阅读内容,默认为false
        customReqOptions: { // 自定义请求参数,可选
          text_language: "zh", // 文本语言,默认为"zh"
          prompt_text: "示例提示文本", // 提示文本
          prompt_language: "zh", // 提示文本语言
          top_k: 20, // top_k参数
          top_p: 0.7, // top_p参数
          temperature: 0.7, // 温度参数
          speed: 1.0, // 语速参数
          inp_refs: ["ref_audio_path_1", "ref_audio_path_2"] // 参考音频路径数组
        }
      }
    }
  ]
  // ... 其他配置 ...
});

服务器运行请参考 install_code.md 文件。

配置注意事项

  1. 使用前需要先部署GPT-SoVITS服务,启动官方docker-compose后,进入容器按api.py提示启动API服务,并映射出外网端口域名。(先clone官方git到本地:https://github.com/RVC-Boss/GPT-SoVITS)

  2. 认证方式选择建议:

    • 内网环境建议选择无认证模式(none),api启动后默认是没有认证的
    • 外网环境建议使用Basic认证或JWT认证以提高安全性,可以在外部套一层nginx转发实现
  3. 文本中包含emoji、Markdown、网址等不可读内容时,默认不会被转译。如需自动处理这些内容,请将deleteUnreadableText设置为true

  4. 调整probability参数可以控制语音触发的概率,当设置为1时所有符合条件的文本都会触发语音合成。