This was my attempt to make a voice assistant similar to JARVIS (in iron man movie)
Let's be honest, it's not as intelligent as in the movie, but it can do a lot of cool things and automate your daily tasks you do on your personal computers/laptops.
It can do a lot of cool things, some of them being:
- Greet user
- Tell current time and date
- Launch applications/softwares
- Open any website
- Tells about weather of any city
- Open location of any place plus tells the distance between your place and queried place
- Tells your current system status (RAM Usage, battery health, CPU usage)
- Tells about your upcoming events (Google Calendar)
- Tells about any person (via Wikipedia)
- Can search anything on Google
- Can play any song on YouTube
- Tells top headlines
- WhatsApp automation
- Can handle browser on your voice command
- Plays music
- Can play game on the console which you build
- Calculate any mathematical expression (example: Jarvis, calculate x + 135 - 234 = 345)
- Answer any generic question (via Wolframalpha)
- Take important note in notepad
- Tells a random joke
- Tells the latest news
- Tells the latest cricket score
- Can take screenshot and save it with custom filename
- Has a cool Graphical User Interface
To run this program you will require a bunch of API keys. Register your API key by clicking the following links
- First clone the repo
- Copy the config.py file in Jarvis>config folder
- Make a new python environment If you are using anaconda just type
conda create -n jarvis python==3.8.5
in anaconda prompt - To activate the environment
conda activate jarvis
- Navigate to the directory of your project
- Install all the requirements by just hitting
pip install -r requirements.txt
- Install PyAudio from wheel file by following instructions given here.
- Run the program by
python main.py
- Enjoy !!!
├── __init__.py # Definition of feature's functions
├── DictApp.py # opening and closing of all applications and browser tabs function
├── GreetUser.py # function to greet user according to time
├── INTRO.py # beautiful GUI runs whenever we open the project
├── SearchNow.py # all search functions for google, youtube and wikipedia
├── WhatsApp.py # WhatsApp automation function
├── calculate.py # function for solving arithmetic questions
├── game.py # game file to play game on console
├── jarvis_main.py # main driver program of Jarvis
├── installer.py # all packages required
├── remember.txt # all upcoming events
├── newsRead.py # read news function
├── keyboard.py # automate browser through voice command
- Generalized conversations can be made possible by incorporating Natural Language Processing
- GUI can be made more nicer to look at and functional
- Security can be improved
- More functionalities can be added