The other person in the room
A voice activity detector answers one question: is there speech in this frame? For a voice agent that is the wrong question. The agent needs to know whether the user is speaking, and in a kitchen with a television, an office with a colleague, or a car with a passenger, those are different questions with different answers.
How bad is it
We built a test: 500 five-second clips, a foreground speaker at 0 dB and a second speaker 3 to 15 dB quieter, both through a room impulse response, from held-out LibriSpeech speakers. Then we scored Silero VAD v6, the model inside nearly every browser VAD, on the frames where only the background talker is speaking. It called 82% of them speech. That is not a flaw in Silero. It was trained to find speech, and it found speech.
Training for the other question
The recipe is mostly data. Take clean speech, label it with Silero so the labels are good, then corrupt the audio the model actually hears: rooms, noise, music, laughs and coughs at the user's level, and a competing talker in 45% of clips. Keep the clean labels. Now the only way to score well is to learn what distinguishes the foreground voice from the background one. An 83,000-parameter network on log-mel features, two causal convolutions and a two-layer GRU, trained for 20,000 steps on a laptop CPU overnight.
| Auricle v1 | Silero v6 | |
|---|---|---|
| Foreground F1 with a competing talker | 94.2% | 89.4% |
| Background-only frames called speech | 35% | 82% |
| Human-labelled real audio (TEN set), F1 | 92.7% | 93.6% |
What did not work, so you do not try it
We hoped the 35% was a training-pressure problem. A second run made the mixing harder and weighted background-only frames 4x in the loss. At matched recall the false-alarm rate was identical to the decimal; the model had learned to be timid, not selective, and lost 1.3 points on real speech. A third run added ten hours each of six languages and changed every number by under 0.3 points. Both are in the research notes.
The reason is simple once you see it. With only the mixed audio as input, the model has one cue for "foreground": louder and closer. At 0 to 20 dB of separation that cue is ambiguous, and no amount of pressure makes an ambiguous cue decisive. The information is not in the input. The next version adds it: a two-second enrolment that gives the detector the user's voice as a second input, which is the one cue that resolves the ambiguity.
The honest claim
Auricle v1 hears the user more accurately than Silero when someone else is talking, and fires less than half as often on the other person, at equal accuracy on ordinary single-speaker recordings. Tested on seven languages. It does not ignore the television; it ignores it 2.3x more often. The clips are ours until a public meeting-corpus benchmark lands, and the model card says so. That is the number, and it is a real one.