This project serves as the "eyes and ears" for the AI personal assistant, Jarvis. It's designed to run on Raspberry Pi devices equipped with a USB microphone and an AI RPi cam.
- Audio capture from USB microphone
- Video capture from AI RPi cam
- Pre-programmed responses for common queries
- API requests to a local server for advanced query processing
- Audio playback through connected speakers
- Text-to-Speech (TTS) functionality using lightweight libraries suitable for Raspberry Pi
This project follows the GitFlow branching strategy:
masterfor production releasesdevelopfor next release developmentfeature/*for new featuresrelease/*for release preparationhotfix/*for urgent fixes
Instructions for setting up and running the project will be added here as the project develops.
argus/
├── src/ # Source code
├── tests/ # Unit tests
├── docs/ # Documentation
├── config/ # Configuration files
├── scripts/ # Utility scripts
├── requirements.txt # Python dependencies
├── .gitignore # Git ignore file
└── README.md # This file
- Raspberry Pi (3B+ or 4 recommended)
- USB Microphone
- AI RPi Camera Module
- Speaker (connected via 3.5mm jack or USB)
- Python 3.7+
- Required Python packages (see requirements.txt)
- Git
- Git Flow
- espeak-ng (system dependency for TTS)
The codename for this project is Argus, named after the hundred-eyed giant in Greek mythology, reflecting the system's role as the "eyes and ears" of Jarvis.
The Text-to-Speech functionality is implemented using pyttsx3, which is a lightweight TTS library that works offline and is suitable for Raspberry Pi hardware. It uses the espeak-ng engine by default on Linux systems.
Configuration options for TTS can be found in config/settings.ini under the [TTS] section:
rate: Speech rate in words per minute (default: 200)volume: Volume level between 0.0 and 1.0 (default: 0.9)voice: Voice ID (default: system default)