Repository navigation
docs: VAD benchmarks (Silero vs the Parakeet head vs whisper.cpp) with reproducible scripts - #88
Merged
Merged
Conversation
Add docs/vad-benchmarks.md with every VAD measurement made so far: the Parakeet heads against Silero on synthetic and TED-LIUM audio, Silero in whisper.cpp against Silero in parakeet.cpp, and the batched decode of VAD segments on long talks. Each section gives the data, the metrics, the numbers, the caveats and how to repeat the run. The scripts, small result files and load logs are in scripts/vad_bench. Link the page from docs/vad.md and the README. The stand-alone memory of the head and the timing re-run on a quiet machine are marked pending. Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
The load average was checked 19 times over 3 hours and never went below 5, so no timing was run. Keep the earlier speed numbers, each with the load it was measured under, and add the poll log. Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
Fill the pending section with the load time, peak memory and speed of the stand-alone head slice files (PR 87) against the full ASR files and Silero F16, with the method, the result files and the caveats. Say plainly which numbers were taken on a busy machine. Update the guidance on when to use which detector. Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
The VAD-only slice code (PR 87) is now in master. Say so, link the slice section of docs/vad.md instead of repeating it, and keep the note that no tagged release has it yet. Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
mudler
force-pushed
the
docs/vad-benchmarks
branch
from
October 4, 2026 06:56
4de1261 to
a6b03c9
Compare
Collaborator
Author
|
Update: #87 is merged (e53a253), so the sentence in the description saying #87 is open no longer applies. This branch was rebased onto master. The slice code is in master but not in a tagged release yet (latest is v0.5.0), and the benchmarks page now links to the slice section of docs/vad.md instead of repeating it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
docs/vad-benchmarks.md, one page with all the VAD measurements made so far, andscripts/vad_bench/with the scripts, small result files and load logs behind them. The page is linked fromdocs/vad.mdand the README. No audio and no model files are committed.It covers:
Each section gives how the data was built, the metric definitions, the tables, the caveats and the commands to repeat it.
Where the numbers come from
Every number was copied from saved result files of the runs, or computed from the saved per-run timings. The result files that are small enough are in
scripts/vad_bench/results/. The raw per-clip predictions are not committed.Not quiet-machine numbers
All timings were taken on a shared machine that was never idle. The page says this next to each timing: the Silero speed runs started at a 1-minute load average of 4.2 to 15.9, the batched decode runs at 2.5 to 18.0, and the slice runs at up to 17. The 8-thread numbers of the slice run are noisy (rounds of one configuration differ by up to 30%). A re-run on a quiet machine was tried: the load average was checked 19 times over 3 hours and was never below 5, so nothing was re-run. The poll log is in the results directory. Accuracy numbers do not depend on load.
Limits and what could not be traced
The page marks these as unverified:
References are coarse: the synthetic reference counts pauses inside utterances as speech, and the TED reference is built from ASR word times of a Parakeet model, so a bias toward the Parakeet heads is possible. There are no confidence intervals. Differences below the noise are not claimed. Peak memory for a 600 s clip, GPU and streaming were not measured.
Checks
Docs and scripts only. The Python scripts compile, the shell script passes
bash -n, and thewvad.cpptest program compiles against whisper.cpp. The data and comparison scripts were not run end to end after being cleaned of local paths.🤖 Generated with Claude Code