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.24.tar.gz (35.3 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.24-py2.py3-none-any.whl (33.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: whispywyser-0.0.24.tar.gz
  • Upload date:
  • Size: 35.3 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.24.tar.gz
Algorithm Hash digest
SHA256 9aa5eae05ec6f25f0320c17d5f44bfe71a42f0dee1bbc8dda019413ec4514397
MD5 df47b31cee213dc26ef892503114a3f6
BLAKE2b-256 2db98555e3cf81259b8eaa8ee687359bcf359bd136b45f275d39f9d16c3e0397

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whispywyser-0.0.24-py2.py3-none-any.whl
  • Upload date:
  • Size: 33.1 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.24-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 900e12d54bbe50fa57b145c13c4ebb2b2dd13cc1f2afc714a1b0282afd501b63
MD5 4b7960553c5cb440b740a51ce1c34c8b
BLAKE2b-256 979ca9174b43862a2261fa9e32dd32bbb3eeeb88564c906379219f71ad817b08

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