Skip to content

Wrap whisper.cpp's built-in Silero VAD #10

@uqio

Description

@uqio

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions