Favicon of Wyoming Protocol

Wyoming Protocol

A voice assistant protocol connects Home Assistant to speech and wake word services on a trusted network, with an MIT-licensed Python implementation.

Wyoming Protocol connects Home Assistant with separate voice services. It's for developers and people assembling a voice assistant who want to choose their own transcription, speech synthesis, and wake word components. Connections have no authentication or encryption, so it requires a trusted network.

  • Speech services: Its ecosystem includes Faster Whisper, Vosk, and Whisper.cpp for transcription, plus Piper for spoken responses.
  • Wake words and audio: Components using openWakeWord or microWakeWord can detect wake words, while audio input and output services exchange microphone and playback audio through the same protocol.
  • Streaming conversations: The protocol carries audio streams and partial transcripts, supports speech synthesis from text arriving in chunks, and signals when speech starts and stops.
  • Service discovery and intents: Clients can request available speech recognition models and their supported languages, and exchange intent recognition requests and results.

The Python implementation is open source under the MIT license. Wyoming carries messages and audio over TCP between voice components. It shouldn't be exposed directly to the internet; its optional HTTP gateways are also unauthenticated.

Similar to Wyoming Protocol