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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: whispywyser-0.0.27.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.27.tar.gz
Algorithm Hash digest
SHA256 c9d45f5d215f8197dce1dfd8c68d0b7428a44353e302c8b363841f6dec479958
MD5 3ce7644be54cfcdec60d2ce656c4c7a8
BLAKE2b-256 ec0c233e8e4a754afa82d3936c88cdd5102159240c4f4b02f0ab7d1a70b00c10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whispywyser-0.0.27-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.27-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2a98cfed7869aa2fba8606e81ce4a77a2976d7c51037c0cb4889a0c074e403d7
MD5 61f6c6690381487df646b5c36307dbb4
BLAKE2b-256 fa491595a2d7a1aff3c654a253894644634ac6e202577920fb37d30d3cbeaae9

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