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

171.107* Posted at: 1 day ago 👁21

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=dachao.wav&prompt_text=as+usual+cats+and+children+noticed+him+first+a+striped+tomcat+sleeping+on+a+sunwarmed+stack+of+wood+shuddered+raised+his+round+head+pulled+back+his+ears+hissed&prompt_lang=en&speed_factor=1.0:
Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 18, in run
File "videotrans\tts\__init__.py", line 291, in run
File "videotrans\tts\_base.py", line 177, in run
File "videotrans\tts\_gptsovits.py", line 112, in _item_task
File "videotrans\tts\_gptsovits.py", line 90, in _run
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=dachao.wav&prompt_text=as+usual+cats+and+children+noticed+him+first+a+striped+tomcat+sleeping+on+a+sunwarmed+stack+of+wood+shuddered+raised+his+round+head+pulled+back+his+ears+hissed&prompt_lang=en&speed_factor=1.0


=
system:Windows-10-10.0.19045-SP0
version:v3.89
frozen:True
language:zh
root_dir:H:/win-pyvideotrans-3.89

1 Replies

您在使用 GPT-SoVITS 进行语音克隆时遇到了 400 错误。这通常是由于请求参数与 GPT-SoVITS 服务端不匹配造成的。

核心原因分析:
从错误日志看,您发送的请求中 text_lang=zh(中文),但 prompt_lang=en(英文)。GPT-SoVITS 服务端很可能要求 text_langprompt_lang 必须一致,或者 prompt_text 的语言与 prompt_lang 参数不匹配。

解决方案:
请按以下步骤检查和调整:

  1. 检查参考音频和提示文本的语言一致性

    • 您的参考音频文件 dachao.wav 中的说话内容是什么语言?
    • 您填写的 prompt_text(提示文本)必须精确是参考音频中人物所说的内容,且语言必须与 prompt_lang 参数一致。
    • 在本例中,prompt_text 是一段英文,prompt_lang=en,但 text_lang=zh。这很可能导致了服务端的拒绝。
  2. 在 pyVideoTrans 中正确设置

    • 在配音角色选择时,如果您选择了“Clone”并指定了参考音频,请确保:

      • 提示文本 框内填入的内容,必须与 dachao.wav 这个文件里人物实际说出的单词/句子完全一致(最好是原话)。
      • 提示语言 下拉菜单必须选择与提示文本相符的语言(例如,如果提示文本是英文,就选“English”)。
  3. 简化测试

    • 为了快速验证,建议您:

      • 使用一个中文的参考音频,并填入对应的中文提示文本,将提示语言设为“中文”。
      • 或者,使用一个英文的参考音频,并填入对应的英文提示文本,将提示语言设为“English”。
    • 确保待合成的文本(text 参数)语言与参考音频的语言一致或兼容。

根本解决:
此问题源于 GPT-SoVITS 服务端对输入参数的严格校验。请查阅您所使用的 GPT-SoVITS 版本的服务端 API 文档,确认其对 text_langprompt_lang 以及 prompt_text 的具体要求,并确保 pyVideoTrans 发送的请求完全符合规范。

如果调整后问题依旧,请提供 GPT-SoVITS 服务端的日志,以便进一步分析。

请查看更多参考文档:

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.

Donate: https://ko-fi.com/jianchang512

Similar issues already exist

Trending Questions