# Voice turn-taking rehearsal pack Original synthetic scenario script. No tests have been executed. Use consented participants and an approved test environment. Rehearse the actual transcription, translation, or dialogue mode separately. ## Record the setup - Experience and user task: - Service, version, device, microphone, language pair, and settings: - Turn authority: VAD/STT/context model/realtime model/explicit user control: - Playback cancellation and queued-audio clearing owner: - Network condition and clock alignment uncertainty: - Start/end event definitions: - Correctness and interruption acceptance criteria: ## Scenarios | ID | Script or condition | Observe | |---|---|---| | V01 | Complete short question in quiet conditions | Baseline turn end and first useful response | | V02 | Pause inside: “Order twenty… fourteen, sorry” | Waiting and preservation of final correction | | V03 | Spell fictional identifier ZX-204-B slowly | No clipping of final letter | | V04 | Switch between languages within an utterance | Meaning and endpoint behavior | | V05 | Speak with the accent and pace used by actual participants | Comparable treatment and recognition | | V06 | Use a shared microphone at representative distance | Capture and turn assignment | | V07 | Add representative background speech/noise | False starts, missing words, incorrect endpointing | | V08 | Interrupt playback: “Wait—use the revised date” | Old audio stops; correction captured and applied | | V09 | Two participants overlap briefly | Missing content and clear recovery | | V10 | Change translation language with audio queued, if supported | No unintended stale-language playback | | V11 | Introduce approved network jitter | Listener timing and state feedback | | V12 | Disconnect and reconnect in the test environment | Clear captured/missed boundary and recovery | | V13 | Say “uh-huh” during an answer; repeat with an intentional “stop” | False interruption versus missed intentional interruption | ## One record per attempted turn | Turn ID | Scenario | Expected meaning | Observed meaning | First-audio latency | Complete-useful-output latency | Correction preserved? | Stale playback? | Success/failure | Exclusion reason | Evidence | Reviewer | |---|---|---|---|---|---|---|---|---|---|---|---| | | | | | | | | | | | | | ## Report without hiding failures - Attempted / successful / failed / excluded turns: - Median and 95th percentile for successful end-to-end observations, with sample size: - Conditions represented and small-sample limitations: - Failure types and correction effort: - Decision and retest owner: Do not add overlapping pipeline intervals or separate component percentiles. EX01 in the CSV is a fictional sequential example: first audible output at 1,180 ms after the last user audio sample, not a complete-response measurement. ## Symptom/control comparison — documentation reviewed September 6, 2026 Match the LiveKit Agents TurnHandlingOptions API to the installed SDK; these are unexecuted investigations, not validated settings. - V02 early closure: inspect turn_detection, endpointing.min_delay and the STT provider turn signal. Record premature closure, correction survival and waiting. STT-mode min_delay adds to the provider signal. - V13 false acknowledgment interruption: inspect interruption.mode/min_duration/min_words and adaptive-mode availability. Also test a short intentional stop. - V08 stale audio: record caller speech onset, detected interruption event, playback-stop request and last stale audible sample on aligned clocks. Report onset-to-last-stale-audio as the listener's delay, with onset-to-detection and detection-to-stop intervals separately. Starting at the detected event alone hides detection delay. - V02/V08 stale quantity in the next answer: inspect the final transcript, cancellation of preemptive responses and conversation state. Record speculative compute/response waste if relevant. - Change one control at a time; preserve model, SDK, settings, test input, measured result and tradeoff. Sources: https://docs.livekit.io/agents/logic/turns/tuning/ https://ai.google.dev/gemini-api/docs/live-api/capabilities#interruptions Measurement references: https://www.cekura.ai/blogs/voice-ai-latency-guide https://krisp.ai/blog/voice-ai-turn-taking-interruption-prediction/ Krisp's model detection time ends at classification; it does not include the application's remaining playback-stop delay. Its published turn-taking dataset card describes English audio and gated file access, not evidence for all supported model languages. No benchmark was run here.