brightsign-playground/gowyoming — explained in plain English
Analysis updated 2026-05-18
Connect a Go program as a client to an existing Wyoming voice service for speech recognition or text to speech.
Expose a custom Go speech recognition or text to speech engine as a Wyoming server.
Record and inspect the audio a voice satellite device like a PineVoice streams over the network.
Test a full voice pipeline locally with a loopback client and server, without real hardware.
| brightsign-playground/gowyoming | 42wim/fabio | 42wim/go-xmpp | |
|---|---|---|---|
| Stars | 0 | — | — |
| Language | Go | Go | Go |
| Last pushed | — | 2018-02-04 | 2020-01-24 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Go 1.22 or newer, some features optionally shell out to Linux audio tools like arecord and aplay.
Gowyoming is a Go language implementation of the Wyoming protocol, a simple network protocol that Home Assistant and the Open Home Foundation use to connect voice assistant pieces together, such as wake word detection, speech to text, text to speech, and the microphone and speaker device itself. Until now the only well maintained version of this protocol lived in Python, so this project gives Go programs a native way to speak it on either side of the conversation. It can act as a client that connects to a voice service and streams audio back and forth, as a server that exposes a Go based speech engine to the rest of a voice pipeline, or as a satellite, meaning the microphone and speaker endpoint that a device like a small smart speaker would run. The library needs Go version 1.22 or newer, has no dependency on C code, and only optionally shells out to standard Linux audio tools when using a particular audio backend. The repository ships example programs for common tasks: one that connects to any Wyoming server and prints what it supports, one that listens and records whatever a device streams to a playable audio file, and a full loopback test that exercises the entire protocol without needing real hardware. There is also a dedicated example for working with PineVoice devices specifically, including tools to raise the recording volume if captured audio comes out too quiet. The author is upfront that the project was built with AI assistance and offers no guarantee beyond it working for their own setup, encouraging others to fork and use it at their own risk. The README does not state a license for this project.
A Go language library implementing the Wyoming voice-assistant protocol used by Home Assistant to connect microphones, speech recognition, and text to speech.
Mainly Go. The stack also includes Go.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.