wyoming
Peer-to-peer protocol for voice assistants
What it is and what it does
Wyoming defines a standardized peer-to-peer protocol for voice assistants to communicate over TCP. It combines JSON-formatted headers with optional UTF-8 data and binary PCM audio payloads, enabling modular voice pipelines where different services (speech recognition, text-to-speech, wake word detection, intent handling) can be composed together. The protocol is used by Home Assistant for coordinating voice operations across distributed components.
The package provides protocol definitions and utilities for building voice assistant systems that need to exchange audio and control messages. It supports audio streaming with configurable sample rates, bit depths, and channels, plus service discovery and capability negotiation through structured info messages. This makes it useful for anyone building voice-driven applications or integrating multiple voice services into a cohesive system.
Use it for:
- Building a voice assistant that coordinates multiple speech recognition and text-to-speech services over a network
- Implementing wake word detection that communicates with a central voice pipeline via the Wyoming protocol
- Creating a Home Assistant integration that sends audio to remote voice processing services
- Developing a voice satellite that captures audio locally and streams it to a central voice processing hub
- Composing modular voice pipelines where each component (ASR, TTS, intent handling) runs as a separate service
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wyoming is a peer-to-peer TCP protocol for voice assistants that exchanges JSONL-formatted messages and PCM audio, enabling communication between voice services like speech recognition, text-to-speech, wake word detection, and intent handling.
Yes, if you are building or integrating with voice assistant systems that use the Wyoming protocol—particularly Home Assistant voice integrations or modular voice pipelines. The protocol is well-maintained, has no external dependencies, and supports current Python versions. Install only if you have a concrete use case requiring Wyoming protocol support; it is not a general-purpose library.
Install
wyoming on PyPI
pip
pip install wyominguv
uv add wyomingpoetry
poetry add wyomingInstalling wyoming
Before you install
Low install friction with no runtime dependencies. The package is actively maintained with a recent release and steady commit activity. Supports Python 3.8 through 3.13.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and proprietary projects.
Quickstart
pip install wyoming
import wyoming.protocol
# Parse a Wyoming protocol message from bytes
message = wyoming.protocol.parse_message(data)
Verify before relying
- Whether the package provides client/server implementation utilities or only protocol definitions
- What specific voice service implementations are available or required for practical use
- Whether Home Assistant integration is built-in or requires separate configuration
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 43 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 134,637/month — #11,468 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: wyoming-1.10.0-py3-none-any.whl
Keywords: voice, assistant, protocol
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
openwakewordopenWakeWord detects wake words and phrases in…
permissive · top 15,000 on PyPI
pvporcupinePorcupine is a lightweight wake word detection…
permissive · top 15,000 on PyPI
realtimesttRealtimeSTT converts speech from microphone or…
permissive · top 15,000 on PyPI
sherpa-onnxSherpa-onnx runs speech recognition,…
permissive · top 15,000 on PyPI
openai-whisperWhisper performs multilingual speech…
permissive · top 5,000 on PyPI
voip-utilsProvides Voice over IP utilities for Home…
permissive · top 15,000 on PyPI
whisper-timestampedAdds word-level timestamps and confidence…
copyleft · top 15,000 on PyPI
piper-ttsPiper TTS is a local neural text-to-speech…
copyleft · top 5,000 on PyPI
livekit-plugins-sonioxIntegrates Soniox speech-to-text and…
permissive · top 15,000 on PyPI
whisperxWhisperX performs fast automatic speech…
permissive · top 5,000 on PyPI