#4279 为什么语音识别阶段老是识别一半就不干活了?

240e:355* Posted at: 20 days ago 👁138

image
识别一半显存占用就下去了,看了半天都没动

19 Replies

这是由于显存不足或资源分配冲突导致进程卡死,常见于使用大型模型(如 large-v3)且开启了多个并行任务。

解决方案:

  1. 取消“二次识别”:如果已勾选,请关闭,它会在配音后再跑一次识别,额外占用大量显存。
  2. 使用更小模型:将语音识别模型改为 large-v3-turbomedium(需至少 10GB 显存才能稳定运行 large-v3)。
  3. 调整高级选项:菜单→工具/选项→高级选项→语音识别参数:

    • CUDA数据类型 改为 int8float16
    • beam_size 改为 1
    • best_of 改为 1
    • 上下文感知 改为 false
  4. 降低并行任务数:高级选项→通用设置中,GPU同时任务数 设为 1(单卡显存<20G时)。
  5. 检查日志:打开软件目录下的 logs/ 文件夹,查看最新日志文件底部 30 行,确认是否有 Unable to allocate 等显存不足报错。

请查阅相关文档:

不是显存不足导致的

既然不是显存不足,那显存占用突然下降且长时间无响应,通常指向任务异常中断或卡死(并非正在计算)。可能的原因及排查方向如下:

  1. 文件路径/名称问题
    若视频路径过长(>200字符)或含特殊符号、表情符,可能导致 ffmpeg 或 whisper 内部命令行调用失败,进程静默中止。
    解决:将视频移动至浅层目录(如 D:\tmp),并重命名为简短英文名(如 1.mp4),重新处理。
  2. 模型文件损坏或不完整
    如果此前自动下载模型时中断,模型文件有缺失,识别中途可能崩溃。
    解决:进入 models/ 目录,将对应的模型文件夹(如 models--Systran--faster-whisper-large-v3)删除,重启软件让程序重新下载(或按知识库第 11 节手动下载)。同时建议在任务开始前勾选 清理已生成
  3. 开启“降噪”或“分离人声背景声”导致额外负载或出错
    降噪需额外下载模型,分离人声会大幅增加计算。若过程中出错,可能直接卡死。
    解决:尝试关闭这两个选项后再测试,尤其若是首次运行,先确保基础识别流程跑通。
  4. CUDA/cuDNN 不匹配导致静默崩溃
    即便未提示显存不足,一旦 CUDA 版本不符或 cuDNN 缺失,也可能在执行某些运算时闪退或挂起。
    解决:检查是否安装了 CUDA 12.8cuDNN 9.11(软件要求版本),并在高级选项中确认 wasapi 或 cuda 数据类型设置正确。可尝试在高级选项中关闭“上下文感知”,并将“beam_size”“best_of”调至 1 测试。
  5. 旧版 Bug
    低于 v3.99 的版本存在识别阶段卡死的已知问题。
    解决:升级到最新 v3.99 完整包(覆盖升级时确保没有残留旧文件)。
  6. 查看日志确认具体错误
    务必检查 logs/ 文件夹下最新日志文件的末尾 30 行,通常会有明确的报错信息(如 ffprobe exec errorCUBLAS_STATUS_NOT_SUPPORTED 等),据此可精准定位。

如果这些均无效,请将日志末尾 30 行提供出来,以便进一步分析。

请查阅相关文档:

Traceback (most recent call last):
File "videotrans\configure\_base.py", line 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\prepare_audio.py", line 72, in vocal_bgm
File "videotrans\process\prepare_audio.py", line 53, in create_offline_source_separation
ValueError: Please check your config.

[ERROR] new process:Traceback (most recent call last):
File "videotrans\configure\_base.py", line 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\prepare_audio.py", line 72, in vocal_bgm
File "videotrans\process\prepare_audio.py", line 53, in create_offline_source_separation
ValueError: Please check your config.

