#4081 TaskCfgSTT(is_cuda=True, uuid='4505dc1d94', cache_folder='C:/SOFT/pyvideotrans/tmp/46596/4505dc1d94', target_dir='c:/sof

14.212* Posted at: 1 day ago 👁26

语音识别阶段出错 [阿里FunASR(本地)] Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 898, in funasr_mlt
File "funasr\auto\auto_model.py", line 135, in init

model, kwargs = self.build_model(**kwargs)

File "funasr\auto\auto_model.py", line 281, in build_model

assert model_class is not None, f'{kwargs["model"]} is not registered'

AssertionError: FunASRNano is not registered

Traceback (most recent call last):
File "videotrans\task\job.py", line 105, in run
File "videotrans\task\_speech2text.py", line 159, in recogn
File "videotrans\recognition\__init__.py", line 262, in run
File "videotrans\recognition\_base.py", line 143, in run
File "videotrans\recognition\_funasr.py", line 64, in _exec
File "videotrans\configure\_base.py", line 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 898, in funasr_mlt
File "funasr\auto\auto_model.py", line 135, in init

model, kwargs = self.build_model(**kwargs)

File "funasr\auto\auto_model.py", line 281, in build_model

assert model_class is not None, f'{kwargs["model"]} is not registered'

AssertionError: FunASRNano is not registered
TaskCfgSTT(is_cuda=True, uuid='4505dc1d94', cache_folder='C:/SOFT/pyvideotrans/tmp/46596/4505dc1d94', target_dir='c:/soft/pyvideotrans/output/recogn', source_language=None, source_language_code=None, source_sub=None, source_wav=None, source_wav_output=None, target_language=None, target_language_code=None, target_sub='c:/soft/pyvideotrans/output/recogn/720.srt', target_wav=None, target_wav_output=None, name='K:/720.m4a', noextname='720', basename='720.m4a', ext='m4a', dirname='K:/', shound_del_name=None, detect_language='zh-cn', recogn_type=3, model_name='Fun-ASR-Nano-2512', shibie_audio='C:/SOFT/pyvideotrans/tmp/46596/4505dc1d94/720-1776264784.138781.wav', remove_noise=False, enable_diariz=True, nums_diariz=0, rephrase=0, fix_punc=False)


=
system:Windows-10-10.0.22631-SP0
version:v3.99
frozen:True
language:zh
root_dir:C:/SOFT/pyvideotrans

3 Replies

这是由于 FunASR 本地模型未正确注册或下载不完整导致的。

  1. 原因:错误 AssertionError: FunASRNano is not registered 表明软件尝试加载名为 FunASRNano 的模型,但该模型在 FunASR 框架中未被成功注册。这通常是因为模型文件缺失或下载失败。
  2. 解决方案

    • 方法一(推荐,使用其他模型):由于 FunASR 模型依赖 HuggingFace 下载,网络问题可能导致失败。建议切换到更稳定的语音识别渠道,例如:

      • 免费本地faster-whisper(本地) 并选择 large-v3 模型。
      • 中文优化qwen-asr(本地)
    • 方法二(手动下载模型):如果您必须使用 FunASR,需要手动下载模型文件。

      1. 前往 HuggingFace 模型仓库(例如 iic/FunASR)或国内镜像站。
      2. 找到对应的模型(如 Fun-ASR-Nano-2512)并下载所有 .bin.json.txt 等文件。
      3. 将下载的文件放入软件 models 目录下的对应文件夹中(文件夹命名需遵循规则,例如 models--iic--Fun-ASR-Nano-2512)。如果文件夹不存在,请手动创建。
      4. 重启软件后重试。
  3. 通用排查

    • 检查网络连接,如果无法访问 HuggingFace,请配置主界面或高级选项中的“网络代理地址”。
    • 确保软件安装路径不含中文或特殊符号(您的路径 C:/SOFT/pyvideotrans 符合要求)。
    • 如果问题持续,请考虑使用在线语音识别渠道(如 OpenAI、阿里百炼 Qwen3-ASR),它们无需本地模型。

请查阅相关文档:

我的pyvideotrans\models\models\FunAudioLLM\目录下是有Fun-ASR-Nano-2512模型文件夹的,而且文件夹里的文件也跟HuggingFace上的一致。

这是由于 FunASR 模型在软件内部的注册路径与您实际存放的路径不匹配导致的。错误 AssertionError: FunASRNano is not registered 表明软件在内部注册表中找不到名为 "FunASRNano" 的模型条目,即使文件已存在。

解决方案:

  1. 检查模型文件夹命名规则:软件从 HuggingFace 下载模型时,会遵循特定的文件夹命名规则。对于 FunASR 模型,正确的文件夹命名应为 models--FunAudioLLM--Fun-ASR-Nano-2512。请确认您的文件夹名称是否与此完全一致。如果只是 Fun-ASR-Nano-2512,则可能导致识别失败。
  2. 移动模型文件夹:请将 pyvideotrans\models\models\FunAudioLLM\Fun-ASR-Nano-2512 文件夹剪切pyvideotrans\models\ 目录下,并重命名models--FunAudioLLM--Fun-ASR-Nano-2512
  3. 重启软件:完成上述操作后,重启 pyVideoTrans 再尝试使用 FunASR 进行识别。
  4. 备用方案:如果上述方法无效,建议暂时切换到其他更稳定的语音识别渠道,如 faster-whisper(本地)large-v3 模型或 qwen-asr(本地),它们对中文的支持效果也很好。

请查阅相关文档:

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