You are on page 1of 31

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

“JNANA SANGAMA”, BELAGAVI– 590 018

INTERNSHIP TRAINING REPORT


On
“ Jarvis: A Virtual Voice Assistant for Desktop Using Python”
Submitted in partial fulfillment of the requirements for the award of the degree of
BACHELOR OF ENGINEERING
In
ELECTRONICS & COMMUNICATION ENGINEERING
By

MUSKAN 4GL18EC022
NISHMITHA T S 4GL18EC026
SUDHAKAR Y B 4GL18EC041
VARSHA RAVINDRAN 4GL18EC046

Under the Guidance of:

Prof. BHAGYAMMA S
M. TECH.,
Associate. Professor
Dept. of E&C Engineering
Government Engineering College,
Kushalnagar-571 234

DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING


GOVERNMENT ENGINEERING COLLEGE, KUSHALNAGAR – 571 234
KARNATAKA STATE, INDIA.
2021-2022
Government Engineering College, Kushalnagar-571234
Department of Electronics & Communication Engineering
VTU Research Center

CERTIFICATE
Certified that the Internship Training Report entitled “Jarvis: A Virtual Voice Assistant
for Desktop Using Python” carried out by Miss. Muskan USN: 4GL18EC022, Miss.
Nishmitha T S USN: 4GL18EC026, Mr. Sudhakar Y B USN: 4GL18EC041 and Miss.
Varsha Ravindran USN: 4GL18EC046 are bonafide students of Government Engineering
College, Kushalnagar in partial fulfillment for the award of Bachelor of Engineering in
Electronics and Communication Engineering of the Visvesvaraya Technological
University, Belagavi during the year 2021-2022. It is certified that all
corrections/suggestions indicated for Internal Assessment have been incorporated in the
Internship Report. The Internship Report has been approved as it satisfies the academic
requirements in respect of the Internship Report prescribed for the Bachelor of
Engineering Degree.

Prof. Bhagyamma S Dr. A L Choodarathnakara Dr. Seenappa


Guide, Dept. of ECE HOD, Dept. of ECE Principal

Internal Viva
Name of the Examiners Signature with date

1. 1.

2. 2.

3. 3.
Government Engineering College, Kushalnagar-571234
Department of Electronics & Communication Engineering
VTU Research Center

CERTIFICATE
This is to Certify Ms. Muskan USN: 4GL18EC022, Ms. Nishmitha T S USN:
4GL18EC026 and Mr. Sudhakar Y B USN: 4GL18EC041, Ms. Varsha Ravindran USN:
4GL18EC046 are bonafide students of Government Engineering College, Kushalnagar
has succesfully completed Internship Training [18ECI85] titled “Jarvis: A Virtual Voice
Assistant for Desktop Using Python” at Electronics and Communication Engineering,
GEC, VTU Research Center, Kushalnagar. This Internship Training have been carried out
from 1st to 30th September 2021 [Four Weeks], in partial requirement for the award of
Bachelor of Engineering in Electronics and Communication Engineering from
Government Engineering College, Kushalnagar, affiliated to Visvesvaraya Technological
University, Belagavi-590018.

Internship Guide
Prof. BHAGYAMMA S
M. TECH.,
Associate Professor
Dept. of E&C Engineering
Government Engineering College,
Kushalnagar-571 234
DECLARATION
We the members of the Internship team, studying in the Eighth semester of Electronics

and Communication Engineering, Government Engineering College, Kushalnagar hereby

declare that the entire Internship Training entitled “ Jarvis: A Virtual Voice Assistant for

Desktop Using Python” has been carried out under the guidance of Prof. Bhagyamma S,

Associate Professor, Department of Electronics and Communication Engineering,

Government Engineering College, Kushalnagar. This Internship Work is submitted to the

Visvesvaraya Technological University, Belagavi in partial fulfillment of the requirement

for the award of the degree of Bachelor of Engineering in Electronics and

Communication Engineering during the academic year 2021-2022.

This Internship Training has not been submitted previously for the award of any other

degree or diploma to any other institution or university.

Date:
Place: Kushalnagar

Name of the Students USN Signature

1. Muskan 4GL18EC022

2. Nishmitha T S 4GL18EC026

3. Sudhakar Y B 4GL18EC041

4. Varsha Ravindran 4GL18EC046

