44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# 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 "<your command>"`.
|
|
|
|
## 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.
|