#5236 TaskCfgVTT(uuid='8924d90da0', name='D:/pdf压缩/1781573985072.m4a', dirname='D:/pdf压缩', noextname='1781573985072', basename

117.44* Posted at: 1 day ago

语音识别阶段出错[阿里FunASR(本地)(本地内置)] object of type 'NoneType' has no len():Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 632, in funasr_mlt
File "funasr\auto\auto_model.py", line 324, in generate

return self.inference(

File "funasr\auto\auto_model.py", line 381, in inference

res = model.inference(**batch, **kwargs)

File "D:\zruanjian/shipin fanyi/videotrans/codes\model.py", line 559, in inference

if len(hotwords) > 0:

TypeError: object of type 'NoneType' has no len()

Traceback (most recent call last):

File "videotrans\task\job.py", line 35, in run

File "videotrans\task\job.py", line 100, in process_task

File "videotrans\task\trans_create.py", line 322, in recogn

File "videotrans\recognition\__init__.py", line 190, in run

File "videotrans\recognition\_base.py", line 94, in run

File "videotrans\recognition\_funasr.py", line 61, in _exec

File "videotrans\configure\base.py", line 258, in _new_process

videotrans.configure.excepts.VideoTransError: object of type 'NoneType' has no len():Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 632, in funasr_mlt
File "funasr\auto\auto_model.py", line 324, in generate

return self.inference(

File "funasr\auto\auto_model.py", line 381, in inference

res = model.inference(**batch, **kwargs)

File "D:\zruanjian/shipin fanyi/videotrans/codes\model.py", line 559, in inference

if len(hotwords) > 0:

TypeError: object of type 'NoneType' has no len()
TaskCfgVTT(uuid='8924d90da0', name='D:/pdf压缩/1781573985072.m4a', dirname='D:/pdf压缩', noextname='1781573985072', basename='1781573985072.m4a', ext='m4a', target_dir='D:/1781573985072-m4a', cache_folder='D:/zruanjian/shipin fanyi/tmp/5908/8924d90da0', is_cuda=False, source_language='日语', source_language_code='ja', source_sub='D:/1781573985072-m4a/ja.srt', source_wav='D:/zruanjian/shipin fanyi/tmp/5908/8924d90da0/ja.wav', source_wav_output='D:/1781573985072-m4a/ja.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='D:/1781573985072-m4a/zh-cn.srt', target_wav='D:/zruanjian/shipin fanyi/tmp/5908/8924d90da0/target.wav', target_wav_output='D:/1781573985072-m4a/zh-cn.m4a', translate_type=17, tts_type=1, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='No', voice_autorate=False, video_autorate=False, remove_silent_mid=False, align_sub_audio=True, detect_language='ja', recogn_type=3, model_name='Fun-ASR-Nano-2512', shibie_audio=None, remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=0, fix_punc=0, subtitle_language=None, app_mode='tiqu', subtitles='', targetdir_mp4='D:/1781573985072-m4a/1781573985072.mp4', novoice_mp4='D:/zruanjian/shipin fanyi/tmp/5908/8924d90da0/novoice.mp4', is_separate=False, embed_bgm=True, instrument=None, vocal='D:/zruanjian/shipin fanyi/tmp/5908/8924d90da0/vocal.wav', clear_cache=True, background_music='', subtitle_type=0, only_out_mp4=True, recogn2pass=True, output_srt=2, copysrt_rawvideo=True, loop_backaudio=0, backaudio_volume=0.8)


=
system:Windows-10-10.0.26200-SP0
version:v4.02
frozen:True
language:zh
root_dir:D:/zruanjian/shipin fanyi

1 Replies

错误在于 FunASR 的 hotwords(热词)参数被错误地传递为 None 类型,导致内部代码无法对其进行 len() 运算。

解决方案:

  1. 打开软件 菜单 -> 工具 -> 高级选项 -> 语音识别参数,找到 热词 输入框,确保它不是空白字符串。如果为空,请填入一个简单的英文逗号分隔的词(如 你好,谢谢)或直接输入一个空格后保存。
    (此操作可强制让配置值从 null 变成空字符串,绕过代码中的 None 判断)
  2. 如果上述方法无效,请彻底重置配置:
    关闭软件,进入软件根目录的 videotrans/ 文件夹,删除 params.jsoncfg.json 两个文件,然后重新启动软件并重新设置 ASR 渠道等相关参数。
  3. 对于日语原始音频,推荐改用 faster-whisper(本地) + large-v3 模型,识别准确度更高,且不易出现此配置异常。
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: ko-fi.com/jianchang512

Related resource

Similar issues already exist