i
ACKNOWLEDGMENT
The satisfaction that accompanies the successful completion of any task would be
incomplete without the mention of people who made it possible. We consider our
privilege to express the voice of gratitude and respect to all those who guided and
inspired us in completion of Internship Work.
We wish to express our gratitude to Dr. Seenappa, Principal, GEC, Kushalnagar, for
providing excellent working environment.
We are grateful to Dr. A L CHOODARATHNAKARA, HOD Dept. of ECE, GEC,
Kushalnagar, for allowing us to use the laboratory resources of the department to
complete Internship Work successfully.
We extend our heartfelt gratitude to our internship guide Prof. BHAGYAMMA S,
Associate Professor, Dept. of ECE, GEC, Kushalnagar, for her timely support and
suggestions.
We extend our earnest gratitude to our beloved faculty Prof. KARIBASAPPA R, Prof.
MANJUNATHA A, and Prof. DEVENDRAKUMAR S M for their moral support.
We also express our warm gratitude to our beloved faculty Prof. HAVYAS V B, Prof.
SUSHMA S, Prof. KAVYA K G, Prof. SANDHYA and the entire non-Teaching faculty.
We would like to thank our parents for their constant moral support throughout the
completion of this Internship Training. Finally, last but not the least we would like to
extend our deep sense of gratitude to our friends who always inspired us and encouraged
us throughout the completion this of this Internship Training Report.

1. Muskan

2. Nishmitha T S

3. Sudhakar Y B

4. Varsha Ravindran

ii
ABSTRACT
Python is an emerging language since so it becomes easy to write a script for Voice
Assistant in Python. Python is a widely used, object oriented and high-level
programing language. 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, Ok Google, Cortana. In
Python there is an API called Speech Recognition which allows us to convert speech
into text. Users can interact with the assistant through voice commands. This project
aims to develop a private assistant for Computer. Personal Assistants, or
conversational interfaces, or chat bots reinvent a new way for individuals to interact
with computes. As a personal assistant, it assists the end-user with day-to-day
activities like a general human conversation, Telling the current time, searching
queries from Wikipedia, opening Microsoft word, playing songs, opening YouTube
through voice. In this present situation, advancement in technologies is such that they
can perform any job with same effectiveness as human or can say more effectively
than human. Finding solution in few seconds. The software uses a device’s
microphone to receive voice requests while the output takes place at the system’s
speaker.

iii
Table of Contents

List of Figures v
List of Tables vi
1 Research Center Profile 01
1.1 Government Engineering College Kushalnagar 01
1.2 Infrastructure and Facilities 03
1.3 Electronics and Communication Research Center 05
1.4 Summary 06

2 Preamble of Virtual Voice Assistant 07


3 Methodology 09
3.1 Introduction 09
3.2 Design 09
3.3 Objectives of the Work 10
3.4 Methodology 11
4 Hardware and Software 12
4.1 Python 3.9.5 12
4.2 Jupyter Notebook 13
4.3 Natural Language Toolkit 14
5 Results and Conclusion 16
5.1 Result 16
5.1.1 User Input 20
5.1.2 Introducing to User 22
5.1.3 Reading out News 22
5.1.4 YouTube Searches 23
5.1.5 Web Searches 24
5.1.6 Opening Applications 25
5.1.7 Weather related Information 11

6 Conclusion 20
Reference 21

iv
List of Figures

Figure 1.1: Government Engineering College Kushalnagar 01

Figure 1.2: Library 01

Figure 1.3: Laboratories 03

Figure 3.1: Design 09


Figure 3.2: Methodology for Virtual Voice Assistant 11
Fig 3.3: Python 12
Figure 5.1: User Input 16

Figure 5.2: Introducing itself 16

Figure 5.3: Reading out News 17

Figure 5.4: Asking Assistant to open Youtube 17

Figure 5.5: Asking Assistant to search through Wikipedia 18

Figure 5.6: Assistant Opening MS Word 18

Figure 5.7: Assistant giving Weather report 19

v
List of Tables

1.1 Courses Offered 01


1.2 Library books 04

vi
Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Chapter 1

VTU Research Center


