Add bounded CPU VAD diagnostic with real model contract tests
This commit is contained in:
1 parent
37bb6a6e0e
commit
bc47e14971
6 files changed
+205
-2
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# CPU speech-activity diagnostic
|
||||
|
||||
Research tooling, separate from searchi's normal GPU-capable runtime. No model
|
||||
download, transcription, source indexing or product default is changed.
|
||||
Use the frozen source and model hashes in [the protocol](../../docs/SPEECH-VAD.md).
|
||||
|
||||
```sh
|
||||
cmake -S tools/speech-vad -B .searchi/speech/build-vad-diagnostic -DWHISPER_SOURCE=/absolute/path/to/pinned/whisper.cpp
|
||||
cmake --build .searchi/speech/build-vad-diagnostic --config Release --parallel 1
|
||||
```
|
||||
|
||||
Run `searchi-vad-diagnostic MODEL PCM_F32LE`, retaining stdout and stderr
|
||||
separately. Independently verify the model SHA-256 before running. Input must
|
||||
be verified mono 16-kHz little-endian float32 PCM, at most ten minutes, with
|
||||
finite normalized samples. CPU and one inference thread are fixed. Native error
|
||||
logs invalidate detection even when upstream returns success. Probability
|
||||
count must match the pinned 512-sample inference framing.
|
||||
|
||||
Output JSON retains every probability and raw centisecond interval, source
|
||||
sample count and load/detection/segmentation milliseconds. Interval padding is
|
||||
already applied. Preserve this raw output; a subsequent harness must explicitly
|
||||
intersect intervals with actual decoded source samples and add the verified
|
||||
source origin exactly once. Do not concatenate disjoint intervals without a
|
||||
piecewise source map. Zero intervals are a valid no-speech decision, distinct
|
||||
from nonzero exit status or missing JSON.
|
||||
|
||||
The wrapper fixes the preregistered segmentation parameters: threshold 0.5,
|
||||
minimum speech 250 ms, silence 100 ms, maximum speech FLT_MAX, padding 30 ms,
|
||||
overlap 0.1 seconds. It does not establish model accuracy or a production
|
||||
speech gate. Compare the complete frozen speech/music/sound pool before judging
|
||||
quality; preserve original Google audio retrieval regardless of transcription.
|
||||
Reference in new issue
Block a user