# LiveKit Plugins – TEN VAD
**`livekit-plugins-tenvad`** provides seamless integration of the [TEN-framework/ten-vad](https://github.com/TEN-framework/ten-vad) voice activity detection (VAD) plugin into the [LiveKit](https://github.com/livekit) ecosystem.
This plugin enables **real-time speech activity detection** with low-latency inference, optimized for streaming, conversational AI, and **[livekit-agents](https://github.com/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](https://github.com/TEN-framework/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
```bash
# from PyPI
uv pip install livekit-plugins-tenvad
# from source
uv pip install git+https://github.com/dangvansam/livekit-plugins-tenvad.git
```
## 📊 Run Benchmark
```bash
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 test/sample.wav outputs silero,ten
```
## 📊 Benchmark Results
| Metric | Silero VAD | TEN VAD |
|--------------------------|---------------------------|--------------------------|
| Speech segments | 95 | 41 |
| Total speech | 19.01s (13.0%) | 114.98s (78.8%) |
| Processing time | 1.066s | 1.697s |
| Avg inference duration | 0.22ms | 0.17ms |
| Min inference time | 0.18ms | 0.14ms |
| Max inference duration | 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}
}
```
Raw data
{
"_id": null,
"home_page": null,
"name": "livekit-plugins-tenvad",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "audio, livekit, realtime, video, webrtc",
"author": null,
"author_email": "Sam Dang <dangvansam98@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/28/64/3c271392ad50197a99dc3d3c0e3149bae1e27ce8a0f634b8d666f0c7bc06/livekit_plugins_tenvad-1.0.5.tar.gz",
"platform": null,
"description": "# LiveKit Plugins \u2013 TEN VAD \n\n**`livekit-plugins-tenvad`** provides seamless integration of the [TEN-framework/ten-vad](https://github.com/TEN-framework/ten-vad) voice activity detection (VAD) plugin into the [LiveKit](https://github.com/livekit) ecosystem. \n\nThis plugin enables **real-time speech activity detection** with low-latency inference, optimized for streaming, conversational AI, and **[livekit-agents](https://github.com/livekit/agents)** integration. \n\n## \u2728 Features \n- \ud83d\udd0c **LiveKit plugin integration** \u2014 plug-and-play support for LiveKit workflows \n- \ud83e\udd16 **Compatible with livekit-agents** \u2014 extend agents with real-time VAD capabilities \n- \ud83c\udfa4 **Accurate voice activity detection** powered by [TEN VAD](https://github.com/TEN-framework/ten-vad) \n- \u26a1 **Low-latency inference** (~0.17ms avg per frame) suitable for real-time use \n- \ud83d\udcca **Benchmark validated** against Silero VAD (faster and more continuous speech detection) \n- \ud83d\udee0\ufe0f **Configurable & extensible** within the LiveKit plugin system \n\n\n## \ud83d\udd27 Installation \n```bash\n# from PyPI\nuv pip install livekit-plugins-tenvad\n\n# from source\nuv pip install git+https://github.com/dangvansam/livekit-plugins-tenvad.git\n```\n\n## \ud83d\udcca Run Benchmark \n```bash\ngit clone https://github.com/dangvansam/livekit-plugins-tenvad.git\n\ncd livekit-plugins-tenvad\n\n# install dependencies for testing\nuv pip install .[test]\n\npython test/benchmark.py test/sample.wav outputs silero,ten\n```\n\n\n## \ud83d\udcca Benchmark Results \n\n| Metric | Silero VAD | TEN VAD |\n|--------------------------|---------------------------|--------------------------|\n| Speech segments | 95 | 41 |\n| Total speech | 19.01s (13.0%) | 114.98s (78.8%) |\n| Processing time | 1.066s | 1.697s |\n| Avg inference duration | 0.22ms | 0.17ms |\n| Min inference time | 0.18ms | 0.14ms |\n| Max inference duration | 9.76ms | 0.78ms |\n\n**Highlights:** \n- TEN VAD is **~1.27\u00d7 faster per frame** \n- Detects **longer continuous speech** compared to Silero \n- Provides **lower latency** with fewer false segment splits \n\n## Visualizations\n### Long audio\n\n\n### Short audio\n\n\n## Citations\n```\n@misc{TEN VAD,\n author = {TEN Team},\n title = {TEN VAD: A Low-Latency, Lightweight and High-Performance Streaming Voice Activity Detector (VAD)},\n year = {2025},\n publisher = {GitHub},\n journal = {GitHub repository},\n howpublished = {\\url{https://github.com/TEN-framework/ten-vad.git}},\n email = {developer@ten.ai}\n}\n```",
"bugtrack_url": null,
"license": null,
"summary": "Agent Framework Plugin for TEN VAD",
"version": "1.0.5",
"project_urls": {
"Documentation": "https://docs.livekit.io",
"Source": "https://github.com/dangvansam/livekit-plugins-tenvad",
"Website": "https://livekit.io/"
},
"split_keywords": [
"audio",
" livekit",
" realtime",
" video",
" webrtc"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "71903da5f8f1de9767614db3a5d95ca453cd69d51477dcaf0c410a365fe9b0e1",
"md5": "5645b129ddf6dd5f27e5816d4612590e",
"sha256": "a2c8b639b1060108f120b76a9b008f8f97ecda02023028685e31961091eb3359"
},
"downloads": -1,
"filename": "livekit_plugins_tenvad-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5645b129ddf6dd5f27e5816d4612590e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 1692754,
"upload_time": "2025-08-26T08:54:35",
"upload_time_iso_8601": "2025-08-26T08:54:35.557489Z",
"url": "https://files.pythonhosted.org/packages/71/90/3da5f8f1de9767614db3a5d95ca453cd69d51477dcaf0c410a365fe9b0e1/livekit_plugins_tenvad-1.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "28643c271392ad50197a99dc3d3c0e3149bae1e27ce8a0f634b8d666f0c7bc06",
"md5": "89147aeb88919b570d3461fa767dfc16",
"sha256": "77a21ce763575f3a9ec40950d73b7dc8e3cfb08d81453ed0e06a5a27c9b36509"
},
"downloads": -1,
"filename": "livekit_plugins_tenvad-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "89147aeb88919b570d3461fa767dfc16",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1281441,
"upload_time": "2025-08-26T08:54:41",
"upload_time_iso_8601": "2025-08-26T08:54:41.536515Z",
"url": "https://files.pythonhosted.org/packages/28/64/3c271392ad50197a99dc3d3c0e3149bae1e27ce8a0f634b8d666f0c7bc06/livekit_plugins_tenvad-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-26 08:54:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dangvansam",
"github_project": "livekit-plugins-tenvad",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "livekit-plugins-tenvad"
}