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.18.tar.gz (35.1 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.18-py2.py3-none-any.whl (33.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: whispywyser-0.0.18.tar.gz
  • Upload date:
  • Size: 35.1 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.18.tar.gz
Algorithm Hash digest
SHA256 eb178e667fb9986cf396b140bad42e2acbfe52f70c4e09bdf60a08503d786b84
MD5 5f91faaa735cd4119cbdeda0fe51e07c
BLAKE2b-256 bb8836a6e173f49eaab6cbfc2f64e8ec8f7ebb18c4f45b92aed14c9ff057ef4e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whispywyser-0.0.18-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.18-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ba314efff1413855e3433335e421d948dce7ab5c6ec131d99d63a6cdbd2dcf81
MD5 85d60b78d2f075f076c4e84247cb36b5
BLAKE2b-256 ddfc8ffd4c81a35338879c431a0434fd94c92e8bc79d62cab4cd0ec447faa031

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