Voice Activity Detector (VAD) by Silero
Project description
Silero VAD
Silero VAD - pre-trained enterprise-grade Voice Activity Detector (also see our STT models).
Real Time Example
Fast start
Dependencies
System requirements to run python examples on x86-64
systems:
python 3.8+
;- 1G+ RAM;
- A modern CPU with AVX, AVX2, AVX-512 or AMX instruction sets.
Dependencies:
torch>=1.12.0
;torchaudio>=0.12.0
(for I/O only);onnxruntime>=1.16.1
(for ONNX model usage).
Silero VAD uses torchaudio library for audio I/O (torchaudio.info
, torchaudio.load
, and torchaudio.save
), so a proper audio backend is required:
- Option №1 - FFmpeg backend.
conda install -c conda-forge 'ffmpeg<7'
; - Option №2 - sox_io backend.
apt-get install sox
, TorchAudio is tested on libsox 14.4.2; - Option №3 - soundfile backend.
pip install soundfile
.
If you are planning to run the VAD using solely the onnx-runtime
, it will run on any other system architectures where onnx-runtume is supported. In this case please note that:
- You will have to implement the I/O;
- You will have to adapt the existing wrappers / examples / post-processing for your use-case.
Using pip:
pip install silero-vad
from silero_vad import load_silero_vad, read_audio, get_speech_timestamps
model = load_silero_vad()
wav = read_audio('path_to_audio_file')
speech_timestamps = get_speech_timestamps(wav, model)
Using torch.hub:
import torch
torch.set_num_threads(1)
model, utils = torch.hub.load(repo_or_dir='snakers4/silero-vad', model='silero_vad')
(get_speech_timestamps, _, read_audio, _, _) = utils
wav = read_audio('path_to_audio_file')
speech_timestamps = get_speech_timestamps(wav, model)
Key Features
-
Stellar accuracy
Silero VAD has excellent results on speech detection tasks.
-
Fast
One audio chunk (30+ ms) takes less than 1ms to be processed on a single CPU thread. Using batching or GPU can also improve performance considerably. Under certain conditions ONNX may even run up to 4-5x faster.
-
Lightweight
JIT model is around two megabytes in size.
-
General
Silero VAD was trained on huge corpora that include over 6000 languages and it performs well on audios from different domains with various background noise and quality levels.
-
Flexible sampling rate
Silero VAD supports 8000 Hz and 16000 Hz sampling rates.
-
Highly Portable
Silero VAD reaps benefits from the rich ecosystems built around PyTorch and ONNX running everywhere where these runtimes are available.
-
No Strings Attached
Published under permissive license (MIT) Silero VAD has zero strings attached - no telemetry, no keys, no registration, no built-in expiration, no keys or vendor lock.
Typical Use Cases
- Voice activity detection for IOT / edge / mobile use cases
- Data cleaning and preparation, voice detection in general
- Telephony and call-center automation, voice bots
- Voice interfaces
Links
- Examples and Dependencies
- Quality Metrics
- Performance Metrics
- Versions and Available Models
- Further reading
- FAQ
Get In Touch
Try our models, create an issue, start a discussion, join our telegram chat, email us, read our news.
Please see our wiki for relevant information and email us directly.
Citations
@misc{Silero VAD,
author = {Silero Team},
title = {Silero VAD: pre-trained enterprise-grade Voice Activity Detector (VAD), Number Detector and Language Classifier},
year = {2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/snakers4/silero-vad}},
commit = {insert_some_commit_here},
email = {hello@silero.ai}
}
Examples and VAD-based Community Apps
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file silero_vad-5.1.2.tar.gz
.
File metadata
- Download URL: silero_vad-5.1.2.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c442971160026d2d7aa0ad83f0c7ee86c89797a65289fe625c8ea59fc6fb828d |
|
MD5 | 66ab4cc7f56bc1fb9710e02d97f19fe1 |
|
BLAKE2b-256 | b1b4d0311b2e6220a11f8f4699f4a278cb088131573286cdfe804c87c7eb5123 |
File details
Details for the file silero_vad-5.1.2-py3-none-any.whl
.
File metadata
- Download URL: silero_vad-5.1.2-py3-none-any.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93b41953d7774b165407fda6b533c119c5803864e367d5034dc626c82cfdf661 |
|
MD5 | 6f07858bd3563c208e6c9fd3180df2ad |
|
BLAKE2b-256 | 98f75ae11d13fbb733cd3bfd7ff1c3a3902e6f55437df4b72307c1f168146268 |