Skip to main content

TEN VAD integration for Pipecat — voice activity detection for real-time voice agents

Project description

pipecat-ten-vad

TEN VAD implementation with pipecat

pipecat-ten-vad

PyPI version Python versions License: MIT

TEN VAD integration for Pipecat — a low-latency, high-performance voice activity detector for real-time voice agents.

Community Integration — This package is maintained by the community, not the Pipecat core team. See the Pipecat community integrations page for more.


Why TEN VAD?

Most Pipecat pipelines use Silero VAD by default. TEN VAD is worth considering if you need:

  • Lower latency — detects speech-to-silence transitions faster, reducing end-of-turn delay in voice agents
  • Better short-silence handling — correctly identifies brief pauses between words that Silero VAD can miss
  • Lower compute — smaller model with a lower real-time factor (RTF) across tested platforms

Pipecat Compatibility

Tested with Pipecat v0.0.106.

Check the Pipecat changelog when upgrading.


Installation

Step 1 — Install TEN VAD

TEN VAD is not yet available on PyPI. Install it directly from GitHub:

pip install git+https://github.com/TEN-framework/ten-vad.git

Step 2 — Install pipecat-ten-vad

pip install pipecat-ten-vad

Step 3 — Install Pipecat with your required extras

pip install "pipecat-ai[daily,deepgram,openai,cartesia]"

Quick Start

from pipecat.audio.vad.vad_analyzer import VADParams
from pipecat.transports.services.daily import DailyParams, DailyTransport
from pipecat_ten_vad import TenVadAnalyzer

transport = DailyTransport(
    room_url,
    token,
    "My Bot",
    DailyParams(
        audio_in_enabled=True,
        audio_out_enabled=True,
        vad_enabled=True,
        vad_analyzer=TenVadAnalyzer(
            sample_rate=16000,
            threshold=0.6,
            params=VADParams(stop_secs=0.3),
        ),
        vad_audio_passthrough=True,
    ),
)

Configuration

TenVadAnalyzer parameters

Parameter Type Default Description
sample_rate int None Audio sample rate in Hz. Must be 16000 if provided.
threshold float 0.6 Detection threshold (0.0–1.0). Higher = requires stronger voice signal to trigger.
params VADParams None Pipecat VAD smoothing params (e.g. stop_secs).

VADParams — key fields

Parameter Default Description
stop_secs 0.3 Seconds of silence before end-of-turn is triggered. Lower = more responsive, higher = fewer false cuts.

Running the Example

# Clone the repo
git clone https://github.com/rahulsolanki001/pipecat-ten-vad.git
cd pipecat-ten-vad

# Install dependencies
pip install git+https://github.com/TEN-framework/ten-vad.git
pip install "pipecat-ten-vad[examples]"

# Set up environment
cp .env.example .env
# Edit .env with your API keys

# Run
python examples/foundational/ten_vad_basic.py

Requirements

  • Python >= 3.10, < 3.13
  • pipecat-ai >= 0.0.106
  • numpy >= 1.24
  • TEN VAD (installed from GitHub — see above)

Supported platforms: Linux x64, macOS (arm64 + x64), Windows x64


Contributing

Issues and PRs are welcome. When reporting a bug, please include:

  • Your Python version
  • Your pipecat-ai version (pip show pipecat-ai)
  • A minimal reproduction script

License

MIT — see LICENSE for details.

TEN VAD itself is licensed under Apache 2.0 with additional conditions — see the TEN VAD license.


Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipecat_ten_vad-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pipecat_ten_vad-0.1.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file pipecat_ten_vad-0.1.0.tar.gz.

File metadata

  • Download URL: pipecat_ten_vad-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pipecat_ten_vad-0.1.0.tar.gz
Algorithm Hash digest
SHA256 96d226b62e06b7d0d5ef29705ee41ea715849bd1bee7e433c96fee1d5a899f1e
MD5 8787dcdc6ca20cefb60660c20e4280f1
BLAKE2b-256 5b4b5c651a4a8d57fe9fdf0183e2b6dba210450643dfe66704c109be5c39e8ba

See more details on using hashes here.

File details

Details for the file pipecat_ten_vad-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pipecat_ten_vad-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be9891cef36ea364f4a6ecd24fcf3a9a1a6510c9cfec3e09e2bb8b22d2a669ab
MD5 b080e295526627ece5fc89d567bc9574
BLAKE2b-256 6a3e42d13556960bcbbcd1f3c752bc6175453566acbb9b03b7a245d520ff26c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page