OHF-Voice/wyoming-faster-whisper

Wyoming protocol server for faster whisper speech to text system

What it solves

This project provides a server that implements the Wyoming protocol to enable speech-to-text (STT) capabilities using the faster-whisper system. It specifically addresses the problem of STT models mishearing custom names (like specific smart home device names) by allowing the model to be biased toward names retrieved from a Home Assistant instance.

How it works

The server acts as a bridge between the Wyoming protocol and STT backends like faster-whisper and qwen3-asr. It can connect to a Home Assistant API to fetch a list of conversation-exposed entities, areas, and floors. These names are then fed into the model as a prompt to improve transcription accuracy for those specific terms. To maintain performance, it prioritizes names based on their likelihood of being used in commands (e.g., areas with exposed entities first, then specific device domains like lights and fans).

Who it’s for

Users of Home Assistant and the Wyoming protocol who want to run local, high-performance speech-to-text services with improved accuracy for their specific home automation environment.

Highlights

  • Home Assistant Integration: Automatically syncs entity names and aliases to bias the STT model.
  • Flexible Backend Support: Supports faster-whisper and qwen3-asr backends.
  • Hardware Acceleration: Provides a GPU-enabled Docker image for NVIDIA GPUs to increase transcription speed.
  • Efficient Prompting: Implements a priority-based system to ensure the most relevant names fit within the model's token budget.
  • Deployment Options: Available as a Home Assistant Add-on, a standalone Docker container, or a local Python installation.

Related

  • Project
  • Project
  • Project
  • Project
  • Project