#2205 TaskCfg(cache_folder='D:/Program Files/pyvideotrans/tmp/55032/3b6c9448c1', target_dir='D:/Program Files/pyvideotrans/out

107.172* Posted at: 1 hour ago 👁7

语音识别阶段出错 [阿里FunASR(本地)] 程序内部错误:未定义的变量 'None'
Traceback (most recent call last):
File "videotrans\task\job.py", line 113, in run
File "videotrans\task\_speech2text.py", line 146, in recogn
File "videotrans\recognition\__init__.py", line 226, in run
File "videotrans\recognition\_base.py", line 80, in run
File "videotrans\recognition\_funasr.py", line 37, in _exec
File "videotrans\recognition\_funasr.py", line 144, in _exec1
File "funasr\auto\auto_model.py", line 125, in init

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

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

tokenizer = tokenizer_class(**tokenizer_conf)

File "D:\Program Files\pyvideotrans\_internal\funasr\tokenizer\hf_tokenizer.py", line 11, in HuggingfaceTokenizer

tokenizer = AutoTokenizer.from_pretrained(init_param_path)

UnboundLocalError: local variable 'AutoTokenizer' referenced before assignment

TaskCfg(cache_folder='D:/Program Files/pyvideotrans/tmp/55032/3b6c9448c1', target_dir='D:/Program Files/pyvideotrans/output/recogn', remove_noise=False, is_separate=False, detect_language='zh-cn', subtitle_language=None, source_language=None, target_language=None, source_language_code=None, target_language_code=None, source_sub=None, target_sub='D:/Program Files/pyvideotrans/output/recogn/audio (mp3cut.net).srt', source_wav=None, source_wav_output=None, target_wav=None, target_wav_output=None, subtitles=None, novoice_mp4=None, noextname='audio (mp3cut.net)', shibie_audio='D:/Program Files/pyvideotrans/tmp/55032/3b6c9448c1/audio (mp3cut.net)-1766406524.8347442.wav', targetdir_mp4=None, instrument=None, vocal=None, back_audio=None, background_music=None, app_mode='biaozhun', subtitle_type=0, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role=None, copysrt_rawvideo=False, clear_cache=False, translate_type=None, tts_type=None, recogn_type=2, model_name='Fun-ASR-Nano-2512', split_type=0, voice_autorate=False, video_autorate=False, cuda=False, name='E:/audio (mp3cut.net).wav', basename='audio (mp3cut.net).wav', ext='wav', dirname='E:/', shound_del_name=None, uuid='3b6c9448c1', remove_silent_mid=False, align_sub_audio=True, enable_diariz=False, nums_diariz=0, rephrase=0, only_out_mp4=False)


=
system:Windows-10-10.0.19044-SP0
version:v3.92
frozen:True
language:zh
root_dir:D:/Program Files/pyvideotrans

1 Replies

这个错误表明 FunASR 在初始化时遇到了问题,具体是 AutoTokenizer 变量未定义。根据错误堆栈,这很可能是由于 FunASR 依赖的 transformers 库版本不兼容或未正确安装导致的。

核心解决步骤:

  1. 首要操作:更改软件安装路径
    您的软件安装在 D:/Program Files/pyvideotrans这是系统保护目录,极易引发权限问题和依赖库冲突。 这是导致此类深层库错误的最常见原因。

    • 立即将整个 pyvideotrans 文件夹移动到非系统盘的纯英文路径下,例如 D:/videotransE:/videotrans
    • 移动后,从新路径下的 sp.exe 重新启动软件。
  2. 如果问题依旧(移动路径后):

    • 由于您使用的是预打包版 (frozen:True),无法直接修改库。请尝试在软件内切换为其他语音识别模型(如 faster-whisper)暂时使用。
    • 要彻底修复 FunASR,可能需要等待开发者更新预打包版本中的依赖库。您可以:

      • 在项目 Issues 页面反馈此错误。
      • 或考虑使用 源码部署 方式,这样可以更灵活地管理环境。
  3. 临时替代方案:

    • 对于中文语音识别,除了 FunASR,您还可以选择:

      • faster-whisper 模型(选择 large-v3 模型对中文支持也不错)。
      • 在线 API,如 阿里百炼Qwen3-ASR(需在设置中配置 API Key)。

总结:请优先执行第1步,将软件移出 Program Files 目录,这有很高概率解决问题。

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.

Donate: https://ko-fi.com/jianchang512

Trending Questions