Internship program is the most significant stage in Bachelor of Engineering degree which
carries a greatest learning technique to know about the workplace and cope up the
environment in such a way like trained employees. The experience that got by an intern
during the internship period will make them more elegant and professional in their future
job sector. This internship training of four-week duration was carried out at Electronics
and Communication Research Center, Government Engineering College, Kushalnagar,
from 01-09-2021 to 30-09-2021.

1.1 Government Engineering College Kushalnagar


Government Engineering College, Kushalnagar is one of the technical education institute,
located in Kushalnagar, Madikeri Taluk, Karnataka, India. This college was established in
2007-08 and is affiliated to Visvesvaraya Technological University and recognized by
AICTE. This college has four branches which is shown in Table 1.1.

(a) (b)

Fig 1.1: Government Engineering College Kushalnagar

Table 1.1: Courses Offered

Name B.E(ECE) B.E(CSE) B.E(Mech) B.E(Civil)

Duration 4 Yrs 4 Yrs 4 Yrs 4 Yrs

Dept. of E&C Engineering, GEC, Kushalnagar Page 1


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

1.1.1 Vision

To become an exemplary institution for engineering education and technology to create


high quality professionals having technical competency, leadership qualities, ethical
behavior, innovative abilities with the support of best academic environment and creative
faculty.

1.1.2 Mission

• To produce competitive and high caliber engineering professionals.

• To enhance the commitment of faculty and students to the centrality of diversity,


social justice and democratic citizenship.

• To initiate and participate in community activities that will serve as avenue for
applying engineering knowledge for the benefit of the society.

• To provide technical solution through relevant research and consultancy.

1.1.3 Goals

• To provide a creative and the best possible education facility for studies, training,
research, development and innovations, extension of work relevance amongst the
students and faculty. Studies, training research, development and innovations,
provide creative and better education facilities for students and staff’s work ethic
expansion.

• To train the students and prepare them in terms of effective communication


required for career in engineering and technology which enables them to
function ethically and professionally.

• To establish linkages and mutual assistance endeavors with Government, industry


and other institutions in the areas of engineering education, research and
extension services.

• To create a model mentorship to provide a mentored educational experience to


students of all cross sections of the society.

Dept. of E&C Engineering, GEC, Kushalnagar Page 2


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

• To provide opportunities to faculty to update their qualifications, knowledge and


skills through higher education, seminars and conferences which enable them to
disseminate, to enhance knowledge to student community.

1.2 Infrastructure and Facilities


In this college has air-conditioned classrooms, staff-rooms, library, laboratory, campus,
canteen, playground, seminar hall and parking facility. The college campus is Wi-Fi
enabled which can be accessed by the students and staff members. The campus and all
classrooms are CCTV-enabled to cater to the safety requirement. The laboratory is
facilitated with good equipment’s.

The college is provided with eShikshana network for administrative purposes and other
activities of the VTU. Many sports, cultural activities and workshops are conducted to
enhance students eligibility. Talent minute is conducted every day to expose the student’s
talents in cultural and sports field. Staffs for administration, teaching, laboratory and
library are present to support the students and college infrastructure.

1.2.1 Classrooms

The classrooms in the college retain their heritage look with the furniture’s. The
classrooms at GECK facilitate a blend of traditional and modern modes of teaching with
technological aids such as ceiling mounted projectors, roll down screens, green boards
and podium for the faculty.

1.2.2 Faculty

The faculty members are good and well qualified. The faculties are more supportive,
motivating and friendly. They also guide us very well for extracurricular activities. The
college has separated staff-rooms and these rooms provide the faculty with a peaceful and
comfortable place for their academic pursuits. The students have personal interaction with
the faculty on academic and extra-curricular activities

Dept. of E&C Engineering, GEC, Kushalnagar Page 3


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

1.2.3 Library

The GECK library acts as a central knowledge center for the students and faculty of the
college and the collection of this knowledge center comprises of documents in
Engineering subjects (Civil, E&C, Mechanical and CS). Efforts are going on to provide
computerized library services. The Table 1.2 gives the details on library collection.

Fig 1.2: Library

Table 1.2: Library books

Sl No Courses No of Books

1. Electronics & Communication Engineering 501

2. Computer Science and Engineering 160

3. Civil Engineering 583

4. Mechanical Engineering 376

5. Science 536

TOTAL 2156

1.2.4 Scholarships
• Scholarship from The Department of Oppressed Backward Classes and
Minority and Taluk Panchayat for the students.

