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 文件。
配置注意事项
使用前需要先部署GPT-SoVITS服务,启动官方docker-compose后,进入容器按api.py提示启动API服务,并映射出外网端口域名。(先clone官方git到本地:https://github.com/RVC-Boss/GPT-SoVITS)
认证方式选择建议:
- 内网环境建议选择无认证模式(none),api启动后默认是没有认证的
- 外网环境建议使用Basic认证或JWT认证以提高安全性,可以在外部套一层nginx转发实现
文本中包含emoji、Markdown、网址等不可读内容时,默认不会被转译。如需自动处理这些内容,请将
deleteUnreadableText
设置为true
。调整
probability
参数可以控制语音触发的概率,当设置为1时所有符合条件的文本都会触发语音合成。