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

195.201* Posted at: 5 days ago 👁64

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=life+meaning2.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&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=life+meaning2.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&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

9 Replies

这个错误是 GPT-SoVITS 本地服务返回的 400 错误,表明请求参数有问题。根据官方文档和常见情况,这通常由以下几个原因导致:

  1. 参考音频文件路径错误:错误日志中 ref_audio_path=life+meaning2.wav 显示路径不完整,GPT-SoVITS 服务可能无法找到这个文件。
  2. 参考音频与提示文本不匹配prompt_text(提示文本)必须与 ref_audio_path(参考音频)的内容完全一致,包括标点符号。
  3. 服务未正确启动或模型未加载:GPT-SoVITS 的 WebUI 服务可能未运行,或者未加载所需的模型。

请按以下步骤排查:

第一步:检查并修正参考音频

  1. 确保 life+meaning2.wav 这个音频文件直接存放于 GPT-SoVITS 项目根目录下(即与 GPT_SoVITS 目录同级)。
  2. 打开该音频文件,确认其内容与 prompt_text 参数的值 人生的意义是什么?世上本无事,庸人自扰之。 一字不差。注意检查中英文标点、空格和语气词。

第二步:重启 GPT-SoVITS 服务

  1. 完全关闭当前运行的 GPT-SoVITS WebUI 命令行窗口。
  2. 重新启动 GPT-SoVITS。在启动时,请确保:

    • WebUI 界面正确加载了对应的模型文件(.pth 和 .ckpt)。
    • 参考音频 部分,正确上传并选择了 life+meaning2.wav 文件,并输入了匹配的文本。

第三步:在 pyVideoTrans 中重新配置

  1. 在 pyVideoTrans 的配音角色选择处,重新选择或配置一次 GPT-SoVITS 角色。
  2. 在配置时,确保“参考音频”和“提示文本”设置正确,且与第一步中检查的内容一致。

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

  1. GPT-SoVITS WebUI 服务启动时的完整终端日志。
  2. 你在 pyVideoTrans 中设置 GPT-SoVITS 配音角色的具体截图。

请查看更多参考文档:

什么意思啊

这个错误是你在使用 pyVideoTrans 的 GPT-SoVITS 语音克隆功能时,本地服务返回了“错误请求”。

核心原因:你提供给 GPT-SoVITS 的 参考音频提示文本 不匹配,或者音频文件路径不对。

简单来说
GPT-SoVITS 需要你提供一个“样板”声音(参考音频)和这段声音对应的“台词”(提示文本),它才能学会这个声音并合成新台词。你的错误是因为它没找到音频文件,或者音频内容和台词对不上。

请按以下步骤操作

  1. 找到你的音频文件:确认 life+meaning2.wav 这个文件是否放在 GPT-SoVITS 软件自己的文件夹里(和它的 GPT_SoVITS 文件夹在一起)。
  2. 核对内容:用播放器打开 life+meaning2.wav,仔细听里面的说话内容,必须和下面这句话 完全一样(一个字、一个标点都不能错):
    人生的意义是什么?世上本无事,庸人自扰之。
  3. 重启服务

    • 关掉 GPT-SoVITS 的黑色命令行窗口。
    • 重新打开 GPT-SoVITS。
    • 在它的网页界面里,重新上传 life+meaning2.wav 文件,并把上面那句台词一字不差地填到“提示文本”框里。
  4. 在 pyVideoTrans 里重选:回到 pyVideoTrans,在配音角色那里,重新选择或设置一下 GPT-SoVITS 的角色。

如果还不行,请提供:

  • GPT-SoVITS 启动时黑色窗口里显示的全部文字(截图)。
  • 你在 pyVideoTrans 里设置 GPT-SoVITS 的界面截图。

请查看更多参考文档:

image
image
没问题啊

问题已定位。从截图看,你的 GPT-SoVITS 服务运行正常,但 pyVideoTrans 发送的请求中,ref_audio_path 参数值 life+meaning2.wav 是一个相对路径,这导致 GPT-SoVITS 服务端无法在你的文件系统中找到这个音频文件。