Dept. of E&C Engineering, GEC, Kushalnagar Page 4


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

• From the Department of Social Welfare, scholarships for students


belonging to SC/ST category.
• From the Department of Minority welfare, Education loans are provided at
reduced interests to students belonging to minority communities such as
Muslims, Buddhists, Sikhs, Christians etc.
• Scholarships awarded to merit students from Jindaal Foundation.

1.2.5 Physical Education

The college is good in sports activities. Every year the college holds sports competition,
inter branch matches and sports day. For proper training and grooming of players the
college provides coaching facilities to the players for different games. Students are
trained for NSS to develop among themselves a sense of social and civic responsibility.
Blood donation camp is conducted to serve the needy patients. Swachh Bharat classes are
conducted to promote cleanliness and hygiene.

1.3 Electronics and Communication Research Center


The E and C research center consist of well-equipped classrooms, staff-rooms, separate
branch library and laboratories with CCTV camera installed in each area. The laboratory
is facilitated with good equipments. Software labs are provided with good computer
facilities with UPS connection. Hardware labs are provided with good equipments to
conduct the experiments. The lecturers instruct the students well while performing
laboratory work as well as in the classroom. Separate spacious auditorium facilitated with
good sound system, seating facility, free Wi-Fi and projector is also available.

Many sports, cultural activities and workshops are conducted to enhance student’s
eligibility. A standby power generator is provided to take care of the occasional power
shut down due to maintenance. Laboratories are open every time for the students to help
them to spend extra time to make use of the abundant information. Students are trained
for advanced documentation work and to do research in documentation techniques
continuously for sharpening them. Research in different fields specially in documentation
and knowledge organization. Students are involved in doing various projects every year

Dept. of E&C Engineering, GEC, Kushalnagar Page 5


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

and some projects are also awarded by Karnataka State Council for Science and
Technology (KSCST).

(a) (b)

Fig 1.3: Laboratories

1.4 Summary
Being a part of this internship program, the opportunity to accumulate lot of information
in the field of MATLAB and Python, to some extent it has made access to seek some
practical knowledge. It is worth to mention that, the resource persons were very
informative. Moreover, attending this internship program was helpful to accumulate
theoretical knowledge with practical experiences.

Dept. of E&C Engineering, GEC, Kushalnagar Page 6


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Chapter 2

PREAMBLE
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.
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 on
WhatsApp, 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.
Each company-developer of the intelligent assistant implements his own specific methods
for development, which in turn affects the final output. One assistant can produce speech
more qualitatively, another can more neatly and without more explanations and
corrections do tasks, others are able to do a narrower range of tasks, but most accurately
and as the user demands. Surprisingly, there is no universal assistant who would do all

Dept. of E&C Engineering, GEC, Kushalnagar Page 7


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

tasks equally well. People often spend more time on doing routine tasks, and they can be
automated with these types of personal assistants. When someone works in an
environment with which he/she is not familiar with, they often find it difficult to locate
applications that they need, like browser, any IDE or nay other software. Most of the
time, they will end up wasting hours of time, searching for the application alone. This
results in unnecessary time wastage. Therefore, a voice enabled personal assistant will
help automating this process. User is expected just to give a voice command, and the
assistant will take care of the rest.
These systems are constantly improving and improving, go beyond personal computers
and have already firmly established themselves in different mobile devices and gadgets.
The primary goal of this work is to build a local voice assistant that performs the work of
human and the daily task that a human needed to do in day-to-day life. It has some new
features like posting comments on the social media websites such as Facebook,
Instagram, etc. by just few simple commands. You can also know the weather around and
can get the climate conditions in your local region. It can open and launch web-
applications and the local storage of the user computer.

Dept. of E&C Engineering, GEC, Kushalnagar Page 8


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Chapter 3

