A small but important fix: a failed start now closes itself instead of hanging.
Download
| HoldToSpeak-0.1.3-x64-setup.exe | Installer. Per-user — installs to %LOCALAPPDATA%, never asks for admin rights. |
| HoldToSpeak-0.1.3-x64.zip | Portable. Unzip and run HoldToSpeak.exe. |
HoldToSpeak-0.1.3-x64-setup.exe 66F1EDFE3977C10A44699B90BB91FCA1EF2EB68E6FDDCA84812800E41A630D1A
HoldToSpeak-0.1.3-x64.zip 03D0EB10AE1C1B0D453EE52451DA7D0BAF8E803BA45470BD69A2050BF286C0DE
Still unsigned, so SmartScreen will warn on first run — More info → Run anyway, or verify
against the hashes above.
Renamed: the app is now HoldToSpeak.exe
The rebrand had stopped short of the binaries. Everything else — paths, tray, config folders, docs,
the icon — said HoldToSpeak, but the executable you actually ran was still called nib-core.exe,
and Task Manager showed a stray nib-* process for it.
nib-core.exe -> HoldToSpeak.exe
nib-asr-sidecar.exe -> HoldToSpeak-engine.exe
Upgrading cleans up after itself — the old binaries are removed rather than left sitting beside
the new ones, and your Start-menu shortcut is repointed automatically. Verified on a real upgrade
over an existing install, not just a fresh one.
If you launch the app from a script or a custom shortcut, that's the one thing to update.
Fixed: a failed start could hang forever
v0.1.1 fixed the app vanishing with no error, by keeping the window open so the message could be
read. That was the right fix for a person sitting in front of it — and the wrong one for every
launcher that has no person at all: an installer's smoke test, a CI sandbox, a scheduled task.
Those get their own console window too, so the app sat waiting for an Enter key that was never
coming, and a clean failure became a hung process.
The wait is now bounded. You still get 60 seconds to read the error — and the prompt says so
plainly — after which it closes itself.
Press Enter to close this window (closes automatically in 60s)...
This only affects the error path. If the app starts normally, nothing about this release changes
what you see.
How it was found
Microsoft's winget validation flagged the 0.1.2 submission with an executable error. The manifest
itself passed cleanly, and no logs were published — so rather than guess, the failure was
reproduced locally: launched with an unusable model directory in its own console, the process was
still alive after 20 seconds with nobody present. Confirmed, fixed, then re-verified in the built
installer rather than just the development build.
Everything else from 0.1.2 is unchanged
The app icon, the global hotkeys (Ctrl+Alt+M modes, Ctrl+Alt+O overlay, Ctrl+Alt+Q quit), and
the redesigned Bars / Wave / Volt overlays all arrived in
0.1.2 and carry over.
Unchanged: your voice still never leaves your machine. No account, no telemetry, one network
request ever — the first-run model download, against a pinned checksum. See
PRIVACY.md.