Subscribe

Turn detection

日本語

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.

Move the timeout below to see the trade-off on one sentence with two pauses.

Your speechSystem cuts inWaiting out the timeoutReply

At 600 ms the system cuts in once while you are still mid-sentence, and replies 600 ms after you finish.

Schematic example with pauses of 450 ms and 900 ms, not a measurement.

Kinds of turn detector

AudioListens to the sound itself, including intonation and pauses, with no transcript. 18 in the database.
TranscriptReads the running transcript and predicts whether the sentence is complete. It needs speech recognition first. 4 in the database.
Audio and transcriptUses both the sound and the words. 3 in the database.
Inside speech recognitionSome streaming speech recognition services send an end-of-turn event along with the transcript. 10 in the database.

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. It ranks systems by how many real turn ends they catch (recall), as long as they raise a false alarm at most 15% of the time. A false alarm means calling a turn end when the user has not finished. The median delay 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.

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.

Turn ends caught
0.30.40.50.60.70.80.91.005001000
Latency (p50) (ms)

Most turn ends caught: turn-1-mini, 97.5% in 595 ms. Fastest: Voice Activity Projection (VAP), 368 ms with 84.5% caught. Point at or tab to a dot to see its numbers. Select it to open the component.

Within the false-alarm limitOver the limit, not rankedBetter: up and to the left

ComponentLicenceTurn ends caughtFalse alarmsMedian delay
Apache-2.097.5%7.5%595 ms
Echo Omni DuplexZero Runtime
Proprietary97.0%7.2%768 ms
VoxTurnUniversity of Melbourne
CC-BY-NC-4.092.4%7.6%557 ms
Voice Activity Projection (VAP)KTH (Ekstedt and Skantze)
Permissive84.5%5.5%368 ms
Echo OmniZero Runtime
Proprietary83.9%7.1%676 ms
CC-BY-4.082.6%7.8%862 ms
Mimi EndpointerSathvik Udupa et al.
CC-BY-4.078.2%7.8%645 ms
Permissive77.3%5.9%1007 ms
BSD-2-Clause75.2%4.7%1017 ms
Proprietary30.3%1.8%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.

ComponentLicenceWait after the user stops
Custom terms543 ms
Proprietary647 ms
UltraVADUltravox
Custom terms899 ms
Proprietary1049 ms
BSD-2-Clause1051 ms
Proprietary1056 ms
Voice Activity Projection (VAP)KTH (Ekstedt and Skantze)
Permissive1131 ms
Proprietary1143 ms
Proprietary1151 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.

Updated