Methodology
3.1 Introduction
In recent years, more innovative technologies were developed to ease our professional
lifestyle. We are building a PC Personal Assistant that works on voice commands and
executes the user query. Our project, PC Personal Assistant is built mainly using python.
The software uses a device’s microphone to accept voice requests while the output takes
place at the system’s speaker. It's a mixture of varied technologies: voice recognition,
voice analysis, and language processing. When a user asks an assistant to perform a task,
the natural language audio signal is converted into digital data which will be analyzed by
the software. Keywords are used to perform certain tasks. Keywords are defined for
particular tasks and if that word is present in your audio the actual tasks are going to be
performed. Tasks that our Pc assistant can perform are searching the information from
Wikipedia and reading the information, fetching top news from Times etc. Python also
provides various libraries for our help. Speech Recognition library is employed to
perform speech to text conversion. Wikipedia library is employed to urge information
from Wikipedia. pyttsx3 library is employed to perform the text to speech, etc. All the
tasks are within the textual form which is then converted into an audio signal.

3.2 Design

SPEECH VOICE
RECOGNITION ASSIST API calls
MODULE

PYTHON
BACKEND

TEXT TO
SPEECH
MODULE

Figure 3.1: Working of Text-to-Speech System

Dept. of E&C Engineering, GEC, Kushalnagar Page 9


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

The system is designed using the concept of Artificial Intelligence and with the help of
necessary packages of Python. Python provides many libraries and packages to perform
the tasks. The data in this project is nothing but user input, whatever the user says, the
assistant performs the task accordingly. The user input is nothing specific but the list of
tasks which a user wants to get performed in human language i.e., English.
The IDE used in this project is Jupyter Notebook. All the python files were created 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,
pywhatkit, pyjokes etc. The JARVIS as it gives a design and interesting look while
having the conversation.
3.3 Objectives of the work
The process of designing a virtual voice assistant with the help of speech recognition
module inorder to perform assigned task is divided into five basic categories. They are as
follows:
1. Speech Recognition Module: It is a python module which converts speech to
text. The similar text is then received and fed to the central processor. The speech
input Users can obtain texts from the special corpora organized on the pc server at
the data center from the microphone is temporarily stored within the system which
is then sent to Google cloud for speech recognition.
2. Python Backend: A python backend is simply server-side software written in
Python. The python backend gets the output from the speech recognition module
and then identifies whether the speech output is an API Call and Context
Extraction. The output is then sent back to the python backend to give the required
output to the user.
3. API calls: API stands for Application Programming Interface. An API is a
software medium that allows two applications to talk to each other. An API may
be a messenger that delivers your request to the provider that you’re requesting it
from and so delivers the response back to you
4. Content Extraction: Context extraction (CE) is that the task of automatically
extracting structured information from unstructured and/or semi-structured
machine-readable documents. In most 14 cases, this activity concerns processing
human language texts using language processing (NLP). 9 Recent activities in

Dept. of E&C Engineering, GEC, Kushalnagar Page 10


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

multimedia document processing like automatic, annotation and content extraction


out of images/audio/video might be seen as context extraction TEST RESULTS.
5. Text-to-speech module: Text-to-Speech refers to the power of computers to read
text aloud. Text-to-Speech Engine converts written communication to a phonemic
representation, then converts the phonemic representation to waveforms which
will be output as sound. Text-to-Speech engines with different languages, dialects
and specialized vocabularies are available through third-party publishers.
3.4 Methodology

Start

Send Voice Command

Thus The No
Command Matches

Run The Program

Continue to work
Yes

end

Figure 3.2: Methodology for Jarvis: A Virtual Voice Assistant for Desktop Using
Python

Dept. of E&C Engineering, GEC, Kushalnagar Page 11


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Chapter 4

Hardware and Software

Hardware requirements
Laptop or computer with at least 8 GB RAM.

Software Requirements
• Python 3.9.5
• Jupyter Notebook
• NLTK (Natural Language Tool Kit)

This section gives the explanation of the software used for programming in the project

4.1 Python 3.9.5

Fig 3.3 Python


Python is a powerful programming language ideal for scripting and rapid application
development. It is used in web development (like: Django and Bottle), scientific and
mathematical computing (Orange, SymPy, NumPy) to desktop graphical user Interfaces
(Pygame, Panda3D). Python is designed to be highly readable. It uses English keywords
frequently whereas the other languages use punctuations. It has fewer syntactical
constructions than other languages.
• Python is Interpreted − Python is processed at runtime by the interpreter. You
do not need to compile your program before executing it. This is similar to PERL
and PHP.
• Python is Interactive − You can actually sit at a Python prompt and interact with
the interpreter directly to write your programs.
• Python is Object-Oriented − Python supports Object-Oriented style or technique
of programming that encapsulates code within objects.

