Tracked under #6.
Scope
Wrap whisper.cpp's bundled Silero ONNX VAD so callers who don't already have a VAD pipeline can opt into the built-in one without dropping to FFI.
Symbols
whisper_vad_* family (init / detect / free).
whisper_full_params::vad, vad_model_path, vad_params.
set_min_speech_duration_ms, set_max_speech_duration_s, set_min_silence_duration_ms, set_speech_pad_ms, set_threshold.
Why deferred
Whispery uses the silero crate upstream — re-wrapping whisper.cpp's bundled VAD duplicates state and gives whispery two VAD pipelines to keep in sync. The built-in path is useful for callers who don't already have a Rust-side VAD; whispery isn't one of them.
Acceptance
- New
Context::detect_vad(...) (or similar) entry point for whisper.cpp's whisper_vad_* flow, with the parameter setters as WhisperVadParams::with_*.
- Patch verification entries in
whispercpp-sys/build.rs if any new submodule sentinels are needed.
- Add an axis-matrix row in
safety_audit.rs covering the new method.
- Tests on a poisoned fixture (no model required) plus a feature-gated integration test if a small fixture model is available.
If you're a caller who needs this, drop a comment with your scenario.
Tracked under #6.
Scope
Wrap whisper.cpp's bundled Silero ONNX VAD so callers who don't already have a VAD pipeline can opt into the built-in one without dropping to FFI.
Symbols
whisper_vad_*family (init / detect / free).whisper_full_params::vad,vad_model_path,vad_params.set_min_speech_duration_ms,set_max_speech_duration_s,set_min_silence_duration_ms,set_speech_pad_ms,set_threshold.Why deferred
Whispery uses the
silerocrate upstream — re-wrapping whisper.cpp's bundled VAD duplicates state and gives whispery two VAD pipelines to keep in sync. The built-in path is useful for callers who don't already have a Rust-side VAD; whispery isn't one of them.Acceptance
Context::detect_vad(...)(or similar) entry point for whisper.cpp'swhisper_vad_*flow, with the parameter setters asWhisperVadParams::with_*.whispercpp-sys/build.rsif any new submodule sentinels are needed.safety_audit.rscovering the new method.If you're a caller who needs this, drop a comment with your scenario.