Skip to main content
PromptQuorumBuilt for humans. Structured for AI.
Home/Smart Home/Local Speech-to-Text for Smart Homes: Whisper + HA (2026)
Local AI & LLMs in the Smart Home

Local Speech-to-Text for Smart Homes: Whisper + HA (2026)

·8 min read·By Hans Kuepper · Founder of PromptQuorum · Discovery engine for open-weight & open-source AI

Install Home Assistant's Whisper app (faster-whisper), pick a model size, and connect it to Assist over the Wyoming protocol; whisper.cpp needs a separate Wyoming server, and Piper adds text-to-speech. Smaller models are faster; larger models are more accurate. Nothing is sent to a cloud service.

Home Assistant's Whisper app gives Assist private speech-to-text over the Wyoming protocol, with no cloud. This guide covers faster-whisper vs whisper.cpp for Home Assistant, model sizes and memory, what the published speed numbers do and do not show, Piper for text-to-speech, and why MacWhisper is a desktop app rather than a Home Assistant component.

Local Speech-to-Text for Smart Homes: Whisper + HA (2026)

Key Takeaways

  • Whisper is an open speech-to-text model that runs locally — no audio leaves your hardware
  • Use the Whisper (faster-whisper) add-on; it connects to Assist over Wyoming
  • Model sizes range tiny → base → small → medium → large; bigger is more accurate, slower
  • On CPU-only hardware, prefer tiny/base/small; a GPU makes medium/large practical
  • Whisper is multilingual, so non-English commands transcribe without a cloud service
  • Tune accuracy with a better microphone and the right model before going larger
  • Home Assistant's official Whisper app is built on faster-whisper (wyoming-faster-whisper); whisper.cpp has no official Home Assistant app
  • No like-for-like speed comparison exists for Home Assistant hardware: the published numbers use different setups
  • Piper handles text-to-speech over Wyoming; MacWhisper is a Mac desktop app, not a Home Assistant component

Why Use Local Speech-to-Text?

Local speech-to-text keeps your voice recordings on your own hardware, so no audio is uploaded to a third party. It also works offline and has no per-request cost.

  • Privacy: cloud assistants transmit and may retain recordings; local Whisper does not — see smart home privacy risks.
  • Offline: transcription works during internet outages.
  • No fees: there is no usage charge for local transcription.

Which Whisper Model Size Should You Use?

Pick the smallest Whisper model that gives acceptable accuracy on your hardware — tiny/base/small for CPU-only, medium/large when you have a GPU. Larger models improve accuracy on accents and noisy audio at the cost of speed.

  • Use small as the default on a mini PC CPU; move to medium/large only if accuracy is lacking.
  • Use tiny/base on a Raspberry Pi to keep latency usable.
Model
Relative accuracy
Relative speed
Best for
tinyLowestFastestLow-power CPU, short commands
baseLowVery fastRaspberry Pi, simple phrases
smallGoodFastMini PC CPU, everyday use
mediumHighModerateGPU or strong CPU
largeHighestSlowestGPU, accents/noisy rooms
Whisper model sizes by relative speed on Home Assistant: tiny and base are fastest on a Raspberry Pi, small is the mini PC CPU default, medium needs a GPU or strong CPU, and large is slowest but most accurate on accents and noise.
Whisper model sizes by relative speed on Home Assistant: tiny and base are fastest on a Raspberry Pi, small is the mini PC CPU default, medium needs a GPU or strong CPU, and large is slowest but most accurate on accents and noise.

Wyoming Setup

The Whisper add-on exposes a Wyoming endpoint that Assist uses for speech-to-text. Setup is install → pick model → select in pipeline.

  1. 1
    Install the Whisper (faster-whisper) add-on from the add-on store.
  2. 2
    Set the model size in the add-on configuration and start it.
  3. 3
    The add-on registers as a Wyoming speech-to-text service automatically.
  4. 4
    In Settings → Voice assistants, set Whisper as the STT engine for your Assist pipeline.
  5. 5
    Test transcription from the Assist debug tools before adding voice hardware.

