๐ง Introduction to Wyoming
Wyoming is a lightweight, streaming-focused protocol and library designed to connect the components of a privacy-respecting, locally-run voice assistant.
Originally created for Home Assistant's Year of the Voice, Wyoming allows voice interfaces to be built using modular services that speak a common protocol: JSON + optional binary payloads, sent peer-to-peer via TCP, Unix sockets or stdin/stdout.
โจ What is Wyoming?
- ๐งฉ A peer-to-peer event protocol for audio-based services
- ๐ Messages consist of structured JSON and optional payloads (e.g. raw audio)
- ๐ก Supports streaming audio, TTS, wakeword, ASR, NLU, intent handling, and more
- โ๏ธ Runs over TCP sockets, Unix sockets, or standard I/O
- ๐ก Designed to be simple enough for implementation in any language
๐ฏ Why Was It Created?
- Replace the legacy MQTT protocol from Snips AI
- Simplify streaming communication between audio services
- Allow seamless integration of different implementations (e.g. Whisper, Piper, Porcupine)
- Work natively with Home Assistant and Rhasspy 3
- Support multi-language, offline voice control without a cloud dependency
๐งโ๐ป Who Is It For?
- Developers of voice components (ASR, TTS, Wakeword, etc.)
- Smart home users wanting to build offline, modular voice control
- Integrators needing a privacy-friendly protocol
- Researchers working on speech systems for underrepresented languages
๐งญ Philosophy and Design Principles
Wyoming was created to solve real-world pain points in building distributed, open voice assistants:
| Principle | Explanation |
|---|---|
| ๐ Modularity | Every voice component is a standalone microservice |
| ๐ Privacy-by-design | No cloud required, fully local deployment possible |
| โก Streaming-first | No need to buffer entire recordings โ supports real-time |
| ๐ Simple and hackable | Implementable in a few dozen lines per client/server |
| ๐ Language-neutral | Not tied to English; supports multilingual systems |
๐ Where is Wyoming Used?
- ๐ก Home Assistant Voice (local TTS/ASR pipelines)
- ๐ง Rhasspy 3 (modular assistant architecture)
- ๐ Piper TTS add-on (used via Wyoming)
- ๐งช Community ASR/TTS/Wakeword services (Whisper, Vosk, Porcupine, etc.)
Wyoming is becoming a standard interface layer for open voice tooling โ offering a flexible bridge between diverse services.