What py-webrtcvad is
py-webrtcvad is a Python interface to WebRTC voice activity detection. It examines short audio frames and classifies them as speech or non-speech. A frame is a small slice of a recording; your application must combine those individual decisions into longer segments when needed.
Its small, focused interface suits an existing Python audio pipeline. It does not generate transcripts, identify speakers or provide a complete conversational voice system. Those functions require other components and additional timing and state management.
Read the official documentationHow it fits into a workflow
The program converts audio to a supported format, divides it into valid frame lengths and asks the detector about each frame. It then decides how many consecutive frames count as a speech segment. Adjusting aggressiveness changes the tradeoff between retaining faint speech and rejecting noise, so review real samples from the intended environment.
Examples described as illustrative or proposed trials are editorial suggestions. Documented real builds, when available, are linked separately below.
Requirements, cost and limitations
The documented input is 16-bit mono PCM with supported sample rates and frame durations. The Python wrapper has MIT terms; the underlying WebRTC code has BSD-style terms. Format preparation is part of the work, not something the detector can infer from any arbitrary audio file.
When to choose it and what to compare
Choose this for a focused speech gate when you already control the audio pipeline. Silero VAD is another speech-detection option; whisper.cpp addresses the different task of transcription. A successful speech/no-speech decision should not be presented as proof that the words were recognized correctly.
Practice a related technique
These tutorials use fictional samples and are separate from the real implementations linked on this site.
PRACTICE WORKSHOPTurn a recording into editable captionsTechnical details and documented capabilities
These details come from the linked sources, checked 2026-10-27. Open the current documentation before planning a deployment or migration.
- Type
- Speech & audio
- Runs on / through
- Python with native extension
- Execution choices
- local, self-hosted
- License or access terms
- MIT wrapper; WebRTC code has BSD-style terms
- A narrow, understandable API for a focused job.
- Configurable aggressiveness exposes the speech-filtering tradeoff.
Focused source review : Documented runtime, licensing and deployment conditions. Documentation review, not hands-on product testing.
Sources and evidence
Product facts are based on the following published sources, checked 2026-10-27. Workflow suggestions and comparisons are editorial interpretation; PrisAIm has not independently benchmarked this product.
Official project Documentation License / terms