--A voice-based virtual assistant-- An AI-powered application that can understand natural language and perform various tasks. This readme file will guide you on how to use this virtual assistant.
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 (via Times of India)
- Plays music
- Send email (with subject and content)
- 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 your IP address
- Can switch the window
- Can take screenshot and save it with custom filename
- Can hide all files in a folder and also make them visible again
- Has a cool Graphical User Interface
- Can respond to any command
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
- Make a config.py file and include the following in it:
email = "<your_email>" email_password = "<your_email_password>" wolframalpha_id = "<your_wolframalpha_id>"
- 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 !!!!
├── driver
├── Jarvis # Main folder for features
│ ├── config # Contains all secret API Keys
│ ├── features # All functionalities of JARVIS
├──Friday_blueprint.py # GUI Main Window
├──bot_voice.py # Sub Window bot voice button
│ └── utils # GUI images
├── __init__.py # Definition of feature's functions
├── main.py # main driver program of Jarvis
├── requirements.txt # all dependencies of the program
- The code structure if pretty simple. The code is completely modularized and is highly customizable
- To add a new feature:
- Make a new file in features folder, write the feature's function you want to include
- Add the function's definition to init.py
- Add the voice commands through which you want to invoke the function
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.
This project is licensed under MIT License
- Generalized conversations can be made possible by incorporating Natural Language Processing
- GUI can be made more nicer to look at and functional
- More functionalities can be added