{"id":51771531,"url":"https://github.com/TEN-framework/ten-turn-detection","last_synced_at":"2026-08-08T09:00:35.728Z","repository":{"id":293374835,"uuid":"974628191","full_name":"TEN-framework/ten-turn-detection","owner":"TEN-framework","description":"Turn detection for full-duplex dialogue communication","archived":false,"fork":false,"pushed_at":"2025-12-26T07:52:20.000Z","size":63,"stargazers_count":515,"open_issues_count":5,"forks_count":33,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-25T19:58:07.575Z","etag":null,"topics":["large-language-models","natural-language-understanding","real-time","turn-detection","turn-detector","turn-taking"],"latest_commit_sha":null,"homepage":"https://huggingface.co/TEN-framework/TEN_Turn_Detection","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TEN-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-29T04:22:39.000Z","updated_at":"2026-01-24T03:43:55.000Z","dependencies_parsed_at":"2025-05-22T04:29:04.678Z","dependency_job_id":null,"html_url":"https://github.com/TEN-framework/ten-turn-detection","commit_stats":null,"previous_names":["ten-framework/ten-turn-detection"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TEN-framework/ten-turn-detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2Ften-turn-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2Ften-turn-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2Ften-turn-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2Ften-turn-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TEN-framework","download_url":"https://codeload.github.com/TEN-framework/ten-turn-detection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2Ften-turn-detection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36400076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-08T02:00:08.763Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["large-language-models","natural-language-understanding","real-time","turn-detection","turn-detector","turn-taking"],"created_at":"2026-07-20T02:00:20.406Z","updated_at":"2026-08-08T09:00:35.722Z","avatar_url":"https://github.com/TEN-framework.png","language":"Python","funding_links":[],"categories":["Turn Detection \u0026 Endpointing | 话轮检测与端点检测"],"sub_categories":["Intelligent Turn Detection Models | 智能话轮检测模型"],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Image](https://github.com/user-attachments/assets/c72d82cc-3667-496c-8bd6-3d194a91c452)\n\n[![Discussion posts](https://img.shields.io/github/discussions/TEN-framework/ten-turn-detection?labelColor=gray\u0026color=%20%23f79009)](https://github.com/TEN-framework/ten-turn-detection/discussions/)\n[![Commits](https://img.shields.io/github/commit-activity/m/TEN-framework/ten-turn-detection?labelColor=gray\u0026color=pink)](https://github.com/TEN-framework/ten-turn-detection/graphs/commit-activity)\n[![Issues closed](https://img.shields.io/github/issues-search?query=repo%3ATEN-framework%2Ften-turn-detection%20is%3Aclosed\u0026label=issues%20closed\u0026labelColor=gray\u0026color=green)](https://github.com/TEN-framework/ten-turn-detection/issues)\n![](https://img.shields.io/github/contributors/ten-framework/ten-turn-detection?color=c4f042\u0026labelColor=gray\u0026style=flat-square)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome!-brightgreen.svg?style=flat-square)](https://github.com/TEN-framework/ten-turn-detection/pulls)\n[![Hugging Face Space](https://img.shields.io/badge/Hugging%20Face-TEN%20Turn%20Detection-yellow?style=flat\u0026logo=huggingface)](https://huggingface.co/TEN-framework/TEN_Turn_Detection)\n[![GitHub license](https://img.shields.io/badge/License-Apache_2.0_with_certain_conditions-blue.svg?labelColor=%20%23155EEF\u0026color=%20%23528bff)](./LICENSE)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/TEN-framework/TEN-turn-detection)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n## Table of Contents\n\n- [Welcome to TEN](#welcome-to-ten)\n- [Introduction](#introduction)\n- [TEN Hugging Face Space](#ten-hugging-face-space)\n- [Key Features](#key-features)\n- [Prepared Dataset](#prepared-dataset)\n- [Detection Performance](#detection-performance)\n- [Quick Start](#quick-start)\n  - [Installation](#installation)\n  - [Model Weights](#model-weights)\n  - [Inference](#inference)\n- [Citation](#citation)\n- [TEN Ecosystem](#ten-ecosystem)\n- [Ask Questions](#ask-questions)\n- [License](#license)\n\n\u003cbr\u003e\n\n## Welcome to TEN\n\nTEN is an open-source framework for conversational voice AI agents.\n\n[TEN Ecosystem](#ten-ecosystem) includes [TEN Framework](https://github.com/ten-framework/ten-framework), [Agent Examples](https://github.com/TEN-framework/ten-framework/tree/main/ai_agents/agents/examples), [VAD](https://github.com/ten-framework/ten-vad), [Turn Detection](https://github.com/ten-framework/ten-turn-detection) and [Portal](https://github.com/ten-framework/portal).\n\u003cbr\u003e\n\n| Community Channel | Purpose |\n| ---------------- | ------- |\n| [![Follow on X](https://img.shields.io/twitter/follow/TenFramework?logo=X\u0026color=%20%23f5f5f5)](https://twitter.com/intent/follow?screen_name=TenFramework) | Follow TEN Framework on X for updates and announcements |\n| [![Follow on LinkedIn](https://custom-icon-badges.demolab.com/badge/LinkedIn-TEN_Framework-0A66C2?logo=linkedin-white\u0026logoColor=fff)](https://www.linkedin.com/company/ten-framework) | Follow TEN Framework on LinkedIn for updates and announcements |\n| [![Discord TEN Community](https://img.shields.io/badge/Discord-Join%20TEN%20Community-5865F2?style=flat\u0026logo=discord\u0026logoColor=white)](https://discord.gg/VnPftUzAMJ) | Join our Discord community to connect with developers |\n| [![Hugging Face Space](https://img.shields.io/badge/Hugging%20Face-TEN%20Framework-yellow?style=flat\u0026logo=huggingface)](https://huggingface.co/TEN-framework) | Join our Hugging Face community to explore our spaces and models |\n| [![WeChat](https://img.shields.io/badge/TEN_Framework-WeChat_Group-%2307C160?logo=wechat\u0026labelColor=darkgreen\u0026color=gray)](https://github.com/TEN-framework/ten-agent/discussions/170) | Join our WeChat group for Chinese community discussions |\n\n\u003cbr\u003e\n\n\u003e \\[!IMPORTANT]\n\u003e\n\u003e **Star TEN Repositories** ⭐️\n\u003e\n\u003e Get instant notifications for new releases and updates. Your support helps us grow and improve TEN!\n\n\u003cbr\u003e\n\n![TEN star us gif](https://github.com/user-attachments/assets/eeebe996-8c14-4bf7-82ae-f1a1f7e30705)\n\n\u003cbr\u003e\n\n## TEN Hugging Face Space\n\n\u003chttps://github.com/user-attachments/assets/725a8318-d679-4b17-b9e4-e3dce999b298\u003e\n\nYou are more than welcome to [Visit TEN Hugging Face Space](https://huggingface.co/spaces/TEN-framework/ten-agent-demo) to try VAD and Turn Detection together.\n\n## Introduction\n\n**TEN Turn Detection** is an advanced intelligent turn detection model designed specifically for natural and dynamic communication between humans and AI agents. This technology addresses one of the most challenging aspects of human-AI conversation: detecting natural turn-taking cues and enabling contextually-aware interruptions. TEN Turn Detection incorporates deep semantic understanding of conversation context and linguistic patterns to create more natural dialogue with AI.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"images/turn_detection.svg\" alt=\"TEN Turn Detection SVG Diagram\" width=\"800\"/\u003e\n\u003c/div\u003e\n\n**TEN Turn Detection** categorizes user's text into three key states:\n\n**finished**: A finished utterance where the user has expressed a complete thought and expects a response. Example: \"Hey there I was wondering can you help me with my order\"\n\n**wait**: An wait utterance where the user has explicitly instructed the AI not to speak. Example: \"Shut up\"\n\n**unfinished**: A clearly unfinished utterance where the user has momentarily paused but intends to continue speaking. Example: \"Hello I have a question about\"\n\nThese three classification states allow the TEN system to create natural conversation dynamics by intelligently managing turn-taking, reducing awkward interruptions while maintaining conversation flow.\n\nTEN Turn Detection utilizes a multi-layered approach based on the transformer-based language model(Qwen2.5-7B) for semantic analysis.\n\n## Key Features\n\n- **Context-Aware Turn Management**\n  TEN Turn Detection analyzes linguistic patterns and semantic context to accurately identify turn completion points. This capability enables intelligent interruption handling, allowing the system to determine when interruptions are contextually appropriate while maintaining natural conversation flow across various dialogue scenarios.\n\n- **Multilingual Turn Detection Support**\n  TEN Turn Detection provides comprehensive support for both English and Chinese languages. It is engineered to accurately identify turn-taking cues and completion signals across multilingual conversations.\n\n- **Superior Performance**\n  Compared with multiple open-source solutions, TEN achieves superior performance across all metrics on our publicly available test dataset.\n\n## Prepared Dataset\n\nWe have open-sourced the TEN-Turn-Detection TestSet, a bilingual (Chinese and English) collection of conversational inputs specifically designed to evaluate turn detection capabilities in AI dialogue systems. The dataset consists of three distinct components:\n\n_wait.txt_: Contains expressions requesting conversation pauses or termination\n\n_unfinished.txt_: Features incomplete dialogue inputs with truncated utterances\n\n_finished.txt_: Provides complete conversational inputs across multiple domains\n\n## Detection Performance\n\nWe conducted comprehensive evaluations comparing several open-source models for turn detection using our test dataset:\n\n\u003cdiv align=\"center\"\u003e\n\n| LANGUAGE |         MODEL          | FINISHED\u003cbr\u003eACCURACY | UNFINISHED\u003cbr\u003eACCURACY | WAIT\u003cbr\u003eACCURACY |\n| :------: | :--------------------: | :------------------: | :--------------------: | :--------------: |\n| English  |        Model A         |        59.74%        |         86.46%         |       N/A        |\n| English  |        Model B         |        71.61%        |         96.88%         |       N/A        |\n| English  | **TEN Turn Detection** |      **90.64%**      |       **98.44%**       |     **91%**      |\n\n| LANGUAGE |         MODEL          | FINISHED\u003cbr\u003eACCURACY | UNFINISHED\u003cbr\u003eACCURACY | WAIT\u003cbr\u003eACCURACY |\n| :------: | :--------------------: | :------------------: | :--------------------: | :--------------: |\n| Chinese  |        Model B         |        74.63%        |         88.89%         |       N/A        |\n| Chinese  | **TEN Turn Detection** |      **98.90%**      |       **92.74%**       |     **92%**      |\n\n\u003c/div\u003e\n\n\u003e **Notes:**\n\u003e\n\u003e 1. Model A doesn't support Chinese language processing\n\u003e 2. Neither Model A nor Model B support the \"WAIT\" state detection\n\n## Quick Start\n\n### Installation\n\n```\ngit clone https://github.com/TEN-framework/ten-turn-detection.git\npip install \"transformers\u003e=4.45.0\"\npip install \"torch\u003e=2.0.0\"\n```\n\n### Model Weights\n\nThe TEN Turn Detection model is available on HuggingFace:\n\n- Model Repository: [TEN-framework/TEN_Turn_Detection](https://huggingface.co/TEN-framework/TEN_Turn_Detection)\n\nYou can download the model in several ways:\n\n1. **Automatic download** (recommended): The model weights will be automatically downloaded when you run the inference script for the first time. HuggingFace Transformers will cache the model locally.\n\n2. **Using Git LFS**:\n\n   ```bash\n   # Install Git LFS if you haven't already\n   git lfs install\n\n   # Clone the repository with model weights\n   git clone https://huggingface.co/TEN-framework/TEN_Turn_Detection\n   ```\n\n3. **Using the Hugging Face Hub library**:\n\n   ```python\n   from huggingface_hub import snapshot_download\n\n   snapshot_download(repo_id=\"TEN-framework/TEN_Turn_Detection\")\n   ```\n\n### Inference\n\nThe inference script accepts command line arguments for user input:\n\n```\n# Basic usage\npython inference.py --input \"Your text to analyze\"\n\n```\n\nExample output:\n\n```\nLoading model from TEN-framework/TEN_Turn_Detection...\nRunning inference on: 'Hello I have a question about'\n\nResults:\nInput: 'Hello I have a question about'\nTurn Detection Result: 'unfinished'\n```\n\n## Citation\n\nIf you use TEN Turn Detection in your research or applications, please cite:\n\n```\n@misc{TEN_Turn_Detection,\nauthor = {TEN Team},\ntitle = {TEN Turn Detection: Turn detection for full-duplex dialogue communication\n\n},\nyear = {2025},\nurl = {https://github.com/TEN-framework/ten-turn-detection},\n}\n```\n\n## TEN Ecosystem\n\n| Project | Preview |\n| ------- | ------- |\n| [**️TEN Framework**][ten-framework-link]\u003cbr\u003eOpen-source framework for conversational AI Agents.\u003cbr\u003e\u003cbr\u003e![][ten-framework-shield] | ![][ten-framework-banner] |\n| [**TEN VAD**][ten-vad-link]\u003cbr\u003eLow-latency, lightweight and high-performance streaming voice activity detector (VAD).\u003cbr\u003e\u003cbr\u003e![][ten-vad-shield] | ![][ten-vad-banner] |\n| [**️ TEN Turn Detection**][ten-turn-detection-link]\u003cbr\u003eTEN Turn Detection enables full-duplex dialogue communication.\u003cbr\u003e\u003cbr\u003e![][ten-turn-detection-shield] | ![][ten-turn-detection-banner] |\n| [**TEN Agent Examples**][ten-agent-example-link]\u003cbr\u003eUsecases powered by TEN.\u003cbr\u003e\u003cbr\u003e | ![][ten-agent-example-banner] |\n| [**TEN Portal**][ten-portal-link]\u003cbr\u003eThe official site of the TEN Framework with documentation and a blog.\u003cbr\u003e\u003cbr\u003e![][ten-portal-shield] | ![][ten-portal-banner] |\n\n\n\u003cbr\u003e\n\n## Ask Questions\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/TEN-framework/TEN-framework)\n\nMost questions can be answered by using DeepWiki, it is fast, intutive to use and supports multiple languages.\n\n\u003cbr\u003e\n\n## License\n\nThis project is released pursuant to the Apache License, Version 2.0, with additional restrictions.For details, please refer to the[ LICENSE](./LICENSE) file.\n\n[ten-framework-shield]: https://img.shields.io/github/stars/ten-framework/ten_framework?color=ffcb47\u0026labelColor=gray\u0026style=flat-square\u0026logo=github\n[ten-framework-banner]: https://github.com/user-attachments/assets/2a560a74-68f3-4f4a-9ec8-89464c42a9c7\n[ten-framework-link]: https://github.com/ten-framework/ten_framework\n\n[ten-vad-link]: https://github.com/ten-framework/ten-vad\n[ten-vad-shield]: https://img.shields.io/github/stars/ten-framework/ten-vad?color=ffcb47\u0026labelColor=gray\u0026style=flat-square\u0026logo=github\n[ten-vad-banner]: https://github.com/user-attachments/assets/e504135e-67fd-4fa1-b0e4-d495358d8aa5\n\n[ten-turn-detection-link]: https://github.com/ten-framework/ten-turn-detection\n[ten-turn-detection-shield]: https://img.shields.io/github/stars/ten-framework/ten-turn-detection?color=ffcb47\u0026labelColor=gray\u0026style=flat-square\u0026logo=github\n[ten-turn-detection-banner]: https://github.com/user-attachments/assets/c72d82cc-3667-496c-8bd6-3d194a91c452\n\n[ten-agent-example-link]: https://github.com/TEN-framework/ten-framework/tree/main/ai_agents/agents/examples\n[ten-agent-example-banner]:https://github.com/user-attachments/assets/7f735633-c7f6-4432-b6b4-d2a2977ca588\n\n[ten-portal-link]: https://github.com/ten-framework/portal\n[ten-portal-shield]: https://img.shields.io/github/stars/ten-framework/portal?color=ffcb47\u0026labelColor=gray\u0026style=flat-square\u0026logo=github\n[ten-portal-banner]: https://github.com/user-attachments/assets/f56c75b9-722c-4156-902d-ae98ce2b3b5e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTEN-framework%2Ften-turn-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTEN-framework%2Ften-turn-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTEN-framework%2Ften-turn-detection/lists"}