Self-host speech-to-phrase
v1.4.3Local speech-to-text for Home Assistant voice control
- Stars
- 348
- Port
- 10300 (Wyoming protocol server)
rhasspy/wyoming-speech-to-phraseWhat is speech-to-phrase?
Speech-to-Phrase is a fast, local speech-to-text system built for Home Assistant voice control. Unlike general-purpose recognition, it only matches predefined phrases by combining sentence templates with your exposed device, area, and floor names. The system uses Kaldi for acoustic modeling, hassil for sentence compilation, and finite state transducers via OpenFST and OpenGRM for efficient language model training. It supports over 20 languages including English, French, German, Dutch, Spanish, Italian, Russian, Czech, Catalan, Greek, Romanian, Portuguese, Polish, Hindi, Basque, Finnish, Mongolian, Slovenian, Swahili, Thai, and Turkish. Users can add custom sentences via YAML files. The software runs as a Wyoming protocol server on port 10300, integrating with Home Assistant's Wyoming integration. Models and tools download automatically from Hugging Face. The project is now being rewritten in a separate repository using a constrained CTC decoder rather than Kaldi.
Should you self-host speech-to-phrase?
speech-to-phrase scores 46/100 on selfhost.directory (how scoring works) and ranks #6 of 11 in Voice Assistants. It has 348 GitHub stars.
It shipped 2 stable releases in the past year. The latest, v1.4.3, came out on 3 April 2026. New versions land roughly every 3 weeks.
Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Python.
Its closest alternative on selfhost.directory is dograh (70/100, 5 972 stars). It scores higher overall, so compare the two before you pick. See speech-to-phrase vs dograh side by side.
Features
- Automatic model training
- Custom sentences
- Fuzzy phrase matching
- Home Assistant entity integration
- Local Speech-to-Text
- Multi-language Support
- Personalized phrase recognition
- Wyoming protocol server
speech-to-phrase README
More in Voice Assistants
voice-chat-aiSelf-hosted open-source voice chat app for talking to AI characters in a web UI or terminal, mixing Ollama and cloud LLMs with Spark-TTS, Kokoro or ElevenLabs voices.
WillowSelf-hosted open-source ESP32 voice-assistant firmware for $50 hardware, with wake-word detection, on-device or server STT, and Home Assistant integration.
wyoming-openwakewordSelf-hosted Wyoming protocol server that runs openWakeWord for wake word detection, enabling voice assistants to detect custom wake words locally via TCP on port 10400.
wyoming-piperSelf-hosted Wyoming protocol server for Piper TTS, providing neural text-to-speech for Home Assistant and Wyoming clients. Open-source, runs locally via Docker or Python.
Yandex Smart HomeOpen-source Home Assistant component exposing devices to Yandex Alice and VK Marusia voice assistants via cloud or direct connection.
AgenticSeekSelf-hosted, open-source alternative to Manus AI: a voice-enabled agent that browses the web, writes and runs code, and plans tasks on local LLMs.
asknavidromeAskNavidrome is an open-source Alexa skill that streams your music from a Subsonic server like Navidrome to Amazon Echo devices, without subscription fees or ads.
audiobook-studioSelf-hosted open-source app for producing audiobooks locally using XTTS voice cloning, with optional Voxtral cloud voices. Multi-voice, segment repair, chapter assembly
dograhSelf-hosted open-source voice AI platform: build phone agents in a visual workflow editor with BYOK LLM/STT/TTS and telephony — an alternative to Vapi and Retell.
FlexTVFlexTV is a self-hosted open-source bridge between Plex Media Server and Google Assistant, Alexa, and Chromecast for voice control.
FlowcatFlowcat is an open-source, self-hosted Rust runtime for real-time voice agents — single binary, no hosted control plane, native SIP/RTP/WebRTC, 80+ provider connectors.
fosscordSpacebar is a free, open-source, self-hosted Discord-compatible platform for chat, voice, and video. Run your own server with existing Discord clients and bots.
0 comments