LUMA Voice Assistant - Technical Documentation

Detailed Setup Guide

System Requirements

Dependencies Overview

sounddevice           # Audio I/O handling
numpy                 # Audio processing
torch                 # Neural network backend
silero-vad            # Voice activity detection
moonshine-onnx        # Speech recognition
groq                  # LLM API client
pyttsx3               # Text-to-speech
python-dotenv         # Environment management

Step-by-Step Installation

  1. Python Installation
  2. Virtual Environment Setup
    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # Linux/MacOS
    python3 -m venv venv
    source venv/bin/activate
  3. Dependencies Installation
    pip install -r requirements.txt
  4. Groq API Setup
    1. Sign up at console.groq.com
    2. Generate an API key
    3. Add the API key in .env
    4. Format : GROQ_API_KEY=your_api_key_here

Configuration Details

Audio Settings

SAMPLING_RATE = 16000    # Audio sampling frequency
CHUNK_SIZE = 512         # Audio buffer size
MAX_SPEECH_SECS = 30     # Maximum speech duration
VAD_THRESHOLD = 0.3      # Voice detection sensitivity
VAD_MIN_SILENCE = 3000   # Minimum silence duration (ms)

Model Configuration

Troubleshooting Guide

Common Issues

Error: "GROQ_API_KEY not found"
Solution:
Error: "Audio input status error"
Solution:
Error: "VAD processing error"
Solution:

Performance Optimization

Development Guidelines

Code Structure

├── main.py           # Main application entry
├── terminal_style.py # Terminal UI utilities
├── requirements.txt  # Dependencies
└── .env             # Configuration

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Follow PEP-8 style guide
  4. Add tests for new features
  5. Submit a pull request