

Written by
Tim Janke
,
Head of Machine Learning
Product
/
Voice activity detection (VAD) is often treated as a solved problem. But if the VAD misses speech, ASR, turn detection and reasoning never even get the chance to work. On clean audio, modern VADs perform well, so it is tempting to treat the component as a checkbox in the voice agent stack. But production audio tells a different story. Someone ordering at a drive-thru with the engine revving, a caller with bad reception, echo cancellation artifacts. In those conditions conventional VADs fail surprisingly often, and every missed segment is a turn the agent never hears.
When we released our VAD 2.0, we built it for exactly these conditions, and deployments since then have shown us where speech detection still breaks in the field. VAD 2.1 is the result: the same lightweight architecture, retrained from scratch on a data recipe hardened against the failure modes we found in real deployments.
Robust on its own
In a cascaded voice agent, a false trigger costs a little compute; missed speech costs the turn. Our VAD 2.1 is built to detect speech reliably in the kinds of noisy, degraded audio where conventional VADs begin to fail, while maintaining strong performance on clean speech.
VAD 2.1 is lightweight enough to serve as a direct drop-in replacement for Silero VAD. Unlike conventional VADs, there is no need to chain a denoising model in front to keep speech detection stable in adverse conditions. The robustness is built into the model itself, avoiding the additional latency, compute and complexity of running two models instead of one.
Quantitative evaluation
We evaluated VAD 2.1 against VAD 2.0 and Silero VAD on two data sets. The first data set contains 3.5 hours of classic customer service phone calls. The second data set is a custom made data set of 2 hours of recordings from real drive-thru scenarios full of engine noise, street noise and distorted intercom chains. Labels were created by manual human annotation.


On phone calls data the three models are effectively tied: this is the audio every modern VAD handles well. The drive-thru is where they separate. VAD 2.1 classifies 82% of the audio correctly against 75% for VAD 2.0 and 67% for Silero VAD. The gap comes almost entirely from missed speech: on these recordings VAD 2.1 detects more than 83% of all speech, while Silero VAD detects only 48%.
Real-world examples
The samples below show the outputs of ai-coustics VAD 2.1 and Silero VAD side-by-side on some examples from the our custom drive-thru dataset.
Which VAD for which job
The ai-coustics SDK offers two standalone VAD options. VAD 2.1 is the general-purpose model: it triggers on any speech and is the right choice when every voice in the stream matters. VAD Voice Focus 2.0 triggers only on the primary speaker and is built for one-to-one interactions where background voices should be ignored. Both run in real time on CPU and can be combined with the rest of the Quail audio stack.
Option | Triggers on | Use when |
|---|---|---|
VAD 2.1 | Any speech | You need general, noise-robust speech detection |
VAD Voice Focus 2.0 | Primary speaker only | Turn-taking should follow a single primary speaker |
Try VAD 2.1 in the ai-coustics SDK
VAD 2.1 runs through AirTen, our CPU-first inference runtime – no PyTorch or ONNX runtime to add, no GPU. It processes audio in real time with 30 ms latency and operates at 16 kHz. Three tunable parameters (sensitivity, speech hold duration and minimum speech duration) let you adjust when the VAD triggers and releases to match your turn-taking logic. If you want to run your own post-processing instead, the raw speech probabilities are available through the SDK – see the docs for details.
VAD 2.1 is available now in the ai-coustics SDK (aic-sdk 2.5.0 and later).

