github goodroot/hyprwhspr v1.26.1

18 hours ago

What's changed

New: continuous recording mode

A new "continuous" recording mode that listens indefinitely and auto-transcribes whenever a pause in speech is detected.

Transcriptions are injected in real time as you speak, without pressing any key.

Enable via config or hyprwhspr setup:

{
    "recording_mode": "continuous"
}

Experimental. See the configuration docs for silence threshold and floor-finding options.

Fix: language auto-detection on pywhispercpp backend (#160)

When "language" was null (the documented default for auto-detect), the pywhispercpp backend was silently falling back to whisper.cpp's compiled-in default of "en", causing non-English speech to be transcribed as garbled English. The backend now calls auto_detect_language() explicitly when no language is set.

Users who pinned a language code (e.g. "language": "fr") were unaffected.

Feat: beam search decoding on pywhispercpp and faster-whisper backends (#159)

Both local backends now default to beam search with beam_size: 5, matching whisper-cli behavior. Previously, pywhispercpp used greedy decoding with no way to change it. The difference is most noticeable on non-English audio and noisier input.

Two new config keys:

{
    "sampling_strategy": "beam_search",  // "beam_search" (default) or "greedy"
    "beam_size": 5
}

faster-whisper's previously hardcoded beam_size: 5 also now respects the beam_size config key.

Note: Changing sampling_strategy requires a service restart on the pywhispercpp backend.

Fix: audio ducking timing

Audio ducking now activates after the stream is confirmed open rather than before, preventing a race where the duck fired before audio capture was ready.

Fix: audio stream startup reliability

Improved retry logic on stream open to handle transient PortAudio errors (-9987 paTimedOut, -9999 PulseAudio "No such entity") that could occur during service startup before the audio server had fully settled.

Full Changelog: v1.26.0...v1.26.1

Don't miss a new hyprwhspr release

NewReleases is sending notifications on new releases.