Hey! This update is all about hallucinations — those random "uh", "hmm", "beep" tokens AI speech engines drop in the middle of silence. Three defense layers now stand between your mic and your captions. Also in the box: built-in OBS / VRChat setup guides and a faster Parakeet Japanese.
🆕 Features
🛡 Triple Defense — 3 independent layers against hallucinations
Defense used to be a single VAD (Voice Activity Detection) stage. Now it's three independent layers:
Layer 1 — Noise gate: kills loud ambient noise right at the mic
Layer 2 — Silence filter[NEW]: drops the quiet stuff that snuck past the VAD
Layer 3 — Confidence filter[NEW]: kills low-confidence AI output before it hits your captions
Measured on Parakeet Japanese × applause-like noise: hallucinations 50% → 0%, legit speech accidentally dropped: 0.
Each layer toggles independently. Noise gate / silence filter thresholds are set with one press of "🔄 Re-measure". The confidence filter is ON by default and works on 7 engines: WhisperS2T / Parakeet (Japanese + English) / Voxtral / Canary / ReazonSpeech / Qwen3-ASR (anything else just passes through unchanged, so it's safe to leave on).
⏱ Skip short utterances
Keep short interjections ("uh", "yeah") and quick breaths off your captions. That "yeah yeah yeah" loop in VRChat translations? Gone. Lives in Settings → "Audio Filters" tab.
Default is recommended mode: each engine's optimal duration (e.g. 450 ms) applies automatically, and the current cutoff is always shown live
Custom mode tightens or loosens it — 1500-2000 ms works well for VRChat conversations
📡 Built-in OBS setup guide
"Where do I add a Browser Source? What URL? What width?" — the app answers all of it now.
Setup wizard Step 5: "Show captions in OBS" — auto-generated URL, one-click copy. Also lives at the top of Settings → OBS Style
Test Connection got brains — it distinguishes "another app's hogging your port", "OBS hasn't added the Browser Source yet", and "connected!", and on success it pops a "✓ Connection test successful" caption on OBS for 3 seconds (unreasonably satisfying)
Set host to 0.0.0.0 (allow remote) and the URL shows your real LAN IP (e.g. http://192.168.1.42:8080) — copy-paste ready for OBS on another PC
🎮 Built-in VRChat OSC guide
Settings → Output now has an OSC guide in the VRChat section: how to enable OSC from the Quick Menu, with steps for both VR and Desktop mode. The connection test checks whether VRChat looks like it's running, then sends an actual test message to your chatbox so you can see it land.
⚡ Parakeet Japanese is 1.83× faster
Decoder retuning brought per-utterance processing from p50 149.8 ms down to 81.4 ms (measured on RTX 4090). Output text is basically unchanged. Nothing to configure — it's just faster.
🔧 Changes & Fixes
New "Audio Filters" tab — all 4 filters (noise gate / silence / confidence / short-utterance skip) in one place
More accurate noise calibration — measurement extended 5 s → 11 s with the first 1 s discarded as warm-up. About 6 dB more accurate in our tests
Filter test mode — hit the "🔬 Test" button to watch the current settings classify your mic input live. Move a threshold, and past history recolors instantly
Confidence filter thresholds are now user-tunable — if short utterances like "test" aren't making it to your captions, adjust the threshold per selected model in Settings → Audio Filters. The "🔬 Test" window shows each utterance's pass/reject score live while you drag the slider, with "Reset to default" included.
Confidence filter defaults re-calibrated on real data — all engine defaults re-tuned from a 1,375-sample calibration study. 72% fewer false rejects of short utterances on Parakeet engines. Already tuned your own threshold? Your value still wins
Fixed VAD backend auto-selection — changing any custom VAD setting no longer forces a silent fallback to Silero. Japanese + Parakeet users get an accuracy bump from this fix alone
VAD backend can be picked manually (Advanced) — "★ Auto" normally lands on the engine-optimized backend (Silero / TenVAD / WebRTC). CER scores are shown next to each option for comparison
Fixed OBS Browser Source flicker — with custom CSS animations, long utterances no longer re-fire animations on already-finalized caption lines
Fixed stuck italic captions — when the confidence filter rejects an utterance, the italic interim line now clears in both the OBS overlay and the in-app preview. Mainly hit ReazonSpeech / Qwen3-ASR (Japanese)
Fixed "Restore Defaults" leaving sections behind — the full reset on the Backup page (and settings import) was silently skipping several sections (noise gate, silence filter, confidence filter and more). "Reset everything and start over" now genuinely resets everything (display language and setup wizard completion are intentionally preserved)
Restored the exe's file properties — publisher (Pine Lab) and version info are embedded in the distributed exe again, same as v2. Also helps reduce antivirus false positives
If something breaks
Still getting captions during silence, test mode acting up, can't figure out a threshold — anything goes on the official Discord.
https://discord.gg/hdSV4hJR8Y
Happy captioning!
