A Python-based desktop voice assistant that automates everyday desktop tasks using voice commands.
Kushal Sarkar
🎓 Diploma in Computer Science & Technology
Jarvis is a Python-based desktop voice assistant that enables users to interact with their computer using voice commands. It leverages speech recognition and text-to-speech technologies to automate everyday tasks such as searching the web, opening websites, playing music, taking notes, capturing screenshots, and retrieving information from Wikipedia.
The assistant greets the user based on the current time, listens to voice commands through the microphone, processes them, and performs the requested actions, providing a hands-free and user-friendly computing experience.
- 🎤 Voice-controlled interaction
- 👋 Greets users based on the current time
- 🕒 Displays current date and time
- 🌐 Opens websites
- 🔍 Google search
- 📖 Wikipedia search
- 🎵 Plays music
- 📝 Creates and saves notes
- 📷 Takes screenshots with custom filenames
- 🔒 Face authentication support
- 💻 Desktop automation
- 📴 Voice command to exit the assistant
- Python
- HTML
- CSS
- JavaScript
- SQLite
🔹 pyttsx3
Offline text-to-speech engine used to convert text into natural speech.
🔹 SpeechRecognition
Captures voice commands through the microphone and converts speech into text.
🔹 Datetime
Provides the current date and time and generates time-based greetings.
🔹 Wikipedia
Fetches summaries and information from Wikipedia.
🔹 Webbrowser
Opens websites directly in the user’s default browser.
🔹 OS
Performs operating system tasks such as launching applications and managing files.
🔹 Random
Generates random values for assistant responses where required.
🔹 PyAutoGUI
Automates keyboard and mouse actions, including taking screenshots.
Jarvis_VoiceAssistent/
│
├── engine/
│ ├── auth/
│ │ ├── samples/
│ │ ├── trainer/
│ │ ├── haarcascade_frontalface_default.xml
│ │ ├── recoganize.py
│ │ ├── sample.py
│ │ └── trainer.py
│ ├── command.py
│ ├── config.py
│ ├── db.py
│ ├── features.py
│ └── helper.py
│
├── www/
│ ├── assets/
│ ├── controller.js
│ ├── index.html
│ ├── main.js
│ ├── script.js
│ └── style.css
│
├── device.sh
├── main.py
├── run.py
├── requirements.txt
├── LICENSE
├── README.md
└── .gitignore
- Python 3.9+
- Microphone
- Internet connection (for online features)
- Webcam (for face authentication)
git clone https://github.com/ByteBender9/Jarvis_VoiceAssistent.gitcd Jarvis_VoiceAssistentpython -m venv venvWindows
venv\Scripts\activatemacOS / Linux
source venv/bin/activatepip install -r requirements.txtStart the voice assistant by running:
python run.pyor
python main.py(Note: Run main.py or run.py depending on your project configuration.)
- Hands-free computer interaction
- Improves productivity by automating routine tasks
- Easy to install and use
- Beginner-friendly interface
- Supports both voice and keyboard input
- Can be customized with additional commands
- User-friendly interface
- Hands-free desktop control
- Easily customizable
- Offline text-to-speech support
- Helpful for accessibility
- Modular and expandable architecture
- Voice recognition accuracy decreases in noisy environments
- Limited natural language understanding compared to cloud AI assistants
- Performance depends on microphone quality
- Requires Python dependencies to be installed
- AI chatbot integration (GPT/LLMs)
- Smarter Natural Language Processing
- Home automation support
- Cross-platform compatibility
- Mobile application integration
- Personalized user profiles
- Email and calendar management
- Advanced desktop automation
This project was developed as part of my learning journey in Python, speech recognition, and desktop automation. Special thanks to the open-source community and the developers of the Python libraries used in this project, including SpeechRecognition, pyttsx3, Eel, OpenCV, and PyAutoGUI, for making this project possible.
Jarvis demonstrates how artificial intelligence and speech recognition can simplify everyday computer interaction through voice commands. The project combines multiple Python libraries to provide a practical desktop automation solution and serves as a strong foundation for building more advanced AI-powered personal assistants in the future.
Contributions, suggestions, and improvements are welcome.
If you'd like to contribute, feel free to fork the repository and submit a pull request.
If you encounter any issues or have suggestions for improvement, feel free to open an issue in this repository.
For questions or feedback, you can also contact me through:
This project is licensed under the MIT License. See the LICENSE file for details.
Kushal Sarkar
- GitHub: https://github.com/ByteBender9
- LinkedIn: https://www.linkedin.com/in/kushalsarkar
- Email: connect.kushals@gmail.com