Hardware Needs

Whisper runs on CPU for small models and benefits from a GPU for medium/large models. Match model size to the box that hosts it.

  • Raspberry Pi: stick to tiny/base for acceptable latency.
  • Mini PC (CPU): small works well; medium is possible but slower — see best hardware for a local smart home.
  • With a GPU/NPU: medium and large become practical for high accuracy.
  • You can run Whisper on a separate, more powerful machine via Wyoming if your hub is a Pi.
Decision tree for matching Whisper model size to hardware: no GPU means a Raspberry Pi runs tiny/base while a mini PC CPU runs small; a GPU or NPU makes medium practical and large for accents or noisy rooms.
Decision tree for matching Whisper model size to hardware: no GPU means a Raspberry Pi runs tiny/base while a mini PC CPU runs small; a GPU or NPU makes medium practical and large for accents or noisy rooms.

Tuning Accuracy

Improve a good microphone and the right model before reaching for the largest Whisper. Audio quality often matters more than model size for home commands.

  • Use a quality microphone or voice-satellite hardware close to the speaker.
  • Reduce background noise where the microphone sits.
  • Set the correct language in the add-on to avoid mis-transcription.
  • Step up one model size at a time and re-test rather than jumping to large.

faster-whisper vs whisper.cpp for Home Assistant

Home Assistant's official Whisper app is built on faster-whisper; whisper.cpp has no official Home Assistant app, so using it means running a separate Wyoming-compatible server. Both engines run OpenAI's Whisper models locally; they differ in how they plug into Assist.

  • Home Assistant OS: install the Whisper app from Settings > Apps; the Wyoming integration discovers it automatically (Whisper app docs). Apps were formerly called add-ons.
  • Default model: auto selects tiny-int8 on ARM devices such as the Raspberry Pi 4 and base-int8 otherwise; the -int8 variants are slightly less accurate but smaller and faster (Whisper app docs).
  • Backends: with stt_library set to auto, English uses a Parakeet model via sherpa, Chinese, Cantonese, Japanese and Korean use SenseVoice via funasr, Russian uses GigaAM, and everything else uses faster-whisper (Whisper app docs).
  • Container or separate host: run the rhasspy/wyoming-whisper image (port 10300 in the example), then add the Wyoming Protocol integration with that host and port (wyoming-faster-whisper, Wyoming integration docs). Wyoming services can run on another device on your local network, which suits resource-heavy Whisper.
  • GPU: the project's NVIDIA GPU image is not published; you build it yourself (about 10.7 GB against about 1.6 GB for the CPU image), and Home Assistant OS has no GPU passthrough (wyoming-faster-whisper).
  • whisper.cpp: its whisper-server example is an HTTP server with an OpenAI-like API, not a Wyoming server (whisper.cpp). The rhasspy/wyoming-whisper-cpp bridge is archived; community bridges exist, but we have not tested any.
Aspect
faster-whisper
whisper.cpp
Home Assistant appOfficial Whisper appNo official app
Wyoming serverwyoming-faster-whisperwyoming-whisper-cpp (archived)
Install on HA OSSettings > Apps > WhisperRun separately, add via Wyoming
Install in Dockerrhasspy/wyoming-whisper imagewhisper-server (HTTP, not Wyoming)
GPU supportNVIDIA CUDA 12 + cuDNN 9CUDA, Vulkan, Metal, OpenVINO
CPU pathCTranslate2, int8 or fp32Plain C/C++, quantized models
Modelstiny to large-v3, turbo, distilggml tiny to large
LanguagesWhisper's 100 via WyomingMultilingual and .en models

Speed: What the Published Benchmarks Show

