#875 语音识别阶段出错:[faster-whisper(本地)] 程序内部错误:'NoneType' object is not subscriptable: Traceback (most recent call last): File "vi

*8a30:ca6f* Posted at: 3 hours ago 👁10

语音识别阶段出错:[faster-whisper(本地)] 程序内部错误:'NoneType' object is not subscriptable:

Traceback (most recent call last):

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

File "videotrans\task\_speech2text.py", line 60, in recogn

File "videotrans\task\_remove_noise.py", line 6, in remove_noise

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 "modelscope\pipelines\__init__.py", line 4, 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 "modelscope\pipelines\base.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 "modelscope\models\__init__.py", line 10, 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 "modelscope\models\base\__init__.py", line 4, 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 "modelscope\models\base\base_head.py", line 5, 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 "modelscope\models\base\base_model.py", line 9, 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 "modelscope\models\builder.py", line 16, in

TypeError: 'NoneType' object is not subscriptable

1 Replies

本条内容由 DeepSeek 回复
这是一个与 pyVideoTrans 相关的模型加载问题。错误发生在语音识别阶段,当使用 faster-whisper 模式时,软件尝试加载 modelscope 相关模块失败,导致 'NoneType' object is not subscriptable 错误。

问题分析:

从错误堆栈可以看出,问题出现在 modelscope\models\builder.py 第16行。这是 PySide6 与 ModelScope 懒加载机制的兼容性问题。当软件尝试导入 ModelScope 相关模块时,PySide6 的内部自检行为与 ModelScope 的懒加载机制发生冲突,导致模块加载失败。

解决方案:

1. 临时解决方案 - 切换语音识别渠道:

  • 在软件界面中,将语音识别渠道从当前的 "faster-whisper(本地)" 切换到其他可用的渠道,如:
  • "openai-whisper本地模式"
  • "Google识别API"(需要科学上网)
  • 或其他在线识别服务

2. 永久解决方案 - 修复 ModelScope 源码:

如果你需要继续使用 faster-whisper 模式,需要修改 ModelScope 的源码:

  • 找到文件:[你的虚拟环境]/lib/site-packages/modelscope/utils/import_utils.py
  • LazyImportModule 类的 __getattr__ 方法开头添加以下代码:
   class LazyImportModule(ModuleType):
       def __getattr__(self, name: str) -> Any:
           # ==================== 补丁 ====================
           # 当PySide6的底层检查'__wrapped__'属性时,
           # 我们直接告诉它"没有这个属性",而不是触发危险的懒加载。
           if name == '__wrapped__':
               raise AttributeError
           # ... 原有代码 ...

3. 重新安装软件:

  • 如果上述方法无效,建议从官网重新下载最新版本的预打包软件,这通常已经包含了相关的兼容性修复。

建议:

对于大多数用户,推荐使用第一种临时解决方案,切换到其他语音识别渠道通常能立即解决问题。如果你有技术背景且需要继续使用 faster-whisper,再考虑第二种源码修改方案。

如果问题仍然存在,请提供软件版本号和操作系统信息,以便进一步诊断。

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