Skip to main content

The WhispyWyser project is designed to provide a flexible and efficient implementation of Voice Assistant for Home Assistant based on Faster Whisper and Wyoming protocol. This project supports both CPU and CUDA architectures, allowing for optimized performance based on the available hardware.

Project description

WhispyWyser - Voice Assistant for Home Assistant

WhispyWyser is a flexible and efficient voice assistant for Home Assistant, leveraging Faster Whisper for speech recognition and the Wyoming protocol for seamless integration. It supports both CPU and CUDA architectures for optimized performance.

Features

  • 🎙️ High-accuracy speech-to-text with Faster Whisper
  • 🏠 Deep Home Assistant integration
  • 🐳 Docker support for easy deployment
  • 🚀 GPU acceleration support (CUDA)
  • 🔌 Wyoming protocol for extensibility
  • 🔒 Secure authentication with long-lived tokens

Prerequisites

  • Docker and Docker Compose
  • Home Assistant instance (local or remote)
  • NVIDIA GPU with drivers (for CUDA support)

Quick Start

  1. Clone the repository

    git clone https://github.com/yourusername/whispywyser.git
    cd whispywyser
    
  2. Configure environment

    cp .env.example .env
    # Edit .env with your configuration
    nano .env
    
  3. Start the service

    # For CPU
    docker-compose up -d whispywyser-cpu
    
    # For GPU (CUDA)
    docker-compose up -d whispywyser-gpu
    

Configuration

Environment Variables

Variable Required Description
HA_TOKEN Home Assistant long-lived access token
HOME_ASSISTANT_URL URL of your Home Assistant instance
HF_TOKEN Hugging Face Hub token (for private models)
MODEL Model name (default: openai/whisper-large-v3)
DEVICE cuda or cpu (auto-detected)
LANGUAGE Language code (e.g., en, de)

Generating a Long-Lived Access Token

  1. In Home Assistant, click on your profile
  2. Scroll down to "Long-Lived Access Tokens"
  3. Click "Create Token"
  4. Copy the token and add it to your .env file

Docker Compose

The project includes two services:

  1. whispywyser-gpu: For systems with NVIDIA GPU
  2. whispywyser-cpu: For CPU-only systems

Volumes

  • /data: Stores models and configuration

Ports

  • 10300: Wyoming protocol port

Development

Building the Image

# For CPU
docker-compose build whispywyser-cpu

# For GPU
docker-compose build whispywyser-gpu

Running Tests

docker-compose run whispywyser-cpu python -m pytest

Troubleshooting

Common Issues

  1. CUDA errors

    • Ensure NVIDIA drivers are installed
    • Run nvidia-smi to verify GPU detection
    • Check Docker has access to GPU: docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
  2. Connection to Home Assistant

    • Verify HOME_ASSISTANT_URL is correct
    • Check if the token has the right permissions
    • Ensure Home Assistant is accessible from the container

License

MIT

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whispywyser-0.0.20.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whispywyser-0.0.20-py2.py3-none-any.whl (33.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file whispywyser-0.0.20.tar.gz.

File metadata

  • Download URL: whispywyser-0.0.20.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for whispywyser-0.0.20.tar.gz
Algorithm Hash digest
SHA256 9dea2f6329834e8501661f26bb3bb808b68164c444fe0f58a5a650d4fe839015
MD5 5e1409cb869e3216ee083d7c82d4a650
BLAKE2b-256 dd84adc55605e516658cd349badf95da550692493cf869b079a1557db3cbfc99

See more details on using hashes here.

File details

Details for the file whispywyser-0.0.20-py2.py3-none-any.whl.

File metadata

  • Download URL: whispywyser-0.0.20-py2.py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for whispywyser-0.0.20-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 767841e07a986ace768707d18800481681df0ed558ea784eeba59b648067dde3
MD5 b9645c86f1e1f6aa840b20859cd0fca4
BLAKE2b-256 55fc0a8b5b899b5bf1898d8b8291c074ab04497413cd7bfb4f398d53b85d1995

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page