zebra-report/web
Russell Ballestrini e2f279d57a
zebra-spaces: filter Whisper silence-hallucinations (RMS gate + stop-word skip)
Fox 2026-06-05: "fxhp and fxhp-chrome both are triggering clients to
transcode `you` on a new line over and over could you sort that out?
… this happens even when mic is closed."

whisper-tiny.en is notorious for hallucinating common stop-words on
silent / low-energy audio: "you", "thank you", "thanks for watching",
a lone period. Mic muted or peer dead-silent → the model still
produces a chunk of audio (silence frames from Opus / WebRTC) and
spits one of these phrases out. Two filters:

1. RMS-based silence gate IN the capture worklet (cheaper — no
   pipeline invocation at all). Compute RMS of the 5s/16kHz chunk
   before posting; skip if below 0.005 (~-46 dBFS, well below any
   real speech). The vast majority of "mic-closed" hallucinations
   stop here.

2. JS-side filter against a known-hallucination set. Catches the
   rest (quiet-room ambient that passes the RMS gate). Normalizes
   lowercase + strips trailing punctuation so "You." / "you " /
   "YOU!" all collapse to "you" and match the set. Easy to extend
   as new hallucinations are observed.

3. Per-uuid consecutive-duplicate suppression. Even non-hallucination
   text sometimes re-emits the same short phrase across consecutive
   chunks ("uh huh" "uh huh") — drop the dupe.

CPU win: silent chunks no longer go through ONNX inference (~50-200ms
per chunk on tiny.en).
2026-06-05 13:06:54 -04:00
..
blog phase 1: unfirehose reconstruction from session JSONL ingest 2026-05-27 13:51:14 -04:00
fonts phase 2: gap analysis — cat>> append + binary asset recovery 2026-05-27 13:54:19 -04:00
chat.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
host-your-own.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
how-it-works.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
index.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
kernel.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
stamp.js web: stamp each zebra-report page with build date + md5/sha256 2026-05-28 17:50:12 -04:00
zebra-audio.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
zebra-spaces.html zebra-spaces: filter Whisper silence-hallucinations (RMS gate + stop-word skip) 2026-06-05 13:06:54 -04:00