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
languageunset 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
keytermparameters, can be supplied throughwebsocket_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.
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_formatis unused.
- Upgrading: No configuration changes are required from v1.51.0. The tray icon remains off until enabled.
PRs
- feat(tray): add system tray icon by @ChickenSplash in #292
- feat(realtime): add deepgram streaming provider by @TagCopperLight in #294
- feat(rest): array body fields and provider key headers by @avienor in #297
New Contributors
- @ChickenSplash made their first contribution in #292
- @TagCopperLight made their first contribution in #294
- @avienor made their first contribution in #297
Full Changelog: v1.51.0...v1.52.0