#2824 requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http://127.0.0.1:9880/tts?text=%E4%BD%A0%E5%A5%BD%

2a0b:64c0* Posted at: 4 days ago 👁36

400 Client Error: Bad Request for url: http://127.0.0.1:9880/tts?text=%E4%BD%A0%E5%A5%BD%E5%95%8A%E6%88%91%E7%9A%84%E6%9C%8B%E5%8F%8B.+&text_lang=zh&ref_audio_path=456.wav&prompt_text=%E4%BA%BA%E7%94%9F%E7%9A%84%E6%84%8F%E4%B9%89%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E4%B8%96%E4%B8%8A%E6%9C%AC%E6%97%A0%E4%BA%8B%EF%BC%8C%E5%BA%B8%E4%BA%BA%E8%87%AA%E6%89%B0%E4%B9%8B%E3%80%82%EF%BC%81&prompt_lang=zh&speed_factor=1.0:
Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 18, in run
File "videotrans\tts\__init__.py", line 284, in run
File "videotrans\tts\_base.py", line 179, in run
File "videotrans\tts\_base.py", line 208, in _local_mul_thread
File "videotrans\tts\_gptsovits.py", line 98, in _item_task
File "requests\models.py", line 1026, in raise_for_status
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http://127.0.0.1:9880/tts?text=%E4%BD%A0%E5%A5%BD%E5%95%8A%E6%88%91%E7%9A%84%E6%9C%8B%E5%8F%8B.+&text_lang=zh&ref_audio_path=456.wav&prompt_text=%E4%BA%BA%E7%94%9F%E7%9A%84%E6%84%8F%E4%B9%89%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E4%B8%96%E4%B8%8A%E6%9C%AC%E6%97%A0%E4%BA%8B%EF%BC%8C%E5%BA%B8%E4%BA%BA%E8%87%AA%E6%89%B0%E4%B9%8B%E3%80%82%EF%BC%81&prompt_lang=zh&speed_factor=1.0


=
system:Windows-10-10.0.26100-SP0
version:v3.92
frozen:True
language:zh
root_dir:D:/videotrans

3 Replies

此错误表明在使用 GPT-SoVITS 进行语音克隆时,向本地服务 http://127.0.0.1:9880 发送的请求被拒绝(400 Bad Request)。这通常是由于 GPT-SoVITS 服务端未正确启动或配置,或者发送的请求参数不符合服务端要求。

请按以下步骤排查:

  1. 确认 GPT-SoVITS 服务已启动

    • 确保您已正确部署并启动了 GPT-SoVITS 项目。服务应运行在 http://127.0.0.1:9880
    • 在浏览器中访问 http://127.0.0.1:9880/docshttp://127.0.0.1:9880,检查服务是否正常响应。
  2. 检查参考音频和提示文本

    • 参考音频路径:错误中的 ref_audio_path=456.wav 是一个相对简单的文件名。请确保此音频文件(456.wav已上传到 GPT-SoVITS 服务端,并且路径正确。
    • 提示文本:错误中的 prompt_text 包含中文标点“。”和“!”。某些版本的 GPT-SoVITS 对提示文本的格式(如标点、长度)有严格要求。请尝试:

      • 使用更简短的提示文本(例如,仅使用参考音频对应的原句)。
      • 移除或替换中文全角标点为英文半角标点(如将“。”改为“.”,“!”改为“!”)。
      • 在 GPT-SoVITS 的 Web 界面中手动测试相同的参数,看是否能成功合成。
  3. 在 pyVideoTrans 中重新配置

    • 在 pyVideoTrans 主界面,进入“配音”设置。
    • 在“配音角色”下拉菜单中,选择“Clone”或您已配置好的 GPT-SoVITS 角色。
    • 点击角色旁边的“试听”按钮,输入一段测试文本。如果试听成功,说明配置正确;如果同样报错,则问题出在服务端或参数上。
  4. 查看 GPT-SoVITS 服务端日志

    • 启动 GPT-SoVITS 服务的命令行窗口会输出详细日志。查看是否有关于请求参数无效、音频文件找不到或模型加载失败的错误信息。
  5. 确保使用兼容的 GPT-SoVITS 版本

    • pyVideoTrans 的 GPT-SoVITS 接口可能针对特定版本的 API 设计。请参考官方文档,确认您部署的 GPT-SoVITS 版本与 pyVideoTrans 兼容。

如果以上步骤无法解决,请提供:

  • GPT-SoVITS 服务启动时的完整日志。
  • 您在 pyVideoTrans 中配置 GPT-SoVITS 角色的截图。

请查看更多参考文档:

我该如何做

根据错误信息,您在使用 GPT-SoVITS 进行语音克隆时遇到了 400 错误。这通常是由于本地 GPT-SoVITS 服务未正确运行或请求参数有问题。请按以下步骤操作:

  1. 确认 GPT-SoVITS 服务已启动并运行

    • 打开您启动 GPT-SoVITS 服务的命令行窗口,确认服务正在运行,并且监听地址是 http://127.0.0.1:9880
    • 在浏览器中访问 http://127.0.0.1:9880http://127.0.0.1:9880/docs,检查是否能打开网页。如果能打开,说明服务已启动。
  2. 检查参考音频文件

    • 错误中引用的音频文件是 456.wav。请确保这个 .wav 文件已经上传到 GPT-SoVITS 服务端。通常,您需要将音频文件放在 GPT-SoVITS 项目指定的目录下(例如 reference_audio 文件夹),或者通过其 Web 界面上传。
  3. 简化并测试请求参数

    • 错误中的 prompt_text 参数包含较长的中文句子和全角标点(如“。”、“!”)。这可能导致服务端解析失败。
    • 建议:在 pyVideoTrans 中,先使用一个非常简短的提示文本进行测试。例如,在“配音角色”旁边的“试听”框中输入“你好”,然后点击试听。如果试听成功,说明服务基本正常。
  4. 在 GPT-SoVITS 的 Web 界面中手动测试

    • 打开 http://127.0.0.1:9880,使用其 Web 界面。
    • 尝试使用相同的参数(文本、参考音频 456.wav、提示文本)进行语音合成。
    • 如果 Web 界面也报错,那么问题出在 GPT-SoVITS 服务本身(如模型未加载、音频文件路径错误、提示文本格式问题)。请根据其界面上的错误信息进行排查。
  5. 查看 GPT-SoVITS 服务端日志

    • 在启动 GPT-SoVITS 的命令行窗口中,查看当您从 pyVideoTrans 发起请求时,服务端打印了什么错误信息。这是定位问题最直接的依据。

如果以上步骤仍无法解决,请提供以下信息以便进一步分析

  • GPT-SoVITS 服务启动时的完整日志截图。
  • 您在 pyVideoTrans 中“配音”设置的截图(特别是配音角色选择的部分)。
  • 您尝试在 GPT-SoVITS Web 界面中手动测试的结果。

请查看更多参考文档:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource

Similar issues already exist