Executable programs and extensions

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.

Requirements and key details
  • Wyoming has no authentication or encryption, so use it on trusted networks only.
  • Transcription and synthesis can live on another machine, attached by address and port.
  • Moving the heavy transcription work first gives the biggest felt difference.

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.

Two metal devices sit on a desk and shelf beside a laptop, with cables connected to a switch box in front
Moving transcription off frees Home Assistant to focus on conversation.

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.

An audio waveform displayed on a laptop beside a microphone
With no authentication, never expose Wyoming outside the home network.

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.

Colour-coded blocks leave a compartmented crate wired to an Apple compact desktop and split into document, image and audio work
Move the heavy transcription first and keep the wake word on the board.

Terminology notes

  1. 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 text
  2. GPU — A processor designed to handle many calculations in parallel. It performs model computations during AI inference.

    Back to the text
  3. CPU — 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 text
  4. Pipeline — 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.