OHF-Voice/wyoming

Peer-to-peer protocol for voice assistants

What it solves

Wyoming is a peer-to-peer TCP protocol designed to standardize communication between voice assistant components. It allows different services—such as wake word detection, speech-to-text (ASR), text-to-speech (TTS), and intent handling—to communicate seamlessly regardless of the specific software implementation.

How it works

The protocol uses a combination of JSONL (JSON Lines) for headers and raw PCM audio for payloads. Each message consists of a a JSON object header followed by optional additional data and a binary payload. This structure allows for efficient streaming of audio and control events over a TCP connection.

Who it’s for

It is primarily for developers building voice assistants or smart home integrations, specifically those using Home Assistant, who need a standardized way to connect audio hardware, voice recognition models, and synthesis engines.

Highlights

  • Comprehensive Voice Pipeline: Supports the full voice interaction loop: wake word detection, voice activity detection (VAD), speech-to-text, intent recognition, and text-to-speech.
  • ** لقب Standardized Event Flow**: Defines clear request-response patterns for services like transcription and synthesis, including support for streaming.
  • Modular Architecture: Enables the use of various backend projects like Faster Whisper, Piper, and openWakeWord through a common interface.
  • Satellite Support: Includes specific events for managing remote voice satellites and triggering server-side pipelines.

Related

  • Project
  • Project
  • Project
  • Project
  • Project