Dept. of E&C Engineering, GEC, Kushalnagar Page 12


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

• Python is a Beginner's Language − Python is a great language for the beginner-


level programmers and supports the development of a wide range of applications
from simple text processing to WWW browsers to games.
Python's features include −
• Easy-to-learn − Python has few keywords, simple structure, and a clearly defined
syntax. This allows a student to pick up the language quickly.
• Easy-to-read − Python code is more clearly defined and visible to the eyes.
• Easy-to-maintain − Python's source code is fairly easy-to-maintain.
• A broad standard library − Python's bulk of the library is very portable and
cross-platform compatible on UNIX, Windows, and Macintosh.
• Interactive Mode − Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
• Portable − Python can run on a wide variety of hardware platforms and has the
same interface on all platforms.
• Extendable − You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more
efficient.
• Databases − Python provides interfaces to all major commercial databases.
• GUI Programming − Python supports GUI applications that can be created and
ported to many system calls, libraries and windows systems, such as Windows
MFC, Macintosh, and the X Window system of Unix.
• Scalable − Python provides a better structure and support for large programs than
shell scripting.

4.2 Jupyter Notebook


Jupyter Notebook (formerly IPython Notebooks)is a web-based interactive computational
environment for creating Jupyter notebook documents. The "notebook" term can
colloquially make reference to many different entities, mainly the Jupyter web
application, Jupyter Python web server, or Jupyter document format depending on
context. A Jupyter Notebook document is a JSON document, following a versioned
schema, containing an ordered list of input/output cells which can contain code, text

Dept. of E&C Engineering, GEC, Kushalnagar Page 13


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

(using Markdown), mathematics, plots and rich media, usually ending with the ".ipynb"
extension.

A Jupyter Notebook can be converted to a number of open standard output formats


(HTML, presentation slides, LaTeX, PDF, ReStructuredText, Markdown, Python)
through "Download As" in the web interface, via the nbconvert library or "jupyter
nbconvert" command line interface in a shell. To simplify visualisation of Jupyter
notebook documents on the web, the nbconvert library is provided as a service through
Viewer which can take a URL to any publicly available notebook document, convert it to
HTML on the fly and display it to the user.

4.3 Natural Language Toolkit


NLTK is a leading platform for building Python programs to work with human language
data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as
WordNet, along with a suite of text processing libraries for classification, tokenization,
stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP
libraries, and an active discussion forum.
Thanks to a hands-on guide introducing programming fundamentals alongside topics in
computational linguistics, plus comprehensive API documentation, NLTK is suitable for
linguists, engineers, students, educators, researchers, and industry users alike. NLTK is
available for Windows, Mac OS X, and Linux. Best of all, NLTK is a free, open source,
community-driven project.
NLTK has been called “a wonderful tool for teaching, and working in, computational
linguistics using Python,” and “an amazing library to play with natural language.”
Natural Language Processing with Python provides a practical introduction to
programming for language processing. Written by the creators of NLTK, it guides the
reader through the fundamentals of writing Python programs, working with corpora,
categorizing text, analyzing linguistic structure, and more.

4.4 Data Implementation and Program Execution


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 included
are as follows:

Dept. of E&C Engineering, GEC, Kushalnagar Page 14


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

4.4.1. LIBRARIES AND PACKAGES:


• pyttsx3: It is a python library which converts text to speech.
• Speech Recognition: It is a python module which converts speech to text
• pywhatkit: It is python library to send WhatsApp message at a particular time
with some additional features.
• Datetime: This library provides us the actual date and time.
• Wikipedia: It is a python module for searching anything on Wikipedia.
• Pyjokes: It is a python library which contains lots of interesting jokes in it.
• Webbrowser: It provides interface for displaying web-based documents to users.
• OS: It represents Operating System related functionality.
• 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.

4.4.2. 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.
• taskExecution(): This is the function which contains all the necessary task
execution definition like Weather forecasting, news() and many conditions in if
condition like “open google”, “open youtube”, “search on Wikipedia” ,”play
music” and “open command prompt” etc.

Dept. of E&C Engineering, GEC, Kushalnagar Page 15


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Chapter 5

Results and Conclusion

5.1 Results
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.

User Input - The assistant will wait for the user to give voice command for further
processing.

Fig 5.1: User Input

