Overview
TenVadAnalyzer is a Pipecat VADAnalyzer implementation backed by
TEN VAD, a low-latency,
high-performance voice activity detector for real-time voice agents. It analyzes
incoming audio and reports voice activity confidence, letting a transport detect
when a user starts and stops speaking. It is a drop-in alternative to Pipecat’s
built-in SileroVADAnalyzer.
Source Repository
Source code, examples, and issues for the TEN VAD integration
PyPI Package
The
pipecat-ten-vad package on PyPITEN VAD
The upstream TEN VAD project and supported platforms
Installation
This is a community-maintained package distributed separately frompipecat-ai.
First install the TEN VAD backend (per the source repository, install it directly
from GitHub):
Prerequisites
No API key is required to use the VAD analyzer itself. You need:- TEN VAD backend: Installed from GitHub as shown above.
- 16 kHz audio: TEN VAD requires a
16000Hz sample rate.
Supported platforms (per the source repository): Linux x64, macOS (arm64 +
x64), and Windows x64.
Configuration
Constructor parameters forTenVadAnalyzer:
Audio sample rate in Hz. Must be
16000 if provided. Passing any other value
raises a ValueError.Detection threshold (0.0–1.0) used by TEN VAD. Higher values require a
stronger voice signal to trigger.
Pipecat VAD smoothing parameters (e.g.
stop_secs). See
VADParams below.VADParams
Standard Pipecat VAD smoothing parameters, passed via theparams argument using
VADParams(...). A commonly tuned field:
| Parameter | Type | Default | Description |
|---|---|---|---|
stop_secs | float | 0.3 | Seconds of silence before end-of-turn is triggered. Lower is more responsive; higher cuts fewer turns short. |
Usage
PassTenVadAnalyzer to a transport’s vad_analyzer, the same way you would use
SileroVADAnalyzer: