End-of-turn detection: how a voice agent knows you stopped
End-of-turn detection is the moment a voice agent decides the caller has finished speaking and starts its reply, usually by measuring the length of a pause. Set the pause too short and the agent interrupts people mid-sentence; set it too long and every reply carries dead air. The right value differs by language, and on a mobile network a gap in the audio can look like a pause when it is not one.
- End-of-turn detection
- The decision a voice agent makes that the caller has stopped speaking and it is the agent’s turn to reply, usually by measuring the length of a pause. Set too short, the agent interrupts callers; set too long, every reply carries dead air.
What it is
A voice agent cannot see the caller. The only signal it has that a person has finished talking is that the audio has gone quiet, so it waits for a pause and, when the pause is long enough, starts its reply. That decision is end-of-turn detection. Underneath it is voice activity detection, the component that decides whether what is coming down the line is speech or not.
Everything a caller experiences as rudeness or slowness in a voice agent traces to this one decision going wrong in one of two directions.
The two directions it goes wrong
Too short. The agent takes an ordinary mid-sentence pause as the end of the turn and starts answering. The caller was about to say the second half of the sentence. Both now talk at once, the agent has answered the wrong question, and the caller has learned to speak in short bursts to stay ahead of it. This is the failure people describe as the agent interrupting them, and it is set out call by call in why a voice AI agent interrupts callers.
Too long. The agent waits long enough to be sure, on every turn, and every reply arrives after a silence. Callers do not experience this as caution. They experience it as a slow line, and past about two seconds they start saying “hello?”, which is covered in response time in a voice agent.
There is no value of one number that avoids both, because the callers on the other end are not all the same.
Why one number cannot work
Measured against a labelled set of real calls, the pause that means “I have finished” is not the same length in English as it is in Hindi. English speakers leave shorter gaps inside a sentence; Hindi speakers leave longer ones. A threshold tuned on English cuts Hindi speakers off. Stretched to suit Hindi, it leaves every English caller waiting. And a caller who moves between the two languages inside one sentence, which is how most Indian customers talk, behaves like neither. That is why Voicely sets the threshold per language against recordings, and why the mechanics of callers who mix Hindi and English matter more than a language count.
What else looks like a pause, and what else looks like speech
Two things confuse the decision that have nothing to do with the caller.
A gap in the network. On a mobile connection, audio does not arrive in order or at a steady rate. A run of packets held up in transit reaches the agent as a short silence, and a rule that counts silence counts it. The caller never stopped talking. The agent thinks they did. This one is invisible in a demo run over an office connection.
Somebody else in the room. Background conversation is speech. A system that cannot tell speech aimed at the agent from speech that happens to be nearby will treat the television as the caller’s turn, answer it, and appear to have skipped the question. The mirror image, an agent that stops mid-word when a door slams, is described in barge-in.
What to ask a vendor
- Is the pause threshold the same for every language? If the answer is one number, the system was tuned on one language.
- What was it measured against? “Our defaults” is a different answer from “recordings of calls like yours”.
- In the demo, pause for two seconds in the middle of a sentence, as though looking up an order number. Then take the same call on a mobile while walking.
Questions this raises
Why does the AI keep interrupting me mid-sentence?
Because it decided you had finished when you had only paused. Most systems decide the caller has stopped by waiting for a fixed length of silence, and a caller who pauses to think, to find a word, or to check an order number crosses that line. On a mobile network a short gap in the audio arriving can trip the same rule even though the caller never stopped talking.
Is the pause threshold one setting for every language?
On most platforms, yes, and that is the problem. Measured against real calls, English speakers leave shorter pauses inside a sentence than Hindi speakers do, and callers who mix the two behave like neither. One value tuned on English cuts Hindi speakers off. Ask a vendor whether the threshold is set per language and what it was measured against.
Sources
- Wikipedia: Voice activity detection — the detection of the presence or absence of human speech, used in speech recognition and telephony · checked 2026-09-07
- Voicely internal: elixir-app/docs/12 — turn-boundary thresholds measured per language against a labelled corpus of real calls; English and Hindi want different values and code-switched speech behaves like neither · checked 2026-09-07
- Voicely internal: elixir-app/docs/07-telephony.md — the assumption that audio arrives in order and at a steady rate on a mobile network, found wrong on a real call after every test had passed · checked 2026-09-07