Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Silero v6.2 checkpoint causes false speech detection and agent self-interruption in WebRTC voice session

オープン
#6,956 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.10
  • livekit-plugins-silero==1.6.10
  • livekit-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:

  1. short utterance detection, and
  2. 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.

主要言語
Python
スター
14.6k
フォーク
3.9k
平均マージ
2日 6時間
マージ済み PR(30日)
227

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

livekit/agents のほかの issue

livekit/agents の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。