Started March 2025 · Open source; experimental
I wanted a voice agent I could talk to at home, running on a Raspberry Pi with a microphone and speaker. It needed to wake up when called, remember past conversations and use tools such as web search and Home Assistant.
I built Snowman to try this out. The first version connected speech recognition, a language model and speech synthesis. I later added a realtime voice model to make conversations more responsive.
Talking to Snowman
- Say the wake phrase to start a conversation. Wake-word detection runs on the device.
- Talk to a cloud voice model and hear its replies through the speaker. Say the wake phrase again to interrupt a reply.
- Save information about the user and summaries of recent conversations, search the web, and use Home Assistant tools.
- Choose between the original three-step speech pipeline and the newer realtime version.
Snowman is an experimental project you can run yourself. Voice conversations use external AI services. Audio performance depends on the microphone and speaker, so other hardware setups still need testing.