github goodroot/hyprwhspr v1.47.0

3 hours ago

Bring your own streaming server. Vulkan wheels. Continuous mode that ends itself.

Self-hosted streaming

  • Run your own realtime server. Point custom at it; no API key needed. hyprwhspr setup → Realtime WS now lists NeMo-Speech.cpp, Phonon, and any OpenAI Realtime-compatible server. Anything else is four settings: websocket_protocol, websocket_sample_rate, websocket_session_format, websocket_live_text. (#262, thanks @JacobBanghart; #270, thanks @James-Wolfley)

  • NeMo-Speech.cpp. Local, English, streaming Nemotron. See Self-hosted streaming for the serve command and config.

  • Phonon-2. Live OSD preview while you speak; one stream per recording (toggle, push-to-talk, auto).

Live typing (experimental)

  • Words land as you speak. realtime_live_typing: true with a model whose words never change once sent (today, NeMo). Enter, the trailing space and the clipboard restore wait for stop; cancel keeps what's typed. Setup offers it when you pick NeMo. (#261, thanks @JacobBanghart)

  • Off with a post_transcription_hook, record capture, continuous or long-form. hyprwhspr config validate says why, and the service logs it once at start.

Vulkan

  • Prebuilt Vulkan wheels. Setup fetches one on glibc 2.41+ (Arch, Fedora 42+, Debian 13); no local build. Wheels carry a build number and must match the release's checksums. (#275, thanks @sqonde)

  • Honest fallbacks. If a GPU build fails you get CPU, and the service now says so at every start. Setup installs and checks the SPIR-V build deps.

Continuous mode

  • silence_timeout ends a continuous session. Pauses still paste; a longer quiet closes the session. (#273)

  • Sturdier silence stops. Pending chunks retry instead of vanishing, silence-only chunks aren't transcribed, and a replaced recording can't be stopped or pasted into by an old monitor. (#274, thanks @Anirban-Majumder)

Fixes

  • Cohere no longer runs out of VRAM on resume. The old model is released before the new one loads. Every local backend now does the same. (#272, thanks @Anirban-Majumder)

  • Missing Python modules are flagged at start, as is a venv that drifted from what setup installed. Fix: re-run setup and reinstall the backend. (#275, thanks @sqonde)

  • "Transcribing…" stays until the text lands. (#275, thanks @sqonde)

  • Custom realtime endpoints work without a key. They used to fail at start.

Upgrade notes

  • The realtime OSD preview now keeps finished segments on screen instead of clearing them.

  • A malformed websocket_url (not ws:// or wss://, or with no host) now fails at start with a clear error.

  • Vulkan users on glibc 2.41+: re-run setup and reinstall the backend to swap a local build for the prebuilt wheel.

PRs

  • fix(cohere): release model before reinitializing by @Anirban-Majumder in #272

  • Prebuilt Vulkan wheels, portable wheel builds, startup dependency warnings by @sqonde in #275

  • fix(continuous): isolate silence stops and retry pending chunks by @Anirban-Majumder in #274

New Contributors

Full Changelog: v1.46.1...v1.47.0

Don't miss a new hyprwhspr release

NewReleases is sending notifications on new releases.