JARVIS is an intelligent, voice-activated desktop assistant built with Python. It responds to wake words like "Jarvis", processes natural language commands, and can perform a variety of tasks including:
- Playing music via YouTube 🎵
- Reading out the latest news 🗞️
- Setting reminders with natural language ⏰
- Chatting using OpenAI (via OpenRouter API) 💬
- Answering questions & handling unknown prompts with AI ✨
- 🎙️ Voice Recognition with
VoskandSpeechRecognition - 📢 Text-to-Speech (TTS) via
gTTSandpyttsx3 - 🔍 YouTube Music Search using
yt-dlp - 🧠 GPT Integration via OpenAI's API (customizable model)
- 📅 Smart Reminders with time parsing
- 🌐 Open websites (Google, Facebook, YouTube, LinkedIn)
- 📰 Live News Fetching (using NewsAPI)
- 🧠 Chat Memory for continued conversations
Install dependencies using:
pip install -r requirements.txt-
Clone this repo:
git clone https://github.com/yourusername/jarvis-ai-assistant.git cd jarvis-ai-assistant -
Install requirements:
pip install -r requirements.txt
-
Download and extract a VOSK model (e.g.
vosk-model-small-en-us-0.15)
Place the model in a folder namedvosk-modelinside the project directory. -
Add your API keys:
- Replace
OPENAI_API_KEYwith your OpenRouter API key - Replace
NEW_API_KEYSwith your NewsAPI key
- Replace
-
Run the assistant:
python jarvis.py
jarvis/
│
├── jarvis.py # Main script
├── requirements.txt # Python dependencies
├── .gitignore # Ignore unnecessary files
├── reminders.json # Stores reminders
├── jarvis_chat_history.json # Stores chat memory
├── vosk-model/ # Offline speech recognition model
- Requires an active internet connection for:
- ChatGPT responses
- YouTube search
- News fetching
- Works best with a good microphone
- Reminder time format:
Remind me to [task] on [date] at [time](e.g., "remind me to call mom on 8 August at 5 pm")
- OpenRouter - for GPT API access
- Vosk - for offline speech recognition
- gTTS - for Google Text-to-Speech
- yt-dlp - for YouTube integration
- NewsAPI - for fetching current headlines
MIT License – feel free to use, share, and modify.
- Add email & calendar integration
- Build a GUI using Tkinter or PyQt
- Add voice-controlled file management
- Expand reminder system to daily/weekly tasks