Grammar cleanup is optional. Set grammar.enabled = false for transcription-only mode, or choose a backend with grammar.backend. Backends are registered in src/whisper_voice/backends/__init__.py. Non-selected backends must stay lazy and must not initialize at startup.

Backends

BackendRequirementsRuntime
Apple IntelligencemacOS 26+, Apple Silicon, Apple Intelligence enabledOn-device Foundation Models
OllamaOllama installed and runningLocalhost at http://localhost:11434
LM StudioModel loaded and local server startedLocalhost at http://localhost:1234 by default; private LAN allowed
DisabledNoneTranscription only

Apple Intelligence

Apple Intelligence is the default configured backend, but grammar is disabled by default. Enable it only when macOS and Apple Intelligence support are available.
[grammar]
backend = "apple_intelligence"
enabled = true

Ollama

ollama pull gemma3:4b-it-qat
ollama serve
wh backend ollama
[ollama]
url = "http://localhost:11434/api/generate"
check_url = "http://localhost:11434/"
model = "gemma3:4b-it-qat"
keep_alive = "60m"

LM Studio

Download and load a model in LM Studio, then start the local server from the Developer tab.
curl http://localhost:1234/v1/models
wh backend lm_studio
[lm_studio]
url = "http://localhost:1234/v1/chat/completions"
check_url = "http://localhost:1234/"
model = "google/gemma-3-4b"

Selected-text modes

When grammar is enabled, Local Whisper can transform selected text:
ShortcutMode
Ctrl+Shift+GProofread
Ctrl+Shift+RRewrite
Ctrl+Shift+PPrompt engineer
Results go to the clipboard.