Local, private voice dictation for Slovak + Czech + English - made for Claude Code.
Hold a hotkey, speak, and your words get typed at the cursor. Everything runs on-device with Whisper (Metal-accelerated on Apple Silicon). No cloud, no accounts, no API keys, your audio never leaves the Mac.
hovor is Slovak/Czech for "speech / talk".
There are plenty of local dictation tools, but they're tuned for English. If you think in Slovak or Czech and mix English tech terms mid-sentence - "pushni ten branch a sprav rebase" - the generic tools either force everything into one language or mangle the mix.
The key design choice: one general multilingual model, not a per-language one. Because real bilingual speech switches inside a single sentence, you can't route each language to a separate model - there's nothing to split a half-sentence on. A single multilingual Whisper model transcribes the whole mixed stream at once, which is exactly what you want for "just talk, don't think about the language".
It's aimed at dictating prompts into the VS Code terminal to drive Claude Code, but it pastes into any focused app.
- macOS on Apple Silicon (uses
avfoundation+ Metal) whisper.cppCLI andffmpeg:brew install whisper-cpp ffmpeg
- Python 3.10+ for the toggle daemon
git clone https://github.com/eliasmocik/hovor
cd hovor
# 1. get the model (~1.5 GB) into ./models/
curl -L -o models/ggml-large-v3-turbo.bin \
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin
# 2. python deps for the daemon
python3 -m venv .venv
.venv/bin/pip install -r requirements.txtscripts/dictate # record until Enter, auto-detect language, print text
scripts/dictate -t 15 # record a fixed 15 seconds
scripts/dictate -l sk # force Slovak
scripts/dictate --devices # list mics, pick one with -m <index>.venv/bin/python scripts/dictate-daemonTap Ctrl+Option+D to start recording, tap again to stop - the transcript is pasted at your cursor. A short sound marks start / done / silence.
First run, grant these in System Settings > Privacy & Security:
| Permission | Granted to | Why |
|---|---|---|
| Microphone | your terminal app | record audio |
| Input Monitoring | your terminal app | see the global hotkey |
| Accessibility | your terminal app | paste with Cmd+V |
| Var | Default | Meaning |
|---|---|---|
DICTATE_HOTKEY |
<ctrl>+<alt>+d |
global toggle key |
DICTATE_MIC |
0 |
mic index (see scripts/dictate --devices) |
DICTATE_LANG |
auto |
force sk / cs / en, or auto-detect |
DICTATE_MODEL |
./models/ggml-large-v3-turbo.bin |
path to the ggml model |
ffmpegrecords the mic to 16 kHz mono WAV (avfoundation).whisper-clitranscribes it locally with the multilingual model.- The text is copied and pasted (
pbcopy+ a synthetic Cmd+V) into the focused app.
That's it - three small pieces, no daemon zoo, no network.
MIT - see LICENSE.