git404hub

what is gowyoming fr?

brightsign-playground/gowyoming — explained in plain English

Analysis updated 2026-05-18

0GoAudience · developerComplexity · 4/5Setup · moderate

tl;dr

A Go language library implementing the Wyoming voice-assistant protocol used by Home Assistant to connect microphones, speech recognition, and text to speech.

vibe map

mindmap
  root((gowyoming))
    What it does
      Implements Wyoming protocol
      Pure Go, no cgo
      Client server satellite roles
    Tech stack
      Go
    Use cases
      Connect to voice services
      Expose a Go ASR engine
      Record satellite audio
    Audience
      Home Assistant developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Connect a Go program as a client to an existing Wyoming voice service for speech recognition or text to speech.

VIBE 2

Expose a custom Go speech recognition or text to speech engine as a Wyoming server.

VIBE 3

Record and inspect the audio a voice satellite device like a PineVoice streams over the network.

VIBE 4

Test a full voice pipeline locally with a loopback client and server, without real hardware.

what's the stack?

Go

how it stacks up fr

brightsign-playground/gowyoming42wim/fabio42wim/go-xmpp
Stars0
LanguageGoGoGo
Last pushed2018-02-042020-01-24
MaintenanceDormantDormant
Setup difficultymoderatemoderatemoderate
Complexity4/53/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires Go 1.22 or newer, some features optionally shell out to Linux audio tools like arecord and aplay.

in plain english

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.

prompts (copy fr)

prompt 1
Show me how to use gowyoming's client to connect to a Wyoming ASR server and transcribe audio.
prompt 2
Help me expose my own speech recognition engine in Go as a Wyoming server.
prompt 3
Explain how to capture and normalize a PineVoice satellite's microphone audio with this tool.
prompt 4
Walk me through running the loopback test to verify the Wyoming protocol implementation.

Frequently asked questions

what is gowyoming fr?

A Go language library implementing the Wyoming voice-assistant protocol used by Home Assistant to connect microphones, speech recognition, and text to speech.

What language is gowyoming written in?

Mainly Go. The stack also includes Go.

How hard is gowyoming to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gowyoming for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.