MiniMax H3 Turbo 在 4 步和 8 步测试中能够正常生成视频,音频却出现严重爆音、持续杂音和音色偏移。保持模型、Turbo LoRA、提示词、步数和调度器不变,仅将旧版单进度采样替换为双时钟 Euler 后,两个档位的音频均恢复正常。这里的“时钟”指扩散采样进度,与计算机系统时间无关。
问题详情
测试环境使用 RTX 5090 32GB、2026-08-02 版本的 ComfyUI、MiniMax H3 INT8 ConvRot 模型、官方音频 VAE,以及 simple 调度器。Turbo LoRA 分别按 4 步和 8 步运行。
异常具有三个特征:
- 工作流正常结束,没有异常堆栈;
- 视频画面能够解码,故障集中在音频;
- 20 步与 50 步常规采样音频正常,低步数 Turbo 档位稳定复现失真。
初始对比如下:
| 采样路径 | 4 步音频 | 8 步音频 |
|---|---|---|
res_multistep | 严重爆音,无法使用 | 持续杂音并伴随音色偏移 |
| 旧版 ComfyUI 官方 Euler | 严重失真,无法使用 | 可以辨认内容,仍有明显杂音 |
| 双时钟 Euler | 听辨正常 | 听辨正常 |
该问题不会使任务失败,只会生成质量不合格的成品。仅检查执行状态、视频帧或文件是否存在,无法发现音频已经损坏。
排查与原因
音频 VAE 与 Turbo LoRA 可以排除
20 步和 50 步使用同一套音频 VAE,结果正常,因此音频解码器没有形成稳定故障。双时钟测试没有更换 Turbo LoRA,音频随采样器变化立即恢复,也排除了 LoRA 权重本身损坏。
多个低步数 Turbo 配置均出现同类失真,覆盖不同量化组合。量化会影响速度和显存,但无法解释采样器切换后音频立即恢复的现象。
视频与音频使用不同的 sigma 进度
MiniMax H3 在一次模型前向中联合生成视频和立体声音频,两条数据流使用不同的 flow shift:
video shift = 12
audio shift = 3
shift 会把同一个基础进度映射为不同的 sigma。映射关系可写为:
shift_sigma(u, s) = s * u / (1 + (s - 1) * u)
因此,同一步编号下的视频 sigma 与音频 sigma并不相等。旧版 ComfyUI 将联合音视频潜变量交给一条采样进度,模型内部再通过局部斜率修正音频速度。这种近似在步数较多、相邻 sigma 距离较小时可以工作;降到 4 步后,每次 Euler 更新跨越的区间显著增大,音频分支发生过冲,最终表现为削波、爆音、噪声化和音色偏移。
8 步的间隔较小,失真程度低于 4 步,但仍未达到可交付水平。继续增加步数能够掩盖误差,却会削弱 Turbo LoRA 的加速价值。
新版 ComfyUI 已在模型层处理双进度
ComfyUI 提交 bdcb886a4705a03cf40f4a7226de9fc7c059fc90 增加了 ModelSamplingAV。该实现将音频潜变量映射到视频采样坐标,在模型前向时恢复音频自己的潜变量与时间步,输出后再转换回统一坐标。
完成这层变换后,官方 Euler 可以在一个打包后的音视频潜变量上正确推进两条进度。旧版 ComfyUI 缺少该能力,普通 Euler、res_multistep 或 Euler + Beta 均不能提供等价修复。
解决办法
优先升级 ComfyUI 并使用官方 Euler
检查当前环境是否包含原生音视频采样支持:
python -c "from comfy.model_sampling import ModelSamplingAV; print('native AV sampling available')"
导入成功时,工作流保持官方 KSamplerSelect,采样器选择 euler。Turbo 基线使用:
sampler: euler
scheduler: simple
steps: 4 或 8
denoise: 1.0
video shift: 12
audio shift: 3
LoRA 的加载器、强度和键名转换属于另一条兼容性链路。采样器修复不应伴随这些变量调整,否则无法确认音频改善来自哪项变化。
旧版 ComfyUI 使用双时钟兼容节点
无法升级 ComfyUI 时,可以安装兼容节点:
cd ComfyUI/custom_nodes
git clone https://github.com/shuaixn/ComfyUI-MiniMaxH3DualClockSampler.git
完全重启 ComfyUI,搜索 MiniMax H3 Dual-Clock Euler,将它的 sampler 输出连接到 SamplerCustomAdvanced.sampler。其余噪声、引导、潜变量、VAE 和视频合成连接保持不变。
旧版兼容路径会分别按视频与音频的 sigma 差值执行 Euler 更新,再把两条流重新打包。节点固定校验 video shift=12、audio shift=3、denoise=1.0 和完整采样区间;这些约束与本次验证使用的 H3 Turbo 配置一致。
新版 ComfyUI 也可以保留该节点。检测到 ModelSamplingAV 后,节点会转交给官方 Euler,避免重复执行双时钟修正。运行日志应出现:
[MiniMaxH3DualClock] Native ComfyUI AV sampling detected; delegating to stock Euler.
旧版手动路径对应的日志为:
[MiniMaxH3DualClock] Euler sampling with video shift 12.0, audio shift 3.0, ...
用单变量对照确认修复
验证时固定模型、LoRA、提示词、seed、分辨率、时长、步数和调度器,只替换采样器。4 步与 8 步都需要覆盖;8 步可以正常听辨并不能证明 4 步已经安全。
音频检查至少包含人声、持续环境声和瞬态声音。人声用于识别音色漂移,持续声音用于识别底噪,鼓点或撞击声用于识别削波和时间错位。
验证结果
同一测试集切换到双时钟 Euler 后,4 步与 8 步音频均通过人工听辨。画面生成保持正常,没有通过提高步数回避问题。
| 配置 | 音频结果 | 总耗时 | 按 0.508 美元/小时估算 |
|---|---|---|---|
res_multistep,4 步 | 严重失真 | 36 秒 | 0.005 美元 |
| 双时钟 Euler,4 步 | 听辨正常 | 46 秒 | 0.006 美元 |
| 双时钟 Euler,8 步 | 听辨正常 | 58 秒 | 0.008 美元 |
在该 RTX 5090 环境中,4 步双时钟相对失真的 res_multistep 基线增加约 10 秒和 0.001 美元。该开销换回了可用音频,同时保留低步数 Turbo 的主要速度收益。
验证仍有两项边界。音频结论来自人工听辨,没有客观失真指标或正式盲评;耗时与费用只适用于本次硬件、模型和输入条件。实际部署应使用自己的语音、音乐与瞬态声音样本重新验证。
参考资料
喜欢这篇文章?
如果这篇文章帮到了你,可以请我喝杯咖啡,支持我继续写下去。
评论