LiveKit Plugins – TEN VAD
livekit-plugins-tenvad provides seamless integration of the TEN-framework/ten-vad voice activity detection (VAD) plugin into the LiveKit ecosystem.
This plugin enables real-time speech activity detection with low-latency inference, optimized for streaming, conversational AI, and livekit-agents integration.
✨ Features
- 🔌 LiveKit plugin integration — plug-and-play support for LiveKit workflows
- 🤖 Compatible with livekit-agents — extend agents with real-time VAD capabilities
- 🎤 Accurate voice activity detection powered by TEN VAD
- ⚡ Low-latency inference (~0.17ms avg per frame) suitable for real-time use
- 📊 Benchmark validated against Silero VAD (faster and more continuous speech detection)
- 🛠️ Configurable & extensible within the LiveKit plugin system
🔧 Installation
# from PyPI
uv pip install livekit-plugins-tenvad
# from source
uv pip install git+https://github.com/dangvansam/livekit-plugins-tenvad.git
🔌 Usage
from livekit.plugins import tenvad
vad = tenvad.VAD.load(
activation_threshold=0.5,
min_speech_duration=0.1,
min_silence_duration=0.3,
max_buffered_speech=60,
prefix_padding_duration=0.3
)
📊 Run Benchmark
git clone https://github.com/dangvansam/livekit-plugins-tenvad.git
cd livekit-plugins-tenvad
# install dependencies for testing
uv pip install .[test]
python test/benchmark.py -i test/sample.wav
Benchmark Results
| Metric | Silero VAD | TEN VAD |
|---|---|---|
| Speech segments | 95 | 41 |
| Total speech | 19.01s (13.0%) | 114.98s (78.8%) |
| Avg inference time | 0.22ms | 0.17ms |
| Min inference time | 0.18ms | 0.14ms |
| Max inference time | 9.76ms | 0.78ms |
Highlights:
- TEN VAD is ~1.27× faster per frame
- Detects longer continuous speech compared to Silero
- Provides lower latency with fewer false segment splits
Visualizations
Long audio
Short audio
Citations
@misc{TEN VAD,
author = {TEN Team},
title = {TEN VAD: A Low-Latency, Lightweight and High-Performance Streaming Voice Activity Detector (VAD)},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/TEN-framework/ten-vad.git}},
email = {developer@ten.ai}
}
Metadata
Release files for livekit-plugins-tenvad 1.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| livekit_plugins_tenvad-1.0.8.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| livekit_plugins_tenvad-1.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.0 MB
Release files / livekit_plugins_tenvad-1.0.8.tar.gz
| Download URL | livekit_plugins_tenvad-1.0.8.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66894bf09be41ee74fb07b93a643906995055f2aba100059b0598513a145c666
|
|
BLAKE2b-256 checksum How to use checksums |
a28dfbf0860724c84c84401cac8310efe3b4ef4df61cc37a208fcc95461997c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|
Release files / livekit_plugins_tenvad-1.0.8-py3-none-any.whl
| Download URL | livekit_plugins_tenvad-1.0.8-py3-none-any.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48998cf9f02c5b8941dd1677cf811753eb7378346a22a33602f38a44c30367fd
|
|
BLAKE2b-256 checksum How to use checksums |
d0d30ac356236e2e703a905d60504393f4e351b7cc77a7a9d78df84dadfb133e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|