We found no like-for-like faster-whisper vs whisper.cpp measurement on Home Assistant hardware, so a direct comparison for a Raspberry Pi or mini PC is not possible. The only side-by-side numbers come from the faster-whisper README: 13 minutes of audio transcribed on a desktop PC with faster-whisper v1.1.0 and whisper.cpp v1.7.2. We did not run these tests ourselves.

  • These are 13-minute file transcriptions on a desktop GPU (CUDA 12.4) and an Intel Core i7-12700K, not 3-second voice commands, so they do not predict command latency on a Raspberry Pi or mini PC. Versions are older than the current releases.
  • Home Assistant's own docs say Whisper takes "around 8 seconds" to process a voice command on a Raspberry Pi 4 and is done "in under a second" on an Intel NUC; the page does not name the model (local Assist docs).
  • The same page lists Speech-to-Phrase, a different engine, at "under one second" on a Raspberry Pi 4 or Home Assistant Green (local Assist docs).
  • The whisper.cpp README has no timing table; it links a community benchmark thread (issue 89) and ships a whisper-bench example so you can measure your own machine.
Hardware and model
Engine and settings
Time, 13 min audio
RTX 3070 Ti 8GB, large-v2faster-whisper, fp16, beam 51m03s
RTX 3070 Ti 8GB, large-v2whisper.cpp + Flash Attention, fp16, beam 51m05s
i7-12700K (8 threads), smallwhisper.cpp, fp32, beam 52m05s
i7-12700K (8 threads), smallfaster-whisper, fp32, beam 52m37s
i7-12700K (8 threads), smallfaster-whisper, int8, beam 51m42s

Model Sizes and Memory Use

Model size drives memory more than anything else: whisper.cpp's README lists about 273 MB of memory for tiny and about 3.9 GB for large. Figures below are from the whisper.cpp README.

  • faster-whisper's README lists large-v2 on the RTX 3070 Ti at 4525MB VRAM (fp16) and 2926MB (int8) (faster-whisper README).
  • For the small model on CPU the same README lists 1477MB RAM (faster-whisper int8) and 2257MB (fp32); whisper.cpp is listed at 1049MB (fp32).
  • The Whisper app also offers turbo (faster than large-v3) and English-only distilled models such as distil-small.en (Whisper app docs).
Model
Disk (whisper.cpp)
Memory (whisper.cpp)
tiny75 MiB~273 MB
base142 MiB~388 MB
small466 MiB~852 MB
medium1.5 GiB~2.1 GB
large2.9 GiB~3.9 GB

Piper TTS: The Speech Half of the Voice Pipeline

Piper is the local text-to-speech engine in Home Assistant's voice setup: the Piper app exposes it over Wyoming, the same way the Whisper app does for speech-to-text. Whisper hears the command; Piper speaks the reply.

  • Install: Settings > Apps > Piper; the Wyoming integration discovers it (Piper app docs). Outside Home Assistant OS, wyoming-piper runs as a Wyoming server (port 10200 in its example).
  • Voices: named <language>_<REGION>-<name>-<quality>, default en_US-lessac-medium, downloaded automatically from Hugging Face. Quality x_low and low are 16 kHz, medium and high are 22.05 kHz.
  • Resource use: the app docs say that on a Raspberry Pi 4 voices up to medium run with usable speed; Home Assistant's docs say a Pi with medium-quality models "can generate 1.6s of voice in a second" (local Assist docs).
  • Languages: Piper's voice list has 44 language and region entries, including German, French, Spanish, Portuguese (Brazil and Portugal), Chinese and Arabic (Jordan). We found no Japanese or Korean entry there; the Piper app documents optional Japanese and Thai voices that need an extra phonemizer download (about 350 MB and 390 MB).
  • Maintenance: the original rhasspy/piper repository is archived and points to OHF-Voice/piper1-gpl (GPL-3.0), where development continues; its README says the Open Home Foundation is looking for maintainers. The app's experimental omnivoice backend is higher quality but "much slower" and "really needs a desktop or server CPU" (Piper app docs).
  • Deep dive: Piper TTS review.

