#6337 [DEBUG] 当前使用配音渠道:ChatterBox(本地内置)diffusers\models\lora.py:393: FutureWarning: LoRACompatibleLinear is deprecated and wil

240e:**:9a32 Posted at: 1 hour ago

[DEBUG] 当前使用配音渠道:ChatterBox(本地内置)
diffusers\models\lora.py:393: FutureWarning: LoRACompatibleLinear is deprecated and will be removed in version 1.0.0. Use of LoRACompatibleLinear is deprecated. Please switch to PEFT backend by installing PEFT: pip install peft.
deprecate("LoRACompatibleLinear", "1.0.0", deprecation_message)
loaded PerthNet (Implicit) at step 250,000
contextlib.py:103: FutureWarning: torch.backends.cuda.sdp_kernel() is deprecated. In the future, this context manager will be removed. Please see torch.nn.attention.sdpa_kernel() for the new context manager, with updated signature.
WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.image
电脑4060 8G显存。为什么在克隆音色中文配音阶段,没有调用GPU,感觉是CPU在算,5秒处理1条。GPU一直占用4G,但是利用率一直为0。我重启软件,只配音,也还是5秒处理一条。为什么配音用不了GPU

5 Replies

核心原因:ChatterBox 渠道本身支持 GPU/CUDA 加速。出现“显存占用 4G 但利用率 0%、CPU 在跑、每条约 5 秒”,最大可能是没有勾选主界面“CUDA加速”复选框,或 CUDA/cuDNN 环境不完整;同时 clone 音色模式下,每条字幕都要在 CPU 侧完成参考音频截取、人声处理、Mel 特征提取等预处理,真正 GPU 推理时间极短,所以 GPU 利用率会显示为 0%,5 秒主要耗在 CPU 预处理上。

请按以下顺序排查:

  1. 确认主界面第 6 行“CUDA加速”复选框已勾选。未勾选时本地模型(含 ChatterBox)会走 CPU。
  2. 验证 CUDA 环境:

    • nvidia-smi 查看驱动支持的最高 CUDA 版本;
    • nvcc -V 确认 CUDA Toolkit ≥ 12.8;
    • 确认 cuDNN ≥ 9.11,且系统 PATH 中已包含 CUDA 的 bin/lib 目录。
  3. 高级选项 → 通用设置 → “GPU同时任务数”设为 1;如果不是多卡,不要开启“多显卡模式”。
  4. 日志中的 Reference mel length is not equal to 2 * reference token length 说明动态截取的参考音频时长/质量不符合模型要求。clone 模式下软件按字幕时间从原视频裁切参考音频,音频可能过长、过短、有噪声或首尾不完整,导致 CPU 侧反复处理。建议按最佳克隆配置调整:

    • 高级选项 → 语音识别参数:设“最短语音持续毫秒”3000-4000,“最长语音持续秒”6-10,并勾选“合并过短字幕到邻近”;
    • 主界面“设置更多参数”中勾选“分离人声背景声”,可显著改善克隆参考音频质量。
  5. 用 ChatterBox 的非 clone 普通角色测试:若普通角色能明显调用 GPU,则问题锁定为 clone 模式下的 CPU 预处理瓶颈;若普通角色同样 GPU 0%,则是 CUDA 环境或“CUDA加速”勾选问题。

如果以上仍无法解决,请提供软件安装目录下 logs/ 文件夹中最新的日志(复制底部约 30 行报错信息),并告知软件左上角版本号,以便进一步定位。

最新版V4.07,上述说的我都看过,都没问题
DEBUG] self.volume='+0%', self.rate='+0%', self.pitch='+0Hz'
[DEBUG] 当前使用配音渠道:ChatterBox(本地内置)
diffusers\models\lora.py:393: FutureWarning: LoRACompatibleLinear is deprecated and will be removed in version 1.0.0. Use of LoRACompatibleLinear is deprecated. Please switch to PEFT backend by installing PEFT: pip install peft.
deprecate("LoRACompatibleLinear", "1.0.0", deprecation_message)
loaded PerthNet (Implicit) at step 250,000
contextlib.py:103: FutureWarning: torch.backends.cuda.sdp_kernel() is deprecated. In the future, this context manager will be removed. Please see torch.nn.attention.sdpa_kernel() for the new context manager, with updated signature.
WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2
......
length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

