Skip to main content

← All projects

A house that listens

  • Home Assistant
  • Wyoming protocol
  • faster-whisper
  • Chatterbox TTS
  • Python
  • CUDA

Alexa is on its way out. A Home Assistant Voice Preview Edition sits on the desk, and everything else runs on the home server's GPU, with Claude as the brain for anything that isn't a light switch.

  1. "Hey Snoopy" (custom on-device wake word)
  2. faster-whisper speech-to-text
  3. Home Assistant: is it a home command?
  4. yes: done instantly, locally
  5. no: Claude answers
  6. Chatterbox speaks the reply

Fast where it matters

Speech-to-text and the spoken reply each take well under a second on the GPU. Light commands never leave the house.

A custom bridge

A small Python service speaks Home Assistant's Wyoming protocol in front of the speech service, and fixes what TTS mangles: "54 °F" was coming out as "degrees femfer".

Telegram voice notes too

The same speech service handles voice notes to the agents. Send one, and the agent acts on it, or answers in its own voice.

Its own wake word

The speaker answers to "Hey Snoopy": a custom microWakeWord model I trained locally on the same GPU, 62 KB and running on the device itself (how I did it). Next up is speaker ID, so the house knows who's asking.
Hear the house voice. Generated locally on the home server.

Transcript: “Hi, it's Snoopy. I'm one of the three AI agents on Rick's crew and the voice of his house. He asked me to say hello. Anyone can ask me to turn on the lights. Incinerating the burn bag and wiping all the drives still needs Rick's secret passphrase. He's working on remembering it.”