You will be provided with a reference and some statements. Please determine whether each statement is 'supported', 'unsupported', or 'unknown' with respect to the reference. Please note:
First, assess whether the reference contains any valid content. If the reference contains no valid information, such as a 'page not found' message, then all statements should be considered 'unknown'.
If the reference is valid, for a given statement: if the facts or data it contains can be found entirely or partially within the reference, it is considered 'supported' (data accepts rounding); if all facts and data in the statement cannot be found in the reference, it is considered 'unsupported'.

You should return the result in a JSON list format, where each item in the list contains the statement's index and the judgment result, for example:
[
    {
        "idx": 1,
        "result": "supported"
    },
    {
        "idx": 2,
        "result": "unsupported"
    }
]

Below are the reference and statements:
<reference>
Set up a fully local voice assistant - Home Assistant

Run Assist completely on your own hardware: do speech recognition, intent processing, and text-to-speech locally, with no cloud involved.

2026.9.2

Documentation

Installation

Automations

Dashboards

Voice assistants

Device organization

Energy management

Templating

Configuration using the YAML file

Our hardware

Home Assistant Green

Connect ZBT-2

Connect ZWA-2

Voice Preview Edition

Integrations

Blog

Need help?

Get started

On this page

Prerequisites

Some options for speech-to-text and text-to-speech

Speech-to-text engines

Text-to-speech engine

Installing a local Assist pipeline

Fine-tuning Whisper and Piper for your setup

Learning more about Speech-to-Phrase

Next steps

Related topics

Related links

Home

▸
Voice control

Set up a fully local voice assistant

Assist can run entirely on your own hardware. Your spoken commands never leave your home: a microphone hears you, a local speech-to-text engine turns your voice into text, Home Assistant figures out what you want, and a local text-to-speech engine speaks the answer back. This guide walks you through setting that up.

If you would rather not run all of that yourself, the simplest path is to use the speech-to-text and text-to-speech voices included with
Home Assistant Cloud
. Both options work well, and you can switch between them later.

Prerequisites

For Assist to be able to talk to your Home Assistant setup your setup needs to be able to listen, understand and then talk back.

In Home Assistant, the Assist pipelines are made up of various components that together form a voice assistant. For each component, you can choose from different options.

For listening and talking back, it needs your phone with the Home Assistant app, or a voice activated device.

For understanding, it needs to have a speech-to-text and text-to-speech software integrated.

For running all together, it needs to have the Home Assistant Operating System running.

Some options for speech-to-text and text-to-speech

There are speech-to-text and text-to-speech options that run entirely local. No data is sent to external servers for processing.

Speech-to-text engines

There are currently two options to run speech-to-text locally:
Speech-to-Phrase
and
Whisper
.

Speech-to-Phrase

Speech-to-Phrase
is a close-ended speech model.

It transcribes what it knows.

Extremely fast transcription even on a Home Assistant Green or Raspberry Pi 4 (under one second).

Only supports a subset of Assist’s voice commands.

More open-ended items such as shopping lists, naming a timer, and broadcasts are
not
usable out of the box.

Speech-to-Phrase supports
various languages
.

These qualities make it a great option for Home control!

Whisper

Whisper
is an open-ended speech model.

It will try to transcribe everything.

The cost is slower processing speed:

On a Raspberry Pi 4, it takes around 8 seconds to process incoming voice commands.

On an Intel NUC, it is done in under a second.

Supports
various languages
.

Whisper is only a great option in the following case:

You have powerful hardware at home.

You plan to extend your voice set-up beyond simple home control. For example, by pairing your assistant with an LLM-based agent.

Text-to-speech engine

For text-to-speech, we have developed
Piper
. Piper is a fast, local neural text-to-speech system that sounds great and is optimized for the Raspberry Pi 4. It supports
many languages
. On a Raspberry Pi, using medium quality models, it can generate 1.6s of voice in a second.

Please be sure to check how either option will work in your language, since quality can change quite a bit.

Installing a local Assist pipeline

For the quickest way to get your local Assist pipeline started, follow these steps:

Install the apps to convert text into speech and vice versa.

Install the speech-to-text app of your choice, either
Speech-to-Phrase
or
Whisper
.

Install
Piper
for text-to-speech.

Start the apps.

Once the apps are started, head over to the integrations under
Settings
>
Devices & services
.

You should now see both services being discovered by the
Wyoming integration
.

For each integration, select
Add
.

You now have integrated a local speech-to-text engine of your choice (either
Speech-to-Phrase
or
Whisper
) and a text-to-speech engine (
Piper
).

Setup your assistant.

Go to
Settings
>
Voice assistants
and select
Add assistant
.

Troubleshooting: If you do not see any assistants here, you are not using the default configuration. In this case, you need to add the following to your
configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI.
[Learn more]
file:

# Example configuration.yaml entry

assist_pipeline
:

Enter a name. You can pick any name that is meaningful to you.

