π¨βπ»
Introduction It is a voice assistant which can be used to interact with your computer and also you have been seeing it in Iron man movies, but this JARVIS is not that much advanced as shown in movies.
Built with: Python
- Demo video for JARVIS is available here
π
:)
Cool functionalities of JARVIS I have wrote code which you can use JARVIS in the following ways :
- It can tell count of Covid-19 cases for each state in India
- It can do Screen Recording with voice recording stuff.
- It can also do voice recording
- It can access your mobile camera
- It can access your web camera
- It can find the location of a phone number
- It can read pdf's
- It can work as a telephone dictionary(Add contacts, search contacts)
- It can generate qr codes for Links/anyText.
- It can check/find your Internet speed
- It can tell your IP address
- It can tell the latest news
- It can check the system condition
- It can send gmails
- It can send whatsapp messages to Individual & group chats
- It can play youtube songs
- It can download youtube songs
- It can download instagram profiles
- It can find/tell your current location where ever you are
- It can take screenshots with a custom filename
- It can tell current time
- It can tell current day
- It can tell random progrmamming jokes
- It can also tell your schedule for each day
- It can be silent for a certain number of time if we mention how much time we want it to be silent
- It can search in wikipedia and tell about it in 5 lines
- It can tell procedure/instructions how to make something(Eg:How to make a cake)
- It can search for information in browser which we want
- It can control system volumes
- It can control system power activities(Eg: shutdown, restart, sleep)
- It can play music file in a particular directory where the songs are present
- It can open your social media and open-source accounts
- It can open your college meeting accounts
- It can open your OTT platforms accounts
- It can open your all google apps
- It can open presentation tools like canva, google slide
- It can open shopping websites
- It can open all the URL links
- It can open/close all the pc applications(NOTE: give correct path based on your OS)
- It can sleep until you say wake up
- Finally It can interact with you and you can also add more commands if you want
π
NOTE: Before running the code you must make sure you have all the modules installed in your python version(NOTE: python version can be >=3.6).
π
:
These are the following modules used in JARVISSpeechRecognisation | PyAudio | pyttsx3 | pywhatkit | datetime | wikipedia | pyjokes | cv2 | cv2 tools | requests | smtplib | psutil | random | instaloader | PyAutoGUI | PyPDF2 | bs4 | PyQt5 | pywikihow | speed test | pytube | numpy | urllib | covid | phonenumbers | folium | opencage | pillow | Pywave | win32api | mscvrt
π
API keys To run this project you should need some API key's for reading news, for finding phone number location. Register for your API key by clicking the following
Note : supported OS : Windows, working on the making the JARVIS for Linux, but it many take some time.
π»
Installation -
You need to first
fork
this repository andclone
the repository to your local systemgit clone https://github.com/
/J.A.R.V.I.S.git -
Make sure to install all the required python modules mentioned above or you can simply install them by
pip install -r requirements.txt
Note: For any errors while installing the python modules refer
ERRORS.md
because I got some errors while installing and using them. -
Add the correct system paths in
JARVIS.py
to open the system applications -
Add your gmail id and password to send emails(line:797,798)
-
Make sure you have registerd in NewsAPI and replace the
apiKey=
YOUR_NEWS_API_KEY
with your API key(Line: 852) and in Open cage and replace theAPI_key =
"_OPEN_CAGE_GEOCODE_API_KEY_
" with your API key(PhoneNumber.py(lineNo: 13)) -
For using mobile camera you need to first install an app in mobile called IP Webcam after installing go to START SERVER it will open your mobile camara at the bottom of the screen you can see IPv4 there you can find the IP address and replace
_IP_Webcam_IP_address_
with the IP address inJARVIS.py
MobileCamera function(line: 332) -
Add the correct system paths to gifs or for background images in
JarvisUi.py
andJARVIS.py
. If you got any elements missing(RED SCREEN) referERRORS.md
file. -
Finally run the
python JARVIS.py
file
That's it #Enjoy speaking with your computer friend
Demo video for JARVIS is available here
π
FINAL GUI of JARVIS
Note: For any errors while installing the python modules refer
ERRORS.md
because I got some errors while installing and using them.
π
Motivation for this projectDue to covid19 in my house I'm in a seperate room, without talking with anyone, so thought to talk with my laptop which I will use everyday, and came up with this project.
π€
How to Contribute To contribute to this project you can FORK && clone
- Add Interation commands
- If you want to add Interation commands you need to add atleast 5 interation commands.
- Update current GUI
- Feel free to change the GUI if u have any new design ideas.
- Add more feature
- There are many things that we can do with python. So I'm very happy to accept any such type of features.
- Make the Project OS independent
- At present this project is supported to windows only, so we want to make it OS independent(Linux)
- Add your name in the
Contributors.md
file.
Finally, make a PR
π
Future plansIn the present JARVIS GUI we cannot see the commands running but they are visible on the terminal, so plan to bring up the commands to display on the GUI.
If you like the repository FORK && clone