selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
speech-to-phrase logo

Self-host speech-to-phrase

v1.4.3

Local speech-to-text for Home Assistant voice control

AlphaOpen SourceApache-2.0
Updated6 months ago
LanguagePython
Setup difficultyAdvanced
Stars
348
Port
10300 (Wyoming protocol server)
Docker
rhasspy/wyoming-speech-to-phrase
Install with Docker

What 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

How to install speech-to-phrase

Install speech-to-phrase with Docker

docker run -it -p 10300:10300
-v /path/to/download/models:/models
-v /path/to/train:/train
rhasspy/wyoming-speech-to-phrase
--hass-websocket-uri 'ws://homeassistant.local:8123/api/websocket'
--hass-token '<LONG_LIVED_ACCESS_TOKEN>'
--retrain-on-start

Requires Home Assistant with Wyoming integration and a long-lived access token

How to configure speech-to-phrase

  • --custom-sentences-dirDirectory with custom sentence directories for each language

    Directory with custom sentence directories for each language

  • --debugfalseLog DEBUG messages

    Log DEBUG messages

  • --hass-tokenLong-lived access token for Home Assistant

    Long-lived access token for Home Assistant

  • --hass-websocket-uriws://homeassistant.local:8123/api/websocketURI of Home Assistant websocket API

    URI of Home Assistant websocket API

  • --log-format%(asctime)s - %(levelname)s:%(name)s: %(message)sFormat for log messages

    Format for log messages

  • --models-dirDirectory with speech models

    Directory with speech models

  • --retrain-on-connectfalseAutomatically retrain on every client connection

    Automatically retrain on every client connection

  • --retrain-on-startfalseAutomatically retrain when starting

    Automatically retrain when starting

  • --retrain-secondsNumber of seconds to wait before automatically retraining

    Number of seconds to wait before automatically retraining

  • --tools-dirDirectory with kaldi, openfst, etc.

    Directory with kaldi, openfst, etc.

  • --train-dirDirectory to write trained model files

    Directory to write trained model files

  • --uristdio://Server URI (unix:// or tcp://)

    Server URI (unix:// or tcp://)

  • --volume-multiplier1.0Audio volume multiplier

    Audio volume multiplier

speech-to-phrase releases & version history

More in Voice Assistants

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…