Skip to main content

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 PyPI

TEN VAD

The upstream TEN VAD project and supported platforms

Installation

This is a community-maintained package distributed separately from pipecat-ai. First install the TEN VAD backend (per the source repository, install it directly from GitHub):
Then install the integration:

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 16000 Hz sample rate.
Supported platforms (per the source repository): Linux x64, macOS (arm64 + x64), and Windows x64.

Configuration

Constructor parameters for TenVadAnalyzer:
sample_rate
int
default:"None"
Audio sample rate in Hz. Must be 16000 if provided. Passing any other value raises a ValueError.
threshold
float
default:"0.6"
Detection threshold (0.0–1.0) used by TEN VAD. Higher values require a stronger voice signal to trigger.
params
VADParams
default:"None"
Pipecat VAD smoothing parameters (e.g. stop_secs). See VADParams below.

VADParams

Standard Pipecat VAD smoothing parameters, passed via the params argument using VADParams(...). A commonly tuned field:

Usage

Pass TenVadAnalyzer to a transport’s vad_analyzer, the same way you would use SileroVADAnalyzer:

Compatibility

Tested with Pipecat v0.0.106. Check the source repository for the latest tested version and changelog.