这个错误表明在调用本地 GPT-SoVITS 语音克隆服务时,服务器返回了“400 Bad Request”。这通常是由于发送给 GPT-SoVITS 的请求参数不正确或格式有误导致的。
请按以下步骤排查:
检查 GPT-SoVITS 服务状态:
- 确认您的 GPT-SoVITS 服务已成功启动,并且正在监听
http://127.0.0.1:9880 这个地址。 - 您可以在浏览器中直接访问
http://127.0.0.1:9880/docs 来查看 API 文档,确认服务是否正常。
检查参考音频和提示文本:
- 错误日志中显示
ref_audio_path=大大大.wav。请确认这个音频文件确实存在于 GPT-SoVITS 服务能够访问的路径下,并且是一个有效的 .wav 文件。 - 同时检查
prompt_text(提示文本)的内容是否与参考音频的实际说话内容一致。GPT-SoVITS 需要根据提示文本来学习音色。
检查文本编码和特殊字符:
- URL 中的文本(如
text=%E8%B0%A2%E8%B0%A2%E3%80%82)经过了 URL 编码。虽然软件会自动处理,但如果您的文本中包含 GPT-SoVITS 无法处理的特殊字符或格式,也可能导致 400 错误。尝试使用一段简单的中文文本进行测试。
查看 GPT-SoVITS 服务端日志:
- 最直接的排查方法是查看 GPT-SoVITS 服务端启动窗口或日志文件中的具体错误信息。服务端的日志会明确指出是哪个参数有问题(例如,音频文件找不到、提示文本过长、音频格式不支持等)。
简化测试:
- 在 pyVideoTrans 中,暂时使用一个简单的、不带参考音频的 TTS 角色(如 Edge-TTS)测试流程是否能走通,以排除软件其他部分的问题。
- 如果其他 TTS 正常,则问题集中在 GPT-SoVITS 的配置或请求上。
总结:核心问题是 GPT-SoVITS 服务拒绝了请求。请优先检查服务是否运行、参考音频文件路径是否正确、以及查看 GPT-SoVITS 服务端的详细错误日志。
请查看更多参考文档: