0% found this document useful (0 votes)
405 views

Major Project Report

The document describes a dissertation submitted for a Master's degree in Computer Applications focused on developing a personal intelligent voice assistant named Jarvis using Python. It outlines the functionalities of Jarvis such as sending emails, reading PDFs, sending text messages, playing music, conducting searches on Wikipedia, and more to assist users with daily tasks through voice commands or keyboard input. The project aims to create an effective personal assistant using artificial intelligence concepts to reduce human effort and time.

Uploaded by

Hritik Jaiswal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
405 views

Major Project Report

The document describes a dissertation submitted for a Master's degree in Computer Applications focused on developing a personal intelligent voice assistant named Jarvis using Python. It outlines the functionalities of Jarvis such as sending emails, reading PDFs, sending text messages, playing music, conducting searches on Wikipedia, and more to assist users with daily tasks through voice commands or keyboard input. The project aims to create an effective personal assistant using artificial intelligence concepts to reduce human effort and time.

Uploaded by

Hritik Jaiswal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

“Jarvis: My Personal

Intelligent Voice Assistant”

Dissertation Submitted in Partial fulfillment of the


Requirement for the Award of the Degree of

Master of Computer Application

Semester X
Session Jan-May, 2022

Under the guidance of Submitted By


Ms. Shraddha Soni Hritik Jaiswal
IC-2K17-15

International Institute of Professional Studies


Devi Ahilya Vishwavidyalaya, Indore, M.P.
2022
International Institute of Professional Studies
Devi Ahilya Vishwavidyalaya, Indore, M.P.

DECLARATION

I hereby declare that the project entitled “My Personal Intelligent Voice Assistant:
Jarvis” submitted by me for the partial fulfillment of the requirement for the award of
Master of Computer Application (5 Years) Semester X to International Institute of
Professional Studies, Devi Ahilya Vishwavidyalaya, Indore, comprises my own work and
due acknowledgement has been made in text to all other material used.

Signature of Student:

Date:

Place: Indore
International Institute of Professional Studies

Devi Ahilya Vishwavidyalaya, Indore, M.P.

CERTIFICATE

It is to certify that we have examined the dissertation on “My Personal Intelligent Voice
Assistant: Jarvis”, submitted by Mr. Hritik Jaiswal to the International Institute of
Professional Studies, DAVV, Indore, and hereby accord our approval of it as a study
carried out and presented in a manner required for its acceptance in partial fulfillment for
the award of the degree of “Master of Computer Application (5 year)”.

Internal Examiner External Examiner


Signature: Signature:
Name : Name :
Date : Date :
ACKNOWLEDGEMENT

We had a great experience working on this project and we got to learn a plethora of new
skills through this project. However, it would not have been possible without the kind
support and help of many individuals. We would like to extend our sincere thanks to all
of them. We are highly indebted to the teachers and especially Ms Shraddha Soni,
Dr. B. K. Tripathi, Director, IIPS DAVV and Dr. Ramesh Thakur, Program In charge MCA
PG course for their guidance and constant supervision as well as providing necessary
information regarding the project and also for their support in completing the project. We
would like to express our gratitude towards our parents and friends for their kind
cooperation and encouragement which help us in the completion of the project.

Place - Indore

Name - Hritik Jaiswal

Mobile Number – 9617714493


CERTIFICATE
TABLE OF CONTENT
PAGE NO.

1. TITLE PAGE

2. DECLARATION

3. CERTIFICATE

4. ACKNOWLEDGEMENT

5. ABSTRACT 1

6. EXECUTIVE SUMMARY 2

7. PROBLEM STATEMENT 3

8. INTRODUCTION 4

9. PRESENT SYSTEM VS PROPOSED SYSTEM 6

10. SOFTWARE DETAILS 8

11. IMPLEMENTAION WORK DETAILS 12

12. DATA IMPLEMENTATION AND PROGRAM EXECUTION 14

13. WORKING MODEL 17

14. SYSTEM TESTING 23

15. INDIVIDUAL CONTRIBUTION 27

16. CONCLUSION 29

17. BIBLIOGRAPHY 31
1

ABSTRACT

As we know Python is an emerging language so it becomes easy to write a script for