Introducing to user - The user who is asking assistant to introduce itself, will display the
following.

Fig 5.2: Introducing itself

Dept. of E&C Engineering, GEC, Kushalnagar Page 16


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Reading out news - If the user asks the assistant to read out some news, the assistant will
display the new line by line and it will also read out the news.

Fig 5.3: Reading out news

YouTube searches - If the user asks the assistant to do some YouTube searches, the
assistant will do that. It will ask the user, what to search in YouTube. After receiving the
input, it will open the YouTube page with that respective search.

Fig 5.4: Asking Assistant to open YouTube

Dept. of E&C Engineering, GEC, Kushalnagar Page 17


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Web Searches - If the user asks the assistant to do some web searches, the assistant will
also do that. It will ask the user to search for what, and it will open the google search in a
new tab of browser.

Fig 5.5: Asking Assistant to search through Wikipedia

Opening Applications - If the user asks the assistant to open an application, like MS
Word, or any other, the assistant will do so immediately. And also, it will speak that it
opens the application

Fig 5.6: Assistant Opening MS Word

Dept. of E&C Engineering, GEC, Kushalnagar Page 18


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

Weather-related Information - If the user wants to know weather information of a


particular city or his/her home city this feature comes in handy. Weather-related
information of any city can be provided with the help of this feature. We have used
regular expressions to extract what the user said. To initiate this function user has to say
current weather or weather in XYZ city.

Fig 5.7: Assistant giving weather report

Dept. of E&C Engineering, GEC, Kushalnagar Page 19


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

5.2 CONCLUSION
Voice assistants are useful in many fields such as education, daily life application, home
appliances, etc. The voice assistant is also useful for illiterate people they can get any
information just by saying to the assistant. It is automated with various services using a
single line command. It eases most of the tasks of the user like searching the web,
retrieving weather forecast details, accessing YouTube videos, and reading out news with
the advancements in technology, particularly in Artificial Intelligence, we can extend the
scope of this project with Home Automation. In future they will evolve the way people do
business around the web and will ultimately integrate world class e-business.

Dept. of E&C Engineering, GEC, Kushalnagar Page 20


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

References
1. Zagade, Y. S., Gaikwad, P. M., Chavan, A. N., & S.P, M. G. (2021). ADVANCED
VOICE ASSISTANT BASED ON ARTIFICIAL INTELLIGENCE. International
Research Journal of Modernization in Engineering Technology and Science, 1849-
1851.
2. Sakharkar1, A., Tondawalkar, S., Thombare, P., & Sonawane, R. (2021). Python
Based AI Assistant for Computer. International Research Journal of Engineering and
Technology (IRJET), 3686-3688.

3. Geetha, V., Gomathy, C., Vardhan, K. M., & Kumar, N. P. (2021). The Voice
Enabled Personal Assistant for Pc. International Journal of Engineering and
Advanced Technology (IJEAT), 10, 162-165.
4. Vora, J., Yadav, D., Jain, R., & Gupta, J. (2021). JARVIS: A PC Voice Assistant.
International Journal of Advance Study and Research Work , 4, (2581-5997).

Dept. of E&C Engineering, GEC, Kushalnagar Page 21


Jarvis: A Virtual Voice Assistant for Desktop Using Python 2021-22

INTERNSHIP ASSOCIATES

NAME: Muskan NAME: Nishmitha T S


USN: 4GL18EC022 USN: 4GL18EC026
ADDRESS: Chilkunda, ADDRESS: Chatrada Beedi,
Hunsur(T) Mysore(D)-571105 Periyapatna(T), Mysore-571107
Mail: muskanchilkunda0@gmail.com Mail: tsnishmitha@gmail.com
Phone no: 6364138390 Phone no: 7090208093

NAME: Sudhakar Y B NAME:Varsha Ravindran


USN: 4GL18EC041 USN:4GL18EC046
ADDRESS: Yarahally village, ADDRESS:Cumbour Estate,
Hand post,Kasaba(Hobli), P B No-1, Somwarpet(T)
HDKote(T),Mysore(D) Kodagu(D)-571251
Mail: sudhakaryb7777@gmail.com Mail: varsha.ravindran09@gmail.com
Phone no: 9945460627 Phone no: 7022896756

Dept. of E&C Engineering, GEC, Kushalnagar Page 22

You might also like