Files
searchi/tools/speech-vad/README.md
T

32 lines
1.8 KiB
Markdown
Raw Normal View History

# 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 samples. Decoder overshoot beyond unity is preserved without clipping.
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.