Voice Assistant in Python. The instructions for the assistant can be handled as per the
requirement of user. Speech recognition is the process of converting speech into text.
This is commonly used in voice assistants like Alexa, Siri, etc. In Python there is an API
called Speech Recognition which allows us to convert speech into text. It was an
interesting task to make my own assistant. It became easier to send emails without
typing any word, Searching on Google without opening the browser, and performing
many other daily tasks like playing music, opening your favorite IDE with the help of a
single voice command. In the current scenario, advancement in technologies are such that
they can perform any task with same effectiveness or can say more effectively than us.
By making this project, I realized that the concept of AI in every field is decreasing
human effort and saving time.
Functionalities of this project include:

1. It can send emails.


2. It can read PDF.
3. It can send text messages.
4. It can open command prompt, your favorite IDE, notepad etc.
5. It can play music.
6. It can do Wikipedia searches for you.
7. It can open websites like Google, YouTube, etc., in a web browser.
8. It can give weather forecast.
9. It can give desktop reminders of your choice.
10. It can have some basic conversation.
2
1

EXECUTIVE SUMMARY

The project aims to develop a personal voice assistant for desktop. Jarvis draws its
inspiration from virtual assistants like google assistant for android, and Siri for iOS. It has
been designed to provide a user-friendly interface for carrying out a variety of tasks by
employing certain well-defined commands. Users can interact with the assistant either
through voice commands or using keyboard input. As a personal assistant, Jarvis assists
the end-user with day-to-day activities like general human conversation, searching
queries in google, bing or yahoo, searching for videos, sending massages, retrieving
images, live weather conditions based on symptoms and reminding the user about the
scheduled events and task.

With the advancement Jarvis can perform any task with same effectiveness or can say
more effectively than us. By making this project, I realized that the concept of AI in
every field is decreasing human effort and saving time.

The assistant is no less than a human assistant but we can say that this is more effective
and efficient to perform any task. The libraries and packages used to make this assistant
focuses on the time complexities and reduces time. This is the basic summary of Jarvis.
3
1

PROBLEM STATEMENT

PURPOSE-

We are all well aware about Cortana, Siri, Google Assistant and many other virtual
assistants which are designed to aid the tasks of users in Various Platforms my motive
behind this project is to make my personal A.I. assistant using python which makes our
daily work easier where we can perform any task through our voice.

IS IT AN A.I.? –

Now the basic question arises in mind that how it is an AI? The virtual assistant that I
have created is like if it is not an A.I, but it is the output of a bundle of the statement. But
2 fundamentally, the main purpose of A.I machines is that it can perform human tasks
with the same efficiency or even more efficiently than humans. It is a fact that my virtual
assistant is not a very good example of A.I., but it is an A.I..

PRODUCT DESCRIPTION-

As a personal assistant, Jarvis assists the end-user with day-to-day activities like general
human conversation, searching queries in various search engines like Google, Bing or
Yahoo, searching for videos, play youtube videos, live weather conditions, play any song
and reminding the user about the scheduled events and tasks. The user
statements/commands are analyzed with the help of machine learning to give an optimal
solution.
4
1

1. INTRODUCTION
5
1

Artificial Intelligence when used with machines, it shows us the capability of thinking
like humans. In this, a computer system is designed in such a way that typically requires
interaction from human. As we know Python is an emerging language so it becomes easy
to write a script for Voice Assistant in Python. The instructions for the assistant can be
handled as per the requirement of user. Speech recognition is the Alexa ,Siri, etc. In
Python there is an API called Speech Recognition which allows us to convert speech into
text. It was an interesting task to make my own assistant. It became easier to send emails
without typing any word, Searching on Google without opening the browser, and
performing many other daily tasks like playing music, opening your favorite IDE with the
help of a single voice command. In the current scenario, advancement in technologies
are such that they can perform any task with same effectiveness or can say more
effectively than us. By making this project, I realized that the concept of AI in every field
is decreasing human effort and saving time.

As the voice assistant is using Artificial Intelligence hence the result that it is providing
are highly accurate and efficient. The assistant can help to reduce human effort and
consumes time while performing any task, they removed the concept of typing
completely and behave as another individual to whom we are talking and asking to
perform task. The assistant is no less than a human assistant but we can say that this is
more effective and efficient to perform any task. The libraries and packages used to make
this assistant focuses on the time complexities and reduces time.

The functionalities –
include , It can send emails, It can read PDF, It can send text messages, It can open
command prompt, your favorite IDE, notepad etc., It can play music, It can do Wikipedia
searches for you, It can open websites like Google, YouTube,etc., in a web browser, It
can give weather forecast, It can give desktop reminders of your choice. It can have some
basic conversation.

Tools and technologies used –


