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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: whispywyser-0.0.23.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.23.tar.gz
Algorithm Hash digest
SHA256 c8e4909acecd3d22825abf8a04b41e405311df9b2b7a89a8cc4946f193d6ba46
MD5 0dd3dba65c874ed10b34a16bb7a261d3
BLAKE2b-256 3c83392be38d42ff609a445f54b1e4d04db30b79be0e02181ea06c35a0f7380f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whispywyser-0.0.23-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.23-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9531ad05463462fbe854de7efbb18d4443a6c997e6d76f8dc1c47a5ec3b0252f
MD5 0e5f0d01d65431df0ac6d0956ded5ece
BLAKE2b-256 028e80caf4187b42e47159f7697fe56a303bba46f1d8f9343e0b23b070723a61

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