diff --git a/README.md b/README.md index db92ed4..351135a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Jarvis (Just A Rather Very Intelligent System) + + + +

Jarvis - Just A Rather Very Intelligent Assistant ๐Ÿค–

+ +

+ An open-source Python-based personal voice assistant with face recognition security and intelligent automation capabilities. +
+
+ ๐Ÿš€ Get Started + ยท + ๐Ÿ› Report a Bug + ยท + โœจ Request a Feature +

+ +

+ Stars + License + Forks +

+ +--- + +## ๐ŸŒŸ The Vision: Your Secure Personal AI Assistant + +**Jarvis** transforms your computer into an intelligent companion that not only responds to voice commands but also recognizes your face for secure access. Built with Python and powered by advanced AI libraries, Jarvis combines the convenience of voice interaction with the security of biometric authentication. + +Unlike commercial assistants, Jarvis runs entirely on your machine, giving you complete control over your data and privacy while providing powerful automation capabilities. + +### ๐Ÿ”ฅ Core Features + +* **๐ŸŽค Voice Interaction:** Natural speech recognition with contextual responses and greetings +* **๐Ÿ‘ค Face Recognition Security:** Biometric authentication with automatic screenshots for security +* **๐ŸŒ Web Intelligence:** Google search, Wikipedia summaries, news updates, and IP lookup +* **๐Ÿ“ง Email Automation:** Voice-controlled email composition and sending +* **๐Ÿ–ฅ๏ธ System Control:** Application launching, file management, screenshots, and system monitoring +* **๐ŸŽต Entertainment Hub:** YouTube control, music playback, and media management +* **๐Ÿง  Advanced Computing:** WolframAlpha integration for complex calculations and queries +* **โฐ Smart Scheduling:** Alarms, reminders, task management, and focus mode +* **๐Ÿ“ฑ Communication:** WhatsApp messaging and call automation via Twilio +* **๐ŸŽฎ Interactive Features:** Built-in games like Rock Paper Scissors +* **๐ŸŒ Multilingual Support:** Translation capabilities with voice output +* **๐Ÿ“Š System Monitoring:** Battery status, performance metrics, and notifications + +--- + +## ๐Ÿ—๏ธ System Architecture: Security-First Design + +Jarvis implements a multi-layered architecture with security at its core: + +``` +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ Jarvis System Architecture โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ ๐Ÿ”’ SECURITY LAYER โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Face Training โ”‚ โ”‚ Face Detection โ”‚ โ”‚ Access Control & โ”‚ โ”‚ +โ”‚ โ”‚ (OpenCV) โ”‚ โ”‚ (LBPH) โ”‚ โ”‚ Screenshots โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ โ–ผ โ”‚ +โ”‚ ๐ŸŽค INTERACTION LAYER โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Speech โ”‚ โ”‚ Command โ”‚ โ”‚ Response โ”‚ โ”‚ +โ”‚ โ”‚ Recognition โ”‚ โ”‚ Processing โ”‚ โ”‚ Generation โ”‚ โ”‚ +โ”‚ โ”‚ (Google API) โ”‚ โ”‚ Engine โ”‚ โ”‚ (pyttsx3) โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ โ–ผ โ”‚ +โ”‚ โš™๏ธ SERVICE LAYER โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Web โ”‚ โ”‚ Email โ”‚ โ”‚ System โ”‚ โ”‚ +โ”‚ โ”‚ Services โ”‚ โ”‚ SMTP โ”‚ โ”‚ Control โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Alarms & โ”‚ โ”‚ Games & โ”‚ โ”‚ Translation โ”‚ โ”‚ +โ”‚ โ”‚ Reminders โ”‚ โ”‚ Jokes โ”‚ โ”‚ Engine โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ +โ”‚ โ”‚ Wolfram โ”‚ โ”‚ +โ”‚ โ”‚ Alpha โ”‚ โ”‚ +โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + +``` + +--- + +## ๐Ÿš€ The Tech Stack: Proven & Powerful + +| Component | Technology | Purpose | +| ---------------------- | ------------------------------ | ------------------------------------------------------------------------------------------ | +| **Speech Recognition** | **Google Speech API** | High-accuracy voice command processing with natural language understanding | +| **Text-to-Speech** | **pyttsx3** | Offline voice synthesis with customizable speech rates and voices | +| **Face Recognition** | **OpenCV + LBPH** | Secure biometric authentication with Local Binary Patterns Histograms | +| **GUI Framework** | **Tkinter + PIL** | Native cross-platform interface with animated GIF support | +| **Web Automation** | **requests + BeautifulSoup** | Intelligent web scraping and API interactions | +| **System Control** | **pyautogui + psutil** | Complete system automation and performance monitoring | +| **Email Service** | **smtplib** | Secure email sending with Gmail integration | +| **Messaging** | **pywhatkit + Twilio** | WhatsApp automation and phone call capabilities | +| **Knowledge Engine** | **WolframAlpha API** | Advanced mathematical and factual query processing | +| **Translation** | **googletrans + gTTS** | Multi-language translation with voice output | + +--- + +## ๐Ÿ› ๏ธ Getting Started in Under 5 Minutes + +### Prerequisites + +1. **Python 3.8+:** [Download here](https://www.python.org/downloads/) +2. **Webcam:** Required for face recognition security +3. **Microphone:** For voice commands +4. **Internet Connection:** For API services + +### Installation & Setup + +1. **Clone the Repository:** + ```bash + git clone https://github.com/Arpitgarg07/Jarvis.git + cd Jarvis + ``` + +2. **Install Dependencies:** + ```bash + # Run the automatic installer + python installer.py + + # OR install manually + pip install -r requirements.txt + ``` + > **Note:** On Windows, you may need to install PyAudio manually from [here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio). + +3. **Set Up Face Recognition (Security):** + ```bash + # Generate face samples (10 photos) + python "Sample generator.py" + + # Train the recognition model + python "Model Trainer.py" + ``` + +4. **Configure API Keys:** + Update the following files with your credentials: + + **For WolframAlpha (Calculatenumbers.py):** + ```python + apikey = "YOUR_WOLFRAMALPHA_API_KEY" + ``` + + **For News (NewsRead.py):** + ```python + # Replace the API key in the URLs + apiKey=YOUR_NEWS_API_KEY + ``` + + **For Email (sendemail.py):** + ```python + sender_email = "your_email@gmail.com" + sender_password = "your_app_password" + ``` + +5. **๐ŸŽ‰ Launch Jarvis:** + ```bash + python Jarvismain.py + ``` + +6. **Activate Your Assistant:** + Say **"Wake up"** to start interacting with Jarvis! + +--- + +## ๐Ÿ’ก Voice Commands: What Jarvis Can Do +#### ๐ŸŽค Basic Commands + +- "Wake up" , "Go to sleep" - Control Jarvis +- "Hello" ,"What's the time?" - Basic interaction +- "Google search [topic]" , "Wikipedia [topic]" - Web search +- "What's the news?" ,"What's my IP address?" - Information + +#### ๐Ÿ–ฅ๏ธ System & Productivity + +- "Open [app]" , "Take screenshot" - System control +- "Set an alarm" , "Remind me" - Time management +- "Focus mode" , "Show my focus" - Productivity tracking +- "Battery status" , "Internet speed test" - System info + +#### ๐Ÿ“ง Communication & Entertainment + +- "Write an email" , "WhatsApp message" - Communication +- "Play playlist" , "Tell me a joke" - Entertainment +- "Calculate [math]" , "Translate [text]" - Smart features +- "Open game" , "Flip a coin" - Interactive fun + +--- + +## ๐Ÿ”ง Advanced Configuration + +### Face Recognition Setup +1. Run `Sample generator.py` to capture 10 face samples +2. Execute `Model Trainer.py` to create recognition model +3. Update the `names` list in `Jarvismain.py` with your name +4. Adjust `id` variable to match your assigned number + +### Focus Mode +- Blocks distracting websites during work sessions +- Tracks productivity time in `focus.txt` +- Generates focus graphs with `FocusGraph.py` +- Requires administrator privileges on Windows + +### WhatsApp Integration +- Update `contact_dict` in `Jarvismain.py` with your contacts +- Uses `pywhatkit` for automated messaging +- Supports both manual and automated message scheduling + +### Email Configuration +- Use Gmail App Passwords for security +- Update recipient mappings in `sendemail.py` +- Supports voice-to-text email composition + +--- + +## ๐ŸŒŸ Unique Features + +### ๐Ÿ”’ **Security First** +- Biometric face recognition with OpenCV +- Automatic security screenshots for unknown faces +- Optional password protection +- Local data processing for privacy + +### ๐Ÿง  **Smart Automation** +- Context-aware command processing +- Natural language understanding +- Intelligent system control +- Productivity tracking and analytics + +### ๐ŸŽฏ **Focus Mode** +- Website blocking during work sessions +- Productivity time tracking +- Visual analytics with matplotlib +- Administrative control for system-level blocking + +### ๐ŸŽฎ **Interactive Entertainment** +- Built-in games (Rock Paper Scissors) +- Joke telling with pyjokes +- Coin flipping with sound effects +- Interactive voice responses + +--- + +## ๐Ÿค Contributing to Jarvis + +We welcome contributions! Here's how you can help: + +### ๐ŸŒŸ **Ways to Contribute** +- **๐Ÿ› Bug Fixes:** Improve reliability and fix issues +- **โœจ New Commands:** Add more voice command capabilities +- **๐Ÿ”ง Hardware Support:** Expand device compatibility +- **๐ŸŒ Localization:** Add support for more languages +- **๐Ÿ“ฑ Integrations:** Connect with more services and APIs +- **๐ŸŽจ UI Improvements:** Enhance the visual interface + +### ๐Ÿ“ **Getting Started** +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-feature`) +3. Test your changes thoroughly +4. Commit your changes (`git commit -m 'Add amazing feature'`) +5. Push to the branch (`git push origin feature/amazing-feature`) +6. Open a Pull Request + +--- + + +## ๐Ÿ”‘ Required API Keys + +### Free APIs (Recommended) +- **WolframAlpha:** [Get API Key](https://developer.wolframalpha.com/) - 2000 queries/month free +- **News API:** [Get API Key](https://newsapi.org/) - 1000 requests/day free +- **OpenWeatherMap:** [Get API Key](https://openweathermap.org/api) - 1000 calls/day free + +### Optional Paid APIs +- **Twilio:** For phone call functionality +- **Google Calendar API:** For advanced calendar integration + +--- + +## ๐Ÿ“ Project Structure + +``` +Jarvis/ +โ”œโ”€โ”€ Jarvismain.py # Main application with face recognition +โ”œโ”€โ”€ INTRO.py # Animated startup screen +โ”œโ”€โ”€ GreetMe.py # Greeting functionality +โ”œโ”€โ”€ Calculatenumbers.py # WolframAlpha integration +โ”œโ”€โ”€ Dictapp.py # System control functions +โ”œโ”€โ”€ SearchNow.py # Web search capabilities +โ”œโ”€โ”€ NewsRead.py # News reading functionality +โ”œโ”€โ”€ Whatsapp.py # WhatsApp integration +โ”œโ”€โ”€ Translator.py # Translation services +โ”œโ”€โ”€ FocusMode.py # Productivity website blocking +โ”œโ”€โ”€ FocusGraph.py # Focus time visualization +โ”œโ”€โ”€ battery.py # Battery monitoring +โ”œโ”€โ”€ game.py # Rock Paper Scissors game +โ”œโ”€โ”€ joke.py # Joke functionality +โ”œโ”€โ”€ alarm.py # Alarm system +โ”œโ”€โ”€ reminder.py # Reminder notifications +โ”œโ”€โ”€ sendemail.py # Email functionality +โ”œโ”€โ”€ Location.py # Location services +โ”œโ”€โ”€ Sample generator.py # Face recognition training +โ”œโ”€โ”€ Model Trainer.py # Face recognition model +โ”œโ”€โ”€ installer.py # Dependency installer +โ”œโ”€โ”€ keyboard.py # Volume control +โ”œโ”€โ”€ sendcall.py # Twilio call integration +โ””โ”€โ”€ Various text files # Data storage and configuration +``` + +--- + +## ๐Ÿ›ก๏ธ Privacy & Security + +**Jarvis prioritizes your privacy:** + +- **Local Processing:** Face recognition and most operations run locally +- **Encrypted Storage:** Sensitive data encrypted on your machine +- **API Control:** You choose which external services to use +- **Open Source:** Complete transparency - inspect every line of code +- **No Tracking:** Zero telemetry or user data collection +- **Biometric Security:** Face recognition prevents unauthorized access + +--- + +## ๐ŸŒŸ Contributors + +Thanks to these amazing people who make Jarvis better: + + + + + +--- + +## ๐Ÿ’ฌ Community & Support + +- **๐Ÿ’ฌ Discussions:** [GitHub Discussions](https://github.com/Arpitgarg07/Jarvis/discussions) +- **๐Ÿ› Bug Reports:** [Issues](https://github.com/Arpitgarg07/Jarvis/issues) +- **๐Ÿ“ง Email:** [Contact Arpit](mailto:contact@arpitgarg.com) + +--- + +## ๐Ÿ“œ License + +This project is freely available under the **MIT License**. See the [LICENSE](LICENSE) file for details. + +--- + +## ๐Ÿ™ Acknowledgments + +- **Tony Stark/Iron Man:** For the inspiration behind the name and vision +- **OpenCV Community:** For powerful computer vision tools +- **Python Community:** For the amazing libraries that power Jarvis +- **Contributors:** Everyone who helps improve this project +- **Users:** Thank you for choosing Jarvis as your AI assistant + +--- + +
+ +

๐Ÿค– "Sometimes you gotta run before you can walk." - Tony Stark

+

Built with โค๏ธ and Python by Arpit Garg. Secure AI assistance for everyone.

+ Project views +
\ No newline at end of file