Executable programs and extensions
Last updated
Splitting speech off with Wyoming: moving transcription to another machine
Wyoming has no authentication, so it belongs on the home network only.
Wyoming1 is the protocol Home Assistant and voice services use to exchange audio and text. Transcription and synthesis can run on another machine and attach by address and port, but with no authentication or encryption they belong on a trusted network only.
Why split the speech server out
Transcription turns audio into text and is compute-heavy. When Home Assistant runs on a Pi and Whisper sits on the same board, even automation responses slow down while a sentence is processed.
Moving the speech service elsewhere lets Home Assistant focus on conversation and automations. If a spare mini PC is around, transcription is the first thing to move.

Wyoming is for inside the house only
Wyoming is the protocol for exchanging microphone audio and recognition results. By design it has no authentication or encryption, so any device on the same network can reach the speech service.
So do not forward the port on the router; use a VPN to reach it from outside. Keeping it off the guest network, where untrusted devices connect, is safer too.
Attaching by address and port
Install and run the speech service on the other machine and it exposes an IP and port. Enter that in the Wyoming integration and the service joins the list.
On the same network it is often discovered automatically. If not, check that the machine has a fixed IP and that its firewall is not blocking the port.

What to move, and where
In order of compute weight: transcription, the conversation model, then synthesis. Send transcription to a machine with a GPU2 or spare CPU3, and synthesis can stay on the Pi.
Wake word detection is better kept on the satellite board. Moving an always-on detector to the server leaves the satellite dead when the network drops.
Checking latency and stability
A wired speech server cuts the round trip a lot. Use the same switch when you can, and the 5 GHz band when you cannot.
After an update or reboot, check that all three services are up. If one is down the pipeline4 fails quietly, and speaking gets no response at all.

Terminology notes
Wyoming — The protocol Home Assistant and voice services use to exchange audio and text. It has no authentication or encryption, so it is used on trusted networks only.
Back to the textGPU — A processor designed to handle many calculations in parallel. It performs model computations during AI inference.
Back to the textCPU — The central processor that runs the operating system and general-purpose instructions; in AI workloads it also handles tasks such as preprocessing and data movement.
Back to the textPipeline — A sequence of processing stages from input to output. Different models or tools may be used at each stage.
Back to the text
Frequently asked questions
- What should you check first in this article?
- Wyoming is the protocol Home Assistant and voice services use to exchange audio and text. Transcription and synthesis can run on another machine and attach by address and port, but with no authentication or encryption they belong on a trusted network only.
Read next
Local speech recognition & synthesis
A Home Assistant voice satellite that listens and answers without leaving the house
Local speech recognition & synthesis
Piper in Korean: adding a ko_KR voice to Home Assistant
Model setup recipes
Building an ESPHome voice satellite: an ESP32-S3 microphone and wake word
Local speech recognition & synthesis
Local AI speech recognition: transcribe on your own PC
