
Silero VAD
Pre-trained voice activity detector that finds where speech occurs in audio, for Python, ONNX, and other runti
- Stars
- 10.6k
- Forks
- 879
- Licence
- MIT
- Language
- Python
- Last update
- 16 days ago
- Type
- Library
What it is
Silero VAD is a pre-trained model that listens to audio and marks the parts that contain human speech. Developers use it to cut silence out of recordings, decide when someone has started or stopped talking, or clean datasets before further processing. The README says it runs on PyTorch and ONNX and can be used from Python or other languages through ONNX Runtime.
- Trim silence from recordings by passing audio to get_speech_timestamps with return_seconds=True
- Detect speech segments in a call recording for call-center analytics
- Filter out non-speech audio before feeding it to a transcription pipeline
- Run the model with ONNX Runtime in C++, Rust, Go, or Java using the examples listed in the README
Great for
- Developers adding speech detection to Python apps
- Teams building telephony, call-center, or voice bot pipelines
- Engineers preparing audio datasets by removing non-speech sections
- Edge or mobile projects that need a small model (the README says the JIT model is about two megabytes)
Not ideal for
- People who need speech-to-text; the README points to separate STT models in another repository
- Non-programmers looking for a ready-made app, since this is a library with no GUI described
- Projects needing sample rates other than 8000 Hz or 16000 Hz, which the README lists as the supported rates
How to get it
- 1
Install with a package manager
You'll need: Python 3.8+ · torch>=1.12.0 · A modern x86-64 CPU with AVX, AVX2, AVX-512, or AMX · FFmpeg 4-9 only if you use the torchcodec audio backend
Install with audio loading helpers
pip install silero-vad[audio]Install minimal package (if you load audio yourself)
pip install silero-vad - 2
Run it
- Install the package with pip
- Load the model with load_silero_vad()
- Read an audio file with read_audio('path_to_audio_file')
- Call get_speech_timestamps with return_seconds=True to get speech start and end times
- 3
Get the most out of it
- Pass a 1-D float32 torch.Tensor directly to get_speech_timestamps if you already load audio, so you avoid extra dependencies
- Use the onnx-cpu or onnx-gpu extras to run ONNX models, which the README says can be up to 4-5x faster in some conditions
- Use batching or a GPU for higher throughput, as the README suggests
- Check the wiki pages linked in the README for quality and performance metrics
Downloads
Strengths
- The README describes the model as pre-trained, so you do not need to train anything first
- The model is small and the README reports a single chunk takes under 1 ms on one CPU thread
- MIT license and no telemetry, keys, or registration, according to the README
Trade-offs
- The README badge reads CC BY-NC 4.0 while the linked license is MIT, so check the LICENSE file before commercial use
- Requires a CPU with AVX-family instructions and at least 1G RAM for the Python examples
- Audio loading needs an extra backend such as torchaudio, torchcodec, or FFmpeg, which adds setup work
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| silero-vad (this) | 10.6k | Library | intermediate | 16 days ago | Developers adding speech detection to Python apps |
| pyannote-audio | 10.8k | Library | intermediate | 12 days ago | Developers who want to add speaker separation to a Python audio workflow |
| FunASR | 20.9k | Library | intermediate | 4 days ago | Developers who want to transcribe audio in Python with a pretrained model |
| onnxruntime | 22.2k | Library | intermediate | 4 days ago | Developers who want to deploy a trained model inside an application or service |
| nano-vllm | 16.3k | Library | intermediate | 6 months ago | Developers who want to understand how LLM inference engines work internally |
| nni | 14.4k | Library | intermediate | 2.3 years ago | Researchers comparing hyperparameter tuning algorithms such as TPE, Hyperband, or Bayesian methods |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.