Skip to content

fix(silero): update bundled VAD checkpoint to v6.2 - #6816

Merged
longcw merged 1 commit into
mainfrom
longc/silero-vad-6.2.1
Aug 12, 2026
Merged

fix(silero): update bundled VAD checkpoint to v6.2#6816
longcw merged 1 commit into
mainfrom
longc/silero-vad-6.2.1

Conversation

@longcw

@longcw longcw commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Problem

The plugin bundled the v6.1 Silero checkpoint, while inference.VAD already ran v6.2 through livekit-local-inference. Each ships the model separately, so the two drifted apart. v6.1 misses short utterances that v6.2 detects.

Fix

The bundled ONNX file now holds the v6.2 model: https://github.com/snakers4/silero-vad/releases/tag/v6.2. The signature is unchanged, so no code changes. A new test asserts the plugin and inference.VAD agree, so they cannot drift again.

VAD.load() still accepts onnx_file_path to stay on v6.1.

Fixes #6815

The plugin bundled the v6.1 checkpoint, while inference.VAD already ran
v6.2 through livekit-local-inference. The two ship the model separately,
so they had drifted onto different checkpoints.

The v6.2 model is more accurate on short utterances, muted speech and
lower quality phone calls. Its input and output signature is unchanged,
so no plugin code changes and both 8kHz and 16kHz still work.

Adds a test asserting the plugin and inference.VAD agree window by
window, so the two copies cannot drift apart again.

Fixes #6815
@longcw
longcw requested a review from a team as a code owner August 12, 2026 08:07

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

@chenghao-mou

Copy link
Copy Markdown
Member

There are some differences between the inference and the silero one:

  • silero.VAD applies an EMA with alpha=0.35: p = 0.35 × previous + 0.65 × current before emitting or thresholding it.
  • inference.VAD uses _native_vad.predict() directly, with no Python-side EMA

so maybe we should not add the test now?

@chenghao-mou chenghao-mou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, one nit about the test

@longcw
longcw merged commit f02c485 into main Aug 12, 2026
26 checks passed
@longcw
longcw deleted the longc/silero-vad-6.2.1 branch August 12, 2026 09:07
@longcw

longcw commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

There are some differences between the inference and the silero one:

  • silero.VAD applies an EMA with alpha=0.35: p = 0.35 × previous + 0.65 × current before emitting or thresholding it.
  • inference.VAD uses _native_vad.predict() directly, with no Python-side EMA

so maybe we should not add the test now?

the test compares the raw model output directly, EMA lives in _VADStream._main_task and is not included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bundled Silero VAD checkpoint misses short utterances compared with Silero 6.2.1

2 participants