#1854 TaskCfg(cache_folder='E:/AI_RUN/win-videotrans-v3.88/tmp/1736/speech2text', target_dir='e:/ai_run/win-videotrans-v3.81/o

210.87* Posted at: 4 hours ago 👁8

语音识别阶段出错:[阿里FunASR中文(本地)] 程序内部错误:expected Tensor as element 1 in argument 0, but got str:
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 231, in run
File "videotrans\recognition\_base.py", line 78, in run
File "videotrans\recognition\_funasr.py", line 57, in _exec
File "funasr\auto\auto_model.py", line 306, in generate

return self.inference_with_vad(input, input_len=input_len, **cfg)

File "funasr\auto\auto_model.py", line 383, in inference_with_vad

res = self.inference(

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

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

File "E:\AI_RUN\win-videotrans-v3.88\_internal\funasr\models\fsmn_vad_streaming\model.py", line 690, in inference

audio_sample = torch.cat((cache["prev_samples"], audio_sample_list[0]))

TypeError: expected Tensor as element 1 in argument 0, but got str

TaskCfg(cache_folder='E:/AI_RUN/win-videotrans-v3.88/tmp/1736/speech2text', target_dir='e:/ai_run/win-videotrans-v3.81/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='e:/ai_run/win-videotrans-v3.81/output/recogn/100_第七十一节课:关于时与空.srt', source_wav=None, source_wav_output=None, target_wav=None, target_wav_output=None, subtitles=None, novoice_mp4=None, noextname='100_第七十一节课:关于时与空', shibie_audio='E:/AI_RUN/win-videotrans-v3.88/tmp/1736/speech2text/100_第七十一节课:关于时与空-1765234099.018579.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='paraformer-zh', split_type=0, voice_autorate=False, video_autorate=False, cuda=True, name='D:/丁丁项目/智玉录屏的/100_第七十一节课:关于时与空.mkv', basename='100_第七十一节课:关于时与空.mkv', ext='mkv', dirname='D:/丁丁项目/智玉录屏的', shound_del_name=None, uuid='ad248921dc', remove_silent_mid=False, align_sub_audio=True, enable_diariz=False, nums_diariz=0, rephrase=0)


=
system:Windows-10-10.0.26100-SP0
version:v3.88
frozen:True
language:zh
root_dir:E:/AI_RUN/win-videotrans-v3.88

1 Replies

这个错误是阿里FunASR本地模型在处理特定音频时出现的内部类型错误(expected Tensor as element 1 in argument 0, but got str)。根据您的日志,问题可能由以下原因之一引起:

  1. 音频文件路径或内容异常:FunASR在处理您提取的音频文件 100_第七十一节课:关于时与空-1765234099.018579.wav 时,预期收到Tensor数据,但收到了字符串。这可能是音频文件本身存在问题,或者软件在预处理音频时产生了意外数据。
  2. 模型缓存或状态问题:FunASR的流式VAD模型在拼接音频缓存时出错。

请按顺序尝试以下解决方案:

方案一:清理缓存并重新处理

  1. 在软件主界面,务必勾选“清理已生成”选项。
  2. 重新拖入视频文件进行处理。

方案二:更换语音识别模型
由于FunASR模型可能对某些音频格式或内容敏感,最直接的解决方法是更换识别引擎:

  1. 在主界面“语音识别”区域,将模型从“阿里FunASR中文(本地)”切换为“faster-whisper(本地)”。
  2. 模型选择“large-v3”或“medium”以平衡速度与精度。
  3. 重新处理视频。

方案三:检查并预处理源视频
您的视频文件路径包含中文(D:/丁丁项目/智玉录屏的/),虽然pyVideoTrans支持中文路径,但某些底层库可能受影响。

  1. 将视频文件复制到一个纯英文路径下,例如 D:/video/lesson.mkv
  2. 使用软件的“工具箱 -> 音视频合并/分离”功能,尝试重新提取该视频的音频,检查是否能正常生成WAV文件。
  3. 如果提取正常,再使用新路径下的视频文件进行翻译。

方案四:更新或重装FunASR依赖(进阶)
如果以上方法无效,且您必须使用FunASR,可以尝试:

  1. 在软件根目录下,删除 models 文件夹中与FunASR相关的缓存模型文件。
  2. 重启软件,让软件重新下载模型。

如果问题依旧,请提供 E:/AI_RUN/win-videotrans-v3.88/logs/ 目录下最新的完整日志文件,以便进一步分析。

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