J.A.R.V.I.S AI Desktop Voice Assistant Using Python

Shah meet
4 min readSep 24, 2020

This post is about how I built the “ J.A.R.V.I.S Voice Assistant” using Python. So, let’s get started!

Introduction: -

First of all, What is J.A.R.V.I.S? In simple words, Jarvis is nothing but a fictional AI system which was first appeared in the Marvel movies. In this project, I tried to make a voice assistant which works like J.A.R.V.I.S.

In the era of 21st century, we all are surrounded with many different kind of technologies. In all of this, Artificial intelligence has a separate fan base. But though its my learning stage in the field of AI, I make one small project which titled as “J.A.R.V.I.S AI Desktop Voice Assistant Using Python”. The main purpose to make this project is to automate some tasks and make them easy to perform.

Implementation: -

In this, I used the Google API because it provides text-to-speech and speech-to-text functionalities. I used python language for implementation.

1. Important Libraries that I have used: -

  • Pyttsx3: — Basically, this module is used to convert text to speech in python. We can install this library using “pip install pyttsx3” command. The main advantage of this module is that it works offline.
  • Web browser: — This is used to display web-based documents on the web browser. This module is built-in in python.
  • Speech recognition: — As we are building virtual assistant, the necessary thing is that it recognizes user’s voice. We can install this module using “pip install speech recognition” command.
  • Wikipedia: — This module is used to get the information from Wikipedia or to search something on Wikipedia. We can install this module using “pip install Wikipedia” command.
  • Selenium: — This module is used to automate the interaction to the web browser from python. We can install selenium module using “pip install selenium” command.
  • Smtplib: — SMTP (simple mail transfer protocol) is used to send an email or to route an email between servers. Python provides the smtplib module for this functionality. We can install this module using “pip install smtplib”.
  • wolfram alpha Wolfram Alpha is an API which can compute expert-level answers using Wolfram’s algorithms, knowledge base and AI technology. It is made possible by the Wolfram Language.

2. Flow chart: -

Flow of the system

Functionalities: -

  • We can open different kind of websites like google, stack overflow, you tube, etc.
  • We can open applications like Pycharm, Microsoft word, etc. within our system.
  • We can send an email with message or an email with attachment also.
  • We can play songs and we can also list out all the songs.
  • We can also able to login automatically on our Facebook account by just giving an order.
  • We can also show short information on a particular subject through Wikipedia.
  • The assistant is also able to great us (good morning, good evening) according to whatever time it is.
  • we can get answer of any geographical and computational questions like what is the capital of India and computational questions like what is 3+2 etc.

Snapshots: -

  1. Listening and recognizing process.
After running the program, it will recognise what you say and simply write it.

2. Execution of websites.

3. Say and play the song.

Display the list of songs.

4. Say and open application.

5. To send e-mail.

  • Email with message:
  • Email with Attachment:

6. Facebook autologin:

  • First it will ask for username and password, after that it send the keys to the login page of the Facebook and then we will login.

7. Exit code:

Limitations:-

Though it is not perfect assistant like google and Siri, there are some limitations also..

  • less secure.
  • Sometimes due to frequency issues, it can’t able to recognize the user’s voice.

Let’s Conclude!

After doing this project, I have learned so many new things. I will work on some other stuff like to send WhatsApp message, to download images from google, check for the internet connection & many more.

I will do experiments on this project and if it will work, then I will also increase the strength of the project and I will also try to deploy it on ubuntu system.

--

--