Turn detection decides when a user has finished speaking, so a voice agent knows when to reply. If it fires too early, the agent cuts people off, and if it fires too late, the line goes quiet. Cascaded voice agents use a separate detector for this, while full-duplex models make the same call inside the model.
Why silence is not enough
The simplest approach waits for a fixed stretch of silence after a voice activity detector stops hearing speech. People pause mid-sentence to think, so a short timeout interrupts them, and a long one makes every reply slow. Between people, the most common gap between turns is about 200 milliseconds, and planning a single spoken word takes at least 600, so listeners predict the end of a turn before it arrives. Turn detectors try to do the same from the words, the intonation, or both.
Kinds of turn detector
A full-duplex model needs none of these as a separate part, because it listens while it speaks. See the full-duplex models.
How they are measured
Two public benchmarks score every system on the same test set, so their numbers can be compared within each table below.
TurnBench scores end-of-turn and interruption detection on 30 hours of hand-labelled two-person conversation. Systems are ranked on recall, the share of real turn ends they catch, as long as their false-positive rate stays at or below 0.15. Median latency is reported alongside.
LiveKit's eot-bench reports how long a detector waits after the user stops when it is tuned to cut users off at most 5% of the time. Lower is better.
oto, which publishes this site, co-authored TurnBench. LiveKit runs eot-bench and ranks its own detector on it. Figures from other test sets are on each component's page.
TurnBench results
End-of-turn rows as read from the TurnBench leaderboard on 2026-11-08. Systems above the false-positive limit are listed last.
| Component | Licence | Recall | False positives | Latency (p50) |
|---|---|---|---|---|
turn-1-minip99lab | Apache-2.0 | 0.975 | 0.075 | 595 ms |
Echo Omni DuplexZero Runtime | Proprietary | 0.970 | 0.072 | 768 ms |
VoxTurnUniversity of Melbourne | CC-BY-NC-4.0 | 0.924 | 0.076 | 557 ms |
Voice Activity Projection (VAP)KTH (Ekstedt and Skantze) | Permissive | 0.845 | 0.055 | 368 ms |
Echo OmniZero Runtime | Proprietary | 0.839 | 0.071 | 676 ms |
ESPnet turn-taking predictionESPnet (CMU) | CC-BY-4.0 | 0.826 | 0.078 | 862 ms |
Mimi EndpointerSathvik Udupa et al. | CC-BY-4.0 | 0.782 | 0.078 | 645 ms |
| Permissive | 0.773 | 0.059 | 1007 ms | |
Smart Turn v3.2Pipecat | BSD-2-Clause | 0.752 | 0.047 | 1017 ms |
| Proprietary | 0.303 | 0.018 | 793 ms |
eot-bench results
English validation split, as read from the eot-bench repository on 2026-11-08. The two tables use different test sets and measures, so rows cannot be compared across them.
| Component | Licence | Delay at 5% cut-offs |
|---|---|---|
| Custom terms | 543 ms | |
Soniox stt-rt-v6Soniox | Proprietary | 647 ms |
| Custom terms | 899 ms | |
| Proprietary | 1049 ms | |
Smart Turn v3.2Pipecat | BSD-2-Clause | 1051 ms |
| Proprietary | 1056 ms | |
Voice Activity Projection (VAP)KTH (Ekstedt and Skantze) | Permissive | 1131 ms |
| Proprietary | 1143 ms | |
| Proprietary | 1151 ms |
Choosing one
Where it runs. Open weights run on your own CPU or GPU. Hosted APIs add a network round trip, and SDKs come with a commercial licence. 21 of the 25 turn detectors in the database have open weights.
Language. Check that a detector covers your users' languages. Each component page lists the languages its maintainer names.
Licence. Some open models are for non-commercial use only. Check the licence column before you ship.
What it plugs into. 9 of the turn detectors document an integration with an agent framework such as LiveKit Agents or Pipecat. Each component page lists the ones its maintainer documents.
Compare all 25 turn detectors, and the VAD, interruption and speech recognition parts around them, on Components. Read more: The full-duplex threshold
FAQ
- Is a voice activity detector enough?
- A voice activity detector (VAD) tells you whether someone is speaking, not whether they have finished. On its own it needs a silence timeout, which either cuts people off when they pause or slows every reply. Many stacks run a VAD and a turn detector together.
- Does a full-duplex model need a separate turn detector?
- Usually not. A full-duplex model keeps listening while it speaks and decides inside the model when to talk. Separate turn detectors are built for cascades, where speech recognition, a language model and speech synthesis run one after another.
- Which turn detectors have open weights?
- 21 of the 25 turn detectors in the database have downloadable weights. Filter Components by Open weights to see them.