WARNING:root:Reference mel length is not equal to 2 * reference token length.

日志中大量 WARNING:root:Reference mel length is not equal to 2 * reference token length. 是问题核心。这说明在 clone 音色模式下,每条字幕从原视频动态截取的参考音频时长/质量不符合 ChatterBox 模型输入要求,导致模型反复在 CPU 侧处理参考音频特征,GPU 只承担了模型加载(显存占用 4G),实际推理利用率接近 0%,速度因此只有约 5 秒/条。

请依次处理:

  1. 严格控制动态截取的参考音频时长:进入「菜单 → 工具/选项 → 高级选项 → 语音识别参数」,将「最长语音持续(秒)」设为 6-10,「最短语音持续(毫秒)」设为 3000-4000,并勾选「合并过短字幕到邻近」。
  2. 勾选「分离人声背景声」:在主界面「设置更多参数」中勾选,可明显改善截取片段的音频纯净度,减少参考音频不合格的 warning。
  3. 测试非 clone 角色:换一个 ChatterBox 普通预置角色配音,观察 GPU 利用率是否恢复正常。若普通角色同样 GPU 0%,则问题在 CUDA 调用/环境或渠道本身;若普通角色正常,则确认问题来自 clone 模式下动态截取的参考音频质量。
  4. 改用本地静态参考音频:准备一段 3-10 秒、干净无噪声、单一人声的 WAV 音频,放入软件目录 f5-tts 文件夹;进入「菜单 → TTS 设置 → 设置参考音频」,填写 文件名.wav#音频中的说话文本;保存后,在主界面配音角色下拉框选择该文件名。这种方式可绕过动态截取的不可控因素,更容易触发 GPU 高效推理。
  5. 检查版本:你当前为 V4.07,建议确认是否有 v4.08-0802 或更新版本,新版可能包含相关修复。

如果以上仍无效,请提供 logs/ 文件夹中最新日志底部约 30 行完整内容,便于进一步分析。

cuda肯定没问题,语音识别阶段我看日志启用了CUDA,速度很快

既然语音识别阶段 CUDA 已正常启用且速度很快,说明 CUDA 环境无问题。问题锁定在 ChatterBox 渠道 clone 音色模式下对参考音频的处理。

日志中大量 Reference mel length is not equal to 2 * reference token length 警告是核心:clone 模式下,每条字幕都要从原视频动态截取一段参考音频,这段音频的时长、噪声、发音完整性不可控。模型在生成配音前需要把参考音频转为 mel 特征并与参考文本的 token 长度严格对齐(要求 mel 长度 = 2 × token 长度),当前动态截取的音频不满足这一条件,导致模型反复在 CPU 侧进行对齐、重试、特征适配,GPU 只完成了模型加载(显存占用 4G),并未进入有效推理,所以利用率 0%、速度约 5 秒/条。

请按以下顺序处理:

  1. 严格控制动态截取的参考音频长度:

    • 进入「菜单 → 工具/选项 → 高级选项 → 语音识别参数」
    • 「最长语音持续(秒)」设为 6-10
    • 「最短语音持续(毫秒)」设为 3000-4000
    • 勾选「合并过短字幕到邻近」
  2. 勾选「分离人声背景声」:
    在主界面「设置更多参数」区域勾选,可明显降低背景噪声对参考音频的干扰,减少上述 warning。
  3. 改用固定参考音频测试(绕过动态截取的不确定性):

    • 准备一段 3-10 秒、干净单一人声、无噪声无多余静音的 WAV 音频
    • 放入软件目录 f5-tts 文件夹
    • 进入「菜单 → TTS 设置 → 设置参考音频」,填写 文件名.wav#音频中的说话文本
    • 保存后,在主界面配音角色下拉框选择该文件名
    • 若此时 GPU 利用率恢复正常,则确认问题来自动态截取的参考音频质量
  4. 对比测试非 clone 角色:
    换一个 ChatterBox 普通预置角色配音。若普通角色同样 GPU 0%,说明该版本 ChatterBox 渠道本身未正确启用 CUDA;若普通角色正常,则进一步确认是 clone 动态截取的问题。

若以上仍无效,请提供 logs/ 文件夹最新日志底部约 30 行内容,并确认是否已升级到 v4.08-0802 或更新版本。

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.

Dondate via ko-fi.com

Dondate via PayPal

Related resource