Voice and AI
Home Assistant Voice: Speech to Text and Voice Commands
Assist runs a voice pipeline that can stay inside your home: a wake word, speech to text, built-in intent matching or an optional language model, and a spoken reply. For the fixed home commands most people use, Speech-to-Phrase is the fastest local choice. For open speech, Whisper is the local option, and it needs much more computing power.
Updated October 17, 202612 min read29 cited facts, each traced to its source
1second
Home Assistant says Speech-to-Phrase, a closed-ended model that transcribes only what it knows, transcribes in under one second even on a Home Assistant Green or Raspberry Pi 4.
Home Assistant project, Home Assistant, 2026
8seconds
Home Assistant's documentation says Whisper takes around 8 seconds to process a voice command on a Raspberry Pi 4 and under a second on an Intel NUC.
Home Assistant project, Home Assistant, 2026
150milliseconds per command
Home Assistant reports that the Raspberry Pi 5 processes Speech-to-Phrase commands seven times faster than the Raspberry Pi 4, at 150 milliseconds per command.
Home Assistant project, Home Assistant blog, 2025
Assist, the voice assistant built into Home Assistant, can run entirely on your own hardware. A spoken request passes through four stages: a wake word, speech to text, a matcher for built-in commands or an optional language model, and a spoken reply. For the fixed commands most homes use, such as turning on lights or setting a timer, Speech-to-Phrase is the fastest local choice. It transcribes in under one second on a Raspberry Pi 4 1. For open speech, Whisper is the local option, and it is slower: about 8 seconds per command on a Raspberry Pi 4 2.
This guide follows Home Assistant's own documentation and blog posts, and it notes where those sources disagree. The figures are as published, and we checked them on 17 October 2026. If you are new to voice control, start with our overview of voice assistants compared with dictation. Our guides on voice and AI cover the wider field.
Assist turns speech into Home Assistant actions in four stages
Each request goes through four jobs, and Home Assistant lets you choose the engine for each one. A wake word starts a request, speech to text turns your words into text, an intent matcher or a large language model works out the action, and text to speech speaks the answer.
| Stage | Job | Local choices named by Home Assistant | Cloud choice |
|---|---|---|---|
| Wake word | Starts a request when you say the trigger phrase | Wake word detection on the device or inside Home Assistant | None listed |
| Speech to text | Turns your words into text | Speech-to-Phrase or Whisper | Home Assistant Cloud |
| Intent or language model | Works out what you want done | Built-in sentences, or a local language model | A cloud language model |
| Text to speech | Speaks the reply | Piper | Home Assistant Cloud |
The wake word is the stage most people notice first. Home Assistant detects it inside the system rather than on each device, so a cheap microphone can still act as a voice satellite. The project says that 5 voice satellites can stream audio at once without overwhelming a Raspberry Pi 4 3. The project's own hardware for this is the Voice Preview Edition, which our question on what it is explains.
Piper is the text-to-speech engine that the project recommends for local use. On a Raspberry Pi, using medium quality models, it can generate 1.6 seconds of voice in one second 4. That is a speaking speed, not a command speed, so it does not affect how quickly Assist understands you.
Setting up the local pipeline takes five steps, according to the project's guide:
- Install the speech-to-text app you chose, either Speech-to-Phrase or Whisper, and install Piper for text to speech.
- Start the apps. Under Settings > Devices & services, the Wyoming integration should discover both services. Select Add for each.
- Go to Settings > Voice assistants and select Add assistant.
- Under Conversation agent, select Home Assistant. Under Speech-to-text, select the engine you chose, and under Text-to-speech, select Piper. Choose the language for each.
- Expose your devices to Assist, or the assistant cannot control them by voice 5.
Be careful with old search results. If you search for Piper on GitHub, you may find a repository that is archived. The original Piper repository was archived by its owner on October 6, 2025 and is read-only, and development has moved to a different repository 6. When a guide points to the old repository, use the setup steps above instead.
Speech-to-Phrase is fast because it only listens for your own commands
Speech-to-Phrase is fast because it does not try to transcribe open speech. Home Assistant calls it a close-ended speech model: it transcribes what it knows 7. Its speed comes from that narrow choice, and its limits come from the same choice.
The project built it for low-powered hardware, and the reason is who runs Home Assistant. Its opt-in analytics show that over 50 percent of Home Assistant OS users run their homes on affordable, low-powered machines such as the Home Assistant Green or a Raspberry Pi 8. A tool that runs on those machines fits the hardware that most Home Assistant OS users have.
On the Raspberry Pi 5, the project reports 150 milliseconds per command, seven times faster than the Pi 4 9. The chart below puts the published figures side by side. Whisper appears twice because the project gave two figures for the same Pi 4 test, and the newer one is the current documentation.
The speed has a price. Speech-to-Phrase recognizes only the phrases it was built from. The project's own documentation lists what falls outside that set: shopping lists, naming a timer and broadcasts are not usable out of the box 10. Its vocabulary is also tied to your home. The README says Speech-to-Phrase combines pre-defined sentence templates with the names of things from your Home Assistant 11. That is why it recognizes your own room names, and why a command that uses a name it was not built from will not match.
Language support is the other limit. When Speech-to-Phrase launched, it supported English, French, German, Dutch, Spanish and Italian, and the project said that covered nearly 70 percent of its users 12. Check your language before you choose this engine, because the project's guide says quality can change quite a bit from one language to another.
Whisper understands open speech but needs a faster computer
Whisper is the open-ended option. Home Assistant describes it as a model that tries to transcribe everything, at the cost of slower processing 13. It can handle a shopping list, a named timer or a broadcast, and it can pass the text to a language model. The price is hardware.
The current documentation says Whisper takes around 8 seconds per command on a Raspberry Pi 4, and under a second on an Intel NUC 2. The February 2025 blog post gave a lower bound of at least 5 seconds for the same Pi 4 setup 14. The two figures differ, and the project has not reconciled them in the sources we checked. Either way, on the same Pi 4, Whisper takes longer than Speech-to-Phrase, which transcribes in under one second.
For that reason the project recommends a faster machine for fully local voice. If you want to use Whisper, its advice is at least an Intel N100 or an equivalent processor, which runs the Whisper Base model. The project says that model runs reasonably fast for English and Spanish, which have large public datasets to train on 15.
Hardware limits also decide which languages Whisper can serve well. The project's example is French: it may work well enough with the largest Whisper model, which needs a GPU, but it is unusable on a Raspberry Pi or even an N100-class PC 16.
Open speech is also harder to transcribe. In the Whisper paper, the Large V2 model had a 17.6 percent word error rate on CallHome, a test set of conversations between friends and family 17. That figure is for a large model on casual speech, not for the Base model that Home Assistant recommends, so treat it as a sign of how hard open speech is. Our guide to word error rate explains how these percentages are calculated, and the glossary entry for word error rate gives the definition.
Pick the engine by hardware and by what you say
The right engine depends on two things: the computer you run Home Assistant on, and whether you will speak only commands or open requests. The table sets out the choice for each option, using the project's own figures.
| Option | What it hears | Where it runs | Hardware advice from the project | Published speed |
|---|---|---|---|---|
| Speech-to-Phrase | Fixed home control phrases built from your names | Your Home Assistant system | Raspberry Pi 4 or Home Assistant Green | Under one second on a Pi 4 |
| Whisper | Open speech | Your Home Assistant system | At least an Intel N100 for the Base model | About 8 seconds on a Pi 4 (current) |
| Home Assistant Cloud | Open speech in the languages it supports | Microsoft Azure, through the subscription | Any hardware | The sources we checked give no figure |
If your home needs only lights, locks, timers and scenes, Speech-to-Phrase on a Raspberry Pi is enough, and it needs the least hardware of the three. If you want to speak freely or pair Assist with a language model, choose Whisper on an N100-class machine or better. If your language has no good local model, Home Assistant says that for some languages it believes Home Assistant Cloud provides the best experience 18. Our question on the best speech to text for Home Assistant gives the short answer.
Home Assistant Cloud processes speech for you, off your network
Home Assistant Cloud is the option that does not run speech on your own hardware. It is an optional subscription, and the project says it supplies the text-to-speech and speech-to-text engines used by Assist, while Home Assistant itself works fully without it 19. This guide does not quote its price.
The cloud route sends your audio to a service outside your home. The project says its speech processing uses Microsoft Azure, which it describes as bound by commercial terms and conditions that do not retain or store your data. The project also says that Home Assistant Cloud itself does not keep any record of your voice, data or commands 20. These are the vendor's statements about its own service and its supplier. We did not read Microsoft's terms for this guide, so if you need to rely on them, read the terms directly before you decide.
The name is changing. The project says the service is planned to be renamed Home Assistant Link on December 2, 2026 21. Pages and search results written before the change may still say Cloud, which is the name used throughout this guide.
Built-in commands cover devices, areas, timers and lists
The built-in sentences are the commands Assist understands without a language model. The project's starter list covers six groups, each with its own examples in the documentation. Our question on the voice commands Assist understands walks through the most useful ones.
| Group | Example commands from the project's list |
|---|---|
| Device control | Turn on the living room light; lock all the doors; close the garage door |
| Lights and covers | Set kitchen lights to red; set bedroom curtain to 50%; which curtains are closed |
| Scenes and scripts | Activate dinner scene; run stealth mode script |
| Media player | Pause or resume; next track in office; set TV volume to 90 percent |
| Lists, date and time | Add bread to my shopping list; what time is it |
| Timers | Set a timer for 5 minutes; how much time is left on pizza timer; add 5 minutes to kitchen timer |
Every device or area you name must first be exposed to Assist. The project's setup steps say that, if you have not done so, you will not be able to control the device by voice 5. Names must also match the ones in Home Assistant exactly, or you need an alias for them.
Timers have their own rules. A timer you start by voice is a voice timer, and it is separate from the timer helper entities you can use in dashboards, scripts and automations 22.
The list is long but not complete. The project says the supported sentences are updated for each language and cannot all be listed, and it points to the test sentences in its GitHub repository for your language. The page also explains that the second part of each test file name is the intent. If Assist does not understand you, the project's advice is to rephrase the sentence or to check that the entity or area name matches what is in Home Assistant.
Built-in commands do not handle everything. Requests such as asking for advice, or a command phrased in an unusual way, need a language model. The next section covers that.
A language model can handle requests the built-in commands do not
Assist and a language model are not competitors in the default setup. Home Assistant says Assist handles commands first, and only questions or commands it does not understand go to the AI you have set up. Its example is that turning on the kitchen light is handled by Assist, while a request for help in a dark kitchen goes to the AI 23. The prefer handling commands locally setting, which can be chosen for each assistant, makes the same rule explicit.
That order is also the reason Speech-to-Phrase cannot be paired with a language model in the usual way. The project's June 2025 post says you cannot use an LLM as a fallback with it, because unexpected commands cannot be converted into text for the model to process 24. If you want a model to handle the requests that the built-in commands miss, you need an open speech engine such as Whisper.
Home Assistant supports two ways to connect a model, and they differ in where the request goes and who pays for it.
| Choice | Where requests go | Limits and settings named by the project |
|---|---|---|
| Ollama, a local server | Your own Ollama server on the network | Context window of 8k tokens by default 25; advised to expose fewer than 25 entities 26; only models that support tools can control Home Assistant 27 |
| OpenAI, a cloud API | OpenAI's servers | Paid service, with costs to monitor 28; storing requests in the OpenAI dashboard is off by default 29 |
The Ollama settings matter most for a local setup. The project says that smaller models are more likely to make mistakes, and that they may not reliably keep a conversation going while they control Home Assistant. The advice to expose fewer than 25 entities is a practical ceiling for a small model, and it is the project's general guidance rather than a test of one model.
The OpenAI option keeps the cost in the open. Each request is billed to your own OpenAI account, and the project advises you to watch your costs and set usage limits. Its storage setting is off by default, which means requests and responses are not kept in your OpenAI dashboard logs unless you turn it on. That default describes the Home Assistant setting only. Your account and OpenAI's own policies apply as well.
If you want only commands, Speech-to-Phrase on a Raspberry Pi is the fastest local setup, and you need no language model. If you want Assist to answer questions, follow a conversation, and act on devices as well, pair Whisper on an N100-class machine with a local or cloud language model. For the wider question of how language models change speech recognition, read our guide to speech to text and LLMs. For the difference between an assistant that acts and a dictation tool that types, see voice assistants compared with dictation, and for agents that hold a conversation on their own, see AI voice agents. Our question on whether Home Assistant can use ChatGPT or a local LLM for voice gives the short answer, and the Google Assistant voice commands guide compares a different assistant.
For the speech engine underneath, the guide to on-device speech recognition explains how local recognition differs from cloud recognition, and the guide to running Whisper locally covers the open-source model in more depth. The real-time speech recognition guide explains how streaming recognition trades some accuracy for speed. The glossary entry for voice assistant defines the wider category.
Evidence
Every number on this page, with where it comes from. Open a fact to see the exact words in its source.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
Questions about this
- Can Home Assistant use ChatGPT or a local LLM for voice?Yes: Assist can send requests it does not understand to a language model, either a local one through Ollama or a cloud one through OpenAI, the company behind ChatGPT. Built-in commands are still handled first, and Speech-to-Phrase cannot pass requests to a model, so pair a model with an open speech engine such as Whisper. The OpenAI option is a paid service, and a local model must support tools before it can control your devices.
- Can you control Home Assistant with Alexa or Google Assistant voice commands?Yes. Home Assistant has an Amazon Alexa integration and a Google Assistant integration. The quickest setup is automatic, through Home Assistant Cloud, which is a paid subscription after a 30-day trial. The manual route needs your instance reachable from outside your network, and Google is moving its devices to Gemini, so check that your devices still work before you build on them.
- Does Home Assistant voice control work offline?Yes, the local setup is designed to run without sending speech to outside servers: Speech-to-Phrase or Whisper handles speech to text, Piper speaks the reply, and Assist does the matching on your own Home Assistant system. It stops being offline if you choose Home Assistant Cloud, a cloud language model such as OpenAI, or a cloud speech engine for a language the local models do not support.
- How do you set up voice commands in Home Assistant?Create a voice assistant under **Settings** > **Voice assistants**, set its conversation agent to **Home Assistant**, choose a speech-to-text engine and Piper, then expose each device to Assist. Assist controls only the devices you have exposed, so check that step first when a command does nothing.
- How do you use Whisper for speech to text in Home Assistant?Install the Whisper and Piper apps, let the Wyoming integration discover them, then choose Whisper as the speech-to-text engine in a voice assistant. Whisper handles open speech, but the project says it is slow on a Raspberry Pi 4, about 8 seconds per command, so plan for a faster machine, at least an Intel N100 or an equivalent processor.
- What is the best speech to text for Home Assistant?There is no single best choice. For a home that mainly needs commands such as lights, locks and timers, Speech-to-Phrase is the better pick: it runs on your own system and is the faster of the two local engines compared here. If you need open speech, choose Whisper on at least an Intel N100, because it is slower and needs more computing power. Choose Home Assistant Cloud when your language has no good local model.
- What is the Home Assistant Voice Preview Edition?The Home Assistant Voice Preview Edition is the project's own voice device: a small box with a speaker, dual microphones and a mute switch that listens for a wake word and sends your request to Assist. It launched in December 2024 and is listed at $69 in the US. It is one way to hear commands, and Home Assistant itself works without the optional Home Assistant Cloud subscription.
- What voice commands does Home Assistant understand?Assist understands a built-in set of sentences for lights, locks, covers, scenes, media, shopping lists, the time and timers, but only for devices you have exposed to it. You can add your own sentences as triggers for automations, and requests outside the built-in set go to a language model if you have set one up. The built-in list cannot cover every phrasing, so rephrase a command or check the device name when Assist does not respond.
More in Voice and AI
- Speech to Text AI: Dictation, Assistants and Voice AgentsThe overview of this topic
- AI Dictation: How AI Voice Typing Works
- Is Speech to Text AI? What Kind of AI Voice Typing Uses
- AI Cleanup for Dictation: Fillers, Punctuation, Rewrites
- Speech to Text for AI: Why Spoken Prompts Work Better
- Speech to Text and LLMs: What Language Models Change
- Speech to Text Without AI: Dictation With No AI Rewrite
- Voice Assistants vs Dictation: Siri, Alexa, Gemini
- Google Assistant Voice Commands and What Gemini Changes
- AI Voice Notes: From Rambling to Summaries and To-Dos
- AI Dictation Cost: Cloud vs On-Device Economics
- AI Voice Agents: How They Work and Where They Fail
- The Future of Typing: Voice, AI and the Keyboard
Referenced by
- Speech to Text AI: Dictation, Assistants and Voice AgentsTopic
- Google Assistant Voice Commands and What Gemini ChangesGuide
- Can Home Assistant use ChatGPT or a local LLM for voice?Question
- Can you control Home Assistant with Alexa or Google Assistant voice commands?Question
- Does Home Assistant voice control work offline?Question
- How do you set up voice commands in Home Assistant?Question
- How do you use Whisper for speech to text in Home Assistant?Question
- What is the best speech to text for Home Assistant?Question
- What is the best voice commands assistant app?Question
- What is the Home Assistant Voice Preview Edition?Question
- What voice commands does Home Assistant understand?Question
- Intent recognitionGlossary
- Voice assistantGlossary
- Wake wordGlossary