Select the language that you want to speak.

Under
Conversation agent
, select
Home Assistant
.

Under
Speech-to-text
, select the speech-to-text engine you choose in the previous step (either
Whisper
or
Speech-to-Phrase
). Select the language.

Under
Text-to-speech
, select
Piper
. Select the language.

Depending on your language, you may be able to select different language variants.

That’s it. You ensured your voice commands can be processed locally on your device.

If you haven’t done so yet,
expose your devices to Assist
.

Otherwise you won’t be able to control them by voice.

Fine-tuning Whisper and Piper for your setup

You would like to tweak the configuration for better performance or accuracy?
View some of the options in the video below. Explained by Mike Hansen, creator of Rhasspy, Piper, and Wyoming.

The options are also documented in the app itself. Go to the
Whisper
or the
Piper
app and open the
Documentation
page.

Also be sure to check the specific tutorial for
using Piper in Automations

Learning more about Speech-to-Phrase

You can check out
Voice Chapter 9
to learn more about why we introduced Speech-to-Phrase, and why it’s a great option for home control.

Next steps

To get the best out of the voice interaction, check the
best practices
.

Once Assist is configured, you can start using it.

Talk to Assist via a connected device, such as
Android
,
iOS
, or
Voice Preview edition
).

Related topics

Best practices with assist

Expanding assist

Exposing devices to assist

Related links

Voice Preview Edition - Documentation

Help us improve our documentation

Suggest an edit to this page, or provide/view feedback for this page.

Edit

Provide feedback

View given feedback

Documentation

Overview

|

FAQ

|

Glossary

Automations

Dashboards

Voice assistants

Assist up and running

Getting started - Local

Getting started - Home Assistant Cloud

Best practices

Exposing entities to Assist

Assigning areas to floors and an area to a device

Aliases for entities, areas and floors

Exposing scripts to LLMs

Talking to Assist - Sentences starter pack

Expanding Assist

Creating a personality with AI

Custom sentences

Assist for Android

Assist for Apple

Experiment with Assist setups

The Home Assistant Approach to Wake Words

Wake words for Assist

Tutorial: ESP32-S3-BOX voice assistant

Tutorial: Customize the S3-BOX

Tutorial: $13 voice assistant

Tutorial: World's most private voice assistant

Tutorial: Your daily summary by Assist

Starting Assist from your dashboard

Contribute to the Voice initiative

Troubleshooting

Troubleshooting Assist

Troubleshooting the ESP32-S3-BOX

Using Piper TTS in automations

Organization

Home energy management

Templating

Common tasks

Configuration

Authentication

Tools and helpers

iOS and Android apps

Official hardware

Home Assistant Green

Home Assistant Connect ZBT-1

Home Assistant Connect ZBT-2

Home Assistant Connect ZWA-2

Home Assistant Yellow

Home Assistant Voice Preview Edition

On this page

Prerequisites

Some options for speech-to-text and text-to-speech

Speech-to-text engines

Text-to-speech engine

Installing a local Assist pipeline

Fine-tuning Whisper and Piper for your setup

Learning more about Speech-to-Phrase

Next steps

Related topics

Related links

Back to top

Home Assistant is a project from the
Open Home Foundation
.

Join us and contribute!

GitHub repo

Developers Portal

Design Portal

Data Science Portal

Community Forum

Creator Network

Works with Home Assistant

Our community

Reporting issues

System status

Integration Alerts

Security Alerts

System Status

Companion apps

iOS and Apple devices

Android and Wear OS

...and more!

Support us

Merch store

Home Assistant Cloud

Governance

Privacy Notices

Contributor License Agreement

Terms of Service

Code of Conduct

Credits

License

Follow us

Sign up for our newsletter

For partnership inquiries please check out
Works with Home Assistant
. For media,
email our team
. For other questions, you can
contact support
(No technical support!)

This website uses
privacy-first analytics
to help us improve the site. You can view all data in our
public dashboard
.

Website powered by
Jekyll

Originally based on the
Oscailte theme
</reference>

<statements>
1. In the Smart Home Architectural Evolution table, the modernized ambient paradigm (2025–Present) for Data Flow is localized feature extraction; cryptographically signed metadata
2. In the Smart Home Architectural Evolution table, the legacy connected paradigm (2018–2023) for WAN Dependency is that loss of external internet disables local device control
3. Data Sovereignty & Privacy: Migration from optical lenses to non-imaging mmWave radar; local Whisper and SLM voice processing pipelines
4. Hardware architectures will require that core operational capabilities—including device-to-device automation logic, voice recognition, spatial occupancy tracking, and energy load management—remain functional during broad external internet outages
5. WAN connections will be reserved for optional remote mobile access and cryptographically validated OTA firmware downloads, transitioning the cloud to a secondary service layer rather than a system bottleneck
</statements>

Begin the assessment now. Output only the JSON list, without any conversational text or explanations.