are Visual Studio code IDE for making this project, and I created all py files in VS code.
Along with this I used following modules and libraries in my project-
pyttsx3, SpeechRecognition, Datetime, Wikipedia, Smtplib, , pyjokes, json, pyaudio etc.
6
1

3. PRESENT SYSTEM
VS
PROPOSED SYSTEM
7
1

Present System-

We are familiar with many existing voice assistants like Alexa, Siri, Google Assistant,
Cortana which uses concept of language processing, and voice recognition. They listens
the command given by the user as per their requirements and performs that specific
function in a very efficient and effective manner. As these voice assistants are using
Artificial Intelligence hence the result that they are providing are highly accurate and
efficient. These assistants can help to reduce human effort and consumes time while
performing any task, they removed the concept of typing completely and behave as
another individual to whom we are talking and asking to perform task. These assistants
are no less than a human assistant but we can say that they are more effective and
efficient to perform any task. The algorithm used to make these assistant focuses on the
time complexities and reduces time. But for using these assistants one should have an
account (like Google account for Google assistant, Microsoft account for Cortana) and
can use it with internet connection only because these assistants are going to work with
internet connectivity. They are integrated with many devices like, phones, laptops, and
speakers etc.

Proposed System-

It was an interesting task to make my own assistant. It became easier to send emails
without typing any word, Searching on Google without opening the browser and
performing many other daily tasks like playing music, opening your favorite IDE with the
help of a single voice command. Jarvis is different from other traditional voice assistants
in terms that it is specific to desktop and user does not need to make account to use this, it
does not require any internet connection while getting the instructions to perform any
specific task. The IDE used in this project is Visual Studio code.
All the python files were created in VS code and all the necessary packages were easily
installable in this IDE. For this project following modules and libraries were used i.e.
pyttsx3, Speech Recognition, Datetime, Wikipedia, Smtplib, pywhatkit, pyjokes, json,
time etc. With the advancement Jarvis can perform any task with same effectiveness or
can say more effectively than us. By making this project, I realized that the concept of AI
in every field is decreasing human effort and saving time. Some basic functionalities of
this project include, It can send emails, It can send text messages, It can open command
prompt, your favorite IDE, notepad etc., It can play music, It can do Wikipedia searches
for you, It can open websites like Google, YouTube, etc., in a web browser, It can give
weather forecast, It can give desktop reminders of your choice. It can have some basic
conversation.
8
1

4. Software Details
9
1

The IDE used in this project is Visual Studio code. All the python files were created in
VS code and all the necessary packages were easily installable in this IDE. For this
project following modules and libraries were used i.e pyttsx3, SpeechRecognition,
Datetime, Wikipedia, Smtplib, pywhatkit, pyjokes, etc.

Visual Studio Code-


Visual Studio Code is a lightweight but powerful source code editor which runs on your
desktop and is available for Windows, macOS and Linux. It comes with built-in support
for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other
languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and
Unity).

Figure 1- VS Code IDE


101

Python Libraries-
In Jarvis following python libraries were used:

 pyttsx3:-
It is a python library which converts text to speech.

 SpeechRecognition:-
It is a python module which converts speech to text.

 Datetime:-
This library provides us the actual date and time.

 Wikipedia:-
It is a python module for searching anything on Wikipedia.

 Webbrowser:-
It provides interface for displaying web-based documents to users.

 os:-
It represents Operating System related functionality.

 Smtplib:-
Simple mail transfer protocol that allows us to send mails and to route mails
between mail servers.

 pywhatkit:-
It is python library to send WhatsApp message at a particular time and can used to
search videoson YouTube.

 Pyjokes:-
It is a python libararies which contains lots of interesting jokes in it.

 Subprocess:-
This module is used for getting system subprocess details which are used in
various commands i.e Shutdown, Sleep, etc. This module comes built-in with
Python.

 Ctypes:-
ctypes is a foreign function library for Python. It provides C compatible data
types, and allows calling functions in DLLs or shared libraries. It can be used to
wrap these libraries in pure Python.
111

 Time:-
It also provides functionality other than representing time, like waiting during
code execution and measuring the efficiency of your code.

 Requests:-
Requests is used for making GET and POST requests. To install this module type
the below command in the terminal.l.

Figure 2- Imported Modules


121

5. Implementation Work Details


131

Jarvis, a desktop assistant is a voice assistant that can perform many daily tasks of
desktop like playing music, opening your favorite IDE with the help of a single voice
command. Jarvis is different from other traditional voice assistants in terms that it is
specific to desktop and user does not need to make account to use this, it does not require
any internet connection while getting the instructions to perform any specific task.

