From b927b2c2746efaf7f91d03cec1c123a3d52bf62b Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 29 Sep 2026 10:54:22 +0800 Subject: fix(vad): bundle local Silero model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [问题原因] - 先前实现会在包内权重缺失时读取外部 faster-whisper 资源,无法满足自包含部署要求。 [问题根因] - 项目包中尚未包含已验证的 ONNX 权重,VAD 路径保留了开发期回退逻辑。 [修复方案] - 提交已校验 SHA-256 的本地 Silero ONNX 权重并移除外部包回退。 - 增加模型打包和缺失模型失败路径测试,并更新来源、MIT 许可和哈希说明。 [影响范围] - VAD 现在只加载项目包内模型,不联网且不依赖 faster-whisper 运行时资源。 - 未安装、启用或启动任何用户 systemd 服务。 --- src/mic_clipper/assets/silero_vad_v6.onnx | Bin 0 -> 1245151 bytes src/mic_clipper/vad.py | 13 ++++--------- 2 files changed, 4 insertions(+), 9 deletions(-) create mode 100644 src/mic_clipper/assets/silero_vad_v6.onnx (limited to 'src/mic_clipper') diff --git a/src/mic_clipper/assets/silero_vad_v6.onnx b/src/mic_clipper/assets/silero_vad_v6.onnx new file mode 100644 index 0000000..9febab9 Binary files /dev/null and b/src/mic_clipper/assets/silero_vad_v6.onnx differ diff --git a/src/mic_clipper/vad.py b/src/mic_clipper/vad.py index 705dfd8..e82d15a 100644 --- a/src/mic_clipper/vad.py +++ b/src/mic_clipper/vad.py @@ -47,13 +47,8 @@ class SileroVad: @staticmethod def _default_model_path() -> Path: bundled = resources.files("mic_clipper.assets").joinpath("silero_vad_v6.onnx") - if bundled.is_file(): - return Path(bundled) - try: - import faster_whisper - except ImportError as error: + if not bundled.is_file(): raise RuntimeError( - "Silero VAD model is missing; bundle silero_vad_v6.onnx or install the " - "pre-provisioned faster-whisper runtime asset" - ) from error - return Path(faster_whisper.__file__).parent / "assets" / "silero_vad_v6.onnx" + "packaged Silero VAD model is missing: silero_vad_v6.onnx" + ) + return Path(bundled) -- cgit v1.2.3