
A recent XDA piece made a small but true point about self-hosted smart homes: everything else has good local options, except the speaker. Google’s Nest and Amazon’s Echo have become the paths of least resistance for voice control, and every other layer of the house — lights, sensors, cameras — has open alternatives that clearly beat them. The best apps for self-hosted smart speakers on desktop close that last gap.
We tested seven apps and stacks on Windows, macOS, and Linux that add local voice control, wake-word detection, and multi-room audio to a self-hosted smart home. Each covers a different piece of the “hey speaker, do a thing” pipeline: wake word, speech-to-text, intent handling, text-to-speech, and multi-room playback. Pick by the piece we most need to solve.
What to look for in a self-hosted smart speaker stack
A speaker that replaces a Nest or an Echo has more moving parts than “install one app.” The apps that do this well share a few properties:
- End-to-end privacy: audio processing happens on the LAN, no unavoidable cloud calls, and everything is inspectable.
- A separable pipeline. Wake word, speech-to-text, intent, and text-to-speech should each be swappable so we can upgrade one without redoing the rest.
- Good wake-word detection that resists false positives on TV and music playback. This is the piece Google and Amazon spent the most on and where hobbyist stacks used to fall short.
- Integration with Home Assistant, the reference open-source smart home platform in 2026, either directly or through a documented bridge.
- Multi-room audio that is synchronised, not “close enough.”
- Reasonable hardware requirements. Anything that needs a GPU for wake word is a bad fit for a distributed speaker deployment.
Quick comparison
| App | Best for | Platforms | Free plan | Starting price/mo | Rating |
|---|---|---|---|---|---|
| Home Assistant Assist | End-to-end voice pipeline tied to Home Assistant | Windows, macOS, Linux, Docker | Fully free, open source | Free (Nabu Casa cloud is optional) | 4.8 / 5 |
| Rhasspy 3 | Modular voice assistant toolkit | Linux, Docker | Fully free, open source | Free | Community reference |
| Willow | ESP32-based hardware plus server for cheap local voice | Linux server + ESP32 device | Fully free, open source | Free | GitHub |
| openWakeWord | Custom wake-word engine that beats commercial ones | Windows, macOS, Linux | Fully free, open source | Free | GitHub |
| Snapcast | Synchronised multi-room audio server | Windows, macOS, Linux, Android | Fully free, open source | Free | 4.7 / 5 |
| Music Assistant | Music library server for Home Assistant | Linux, Docker | Fully free, open source | Free | 4.6 / 5 |
| Mycroft OVOS | Community fork of Mycroft with a full assistant stack | Linux, Docker | Fully free, open source | Free | Community reference |
Piper TTS is included in the how-to-pick section as the current best voice choice for text-to-speech.
The apps
1. Home Assistant Assist
Home Assistant Assist is the assistant layer that ships with Home Assistant, and in 2026 it is the most complete open-source smart speaker stack. Assist bundles wake-word detection (via openWakeWord), speech-to-text (via Whisper), intent handling (native, extended by any HA add-on), and text-to-speech (via Piper). Voice PE, the Home Assistant Voice Preview Edition hardware, is the ready-made speaker if we do not want to source hardware. Any ESP32-based Voice Assistant or a Wyoming-protocol satellite works too.
Where it falls short: Assist’s LLM integration for open-ended questions still needs configuration and either a cloud model or a local one. The stock intent engine is very good on smart-home commands and less useful for general knowledge queries.
Pricing:
- Free: fully free, open source
- Paid: Nabu Casa Cloud is optional and adds remote access plus cloud STT/TTS
Platforms: Windows, macOS, Linux, Docker (as HA host)
Download: Home Assistant
Bottom line: the sensible default for a self-hosted smart speaker in 2026.
2. Rhasspy 3
Rhasspy 3 is a modular voice assistant toolkit built by the maintainer who now works on Home Assistant Assist. The design is a set of stages (audio in, wake word, STT, intent, TTS, audio out) that plug into each other over an event bus. Rhasspy sits on the “roll our own” end of the spectrum and rewards anyone who wants full control over which model runs each stage.
Where it falls short: the setup work is real. It is more of a toolkit than a product. Documentation has improved in 2026 but still assumes some comfort in a terminal.
Pricing:
- Free: fully free, open source
- Paid: no paid tier
Platforms: Linux, Docker
Download: Rhasspy 3
Bottom line: the pick for someone who wants to compose the assistant themselves.
3. Willow
Willow is a hardware-plus-server stack for cheap local voice control. The client runs on an ESP32-S3 dev board with a small microphone array, streams audio to a local Willow Inference Server (which runs on a modest x86 box with or without a GPU), and integrates with Home Assistant, openHAB, and MQTT out of the box. For a distributed multi-room deployment, Willow’s per-satellite cost is a fraction of a Nest Mini.
Where it falls short: it depends on ESP32 hardware that we source ourselves. The inference server can benefit from a GPU, though CPU-only setups run.
Pricing:
- Free: fully free, open source
- Paid: no paid tier (Willow One is a paid managed offering, optional)
Platforms: Linux server, ESP32-S3 client
Download: Willow
Bottom line: the pick for a budget multi-room voice deployment that lives on the LAN.
4. openWakeWord
openWakeWord is the wake-word engine that Home Assistant Assist, Rhasspy 3, and Mycroft OVOS all use in various forms. Anyone who wants a custom wake word (“hey Jarvis,” “computer,” a family name) trains a small model from a few dozen samples and drops it into the pipeline. False positives are lower than commercial engines because the model is trained on our specific wake word rather than a general classifier.
Where it falls short: it is a library rather than an app, so it needs to be wired into a pipeline. Training a good custom wake word takes an hour of sample collection.
Pricing:
- Free: fully free, open source
- Paid: no paid tier
Platforms: Windows, macOS, Linux, embedded
Download: openWakeWord
Bottom line: the pick when we want a custom wake word that Google and Amazon cannot offer.
5. Snapcast
Snapcast is a multi-room audio server that keeps every speaker on the LAN synchronised to within a few milliseconds. Point a music source at Snapcast (Music Player Daemon, Spotifyd, an AirPlay bridge, a Squeezelite client) and the audio streams to every Snapcast client — a Raspberry Pi with a DAC, a phone, a Windows PC, an old Android tablet running the Snapcast Android client. For a self-hosted smart home, Snapcast is the piece that lets one voice command play music in every room.
Where it falls short: setup is a config-file exercise. Modern replacements (Music Assistant, HomePod-style ecosystems) hide more of the plumbing.
Pricing:
- Free: fully free, open source
- Paid: no paid tier
Platforms: Windows, macOS, Linux, Android, iOS clients
Download: Snapcast
Bottom line: the pick for synchronised multi-room audio without a subscription.
6. Music Assistant
Music Assistant is a Home Assistant add-on that unifies music sources (Spotify Connect, Tidal, Qobuz, YouTube Music, Plex, local files, SomaFM) into a single queue and routes playback to any Home Assistant media player — Snapcast satellites, Google Cast, Sonos, AirPlay, an ESPHome speaker. It is the layer that ties “hey Assist, play Radiohead in the kitchen” to a real music engine.
Where it falls short: it depends on Home Assistant. Standalone use is possible but the primary value is inside HA. Some streaming source integrations need per-user credentials.
Pricing:
- Free: fully free, open source
- Paid: no paid tier
Platforms: Linux (as HA add-on), Docker
Download: Music Assistant
Bottom line: the pick to answer voice-triggered music commands with real streaming sources.
7. Mycroft OVOS
Mycroft OVOS (OpenVoiceOS) is the community fork of Mycroft that survived the original project’s shutdown and now maintains a full assistant stack: wake word, STT, intent, TTS, and a skills marketplace. OVOS runs on a Raspberry Pi, a Mycroft Mark II if we have one, or a standard Linux box, and it federates with Home Assistant through a documented bridge.
Where it falls short: the community is smaller than Home Assistant’s. Some skills are older and depend on APIs that have moved on.
Pricing:
- Free: fully free, open source
- Paid: no paid tier
Platforms: Linux, Docker, Raspberry Pi
Download: OpenVoiceOS
Bottom line: the pick for a full standalone assistant stack when Home Assistant Assist is not the right shape.
How to pick the right self-hosted smart speaker stack
- If we already run Home Assistant: Home Assistant Assist with the Voice PE or an ESP32 satellite is the sensible default.
- If we want to compose the assistant from scratch: Rhasspy 3.
- If we want the cheapest multi-room deployment: Willow with ESP32-S3 clients and a local inference server.
- If we want a custom wake word: openWakeWord, plugged into whichever pipeline we use.
- If we want synchronised music playback in every room: Snapcast.
- If we want a music engine for voice-triggered playback: Music Assistant.
- If we want a standalone assistant OS separate from Home Assistant: Mycroft OVOS.
For the text-to-speech voice itself, Piper TTS is the current best open-source option and the default in Home Assistant Assist. It ships high-quality neural voices in many languages and runs on any modest CPU.
The strongest 2026 starter setup for most people is Home Assistant Assist with openWakeWord, Whisper for STT, Piper for TTS, Music Assistant for playback, and Snapcast for multi-room. That combination replaces a household of Nest or Echo speakers with a stack that lives entirely on the LAN.
FAQ
Can a self-hosted smart speaker replace a Google Nest or Amazon Echo? For smart-home commands, yes. For open-ended queries (“who was Marie Curie?”), it depends on whether we wire in a local LLM (Ollama, LM Studio) or a cloud model. The gap in smart-home control has closed; the gap in general knowledge is a configuration choice.
Does a self-hosted smart speaker work offline? Yes. Home Assistant Assist with local Whisper, Piper, and openWakeWord runs entirely without an internet connection for smart-home commands. Some skills (weather, news) still need internet access to reach their data source.
What hardware do I need for a self-hosted smart speaker? The minimum is a Raspberry Pi 4 or 5 as the server, a USB microphone, and any powered speaker. For multi-room, Willow’s ESP32-S3 satellites plus a modest x86 inference server or Home Assistant Voice PE devices are the current picks.
Is Home Assistant Assist free? Yes. Home Assistant Assist is fully free and open source. Nabu Casa Cloud is an optional paid subscription that adds remote access and cloud STT/TTS as a convenience; it is not required.
Can I use my Google or Amazon speakers with Home Assistant? Yes, as media players. Home Assistant integrates with Google Cast and Alexa for playback and some control, but the voice assistant on the device itself still routes to Google or Amazon. To move the assistant off Google or Amazon, we need a self-hosted speaker.
Which text-to-speech engine sounds the best? Piper is the current pick for open-source TTS in 2026. It offers a range of neural voices per language, runs fast on CPU, and integrates directly with Home Assistant Assist and Rhasspy 3.