Favicon of Wyoming Protocol

Wyoming Protocol

An open-source voice assistant protocol that connects Home Assistant to speech and wake word services over a trusted network. Uses the MIT license.

Wyoming Protocol connects Home Assistant with separate voice services on a trusted network. It's for developers and people assembling a self-hosted voice assistant who want to choose their own speech recognition, speech synthesis and wake word components. The Python project is open source under the MIT license.

Its ecosystem includes Faster Whisper, Vosk and Whisper.cpp for speech recognition, Piper for spoken responses, and openWakeWord or microWakeWord for wake word detection. Audio input and output services also use the protocol, so microphones, speech processing and playback can communicate through the same interface.

Wyoming covers the exchanges needed for a voice conversation: audio streams, transcriptions, spoken replies and intent handling. It supports streaming transcripts and response text, plus speech synthesis as text arrives. Services can report their available models, languages and voices, letting a client select among the services an endpoint provides.

For setups with remote voice satellites, a central server can coordinate voice pipelines and send announcements to a satellite. The protocol also carries speech activity signals and timer events. Its TCP format combines JSON messages with audio data, giving developers a shared format for connecting separate components.

Connections have no authentication or encryption. Wyoming is intended for a trusted network and shouldn't be exposed directly to the internet. Its optional HTTP gateways are also unauthenticated.

Similar to Wyoming Protocol