Traceback (most recent call last):
File "videotrans\configure\_base.py", line 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\prepare_audio.py", line 72, in vocal_bgm
File "videotrans\process\prepare_audio.py", line 53, in create_offline_source_separation
ValueError: Please check your config.

[ERROR] 人声背景声分离失败:Traceback (most recent call last):
File "videotrans\process\prepare_audio.py", line 72, in vocal_bgm
File "videotrans\process\prepare_audio.py", line 53, in create_offline_source_separation
ValueError: Please check your config.
Traceback (most recent call last):
File "videotrans\task\trans_create.py", line 963, in _split_audio_byraw
File "videotrans\configure\_base.py", line 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\prepare_audio.py", line 72, in vocal_bgm
File "videotrans\process\prepare_audio.py", line 53, in create_offline_source_separation
ValueError: Please check your config.

根据日志,错误由“人声背景声分离”功能引发,配置异常导致失败。
解决方案:

  1. 暂时关闭分离功能:在主界面取消勾选“设置更多参数”里的“分离人声背景声”,重试看看能否正常完成识别和翻译。
  2. 若仍要使用,请检查模型配置:菜单 → 工具/选项 → 高级选项 → “分离背景声模型”,确保已正确选择可用的模型(如 htdemucsmdx-net),并确认相关模型文件未损坏(可尝试删除 models 内对应分离模型文件夹后重新下载)。
  3. 清理缓存:关闭软件,删除安装目录下的 tmp 文件夹,重启后勾选“清理已生成”再处理该视频。

如果仍失败,请提供更完整日志或尝试使用其他分离模型。

请查阅相关文档:

分离背景声模型在哪下载?

分离背景声模型由软件自动下载,无需手动寻找外部链接。 操作步骤:

  1. 确认模型选择:点击菜单 工具/选项 → 高级选项,在“分离背景声模型”下拉框中选择一个模型(如 htdemucsmdx-net),保存设置。
  2. 触发自动下载:勾选主界面“设置更多参数”中的“分离人声背景声”,开始处理一个视频,程序会自动检测并下载缺失的模型文件到 models/ 目录。
  3. 若下载失败:通常因为网络问题(如无法访问 HuggingFace)。可在“网络代理地址”填写可用代理,或手动删除 models/ 下对应的分离模型文件夹,重启软件再次尝试。
  4. 注意:分离模型体积较大,需保持网络通畅并耐心等待首次下载完成。

如果长时间无法下载,可查看日志定位具体下载错误,或更换其他分离模型选项。

选择哪个分离背景声模型比较好?

没有绝对的最好,取决于你对质量与速度的取舍。

  • htdemucs(推荐首选):分离质量最高,尤其是对复杂背景音(保留人声更干净、残留少),但比较消耗资源,处理速度较慢。
  • mdx-net:轻量模式,速度快,占用资源较少,但分离效果在嘈杂场景下不如 htdemucs。
  • 其他模型(如 demucs 等)可根据硬件与场景尝试。

建议:先用 htdemucs 测试,若速度太慢或配置不足,再换成 mdx-net。设置位置:菜单 → 工具/选项 → 高级选项 → 分离背景声模型。

请查阅相关文档:

models文件夹内哪个是分离背景声模型?

分离背景声的模型文件并非一个固定名称,而是取决于你在高级选项中选择了哪一个模型。在 models 目录下,常见的分离模型文件夹名称与模型选择对应如下:

  • 选择 htdemucsmodels--speechbrain--htdemucs
  • 选择 mdx-netmodels--speechbrain--mdx-net

注意
如果软件是从 HuggingFace 下载的,文件夹名通常会是这种格式。若找不到,可能是下载失败导致文件夹不存在或文件不完整。

操作建议

  1. 确认你在 菜单 -> 工具/选项 -> 高级选项 -> 分离背景声模型 选择了哪个模型。
  2. models 目录下找到对应的文件夹。
  3. 如果该文件夹缺失或文件下载中断,可以将其删除,重启软件并重新勾选“分离人声背景声”触发自动下载,或直接在弹出配置错误时清空该文件夹让他重下。

