Silero v6.2 checkpoint causes false speech detection and agent self-interruption in WebRTC voice session
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- audio-video-rtc
Direzione di ricerca
Start by tracing how the Silero VAD plugin selects its bundled checkpoint and handles the existing onnx_file_path option. Reproduce the reported A/B/A comparison in a WebRTC voice session, testing both short-utterance detection and false positives during agent playback. Done means the checkpoint tradeoff is understood and a regression test or other fix prevents phantom speech and self-interruption without losing short-utterance detection.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Description
We found a reproducible regression after the Silero VAD checkpoint change from the previous checkpoint to the v6.2 checkpoint.
Environment
livekit-agents==1.6.10livekit-plugins-silero==1.6.10livekit-plugins-openai==1.6.10- WebRTC browser voice session
- Silero VAD used for turn detection/interruption
Checkpoints tested
Previous checkpoint:
597d30b3ec076608d059477bb14cfeffdf951bf5cae370d38f65d33bbfe82004
Current bundled checkpoint:
1a153a22f4509e292a94e67d6f9b85e8deb25b4988682b7e174c65279d8788e3
The second hash is the checkpoint introduced by livekit/agents#6816.
Observed behavior
With the current bundled 1a153a22... checkpoint, the VAD can detect user speech while the agent itself is speaking, even when the user remains silent.
This can lead to:
- user state changing from listening to speaking during agent playback
- STT receiving an audio segment despite no intentional user speech
- phantom transcripts such as
"Thank you." - the assistant response being marked
interrupted=True - the assistant stopping its own response
- cascading phantom turns
Example sequence from one test:
agent: thinking -> speaking
user: listening -> speaking
STT final: "Thank you."
agent: speaking -> listening
assistant conversation item: interrupted=True
user conversation item: "Thank you."
In another occurrence the user-speaking state was triggered approximately 467 ms after agent speech began, followed by a phantom "Thank you." STT result and interruption of the assistant response.
Controlled A/B/A test
We changed only the ONNX checkpoint while keeping the same:
- LiveKit Agents version
- Silero plugin version
- STT
- TTS
- LLM
- browser/client
- microphone/audio path
- agent turn-handling configuration
Results:
Current bundled checkpoint 1a153a22...
FAIL
false speech detection / phantom STT / self interruption
Previous checkpoint 597d30b3...
PASS
three independent sessions completed without false user-speech
detection during assistant playback
Current bundled checkpoint 1a153a22...
FAIL AGAIN
false speech detection / phantom STT / self interruption reproduced
The reverse test reproduced the problem immediately after restoring the current bundled checkpoint.
Workaround
Using the existing onnx_file_path option resolves the issue:
vad=silero.VAD.load(
force_cpu=True,
onnx_file_path="/path/to/pinned/silero_vad.onnx",
)
where that file has SHA256:
597d30b3ec076608d059477bb14cfeffdf951bf5cae370d38f65d33bbfe82004
This allows us to keep LiveKit Agents and the Silero plugin at 1.6.10 while using the previous checkpoint.
Related upstream history
livekit/agents#6815 reported that the older checkpoint could miss short utterances.
livekit/agents#6816 therefore changed the plugin checkpoint from 597d30b3... to 1a153a22... to improve short-utterance sensitivity.
The increased sensitivity appears to have the opposite failure mode in our WebRTC voice path: false-positive speech detection during assistant playback.
Earlier PR #3779 also added onnx_file_path specifically so users could load a previous Silero model.
Possible next steps
It may be useful to test both checkpoints against:
- short utterance detection, and
- false-positive detection during simultaneous agent audio/WebRTC playback.
Potential solutions might include documenting the tradeoff, exposing a checkpoint/version selection option, bundling both validated checkpoints, or adding a regression test for false interruption during assistant speech.
- Lingua principale
- Python
- Stelle
- 14.6k
- Fork
- 3.9k
- Merge medio
- 3g 18h
- PR unite (30g)
- 193
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di livekit/agents
-
Google TTS: default ssml_gender NEUTRAL is rejected for Neural2 voicesForse già presa @sarankumar1325 l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Assistant markup is stripped from chat history when expressive mode is offForse già presa @ShivamSharma43 l’ha presa 13 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hostsForse di nuovo libera @AbarnaaSree l’ha presa 53 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
livekit/agents#7022 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
google realtime (Gemini Live): manual activity detection — barge-in fires on the model's own generation; unclosed transcript-only generation blocks later generate_replyForse già presa @akashhguptaa l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di livekit/agents
Issue simili
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yunaremaia/agent-capability-attestation#64 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
yunaremaia/agent-call-graph#43 ·
I maintainer di solito rispondono entro 1 giorno