Silero VAD GGUF for speech.cpp
This file runs only in speech.cpp 0.8.0 or later. Its layout is speech.cpp's own, so llama.cpp, LM Studio, Ollama and other GGUF readers cannot run it.
It holds the 16 kHz model of Silero VAD v6.2 in F32. The model gives a speech
probability for every 32 ms of audio, and speech.cpp turns the probabilities into the regions where someone speaks by
the rule of the official get_speech_timestamps(), with its options. It takes any language.
Use
Install speech.cpp, then:
speech vad silero-vad meeting.wav # FILE, START and END of each region, in seconds
speech vad silero-vad --format json one.wav two.wav # one JSON object per file
speech vad silero-vad --min-silence-duration-ms 1000 --max-speech-duration-s 10 meeting.wav
The name silero-vad fetches this file the first time it is used; a path to the downloaded file works as well. A
program calls the C API's speech_detect(). speech.cpp's documentation has the
model's page and the
command line.
Files
| File | What it holds | Size | SHA-256 |
|---|---|---|---|
silero-vad-309K-v6.2-F32.gguf |
the 16 kHz model of v6.2 in F32 | 1.2 MB (1,238,624 bytes) | 2fc312514e5fc4fa4ffd02b25c76a4853fa4130e8fb9777d01502183b01238cb |
silero-vad-309K-v6.2-F32.gguf.json |
what speech info --json prints of the file |
||
LICENSE |
Silero VAD's MIT license |
The file is F32 alone; speech quantize writes no other type of it.
Accuracy
Checked against silero-vad 6.2.3 on six inputs, 122 s in all, of FLEURS and Common Voice clips, silence and noise, with seven sets of options, the defaults and limits of 10 s and 3 s among them. On an Apple M5:
| Device | Probabilities, largest difference from the official | Regions |
|---|---|---|
| CPU, F32 | 3.6e-6 | the official's, all 42 |
| Metal | 6.2e-3 | the official's, all 42 |
Speed
A minute of audio on an Apple M5, after the model's load of 0.04 s, one request at a time: 0.041 s on the CPU and 0.045 s on Metal, a real-time factor of 0.0007 and 0.0008. The official package takes 0.150 s on the same CPU.
Source
Converted by speech.cpp's
reference/silero-vad/convert.py from
silero_vad/data/silero_vad.jit of the silero-vad package 6.2.3 (2,272,526 bytes, SHA-256
e1122837f4154c511485fe0b9c64455f7b929c96fbb8d79fbdb336383ebd3720), the same file as at the tag v6.2.3 of
snakers4/silero-vad (commit 5cd7945676eb32225748052e2e6a0580e4686a08). The
8 kHz model of the same file is left out, since speech.cpp resamples every input to 16 kHz.
License
Silero VAD is released under the MIT license by the Silero Team; LICENSE holds it.