如果仍不确定,可查看日志中具体的下载路径提示,或暂时切换为另一个分离模型试试。

models文件夹内没有分离模型软件又不自动下载我该怎么办?

软件不自动下载分离背景声模型,通常是因为网络受限(例如无法访问HuggingFace)。可尝试以下方法解决:

  1. 配置网络代理
    在主界面“网络代理地址”文本框中填写你的代理地址(格式如 http://127.0.0.1:10808,端口号根据你的代理软件设置填写)。配置完成后,重启软件,勾选“分离人声背景声”重试,软件应能通过代理自动下载模型。
  2. 清理残留并触发重新下载

    • 关闭软件。
    • 进入软件安装目录下的 models 文件夹,删除与你选择的模型对应的文件夹(例如选了 htdemucs 就删 models--speechbrain--htdemucs,选了 mdx-net 就删 models--speechbrain--mdx-net)。若不确定选的是哪个,可先全删。
    • 重启软件,勾选“分离人声背景声”并开始处理视频,程序会强制重新下载完整模型。
  3. 若没有代理,暂时关闭该功能
    在主界面“设置更多参数”中取消勾选“分离人声背景声”。此功能并非必须,关闭后只是使用原视频音频进行识别,不分离背景音,准确性可能会有略微下降。
  4. 如果上述操作无效,请查看日志
    打开软件目录下的 logs 文件夹,找到最新的日志文件,查看末尾关于模型下载的具体错误(如 403、timeout 等),可据此进一步排查网络问题。

CUDA数据类型选哪个比较好?

这取决于你的显存大小和对识别精度的要求。int8:占用显存最少,速度最快,但精度损失最大。适用情况:显存紧张时(如 4GB-6GB 显存使用 large-v3 模型),优先保证能跑起来。float16:占用显存适中,速度较快,精度较好。适用情况:这是大多数现代 NVIDIA 显卡(如 RTX 20 系列及以上)的推荐选择,兼顾了性能和速度。float32:占用显存最多,速度最慢,精度最高。适用情况:显存非常充裕(如 >16GB)且对精度要求极高的场景,一般情况下与 float16 的最终效果差距不大。default:让程序根据模型和硬件自动选择。“建议”:若有 RTX 3060 及以上(显存 12GB+),优先选择 float16。若显存低于 10GB 且使用 large-v3 模型,为防卡死,建议选 int8。设置路径:菜单 → 工具/选项 → 高级选项 → 语音识别参数 → CUDA数据类型。修改后需重新运行任务生效。

8g用large-v2或者large-v1能用float16吗?

可以使用 float16。8GB 显存足以在优化参数后稳定运行 large-v2,勉强可带动 large-v1(需关闭部分功能)。

为防显存不足导致卡死,建议同步调整以下设置:

  1. CUDA数据类型 改为 float16
  2. beam_size 改为 1
  3. best_of 改为 1
  4. 上下文感知 设为 false

设置路径:菜单 → 工具/选项 → 高级选项 → 语音识别参数。

如遇显存不足,优先使用 large-v2 模型。

静音分割持续毫秒推荐多少?

推荐使用默认值 500 毫秒,这是适用多数场景的平衡值。
该参数决定:检测到多长的连续静音后,才将前后语音切分开。

  • 减小值(如 200ms):切分更灵敏,字幕片段可能更碎,但能捕捉稍作停顿的短句。
  • 增大值(如 1000ms):切分更迟钝,字幕片段更长,适合连贯叙述,但可能合并本应分开的句子。

调节建议

  1. 如果识别后字幕断句过碎或一句话被切成多段,适当增大至 800-1000ms。
  2. 如果一句话里明显包含多个句子却未被切开,适当降低至 200-300ms。
  3. 若需配合声音克隆(clone 角色),需额外关注“最短语音持续毫秒”和“最长语音持续秒数”,静音分割保持默认即可。

设置位置:菜单 → 工具/选项 → 高级选项 → 语音识别参数 → 静音分割持续毫秒。

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