The 200ms Turn-Taking Problem in Streaming Voice AI
Why Voice Activity Detection fails natural speech cadences. We analyzed silence thresholds, prosody prediction, and the trade-offs of speculative streaming audio.

In human conversation, the average gap between speakers during a turn transition is between 200 and 250 milliseconds. People do not wait for silence to decide that a peer has finished speaking; they anticipate the end of the sentence hundreds of milliseconds in advance using acoustic intonation, syntactic completion, and cadence.
Standard streaming voice AI architectures do not anticipate. They wait for dead air.
When engineers benchmark voice bots, they celebrate achieving a 400ms time-to-first-token. But in production user testing, the system still feels hesitant and disjointed. The bottleneck is rarely network transport or generation speed. It is the turn-taking threshold: the silence window required before the system dares to conclude that the user has stopped talking.
The failure modes of energy thresholds
Most production voice stacks route audio through an energy-based Voice Activity Detection (VAD) model like Silero. The pipeline logic is simple: when acoustic energy drops below a threshold for $N$ milliseconds, declare the turn complete, commit the Automated Speech Recognition (ASR) transcript, and invoke the LLM.
The dilemma is that human speech is full of intra-turn silences that mimic sentence completions:
| VAD Silence Threshold ($N$) | Latency Impact | User Experience Failure Mode |
|---|---|---|
| 200ms | Ultra-responsive (Feels human-speed) | Hyper-interruption: Cuts the speaker off during normal mid-sentence pauses, inhalations, and word searches. |
| 450ms | Acceptable delay on short commands | Friction on complex thoughts: Interrupts whenever a user explains a multi-clause problem with natural cadence. |
| 800ms+ | Zero false interruptions | Conversational paralysis: The agent feels sluggish, robotic, and disconnected. |
As we explored in our analysis of why voice agents feel broken at 800ms, latency in conversational interfaces is non-linear. An extra 400ms of dead air changes the user's psychological framing from an organic dialogue to an intercom exchange.
Human speech: "I need to cancel my appointment... [320ms pause] ...because my flight was delayed."
│
VAD @ 250ms: └──► INTERRUPTS: "Sure, what is your appointment date?"
(User speaks over agent, cascade failure)
Acoustic prosody vs lexical completion
To bridge the gap between 200ms human responsiveness and 800ms safety, voice systems must classify turn finality before silence accumulates.
Two independent signals indicate whether a pause is an endpoint or a continuation:
1. Acoustic prosody (Pitch and energy trajectory)
When a speaker reaches the end of a declarative sentence in English, vocal fundamental frequency ($F_0$) typically drops by 15% to 30% over the final 200ms, accompanied by localized vowel lengthening. Conversely, when pausing mid-sentence to think, pitch remains level or rises slightly (continuation rise).
Small, specialized acoustic models running directly on raw mel-spectrogram frames can classify finality in under 45ms, long before an 800ms VAD timer expires. Demonstrating that small models are winning the fights that matter, a 15M-parameter convolutional prosody classifier outperforms a 70B LLM at predicting turn completion from audio streams.
2. Lexical and semantic completion
Simultaneously, a streaming ASR engine emits partial hypothesis tokens. A lightweight semantic validator checks whether the partial transcript represents a grammatically complete thought. If the acoustic classifier detects flat pitch and the partial transcript ends on a preposition or conjunction ("and then the..."), the system dynamically extends the silence allowance to 1,200ms. If the pitch drops sharply and the clause is syntactically closed, the system cuts the trigger threshold to 180ms.
The speculative execution pattern
The most robust architectural solution we tested does not wait for absolute certainty before initiating inference. It uses speculative generation:
- At 150ms of silence, the streaming orchestrator assumes turn completion and fires a speculative prefill call to the LLM using the partial transcript.
- The LLM generates the opening tokens of the response; the text-to-speech (TTS) engine synthesizes the first 500ms audio chunk into an uncommitted buffer.
- If the user resumes speaking within the next 200ms (false pause), the speculative buffer is instantly purged, and the TTS output is discarded before ever hitting the audio output channel.
- If the user remains silent past 300ms, the synthesized audio buffer is committed and starts playing immediately.
To the user, response latency appears to be sub-100ms, because the generation pipeline completed while they were pausing.
What we do not know
Speculative audio execution introduces real compute waste. In our test conversations, 22% of speculative prefill calls were aborted due to resumed user speech, increasing backend token ingestion costs. We do not yet know the optimal dynamic thresholding curve that minimizes discarded compute while preserving sub-250ms conversational cadence across diverse dialects and speaking rates.
Furthermore, how background noise and acoustic echo cancellation artifacts degrade prosody classification in cellular environments remains an active area of stress testing.
The practical position
If your voice architecture treats turn-taking as a static silence timer, tuning latency will always remain an unresolvable zero-sum trade-off between awkward pauses and rude interruptions.
Solving the 200ms problem requires decoupling voice activity detection from turn finality classification. By combining acoustic prosody signals with speculative token generation, voice agents can finally match the natural, anticipatory rhythms of human speech.
Frequently asked questions
What is the 200ms turn-taking problem in voice AI?
In human conversation, turn transitions average 200 to 250 milliseconds, coordinated through subtle intonational down-steps and syllable lengthening. Standard voice AI systems rely on raw silence thresholds (VAD) that must wait 600 to 900ms to avoid interrupting natural pauses, creating an awkward, mechanical lag.
Why can't Voice Activity Detection (VAD) be tuned to 200ms?
If a VAD silence threshold is lowered to 200ms, the system falsely triggers whenever a speaker pauses to breathe, retrieve a word, or utter a filler sound ("um", "uh"), resulting in constant, jarring agent interruptions.
How does prosody classification improve turn-taking?
Prosodic classifiers analyze acoustic features—pitch trajectory, energy decay, and terminal phoneme duration—directly from raw audio frames. Falling pitch at a sentence boundary signals turn completion within 80ms, allowing the system to distinguish a finished thought from a mid-sentence pause.
What is speculative audio generation in voice pipelines?
Speculative audio generation begins streaming LLM token inference and TTS synthesis in the background during brief speaker hesitations. If the user resumes speaking, the speculative buffer is discarded; if the pause becomes a full turn, audio begins playing instantaneously.
Does duplex streaming eliminate turn-taking latency completely?
No. Full-duplex audio websockets eliminate transport latency, but the core cognitive bottleneck remains turn intention prediction: distinguishing between human conversational pauses and semantic completion.
Related reading
Why Voice Agents Feel Broken at 800ms
Total latency is the wrong number to optimise. What decides whether a voice agent feels alive is time to first audio, and where those milliseconds go.
Where the Tokens Actually Go in Long-Context Inference
Profiling memory bandwidth and attention entropy in 128k context runs. Why models collapse attention to window edges and how sparse key-value caching reduces RAM load.
Which Model Should You Actually Run in Production
Leaderboards rank models on a distribution your workload does not resemble. The four axes that decide it, and how to build the comparison that matters.