webrtcvad-wheels
Python interface to the Google WebRTC Voice Activity Detector (VAD) [released with binary wheels!]
What it is and what it does
This package wraps Google's WebRTC Voice Activity Detector, a fast and accurate classifier that determines whether a short audio segment contains speech or silence. It accepts 16-bit mono PCM audio at standard sample rates and returns a boolean result, with tunable aggressiveness (0–3) to control sensitivity to non-speech sounds. The package is distributed with pre-compiled binary wheels, eliminating the need to build the underlying C extension on Windows, macOS, and Linux across multiple architectures and CPU types.
The VAD is commonly used as a preprocessing step in speech recognition pipelines, telephony systems, and audio analysis workflows where you need to filter out silence or identify voiced regions before further processing. With no runtime dependencies and a simple API, it integrates easily into Python audio applications.
Use it for:
- Filter silence from audio recordings before sending to a speech-to-text service to reduce processing cost and latency.
- Segment a continuous audio stream into voiced and unvoiced regions for telephony or voice call analysis.
- Preprocess microphone input in real-time speech recognition to skip processing during silence.
- Detect speech activity in surveillance or meeting recordings to identify when participants are speaking.
- Build a voice activity detector for audio quality assessment or speaker diarization pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Detects voiced versus unvoiced segments in audio by wrapping Google's WebRTC Voice Activity Detector with pre-built binary wheels for Windows, macOS, and Linux.
Yes. The package is stable (Production/Stable status), has no known vulnerabilities, zero runtime dependencies, and ships with pre-built wheels that eliminate compilation friction on major platforms. The aging maintenance status is acceptable for a mature, focused tool with a narrow scope. Install it if you need reliable voice activity detection in Python.
Install
webrtcvad-wheels on PyPI
pip
pip install webrtcvad-wheelsuv
uv add webrtcvad-wheelspoetry
poetry add webrtcvad-wheelsInstalling webrtcvad-wheels
Before you install
Medium install friction due to compiled C extension, but mitigated by pre-built wheels covering Windows, macOS, and Linux across multiple architectures. Repository is aging (708 days since last release) but remains actively maintained with recent commits.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include the license text in distributions.
Quickstart
pip install webrtcvad-wheels
import webrtcvad
vad = webrtcvad.Vad(1) # aggressiveness 0-3
frame = b'\x00\x00' * int(16000 * 10 / 1000) # 10ms at 16kHz
is_speech = vad.is_speech(frame, 16000)
Audio must be 16-bit mono PCM at 8000, 16000, 32000, or 48000 Hz; frames must be exactly 10, 20, or 30 ms in duration.
Verify before relying
- Whether the package supports Python versions below 3.6 despite classifiers listing 3.6+
- Exact memory leak fixes and performance improvements claimed in version history beyond what the fact sheet documents
- Specific audio frame duration requirements and sample rate constraints beyond the documented 10, 20, or 30 ms frames
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 708 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 528,543/month — #6,164 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: webrtcvad_wheels-2.0.14-cp310-cp310-macosx_10_9_x86_64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-macosx_11_0_arm64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; webrtcvad_wheels-2.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; webrtcvad_wheels-2.0.14-cp310-cp310-musllinux_1_2_aarch64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-musllinux_1_2_i686.whl; webrtcvad_wheels-2.0.14-cp310-cp310-musllinux_1_2_ppc64le.whl; webrtcvad_wheels-2.0.14-cp310-cp310-musllinux_1_2_x86_64.whl; webrtcvad_wheels-2.0.14-cp310-cp310-win32.whl; webrtcvad_wheels-2.0.14-cp310-cp310-win_amd64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-macosx_10_9_x86_64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-macosx_11_0_arm64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; webrtcvad_wheels-2.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl; webrtcvad_wheels-2.0.14-cp311-cp311-musllinux_1_2_aarch64.whl; webrtcvad_wheels-2.0.14-cp311-cp311-musllinux_1_2_i686.whl
Keywords: speechrecognition, asr, voiceactivitydetection, vad, webrtc
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
webrtcvadProvides a Python interface to Google's WebRTC…
permissive · top 15,000 on PyPI
pymicro-vadA self-contained voice activity detector that…
permissive · top 15,000 on PyPI
silero-vadSilero VAD detects speech activity in audio…
permissive · top 5,000 on PyPI
livekit-plugins-turn-detectorDetects end-of-turn in voice conversations for…
permissive · top 5,000 on PyPI
realtimesttRealtimeSTT converts speech from microphone or…
permissive · top 15,000 on PyPI
pyrnnoisePython bindings for RNNoise that perform…
unclear · top 15,000 on PyPI
aic-sdkPython bindings for ai-coustics audio…
permissive · top 15,000 on PyPI
openwakewordopenWakeWord detects wake words and phrases in…
permissive · top 15,000 on PyPI
whisper-timestampedAdds word-level timestamps and confidence…
copyleft · top 15,000 on PyPI
pipecat-ai-small-webrtc-prebuiltProvides a ready-to-use WebRTC client UI for…
permissive · top 15,000 on PyPI