Turns, Silero VAD & Interruptions
Plain-English UI guide for Voice Sensitivity presets, Start/Stop turn strategies, Silero VAD vs. Provider VAD, the 3 user muting layers, Smart Turn, and Realtime S2S turn ownership.
Start Here: Fast UI Tuning Guide
For 90% of client calls, open Workflow Settings -> General -> Turn Detection and pick a Voice Sensitivity Preset (Balanced for normal calls, High Sensitivity for soft-spoken callers, Noisy Room for traffic/speakerphone) instead of tweaking individual thresholds manually.
1. Plain-English UI Settings Guide
Open any workflow's Settings -> General panel and Canvas Node Properties:
Voice Sensitivity Presets (Quick Tuning)
(Clicking a card updates the 4 fields below simultaneously while leaving VAD Silence Hold (vad_stop_secs) untouched. Brand-new workflows default to 0.20 / 0.50 / 0.8s / 3.5s, which the UI highlights under High Sensitivity.)
| UI Preset | Volume Floor (vad_min_volume) | Neural Confidence (vad_confidence) | Silence Before Responding (turn_silence_timeout_secs) | Safety Watchdog Timeout (user_turn_stop_timeout) | Use When |
|---|---|---|---|---|---|
| High Sensitivity (Recommended) | 0.20 | 0.50 | 0.7s | 3.5s | Surveys, soft-spoken callers, quick "yes/no" replies, landline audio |
| Balanced (Default) | 0.35 | 0.65 | 0.9s | 4.5s | Normal indoor/mobile calls in quiet rooms |
| Noisy Room (Noise Shield) | 0.55 | 0.75 | 1.2s | 5.0s | Street noise, office chatter, fans, delivery riders, speakerphone |
| Custom Tuned | 0.05–0.80 | 0.30–0.90 | 0.3–2.5s (API 3.0s) | 1.0–15.0s | Fine-tuning edge cases (pair with VAD Silence Hold 0.10–1.00s, default 0.25s) |
Turn Detection & Interruption Controls Explained
- Interruption Strategy (
turn_start_strategy— When the caller can interrupt the bot):Default(default): Stops the bot whenever Silero VAD (~0.2svoice onset) or any interim/final transcript fires. Lowest latency, most sensitive to backchannels.Minimum words(min_words,1–10words, default3): When the bot is silent, opens the turn immediately on VAD (0 msdelay) with a 1-word threshold; when the bot is speaking, ignores coughs and short backchannels ("hmm", "okay") until interim/final text reaches N words (and resets sub-threshold filler so it doesn't bleed into the next turn).Provisional VAD(provisional_vad,0.1–5.0s, default1.5s): Pauses bot output playback cleanly on speech onset while waiting up to N seconds for a real transcript; if none arrives, resumes playback seamlessly and locks out late false alarms for the rest of that bot utterance.
- Detection Strategy (
turn_stop_strategy— When the bot decides the caller finished speaking):Transcription-based(transcription): Waits for Silence Before Responding (0.8sdefault) + finalized transcript (or STT deadline).Smart Turn Analyzer(turn_analyzer): Evaluates a local ML prosody model over500mspre-speech + up to8sof speech. Even if it predictsCOMPLETE, it waitsSilence Before Responding; ifINCOMPLETE("Wait, my number is..."), it waits up to Incomplete Turn Timeout (smart_turn_stop_secs,0.5–10s, default2.0s), bypassing extra debounce once that timer fires (capped by a secondary safety fallback).
- Idle & Call Duration Guardrails:
- Max User Idle Timeout (
max_user_idle_timeout,10.0sdefault;<= 0disables): Two-strike check-in after bot finishes speaking—Strike 1 asks "Are you still there?", Strike 2 politely hangs up. Resets whenever caller speaks. - Max Call Duration (
max_call_duration, runtime default300s): Hard call limit capped by tier/org duration limit (note: UI helper copy notes600s, while API/runtime default is300s).
- Max User Idle Timeout (
- Per-Node
Allow Interruption(allow_interrupt):Start Call: Defaultsfalseso line noise or "Hello?" doesn't break the opening greeting.Agent: Defaultstrue(turnfalseonly on mandatory disclosures/readbacks).End Call: Always forcedfalseand hidden in the node editor so closing goodbyes finish cleanly.
2. Quick Recipes by Symptom
(Detailed step-by-step fixes live in Audio & Turn Problems.)
- Bot cuts caller off mid-sentence: Switch Detection Strategy to Smart Turn Analyzer or raise Silence Before Responding (
1.0–1.4s). - Traffic/fan noise interrupts bot: Choose Noisy Room preset, raise Minimum Words to
3–4, or turn Allow Interruption off on key disclosures. - Bot misses quiet "yes" / "haan": Switch to High Sensitivity preset (
0.20volume /0.50confidence) and keep Boost Short Affirmations ON. - 4-second awkward silence after caller finishes: Lower Silence Before Responding (
0.7–0.8s) and lower Safety Watchdog Timeout toward2.5–3.5s.
3. How Turns Work Under the Hood
A Turn is one complete speaker floor interval (User Turn or Agent Turn). Local Silero VAD checks both vad_min_volume AND vad_confidence every 32 ms (plus a 1.0s audio-idle failsafe if a mic mutes mid-sentence), and VAD Silence Hold (vad_stop_secs) should stay short (0.20–0.35s, default 0.25s) while pacing is tuned via Silence Before Responding.
All Turn & Timer Behaviors at a Glance
- Voice User Turn: Triggered by Silero VAD (or External STT Turn) -> transcribed by STT -> passed to LLM.
- DTMF Keypad Turn (Plivo): When Enable DTMF is on, keypad presses buffer and flush to the LLM on
#or after3.0sof keypad inactivity. - Delayed Start (
Start Call): Whendelayed_start = true, waitsdelayed_start_duration(0.1–10.0s, default2.0s) after call answer before playing the opening greeting. - Safety Watchdog Timeout (
user_turn_stop_timeout, default3.5s/4.0sexternal): Fires at1xtimeout if VAD is already quiet on a stalled transcript, or2xtimeout if line static kept VAD stuck open. - Bot Output VAD Tail (
bot_vad_stop_secs): Defaults to3.0sin standard pipeline mode and0.5sin Realtime S2S mode for snappy bot-turn closure.
4. Local Silero VAD vs. Provider Turn Ownership
| Pipeline Configuration | Who Detects Start/Stop? | Which Settings Control It? |
|---|---|---|
| Standard Pipeline + Deepgram Nova-3 / Sarvam / SmallestAI / OpenAI STT | Local Silero VAD + Local Turn Strategies | Voice Sensitivity Presets, vad_stop_secs, Interruption Strategy, Detection Strategy, plus optional provider STT server endpointing |
External-Turn STTs: Deepgram Flux (flux-general-*), Talkar Managed Flux (multi/de/en/es/fr/hi/it/ja/nl/pt/ru), or Cartesia ink-2 | External STT Turn Events | STT EOT thresholds unconditionally replace Detection Strategy (user_turn_stop_timeout defaults 4.0s). Explicitly choosing min_words or provisional_vad still overrides default start behavior in cascade mode. |
openai_realtime, azure_realtime, grok_realtime | Provider Server VAD | Local Silero VAD, vad_*, turn_start_strategy, and turn_stop_strategy are inactive (user_mute_strategies gates input forwarding while muted). |
google / google_vertex (Gemini Live) | Local VAD tracking + Gemini Server Barge-In | Uses local Silero VAD for turn lifecycle tracking with local interruptions disabled (Gemini owns barge-in). |
ultravox Realtime | Local VAD + Ultravox | Local Silero VAD handles turn lifecycle tracking and local interruptions. |
5. Three Active User Muting Layers Preventing False Interruptions
False interruptions aren't stopped at TTS—incoming caller audio/transcription frames are filtered at the front door by three OR'd muting layers:
- Startup Greeting Mute: Always mutes caller barge-in from second zero until the bot's very first utterance completes, preventing pickup clicks or "Hello?" from cancelling your greeting regardless of
allow_interrupt. - Function / Tool Execution Mute: Mutes user speech turns while mid-call HTTP, transfer, or DB tools are running—with a dedicated speech listener exception on
wait_for_userso callers can resume early by speaking. - Node, Transition & Teardown Mute: Mutes caller frames whenever
allow_interrupt = falseon the active node, whenever queued transition or tool-filler speech is playing, or while tearing down at hangup.
Voice, Models & STT/TTS Selection
Choosing Pipeline vs. Realtime S2S, Production Provider Trust Policy, 3-tier override precedence, key rotation, Indian language models, sample rates, custom ambient noise, and pronunciation keyterms.
Integration Architecture Overview
Choose the right integration pattern—Pre-Call Fetch, Mid-Call HTTP Tools, MCP servers, Knowledge Bases, Webhook Nodes, or `n8n.talkar.in`—for every CRM and backend use case.