WaveKat VAD
Voice Activity Detection library for Rust with multiple backend support.
Usage
use VoiceActivityDetector;
use ;
let mut vad = new.unwrap;
let samples: = vec!; // 10ms at 16kHz
let probability = vad.process.unwrap;
Backends
| Backend | Feature | Description |
|---|---|---|
| WebRTC | webrtc (default) |
Google's WebRTC VAD - fast, binary output |
| Silero | silero |
Neural network via ONNX - higher accuracy, continuous probability |
| TEN-VAD | ten-vad |
Agora's TEN-VAD via ONNX - pure Rust, no C dependency |
[]
= "0.1" # WebRTC only
= { = "0.1", = ["silero"] }
= { = "0.1", = ["ten-vad"] }
ONNX models (Silero and TEN-VAD) are downloaded automatically at build time. For offline builds, set SILERO_MODEL_PATH or TEN_VAD_MODEL_PATH to a local .onnx file.
vad-lab
Dev tool for live VAD experimentation. Captures audio server-side and streams results to a web UI.
Quick Start
License
Apache-2.0
TEN-VAD model notice
The TEN-VAD ONNX model (used by the ten-vad feature) is licensed under Apache-2.0 with a non-compete clause by the TEN-framework / Agora. It restricts deployment that competes with Agora's offerings and limits deployment to "solely for your benefit and the benefit of your direct End Users." This is not standard open-source despite the Apache-2.0 label. Review the TEN-VAD license before using in production.
Third-party notices
This project uses nnnoiseless (BSD-3-Clause) for noise suppression via the denoise feature.