Features
ElevenLabs Scribe v2 Realtime Transcription
Ultra-low latency (~150ms) streaming speech-to-text via ElevenLabs WebSocket API.
Supports 90+ languages with native 16kHz audio (no resampling) and automatic reconnection on connection drops.
Configure via hyprwhspr setup or manually:
{
"transcription_backend": "realtime-ws",
"websocket_provider": "elevenlabs",
"websocket_model": "scribe_v2_realtime"
}The OpenAI realtime WebSocket client was also refactored to share a common architecture with ElevenLabs, improving reliabilityfor both providers.
Community contribution by @jhsu in #116
Full Python 3.14 Support
Python 3.14 is now the default on Arch Linux and Fedora 43. hyprwhspr fully supports it:
- MAX_COMPATIBLE_PYTHON bumped to (3, 14)
- Python fallback chains updated to prefer 3.14 first
- CI wheel builds now include Python 3.14 (CPU + CUDA)
- All error messages and install guidance updated for 3.14
- pywhispercpp 1.4.1 builds from source and works on 3.14
- onnx-asr installs cleanly on 3.14
Community contribution by @snipcodeit in #115
Non-QWERTY Layout Support (paste keycode override)
ydotool sends physical Linux keycodes, so Ctrl+V might not work on layouts like BEPO or Dvorak. You can now override the paste keycode:
Run wev, press the key that types v on your layout, and use the printed keycode.
Bug Fixes
- Mic-OSD startup errors now visible — The mic-osd daemon previously sent stderr to /dev/null, silently swallowing GTK4
initialization failures. Startup errors are now captured and logged to journal, with a 150ms health check that detects immediate
crashes. - Backend switching now recreates venv — Switching between local backends (e.g., pywhispercpp to onnx-asr) previously reused the
existing venv, leaving stale packages from the old backend. Now properly triggers a clean venv rebuild.
Community PRs
- Bump MAX_COMPATIBLE_PYTHON to (3, 14) by @snipcodeit in #115
- feat: Elevenlabs scribe v2 by @jhsu in #116
New Contributors
- @snipcodeit made their first contribution in #115
- @jhsu made their first contribution in #116
Full Changelog: v1.18.14...v1.18.15
{ "paste_keycode_wev": 55 // Use `wev` to find the keycode for 'v' on your layout }