点击查看 Edge-TTS 配音渠道无法使用的解决办法!!!

#1987 CosyVoice适配问题

103.151* Posted at: 1 day ago 👁25

已部署CosyVoice2项目,并启动了 webui.py, 可以在浏览器中打开 http://127.0.0.1:8000 界面。但填写参考音频和音频对应文字后测试报错,实际使用clone和自定义角色都会报错

3 Replies

根据您描述的 CosyVoice 适配问题,核心原因很可能是 pyVideoTrans 与您部署的 CosyVoice2 项目之间的 API 接口不匹配。pyVideoTrans 内置的 CosyVoice 接口适配的是其官方 API 格式,而您部署的 webui.py 可能使用了不同的接口路径或参数。

请按以下步骤排查和解决:

第一步:确认 CosyVoice 服务状态

  1. 确保您的 CosyVoice2 项目已成功启动,并且在浏览器中访问 http://127.0.0.1:8000 的 WebUI 界面功能正常(除了测试报错)。
  2. 查看 CosyVoice2 项目启动时的命令行输出,确认其监听的 IP 地址和端口 确实是 127.0.0.1:8000

第二步:在 pyVideoTrans 中正确配置

  1. 在 pyVideoTrans 主界面,选择 配音CosyVoice
  2. 点击配音行右侧的 “设置” 按钮(齿轮图标)。
  3. 在弹出的 CosyVoice 设置窗口中:

    • API地址:填写 http://127.0.0.1:8000 (与您的 WebUI 地址一致)。
    • 参考音频留空不填。pyVideoTrans 在调用时会自动将当前处理的视频/音频片段作为参考音频发送。
    • 参考音频文本留空不填。软件会自动使用识别出的字幕文本。
    • 保存 配置。

第三步:测试与排查

  1. 返回主界面,尝试为一个短视频片段进行“仅配音”测试。
  2. 如果仍然报错,您需要 查看具体的错误日志

    • 打开 pyVideoTrans 安装目录下的 logs 文件夹。
    • 找到最新的日志文件(按日期排序),用文本编辑器打开。
    • 搜索 CosyVoiceerror 关键词,找到详细的错误信息。

常见错误及解决:

  • 连接被拒绝/超时:检查 CosyVoice 服务是否真的在运行,以及防火墙是否阻止了连接。
  • API路径错误:pyVideoTrans 默认调用的是 /voice 等接口。如果您的 CosyVoice2 项目使用了不同的接口路径(例如 /api/tts),则需要修改 pyVideoTrans 的源码或等待官方更新适配。这是最可能的原因
  • 参数格式不匹配:CosyVoice2 的 WebUI 可能期望与官方 API 不同的 JSON 参数结构。

获取进一步帮助:
如果上述步骤无法解决,请提供 pyVideoTrans 日志文件中的 具体错误信息,这将有助于判断是接口路径、参数还是其他问题。

self.proxy_str='http://127.0.0.1:7890',self.uuid=None
2025-12-13 01:12:17,807 - INFO - Starting call to 'videotrans.tts._cosyvoice.CosyVoice._item_task.._run', this is the 1st time calling it.
2025-12-13 01:12:17,884 - INFO - cosyvoice-tts data={'ref_wav': 'C:/Program Files/win-pyvideotrans-3.89/f5-tts/Karenina.wav', 'ref_text': '呦!有段时间没见了吧,我倒是一点都没有感到高兴就是'}
Loaded as API: http://127.0.0.1:8000/
2025-12-13 01:12:24,594 - INFO - Finished call to 'videotrans.tts._cosyvoice.CosyVoice._item_task.._run' after 6.797(s), this was the 1st time calling it.
2025-12-13 01:12:29,650 - INFO - Starting call to 'videotrans.tts._cosyvoice.CosyVoice._item_task.._run', this is the 2nd time calling it.
2025-12-13 01:12:29,681 - INFO - cosyvoice-tts data={'ref_wav': 'C:/Program Files/win-pyvideotrans-3.89/f5-tts/Karenina.wav', 'ref_text': '呦!有段时间没见了吧,我倒是一点都没有感到高兴就是'}
Loaded as API: http://127.0.0.1:8000/
2025-12-13 01:12:36,160 - INFO - Finished call to 'videotrans.tts._cosyvoice.CosyVoice._item_task.._run' after 18.359(s), this was the 2nd time calling it.

从日志看,pyVideoTrans 已成功连接到您的 CosyVoice2 服务(显示“Loaded as API: http://127.0.0.1:8000/ ✔”),但调用后没有生成预期的音频,且日志中缺少关键的“响应成功”或“音频保存”信息。这表明服务端可能返回了错误或空响应。

核心问题是:您部署的 CosyVoice2 WebUI 的 API 接口与 pyVideoTrans 内置的调用方式不兼容。

请按以下步骤解决:

  1. 验证 CosyVoice2 API 接口

    • 使用 Postmancurl 命令或浏览器直接测试 CosyVoice2 的真实 API 端点。
    • 尝试调用:在命令行中执行以下命令(请根据您的项目调整路径):

      curl -X POST "http://127.0.0.1:8000/voice" \
      -H "Content-Type: application/json" \
      -d '{
        "ref_wav": "C:/Program Files/win-pyvideotrans-3.89/f5-tts/Karenina.wav",
        "ref_text": "测试文本",
        "text": "需要合成的文本内容"
      }'
    • 观察响应:如果返回错误(如 404 或 500),说明接口路径或参数不对。您需要查阅 CosyVoice2 项目的文档,找到正确的 API 路径(例如可能是 /api/tts/v1/audio/speech)和必需的参数格式。
  2. 修改 pyVideoTrans 配置(临时方案)

    • 由于 pyVideoTrans 是预打包的,您无法直接修改其请求代码。但可以尝试在 CosyVoice 设置 中:

      • API地址http://127.0.0.1:8000/ 改为 http://127.0.0.1:8000/api/tts(假设这是正确路径)。
      • 如果 CosyVoice2 需要不同的参数名(例如 prompt_text 而非 ref_text),则目前版本无法直接修改,需要等待开发者更新适配。
  3. 获取准确的错误信息

    • 在 pyVideoTrans 的 logs 目录下,查找更详细的错误日志。可能有一个以 errordebug 开头的文件。打开它,搜索 cosyvoicetraceback,找到服务器返回的具体错误内容。

最可能的解决方案:您需要根据 CosyVoice2 项目的官方文档,确认其 服务化(Service)或 API 模式的正确启动命令和调用方式。pyVideoTrans 需要的是能够接收 POST 请求并返回音频数据的 API 服务,而不是一个 WebUI 界面。很多项目的 webui.py 主要用于交互,其背后的 API 可能需要单独启动(例如 api.py 或通过 --api 参数)。

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

  1. CosyVoice2 项目的 官方 API 调用文档链接
  2. 使用工具测试其 API 时,服务器返回的 完整响应(包括错误信息)
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

Trending Questions