MacWhisper Is Not a Home Assistant Component

MacWhisper is a Mac desktop app, not a Home Assistant component: for Assist, use the Whisper app or another Wyoming speech-to-text server. MacWhisper transcribes audio, video, meetings and system audio locally on your Mac, and its website does not mention Home Assistant or the Wyoming protocol.

Project Activity

The tools above are actively updated, except the whisper.cpp Wyoming bridge, which is archived. Dates are read from each project's GitHub repository.

Project
Latest release
Last commit
faster-whisperv1.2.1 (2025-10-31)2026-10-16
whisper.cppv1.9.5 (2026-10-06)2026-10-12
wyoming-faster-whisperv3.8.1 (2026-09-14)2026-10-14
wyoming-piperv2.5.2 (2026-09-11)2026-09-11
Piper (piper1-gpl)v1.8.0 (2026-09-04)2026-10-17
wyoming-whisper-cpp (archived)No release2024-02-29

⚠️Warning: rhasspy/wyoming-whisper-cpp is archived and has had no update since 2024-02-29, so it may be unmaintained: check a bridge's current state before relying on it. The original rhasspy/piper repository is also archived (last update 2025-08-26).

Frequently Asked Questions

What is the Wyoming protocol?

Wyoming is the lightweight network protocol Home Assistant's Assist pipeline uses to talk to voice add-ons — speech-to-text (like the Whisper add-on), text-to-speech, and wake-word detection. It lets the add-on run as its own service, even on a separate, more powerful machine, and register itself with Assist automatically instead of requiring manual API wiring. You don't configure Wyoming directly — installing the Whisper add-on exposes a Wyoming endpoint that Assist detects and lets you select in your pipeline.

Which Whisper model should I use for Home Assistant?

Use small as the default on a mini PC CPU, tiny or base on a Raspberry Pi, and medium or large only if you have a GPU and need higher accuracy on accents or noisy rooms. Step up one size at a time and re-test.

Do I need a GPU for local Whisper?

No for small and below — those run on CPU. A GPU mainly makes medium and large models fast enough for real-time use. You can also offload Whisper to a more powerful machine over the Wyoming protocol.

How accurate is local Whisper offline?

Accuracy is strong with the right model and a good microphone; larger models handle accents and noise better. For clear home commands, the small model on a mini PC is usually accurate enough, and it runs fully offline.

Is local Whisper multilingual?

Yes. Whisper supports many languages, so non-English commands transcribe locally without any cloud service. Set the language in the add-on configuration for best results.

Is faster-whisper or whisper.cpp better for Home Assistant?

faster-whisper is the simpler path because Home Assistant's official Whisper app is built on it: it installs from Settings > Apps and is discovered through the Wyoming integration. whisper.cpp has no official app and needs a separate Wyoming-compatible server. The projects publish benchmarks on different hardware and settings, so no direct speed comparison for Home Assistant hardware exists.

Can I use whisper.cpp with Home Assistant?

Yes, but not through an official app. Home Assistant talks to speech-to-text engines over the Wyoming protocol, and whisper.cpp's own whisper-server speaks HTTP instead. The rhasspy/wyoming-whisper-cpp bridge is archived (last update 2024-02-29), and community bridges exist that we have not tested. Add any Wyoming server under Settings > Devices & services with its host and port.

What is Piper in Home Assistant?

Piper is a local neural text-to-speech engine. Home Assistant's Piper app exposes it over Wyoming for spoken replies, with voices named like en_US-lessac-medium. Development continues at OHF-Voice/piper1-gpl; the original rhasspy/piper repository is archived.

Is MacWhisper a Home Assistant add-on?

No. MacWhisper is a Mac desktop app for transcribing audio, video and meetings; its website does not mention Home Assistant or Wyoming. For Assist, use the Whisper app or another Wyoming speech-to-text server.

← Back to Smart Home

MCP