Pixelle-Video TTS 没声音?4 个症状对照修复
【免费下载链接】Pixelle-Video🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video
文案填完、点了生成、进度条跑到底,成片却是全片静音——或者只有前几句有声,后面一段段安静。这就是 Pixelle-Video TTS 生成失败:配音这一步没跑通,后面的合成照样把静音视频拼了出来。下面按你看到的症状对号入座,逐条修。
TTS 在流水线中的位置
TTS 是每一帧的第一步:一句旁白生成一个 MP3,后续画面长度也跟着这段音频走。所以 TTS 失败时,那一帧就没声音;每帧都失败,成片就整片静音。
动手之前先在日志里搜两个关键词:TTS generation error和attempts failed。有没有这两行、行里写的是什么,决定你落在下面哪个症状。
按症状排查
日志报连接失败或超时
现象判断:日志里有TTS generation error: ... ConnectError或timeout,指向http://127.0.0.1:8188。
最可能原因:
- 你用的是 selfhost 工作流,但本地 ComfyUI 没启动、或地址写错。注意:Pixelle-Video 跑在 Docker 里时,
comfyui_url要写http://host.docker.internal:8188(Linux 写宿主机 IP)。 - 你用的是 runninghub 工作流,但
runninghub_api_key是空的。
修复操作:先跑一条命令确认 ComfyUI 通不通:
# 没返回 HTTP 头,说明 ComfyUI 没启动或地址写错 curl -I http://127.0.0.1:8188通了但还报错,打开 config.yaml,核对这两行和你实际用的工作流类型匹配:
comfyui: comfyui_url: http://127.0.0.1:8188 # Docker 内用 http://host.docker.internal:8188 runninghub_api_key: "你的密钥" # 用 runninghub 工作流必须填重新跑一次生成,日志里出现Using workflow:且随后有Generated audio,就是修好了。
0 字节音频,日志出现 401 或 NoAudioReceived
现象判断:ls -l看任务目录里的音频文件,大小是 0 字节;日志有Edge TTS 401 Authentication Error或NoAudioReceived,最后收在All ... attempts failed。
最可能原因:
- 你在用本地 Edge TTS。它走微软的免费接口,连续请求会被限流返回 401,程序默认重试 5 次,全失败就报这个错。
- 网络不稳,或代理拦了 WebSocket 连接。
修复操作:先原样重跑一次,401 大多是瞬时的,pixelle_video/utils/tts_util.py 里的重试机制会按指数退避自动再试。如果频繁复现,就换成 ComfyUI 工作流 TTS:
comfyui: tts: default_workflow: selfhost/tts_edge.json # 或 runninghub/tts_edge.jsondocs/FAQ.md 的 TTS 条目也说明了 Edge-TTS 失败主要是网络波动,工作流方式更稳。
只有部分句子有声音,个别帧静音
现象判断:成片有的帧正常、有的帧静音;ls -l任务目录,发现静音帧对应的音频文件正好是 0 字节,有声帧的都有大小。
最可能原因:
- 该帧的请求撞上微软限流,重试后返回了空音频,空文件照样写了下来,后面的合成不校验文件内容,直接拼出静音片段。
- 你同时开着多个生成任务,请求挤在一起,个别返回 0 字节。
修复操作:按 0 字节音频定位到具体是哪几帧,然后单跑任务重跑一次(别并发跑多个视频)。重跑后ls -l再看一遍,对应音频文件有大小、日志有Generated N bytes of audio data(N 大于 0),成片里这几帧就有声了。
选不到 TTS 工作流,改完配置还报错
现象判断:Web UI 里 TTS 工作流列表是空的;或日志报工作流不存在、No workflow source directories found。
最可能原因:
- 配置里的
default_workflow和实际文件对不上:文件必须在workflows/下,且文件名以tts_开头,路径要带selfhost/或runninghub/前缀。 workflows/目录不完整,仓库没拉全。
修复操作:看看到底有哪些 TTS 工作流文件:
ls workflows/selfhost/tts_*.json workflows/runninghub/tts_*.json把配置里的default_workflow改成上面列出的某个真实文件名(保留前缀)。命令一行都不输出,说明是第二种情况,先把workflows/目录补全再配。
快速自检清单
| 检查项 | 怎么查 | 正常表现 |
|---|---|---|
| ComfyUI 可达 | curl -I http://127.0.0.1:8188 | 返回 HTTP 响应头 |
| TTS 工作流存在 | ls workflows/*/tts_*.json | 有输出,文件名以tts_开头 |
| 配置指向正确 | config.yaml 的comfyui.tts.default_workflow | 值等于上面某个真实文件名 |
| RunningHub 密钥 | comfyui.runninghub_api_key | 用 runninghub 工作流时非空 |
| 音频文件有内容 | ls -l任务目录音频文件 | 大小大于 0,日志有Generated audio |
| 本地 TTS 网络 | 本地模式跑一句看日志 | 出现Generated N bytes of audio,N 大于 0 |
一个预防动作
以后跑完整视频前,先用一句话单独测一次 TTS,确认能出音频再开始长任务——这是成本最低的预防动作。修不好的话先翻 docs/FAQ.md;日志对不上上面 4 个症状时,去项目 Issues 提问,把完整日志贴进去,并附上入口文件 pixelle_video/services/tts_service.py 的相关行,维护者能更快定位。
【免费下载链接】Pixelle-Video🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考