Skip to content
← Models
Open weightsGoogle (WebRTC project)/10 trustVerified

WebRTC VAD

The original zero-dependency voice activity detector: a tiny GMM-based C engine from Google's WebRTC stack with four aggressiveness modes — still the cheapest silence-trimmer in production.

Visit official page →

About

WebRTC VAD is the voice activity detector Google wrote in C for the WebRTC real-time communication stack (the same stack inside Chrome). It's a Gaussian mixture model, not a neural network: each 10/20/30ms frame is split into six frequency bands between 80Hz and 4kHz and scored against adaptive statistical models of speech and noise, with four aggressiveness modes (0=quality through 3=very aggressive) trading missed speech against false alarms. Its enduring appeal is that it needs no model file, uses negligible CPU, and is perfectly deterministic — the same input always gives the same output. Most developers meet it through py-webrtcvad (pip install webrtcvad), libfvad (standalone C extraction, BSD-3), or a WebAssembly build for the browser. The honest limitation: it reacts to energy in the speech bands, so it handles steady noise well but lets through anything loud and voice-like — televisions, colleagues across the room, café chatter, music with vocals. A 2026 third-party comparison put it at 50.0% TPR at 5% FPR versus 87.7% for Silero and 98.9% for Cobra on the same data. For trimming silences from clean recordings before transcription it's still a sound, nearly-free choice; for noisy rooms, the neural options win.

Specs

Context window

Not applicable — frame-level classifier on 10/20/30ms PCM frames (8/16/32/48kHz); no learned context

Pricing

Free / open source — BSD-style WebRTC license

Free quota

Fully open — ship the C library, Python bindings (py-webrtcvad), or WASM build; no registration

API access

No hosted API — C/C++ library, py-webrtcvad Python bindings, libfvad, community WASM builds; self-host only

Weights

Open weights

Released

Not disclosed

Benchmarks

  • 50.0% TPR at 5% FPR on LibriSpeech+DEMAND-style benchmark (third-party 2026 comparison table; Silero 87.7%, Cobra 98.9% on the same table)\n- Negligible CPU: RTF ~0.0002 on desktop CPU (third-party benchmark)\n- No peer-reviewed benchmark; figures come from community/provider-built comparisons

Provider-reported unless a source says otherwise. Benchmarks are marketing-adjacent by nature — treat them as directional.

Use cases

voice-activity-detectionspeech-preprocessingsilence-trimmingvoipembeddedbrowser-audio

Trust score — 7/10

/10 trustVerified

Scored 7/10 (TIER verified, metrics-v1). Evidence: battle-tested code inside the WebRTC stack used by billions of browser calls; open source under the WebRTC/BSD license; ubiquitous in speech-preprocessing scripts. Strengths: zero model file, near-zero CPU, fully deterministic, available in every language via ports. Docked for: (1) clearly outclassed by neural VADs on noisy audio (50% vs 98.9% TPR at equal FPR in the best available comparison); (2) the 'model' is frozen 2010s-era statistics — no learning from modern data. License: BSD-3-Clause (WebRTC license; ports vary).

How the trust score is built

Full methodology →
Adoption · stars/downloads, log-scaled vs peers
9.0/10
Maintenance · recency, releases, issue load
5.0/10
Openness · license + docs
10.0/10
Manual review · sanity read + red-flag check
7.0/10
  • · Zero-model-file GMM detector inside the WebRTC stack; deterministic and near-zero CPU.
  • · Clearly outclassed by neural VADs on noisy audio (50.0% vs 98.9% TPR at equal FPR in 2026 comparison).
  • · Algorithm effectively frozen; ports (libfvad, py-webrtcvad, WASM) community-maintained.

Sources