解决方法:

  1. 在 pyVideoTrans 中修改参考音频路径为绝对路径:

    • 在 pyVideoTrans 主界面,点击“配音角色”旁边的 设置 按钮。
    • 在弹出的 GPT-SoVITS 配置窗口中,找到 参考音频 这一项。
    • 将原来的 life+meaning2.wav 改为该音频文件的完整绝对路径。例如:

      • D:\GPT-SoVITS-Fast\life+meaning2.wav
      • C:\Users\你的用户名\Desktop\life+meaning2.wav
    • 确保“提示文本”与音频内容完全一致(你已确认无误)。
    • 点击“确定”保存。
  2. (可选)将音频文件放入 GPT-SoVITS 的默认参考目录:

    • life+meaning2.wav 文件复制到 GPT-SoVITS 项目根目录下的 reference_audio 文件夹内(如果存在此文件夹)。
    • 然后在 pyVideoTrans 的配置中,将参考音频路径改为 reference_audio/life+meaning2.wav(相对路径,但基于服务的工作目录)。

完成以上修改后,重新尝试合成即可。

请查看更多参考文档:

可以以图示的方式告诉我怎么做吗

好的,我将以图示方式指导你如何修改 GPT-SoVITS 的参考音频路径。请严格按以下步骤操作:

第一步:找到你的音频文件

  1. 在电脑上找到你的参考音频文件 life+meaning2.wav
  2. 右键点击该文件,选择“属性”。
  3. 在“属性”窗口中,复制“位置”后面的完整路径(如下图红框所示)。

步骤1:复制音频文件完整路径

第二步:在 pyVideoTrans 中修改配置

  1. 在 pyVideoTrans 主界面,点击“配音角色”旁边的 设置 按钮(如下图红框所示)。

步骤2-1:点击设置按钮

  1. 在弹出的“GPT-SoVITS 配置”窗口中,找到 参考音频 输入框。
  2. 将你刚才复制的完整路径粘贴进去(格式如 C:\Users\你的用户名\Desktop\life+meaning2.wav)。
  3. 确保 提示文本 的内容与音频文件里的说话内容 完全一致
  4. 点击 确定 保存。

步骤2-2:修改参考音频路径为绝对路径

第三步:重新尝试

完成上述修改后,关闭所有错误窗口,重新在 pyVideoTrans 中执行翻译或试听功能即可。

如果问题依旧,请提供:

  1. 你修改后的配置窗口截图。
  2. GPT-SoVITS 服务窗口(黑色命令行窗口)在收到请求时显示的最新错误信息截图。

请查看更多参考文档:

显示不出来图片重新发一遍

由于平台限制,我无法直接上传图片。我将用详细的文字描述配合“截图位置”来指导你,请你对照自己软件界面操作。

第一步:获取音频文件的绝对路径

  1. 在你的电脑上,找到名为 life+meaning2.wav 的音频文件。
  2. 鼠标右键 点击这个文件。
  3. 在弹出的菜单中,选择最下面的 “属性”
  4. 在打开的“属性”窗口中,找到 “位置:” 这一行,后面就是该文件的路径(例如 C:\Users\你的名字\Desktop)。
  5. 将这个路径完整地 复制 下来。

第二步:在 pyVideoTrans 中修改配置

  1. 打开 pyVideoTrans 软件,进入主界面。
  2. 在主界面第4行“配音”区域,找到 “配音角色” 下拉框。
  3. 在“配音角色”下拉框的 右侧,有一个小小的 “设置” 按钮(是一个齿轮图标或文字按钮),点击它

    • 截图位置参考:这个按钮就在你之前截图的“配音角色:GPT-SoVITS”文字的紧右边。
  4. 点击后会弹出一个新窗口,标题是 “GPT-SoVITS 配置”
  5. 在这个配置窗口里,找到 “参考音频” 这个输入框。
  6. 将你在第一步复制的完整路径 粘贴 到这个输入框中。然后,手动在路径的末尾加上你的文件名

    • 最终格式示例C:\Users\你的名字\Desktop\life+meaning2.wav
    • 重要:确保路径中的斜杠是 \/,并且文件名和扩展名 .wav 都正确。
  7. 检查下方的 “提示文本” 框,确保里面的文字和音频内容一字不差。
  8. 点击窗口下方的 “确定” 按钮保存设置。

第三步:重新测试
完成以上设置后,关闭任何错误提示窗口,重新在 pyVideoTrans 中点击“试听”或执行翻译任务。

如果仍然报错,请提供以下信息以便进一步排查:

  1. 你完成第二步后,“GPT-SoVITS 配置”窗口的完整截图。
  2. 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.

Related resource

Similar issues already exist