To eliminate conversational deadlocks and premature speech cutoffs in production voice AI agents in 2026, engineering teams deploy Silero VAD v5 tuned with a speech threshold of 0.65, a minimum speech duration of 250ms, and a minimum silence padding of 450ms to 500ms. Default VAD configurations trigger false barge-in interruptions on ambient cellular noise or cut off human callers while thinking, destroying conversational naturalness.
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ VAD AUDIO STREAMING FRAMEWORK & BUFFERING │
├────────────────────────────────────────────────────────────────────────────────────────┤
│ Incoming Audio (PCM 16kHz) ──> 30ms Frame Window (512 samples) ──> Silero VAD v5 ONNX │
│ ├── If Probability > 0.65 AND Duration >= 250ms ──> Trigger Barge-In (Halt TTS Audio) │
│ └── If Probability < 0.35 AND Silence >= 450ms ──> Finalize Utterance (Trigger LLM) │
└────────────────────────────────────────────────────────────────────────────────────────┘
Why Default VAD Configurations Fail in Production
Voice Activity Detection (VAD) is the sensory nervous system of a conversational voice agent. While developers focus heavily on LLM reasoning and TTS emotional inflection, over 65% of voice bot call failures stem directly from misconfigured VAD:
- The False Barge-In Trap (Interruption Thrashing): A prospect is listening to the bot explain a service. The prospect breathes heavily, coughs, or their office air conditioner surges. An uncalibrated VAD flags this as human speech, abruptly cancels the bot's synthesized audio mid-sentence, and leaves an awkward silence.
- The Premature Cutoff Trap: In B2B sales and complex technical support, callers pause to think mid-sentence ("Well, our current budget is... [pause for 380ms]... roughly fifty thousand dollars"). If the silence threshold is set to 300ms, the bot cuts off the prospect mid-sentence, transcribes an incomplete fragment, and hallucinates a nonsensical answer.
- The Self-Interruption Loop (Acoustic Echo): If Acoustic Echo Cancellation (AEC) is misconfigured or network jitter delays the audio round-trip, the bot’s microphone picks up its own synthesized voice leaking from the caller's mobile speaker, causing the bot to interrupt itself.
According to research from the Speech Processing Society (IEEE 2025), user satisfaction drops by 52% when an automated voice bot commits more than two false barge-in interruptions within a two-minute telephone interaction.
VAD Engine Comparison: Silero vs. WebRTC vs. Deepgram Flux
| VAD Engine | Architecture | Detection Latency | CPU Usage (Per Stream) | 8kHz Phone Noise Resilience | Best Use Case |
|---|---|---|---|---|---|
| Silero VAD v5 | Deep Neural Network (ONNX) | 30 ms | ~1.5% core | 9.6 / 10 — Industry Standard | Production Telephony Agents |
| Deepgram Flux | Semantic End-of-Turn Acoustic | 25 ms | Zero (Cloud API) | 9.8 / 10 — Context Aware | High-Speed Low-Code Clouds |
| WebRTC VAD | Gaussian Mixture Model (GMM) | 10 ms | Extremely Low | 6.5 / 10 — Flawed on Noise | Clean Browser Headsets Only |
| Ten.dev VAD | Edge Neural Architecture | 20 ms | Very Low | 8.9 / 10 — Mobile Optimized | On-Device Mobile SDKs |
Acoustic Noise Resilience Score (Out of 10 — Higher is Better)
Deepgram Flux : 9.8 ██████████
Silero VAD v5 : 9.6 ██████████
Ten.dev VAD : 8.9 █████████
WebRTC VAD (Legacy) : 6.5 ███████
The Golden Production Configuration for Silero VAD v5
To achieve natural conversational turn-taking on mobile telephony lines, configure these exact parameters:
# Production-Grade Silero VAD v5 Parameter Tuning
VAD_CONFIG = {
# 1. Speech Probability Threshold
# Default is 0.50. Increasing to 0.65 eliminates road/fan noise triggers.
"speech_threshold": 0.65,
# 2. Minimum Continuous Speech Duration (Barge-In Barrier)
# The user must speak for at least 250ms continuously before the bot halts TTS.
# Eliminates false interruptions from coughs, clicks, and throat clears.
"min_speech_duration_ms": 250,
# 3. Minimum Silence Duration (End-of-Utterance Window)
# The silence required before declaring the user finished speaking.
# Set to 450ms-500ms for conversational sales; 350ms for transactional IVR.
"min_silence_duration_ms": 480,
# 4. Audio Chunk Window Size (512 samples @ 16kHz = 32ms)
"chunk_size": 512,
# 5. Pre-Speech Audio Padding Buffer
# Prepends 160ms of audio prior to VAD trigger so the STT engine hears
# the initial soft consonant (e.g., 'p', 't', 'k') that preceded detection.
"pre_speech_padding_ms": 160
}
Acoustic Echo Cancellation (AEC) Architecture
When operating over WebRTC or cellular SIP lines, preventing the bot from hearing its own voice requires a synchronized Acoustic Echo Cancellation (AEC) pipeline:
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ ACOUSTIC ECHO CANCELLATION (AEC) PIPELINE │
├────────────────────────────────────────────────────────────────────────────────────────┤
│ [Bot TTS Audio Egress] ──> Sent to Caller Speaker AND Cached in Far-End Reference Buffer│
│ [Microphone Audio Ingress] ──> Contains User Voice + Speaker Echo Leakage │
│ [WebRTC AEC3 Engine] ──> Subtracts Far-End Reference Audio from Microphone Ingress │
│ [Clean User Audio] ──> Passed to Silero VAD v5 for Clean Barge-In Analysis │
└────────────────────────────────────────────────────────────────────────────────────────┘
- Hardware vs Software AEC: When users call from mobile phones without headphones, the phone's speakerphone mode introduces acoustic echo. If your telephony provider does not handle hardware AEC at the media gateway, deploy WebRTC AEC3 on your media server worker.
- Audio Clock Drift: Ensure that both the audio egress stream and incoming microphone stream share a synchronized clock. A 10ms drift between audio reference frames degrades echo cancellation performance by 80%.
Frequently Asked Questions
What is the difference between WebRTC VAD and Silero VAD v5?
WebRTC VAD uses simple energy-level Gaussian Mixture Models (GMM) developed over a decade ago. It struggles in real-world environments because it cannot distinguish human speech from ambient background noise (fans, car engines, paper rustling). Silero VAD v5 uses a modern deep neural network trained on thousands of hours of noisy speech, delivering 9.6/10 accuracy on mobile telephony.
What is the ideal silence threshold for B2B sales voice agents?
For B2B sales agents, set min_silence_duration_ms between 450ms and 550ms. Setting it lower causes the bot to interrupt human prospects who pause briefly to formulate their thoughts.
How do I stop my voice bot from interrupting itself?
Self-interruption occurs when the bot's own synthesized audio leaks from the caller's mobile speaker back into the microphone stream and triggers the VAD. To eliminate this, implement Acoustic Echo Cancellation (AEC) on your media gateway or programmatically mute VAD triggers while the bot is outputting audio, unless a verified human voice threshold is maintained.
What is pre-speech audio padding in VAD?
When a human begins speaking, the initial consonant (like the P in "pricing" or T in "technical") is often quiet and precedes the VAD's probability threshold trigger. Pre-speech padding maintains a rolling circular audio buffer (160ms) and prepends it to the STT stream, ensuring the first word is transcribed accurately.
Authoritative References & Academic Papers
- Silero AI: Silero VAD v5 Architecture and ONNX Inference Benchmarks
- IEEE Signal Processing Society: Conversational Voice Turn-Taking and Latency Thresholds
- LiveKit Engineering: Voice Agent Interruption Management & WebRTC AEC3
- Auto Interview AI Research: Voice AI Latency Benchmarks & Sales Simulation Architectures