REAL LIFE APPLICATION-

Saves time:- Jarvis is a desktop voice assistant which works on the voice command
offered to it, it can do voice searching, voice-activated device control and can let us
complete a set of tasks.

Conversational interaction:- It makes it easier to complete any task as it automatically


do it by using the essential module or libraries of Python, in a conversational interaction
way. Hence any user when instruct any task to it, they feel like giving task to a human
assistant because of the conversational interaction for giving input and getting the desired
output in the form of task done.

Reactive nature:- The desktop assistant is reactive which means it know human
language very well and understand the context that is provided by the user and gives
response in the same way, i.e. human understandable language, English. So user finds its
reaction in an informed and smart way.

Multitasking:- The main application of it can be its multitasking ability. It can ask for
continuous instruction one after other until the user “QUIT” it.

No Trigger phase:- It asks for the instruction and listen the response that is given by user
without needing any trigger phase and then only executes the task.
141

6. DATA IMPLEMENTATION
AND
PROGRAM EXECUTION
151

As the first step, install all the necessary packages and libraries. The command used to
install the libraries is “pip install” and then import it. The necessary packages includedare
as follows:

Libraries and Packages-

 pyttsx3:-
It is a python library which converts text to speech.

 SpeechRecognition:-
It is a python module which converts speech to text.

 Datetime:-
This library provides us the actual date and time.

 Wikipedia:-
It is a python module for searching anything on Wikipedia.

 Webbrowser:-
It provides interface for displaying web-based documents to users.

 os:-
It represents Operating System related functionality.

 Smtplib:-
Simple mail transfer protocol that allows us to send mails and to route mails
between mail servers.

 pywhatkit:-
It is python library to send WhatsApp message at a particular time and can used to
search videoson YouTube.

 Pyjokes:-
It is a python libararies which contains lots of interesting jokes in it.

 Subprocess:-
This module is used for getting system subprocess details which are used in
various commands i.e Shutdown, Sleep, etc. This module comes built-in with
Python.
161

 Ctypes:- ctypes is a foreign function library for Python. It provides C compatible


data types, and allows calling functions in DLLs or shared libraries. It can be used
to wrap these libraries in pure Python.

 Time:-
It also provides functionality other than representing time, like waiting during
code execution and measuring the efficiency of your code.

 Requests:-
Requests is used for making GET and POST requests. To install this module type
the below command in the terminal.

 Twilio:-
Twilio is used for making call and messages. To install this module type the
below command in the terminal.

FUNCTIONS-

takeCommand ():-
The function is used to take the command as input through microphone of user and
returns the output as string.

wishMe ():-
This function greets the user according to the time like Good Morning, Good Afternoon
and Good Evening.

speak ():- This function returns the audio of Jarvis.


171

7. WORKING MODEL
181

The assistant, on starting, will initially wait for the input to be given from user. If the user
gives input command, via voice, the assistant will capture it, and searches for the
keyword present in the input command. If the assistant was able to find a key word, then
it will perform the task accordingly, and returns the output back to user, in voice. If not,
the assistant will again start waiting for the user to give input. Each of these
functionalities are having their own importance in the whole system working.

Here are some major working of the A.I. assistant:-

 Wikipedia Searches:- We can ask for anything to search in Wikipedia.

Figure 3- Input and Output for Wikipedia Searches


191

 Opening Web browser and YouTube:- We can open Google or YouTube on a


web browser by saying ‘open Google’ and ‘open YouTube’.

Figure 4:- Input for Opening Google

Figure 5:- Output for Opening Google


201

 Play Music:- User can ask for playing any song from the selected directory.

Figure 6:- Input to Play Music

 Location:- User can ask to locate any location in the world. It can be a country,
city or continent. E.g. Indore.

Figure 10:- Input to the Location Indore city


211

Figure 11:- Output to Located Indore city

 Play songs from YouTube:- User can play any song from YouTube Directly.

Figure 13:- Input to play YouTube


221

 Send Email:- User can send message to a particular friend.

Figure 17:- Input for send email


231

8. SYSTEM TESTING
241

The system testing is done on fully integrated system to check whether the requirements
are matching or not. The system testing for Jarvis desktop assistant focuses on the
following four parameters:

 Functionality:-
