github goodroot/hyprwhspr v1.52.0

4 hours ago

Thank you to all the contributors who keep the flow of excellent new features alive. 🙏

System tray controls

An optional tray icon shows recording, transcription, model and error states. Click it to start or stop recording, load or unload the model, or restart and stop the service.

Long-form sessions get Pause, Resume, Submit, Retry and Cancel actions. Stop stays available when a new recording starts while the previous one transcribes.

  • Off by default. Setup offers it when you skip the bar integrations.
  • Works with KDE Plasma, XFCE, Waybar's tray and Quickshell shells. GNOME needs the AppIndicator extension.
  • Restart and Stop service actions appear only when running under hyprwhspr.service.

To enable it, add this to your config and restart the service:

{
  "tray_icon_enabled": true
}

No need to change anything if you use Noctalia or Waybar plugins already.

Thanks to @ChickenSplash for #292.

Deepgram Nova-3 realtime dictation

Deepgram is now available under Realtime WS in hyprwhspr setup, with live transcript previews.

{
  "transcription_backend": "realtime-ws",
  "websocket_provider": "deepgram",
  "websocket_model": "nova-3"
}
  • Supports toggle, push-to-talk and auto recording modes.
  • Leave language unset for multilingual detection, or set an explicit language.
  • Each recording gets a fresh stream. Stopping flushes the remaining transcript before closing.
  • Optional Deepgram settings, including repeated keyterm parameters, can be supplied through websocket_url.

Setup and diagnostics now flag incompatible continuous or long-form modes for Deepgram and Phonon.

Thanks to @TagCopperLight for #294.

ElevenLabs Scribe v2 over REST

Scribe v2 is now available under REST API in setup. It shares the stored ElevenLabs key with Scribe v2 Realtime, and language selection works through the usual primary and secondary shortcuts.

It is very fast and accurate!

REST body fields now accept flat arrays, sent as repeated form fields. For example, add vocabulary hints to Scribe v2:

{
  "rest_body": {
    "model_id": "scribe_v2",
    "keyterms": ["hyprwhspr", "Hyprland", "Claude Code"]
  }
}

Provider-specific authentication headers are handled automatically. Explicit authentication headers in rest_headers take precedence over the stored key.

Thanks to @avienor for #297.

Maintenance

  • The bundled GNOME waveform extension now reads recording and audio-level files only from the runtime directory, completing the compatibility cleanup from v1.51.0.
  • Corrected REST documentation and schema descriptions: uploads are always 16-bit WAV. rest_audio_format is unused.

  • Upgrading: No configuration changes are required from v1.51.0. The tray icon remains off until enabled.

PRs

New Contributors

Full Changelog: v1.51.0...v1.52.0

Don't miss a new hyprwhspr release

NewReleases is sending notifications on new releases.