#3138 TaskCfg(cache_folder='D:/futa/win-videotrans-v3.78-0821/tmp/76336/89a3ce07de', target_dir='c:/users/rick/videos/pyvideot

103.62* Posted at: 9 days ago 👁33

语音识别阶段出错 [faster-whisper(本地)] 程序内部错误:module 'decoders' has no attribute 'DecodeStream'
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "concurrent\futures\process.py", line 243, in _process_worker
File "videotrans\process\stt_fun.py", line 163, in faster_whisper
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "faster_whisper\__init__.py", line 2, in
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "faster_whisper\transcribe.py", line 15, in
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "tokenizers\__init__.py", line 94, in

from .implementations import (

File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "tokenizers\implementations\__init__.py", line 1, in

from .base_tokenizer import BaseTokenizer

File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "tokenizers\implementations\base_tokenizer.py", line 4, in

from tokenizers.decoders import Decoder

File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "pyimod02_importers.py", line 457, in exec_module
File "tokenizers\decoders\__init__.py", line 15, in
AttributeError: module 'decoders' has no attribute 'DecodeStream'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "videotrans\task\job.py", line 106, in run
File "videotrans\task\_speech2text.py", line 156, in recogn
File "videotrans\recognition\__init__.py", line 282, in run
File "videotrans\recognition\_base.py", line 141, in run
File "videotrans\recognition\_overall.py", line 63, in _exec
File "videotrans\recognition\_overall.py", line 142, in _faster
File "videotrans\configure\_base.py", line 272, in _new_process
File "concurrent\futures\_base.py", line 446, in result
File "concurrent\futures\_base.py", line 391, in __get_result
AttributeError: module 'decoders' has no attribute 'DecodeStream'
TaskCfg(cache_folder='D:/futa/win-videotrans-v3.78-0821/tmp/76336/89a3ce07de', target_dir='c:/users/rick/videos/pyvideotrans/recogn', remove_noise=True, is_separate=False, detect_language='en', subtitle_language=None, source_language=None, target_language=None, source_language_code=None, target_language_code=None, source_sub=None, target_sub='c:/users/rick/videos/pyvideotrans/recogn/The Mask of Joy .srt', source_wav=None, source_wav_output=None, target_wav=None, target_wav_output=None, subtitles='', novoice_mp4=None, noextname='The Mask of Joy ', shibie_audio='D:/futa/win-videotrans-v3.78-0821/tmp/76336/89a3ce07de/The Mask of Joy -1770442158.7093906.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=0, model_name='large-v3-turbo', voice_autorate=False, video_autorate=False, cuda=False, name='D:/futa/futa/vidio/The Mask of Joy .mp4', basename='The Mask of Joy .mp4', ext='mp4', dirname='D:/futa/futa/vidio', shound_del_name=None, uuid='89a3ce07de', remove_silent_mid=False, align_sub_audio=True, enable_diariz=True, nums_diariz=0, rephrase=0, only_out_mp4=False, fix_punc=False, recogn2pass=False)


=
system:Windows-10-10.0.26200-SP0
version:v3.96
frozen:True
language:zh
root_dir:D:/futa/win-videotrans-v3.78-0821

1 Replies

这是由于软件内置的 tokenizers 库版本与 faster-whisper 不兼容导致的。错误信息 module 'decoders' has no attribute 'DecodeStream' 表明 tokenizers 库的 decoders 模块缺少 DecodeStream 属性。

解决方案:

  1. 下载并替换 tokenizers 库文件

    • 从官方提供的链接下载修复后的 tokenizers 库文件:https://github.com/jianchang512/stt/releases/download/0.0/tokenizers.zip
    • 解压下载的 tokenizers.zip 文件。
    • 将解压得到的 tokenizers 文件夹,复制到你的 pyVideoTrans 软件安装目录下,覆盖原有的同名文件夹。
    • 注意:你的软件安装路径是 D:/futa/win-videotrans-v3.78-0821/,因此应将 tokenizers 文件夹复制到 D:/futa/win-videotrans-v3.78-0821/ 目录下。
  2. 重启软件:完成文件替换后,关闭并重新启动 pyVideoTrans 软件,再次尝试语音识别。

补充说明

  • 此问题通常出现在预打包版(.exe)软件中,是特定版本依赖库的内部冲突。
  • 确保你的软件安装路径(D:/futa/win-videotrans-v3.78-0821)不包含中文字符,符合要求。

请查阅相关文档:

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