In this we check the functionality of the system whether the system performs the task
which it was intended to do. To check the functionality each function was checked and
run, if it is able to execute the required task correctly then the system passes in that
particular functionality test. For example to check whether Jarvis can search on Google
or not, as we can see in the figure 19, user said “Open Google”, then Jarvis asked,
”What should I search on Google?” then user said, “What is Python”, Jarvis open
Google and searched for the required input in figure 20.

Figure 19 : Input to open google and search


251

Figure 20 : Wikipedia output

 Usability:-
Usability of a system is checked by measuring the easiness of the software and how user
friendly it is for the user to use, how it responses to each query that is being asked by the
user.
It makes it easier to complete any task as it automatically do it by using the essential
module or libraries of Python, in a conversational interaction way. Hence any user when
instruct any task to it, they feel like giving task to a human assistant because of the
conversational interaction for giving input and getting the desired output in the form of
task done.

The desktop assistant is reactive which means it know human language very well and
understand the context that is provided by the user and gives response in the same way,
i.e. human understandable language, English. So user finds its reaction in an informed
and smart way.

The main application of it can be its multitasking ability. It can ask for continuous
instruction one after other until the user “QUIT” it. It asks for the instruction and listen
the response that is given by user without needing any trigger phase and then only
executes the task.
261

 SECURITY:-
The security testing mainly focuses on vulnerabilities and risks. As Jarvis is a local
desktop application, hence there is no risk of data breaching through remote access. The
software is dedicated to a specific system so when the user logs in, it will be activated.

 STABILITY:-
Stability of a system depends upon the output of the system, if the output is bounded and
specific to the bounded input then the system is said to be stable. If the system works on
all the poles of functionality then it is stable.
271

9. INDIVIDUAL CONTRIBUTION
281

The project titled “My Personal Intelligent A.I. Desktop Voice Assistant: Jarvis” was
designed by me individually. From installing of all the packages, importing, creating all
the necessary functions, was all done by me individually. I myself have done all the
research before making this project, designed the requirement documents for the
functionalities and all the documentation, code and made the project in such a way that it
is deliverable at each stage. I have written the complete code in Python language and in
VS code IDE from where it was very easy to install the packages and libraries, I have
created the functions like takeCommand(), wishMe() and sendEmail() which has the
following functionalities, like takeCommand() which is used to take the command as
input through microphone and returns the output as string, wishMe() that greets the user
according to the time like Good Morning and Good Evening, sendEmail(), that is used to
send emails. While making this project I realized that with the advancement Jarvis can
perform any task with same effectiveness or can say more effectively than us. By making
this project, I realized that the concept of AI in every field is decreasing human effort and
saving time. Functionalities of this project include, it can send emails, it can send text
messages, your favorite IDE etc. It can play music, it can do Wikipedia searches for you,
it can open websites like Google, YouTube, etc in a web browser. It can have some basic
conversation. At last, I have updated my report and completed it by attaching all the
necessary screen captures of inputs and outputs, mentioning the limitations and scope in
future of this project.
291

10. CONCLUSION
301

Jarvis is a very helpful voice assistant without any doubt as it saves time of the user by
conversational interactions, its effectiveness and efficiency. But while working on this
project, there were some limitations encountered and also realized some scope of
enhancement in the future which are mentioned below:

LIMITATIONS:-
 Security is somewhere an issue, there is no voice command encryption in this
project.
 Background voice can interfere
 Misinterpretation because of accents and may cause inaccurate results.
 Jarvis cannot be called externally anytime like other traditional assistants like
Google Assistant can be called just by saying, “Ok Google!”

SCOPE FOR FUTURE WORK:-

 Make Jarvis to learn more on its own and develop a new skill in it.
 Jarvis android app can also be developed.
 Make more Jarvis voice terminals.
311

jbjjb

11.BIBLIOGRAPHY
321

1.F. Galton. Regression towards mediocrity in hereditary stature. Journal of the


Anthropological Institute of Great Britain and Ireland, pages 246–263, 1886.

2.W. S. McCulloch and W. Pitts. A logical calculus of the ideas immanent in


nervous activity. The bulletin of mathematical biophysics, 5(4):115–133, 1943.

3.F. Rosenblatt. The perceptron, a perceiving and recognizing automaton


Project Para. Cornell Aeronautical Laboratory, 1957.

4.B. Widrow. Adaptive ”Adaline” neuron using chemical ”memistors”. Number


Technical Report 1553-2. Stanford Electron. Labs., Stanford, CA, October 1960.

You might also like