# Jarvis Voice Assistant (openWakeWord + Gemini CLI) This project uses `openWakeWord` to listen for the "Hey Jarvis" wake word and then uses `SpeechRecognition` to capture a command and send it to the `gemini` CLI. ## Setup 1. **Install PortAudio** (macOS): ```bash brew install portaudio ``` 2. **Create and Activate Virtual Environment**: ```bash python3 -m venv venv source venv/bin/activate ``` 3. **Install Dependencies**: ```bash pip install -r requirements.txt ``` 4. **Verify Gemini CLI**: Ensure `gemini` is installed and available in your PATH. ## Usage Run the script: ```bash source venv/bin/activate python jarvis.py ``` 1. Say "**Hey Jarvis**". 2. You will hear a "tink" sound. 3. Speak your command (e.g., "List the files in this directory" or "Check the weather"). 4. The script will transcribe your command and run `gemini ""`. ## How it Works - **openWakeWord**: Provides local, low-latency wake word detection. - **SpeechRecognition**: Uses Google's Web Speech API for transcription. - **Gemini CLI**: The brain that processes the commands and calls agent tools.