skillfed

webrtcvad

Python interface to the Google WebRTC Voice Activity Detector (VAD)

webrtcvad v2.0.10 480.4K downloads/30d#6,430 on PyPI2,497
Permissive license MIT DORMANT released

What it is and what it does

webrtcvad is a Python binding to Google's WebRTC Voice Activity Detector, a classifier that determines whether short audio frames contain speech or silence. It accepts 16-bit mono PCM audio at fixed sample rates (8000, 16000, or 32000 Hz) in frames of 10, 20, or 30 milliseconds, and returns a boolean indicating whether speech is present. The detector supports aggressiveness levels (0–3) to tune sensitivity.

The package is used in speech recognition pipelines, telephony systems, and audio preprocessing workflows where you need to filter out silence or identify speech segments before further processing. It wraps a mature, well-regarded algorithm from the WebRTC project, but the Python wrapper itself has not been updated since 2017-01-07, creating uncertainty about compatibility with modern Python toolchains and whether better-maintained alternatives now exist.

Use it for:

  • Preprocessing audio streams for automatic speech recognition by filtering out silence before sending to a speech-to-text service.
  • Segmenting recorded phone calls or voice messages to extract only the voiced portions for analysis or transcription.
  • Real-time voice activity detection in VoIP or conferencing applications to trigger recording or transmission only when speech is detected.
  • Training or evaluating speech detection models by labeling audio data as voiced or unvoiced at the frame level.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Python interface to Google's WebRTC Voice Activity Detector, classifying audio frames as voiced or unvoiced for speech recognition and telephony applications.

Yes, with conditions. The underlying WebRTC VAD algorithm is mature and well-regarded. However, high install friction (compiled extension), dormancy since 2017-01-07, and uncertainty about modern Python compatibility mean you should verify it builds on your target platform and consider whether a more recently maintained alternative better suits your needs before committing.

Install

webrtcvad on PyPI

pip

pip install webrtcvad

uv

uv add webrtcvad

poetry

poetry add webrtcvad

Installing webrtcvad

Before you install

High install friction due to compiled C extension dependency (webrtcvad-2.0.10.tar.gz). The package is dormant—last release was 2017-01-07, over 3506 days ago—with no recent maintenance activity, though the repository remains active with 2497 stars.

License in practice

MIT license (permissive) imposes no significant restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install webrtcvad

import webrtcvad
vad = webrtcvad.Vad(1)
sample_rate = 16000
frame = b'\x00\x00' * (sample_rate * 10 // 1000)
result = vad.is_speech(frame, sample_rate)

Requires 16-bit mono PCM audio at 8000, 16000, or 32000 Hz; frame duration must be 10, 20, or 30 ms. Compilation of C extension may require build tools and development headers.

Verify before relying

  • Whether the package builds successfully on modern Python versions despite classifiers only listing up to 3.5.
  • Whether pre-built wheels are available to avoid compilation friction on common platforms.
  • Current real-world accuracy and performance compared to more recently maintained VAD alternatives.

Package facts

License MIT (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 3,506 days since the last release
Last repo commit
First released
Downloads 480,417/month — #6,430 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: webrtcvad-2.0.10.tar.gz

Keywords: speechrecognition, asr, voiceactivitydetection, vad, webrtc

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: Human Machine InterfacesTopic :: Scientific/Engineering :: Information Analysis

Tags

voice activity detectionspeech detection pythonwebrtc vadaudio classification voiced unvoicedspeech recognition preprocessingtelephony voice detection
audio-processingspeech-detection

More Artificial Intelligence packages