OHF-Voice/wyoming-faster-whisper
Wyoming protocol server for faster whisper speech to text system
Wyoming Faster Whisper
What it is
Wyoming Fast er Whisper is a server that implements the Wyoming protocol (a lightweight RPC protocol used by Home Assistant for speech‑to‑text) and forwards the audio to the faster‑whisper speech‑to‑text engine. In short, it lets Home Assistant (or any other Wyoming client) talk to a fast Whisper‑based transcription model over a TCP socket.
Why it matters
- Speed & efficiency – faster‑whisper runs Whisper models with CTranslate2, giving real‑time transcription on modest hardware (even a Raspberry Pi).
- Home Assistant integration – the server advertises itself as a Wyoming STT service, so Home Assistant can use it out‑of‑the‑box for voice commands.
- Automatic language handling – it reports exactly the languages the chosen backend can transcribe, allowing Home Assistant to pick the right pipeline.
- Name‑biasing – it can pull entity names from your Home Assistant instance and feed them to the model as a prompt, dramatically reducing mis‑recognition of device names.
- Flexible deployment – runs locally, in Docker, or on a GPU‑enabled machine, and works without internet once the model is cached.
How to get it running
Quick local install
git clone https://github.com/OHF-Voice/wyoming-faster-whisper.git
cd wyoming-faster-whisper
script/setup # creates a venv and installs deps
script/run \
--model tiny-int8 \
--language en \
--uri 'tcp://0.0.0.0:10300' \
--data-dir /data \
--download-dir /data
Replace tiny-int8 with any Whisper model you like; you can also point to a Hugging‑Face checkpoint.
Docker (CPU)
docker run -it -p 10300:10300 \
-v /path/to/local/data:/data \
rhasspy/wyoming-whisper \
--model tiny-int8 --language en
The model files are stored in the mounted /data volume.
Docker (GPU) – optional
# Build the GPU image (needs NVIDIA toolkit)
git clone https://github.com/OHF-Voice/wyoming-faster-whisper.git
cd wyoming-faster-whisper
docker build -f Dockerfile.gpu -t wyoming-whisper:gpu .
# Run it
docker run -it --gpus all -p 10300:10300 \
-v /path/to/local/data:/data \
wyoming-whisper:gpu --model Systran/faster-whisper-large-v3 --language en
Home Assistant add‑on
The project is also packaged as the official core_whisper add‑on in Home Assistant. Just enable the add‑on from the UI and it will spin up the same server automatically.
Key features & knobs
| Feature | How to enable | What it does |
|---|---|---|
| VAD endpointing | --vad-endpointing <seconds> |
Stops listening after a period of silence (detected by Silero VAD) and returns the transcript immediately, removing the need for Home Assistant’s own endpointing. |
| Name biasing | --hass-token <token> (install wyoming-faster-whisper[hass]) |
Pulls Home Assistant entity/area names and feeds them as a prompt, improving recognition of device names. |
| Backend selection | --stt-library <name> or let --stt-library auto choose |
Choose between faster‑whisper, transformers, qwen3‑asr, sherpa, funasr, onnx‑asr, etc., each with its own language coverage. |
| Local‑only mode | --local-files-only or WYO_WHISPER_LOCAL_FILES_ONLY=true |
Stops the server from trying to download missing models; useful for offline or air‑gapped setups. |
| Debug / health | --debug or run python -m wyoming_faster_whisper.health_check |
Prints extra logs and lets Docker report a proper health‑check status. |
Who should use it
- Home Assistant users who want a fast, locally‑run STT engine that understands their device names.
- Raspberry Pi / edge‑device hobbyists looking for real‑time transcription without sending audio to the cloud.
- Developers needing a Wyoming‑compatible STT service to plug into other voice‑assistant projects.
All details are taken directly from the repository’s README; no additional features are inferred.
Related
- Project
- Project
- Project
- Project
- Project