Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎙️ Jarvis - Desktop Voice Assistant

A Python-based desktop voice assistant that automates everyday desktop tasks using voice commands.


👨‍💻 Developed By

Kushal Sarkar

🎓 Diploma in Computer Science & Technology


📌 Introduction

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.


📌 Features

  • 🎤 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

🛠️ Tech Stack

  • Python
  • HTML
  • CSS
  • JavaScript
  • SQLite

📌 Python Libraries

🔹 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.


📂 Project Structure

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

📋 Requirements

  • Python 3.9+
  • Microphone
  • Internet connection (for online features)
  • Webcam (for face authentication)

📦 Installation

Clone the repository

git clone https://github.com/ByteBender9/Jarvis_VoiceAssistent.git

Navigate to the project

cd Jarvis_VoiceAssistent

Create a virtual environment (Optional)

python -m venv venv

Activate the virtual environment

Windows

venv\Scripts\activate

macOS / Linux

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

▶️ Running the Project

Start the voice assistant by running:

python run.py

or

python main.py

(Note: Run main.py or run.py depending on your project configuration.)


📌 Why Use Jarvis?

  • 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

📌 Advantages

  • User-friendly interface
  • Hands-free desktop control
  • Easily customizable
  • Offline text-to-speech support
  • Helpful for accessibility
  • Modular and expandable architecture

📌 Limitations

  • 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

📌 Future Enhancements

  • 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

🙏 Acknowledgements

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.


📌 Conclusion

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.


🤝 Contributing

Contributions, suggestions, and improvements are welcome.

If you'd like to contribute, feel free to fork the repository and submit a pull request.


💬 Support

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:


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


📬 Contact

Kushal Sarkar

About

Python-based Desktop Voice Assistant with Speech Recognition, Face Authentication, Desktop Automation, and Web Interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages