Group 1 Project report jarvis ai voice assistant
Group 1 Project report jarvis ai voice assistant
Bachelor of Engineering
by
Affiliated to
UNIVERSITY OF MUMBAI
CERTIFICATE
This mini project report entitled “JARVIS: AI Voice Assistant” by, Mr. Brijesh Dubey,
Miss. Harshada Chaudhari, Miss. Jaya Negi, Miss. Shweta Pandey is approved for the
degree of Bachelor of Engineering in Computer Engineering (Second Year) for academic
year 2021 - 2022.
Examiners
1.
2.
Supervisor
1.
Date:
Place:
Declaration
I declare that this written submission represents my ideas in my own words and where others'
ideas or words have been included, I have adequately cited and referenced the original sources. I also
declare that I have adhered to all principles of academic honesty and integrity and have not
any violation of the above will be cause for disciplinary action by the Institute and can also evoke penal
action from the sources which have thus not been properly cited or from whom proper permission has
Date:
Place:
Acknowledgement
A mini project is something that could not have been materialized without cooperation of many people.
Thisproject shall be incomplete if I do not convey my heartfelt gratitude to those people from whom I
havegot considerable support and encouragement.
It is a matter of great pleasure for us to have a respected Prof. Ashwini Vitekari as my project guide.
We are thankful to her for being constant source of inspiration.
We would also like to give our sincere thanks to Prof. Mayank Mangal, Head of Department, for their
kind support.
Last but not the least I would also like to thank all the staffs of ARMIET college of Engineering
(Information Technology Department) for their valuable guidance with their interest and valuable
suggestions brightened us.
CONTENTS
CH.
TOPIC NAME PAGE NO.
NO
List of Figures i
List of Table ii
INTRODUCTION
1.5 Applicability 7
SURVEY OF TECHNOLOGY
REQUIREMENT ANALYSIS
1
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
CH.
TOPIC NAME PAGE NO.
NO
SYSTEM DESIGN
4
4.1 Methodology 13
REVIEW OF LITERATURE
5
5.1 Review of Literature 14
CONCLUSION 34
REFERENCES 35
2
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
LIST OF FIGURES
1 Flow Chart 12
3 Class Diagram 17
4 Activity Diagram 19
5 System Architecture 20
6 Block Diagram 21
3
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
LIST OF ABBREVIATION
INTEGRATE DEVELOPMENT
3 IDE
ENVIRONMENT
4 AI ARTIFICIAL INTILIGENCE
5 ML MACHINE LEARNING
APPLICATION PROGRAMMING
6 API
INTERFACE
OBJECT ORIENTED
7 OOPS
PROGRAMMING
RAPID APPLICATION
9 RAD
DEVELOPMENT
4
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
ABSTRACT
Voice control is a major growing feature that change the way people can live. The
voice assistant is commonly being used in smartphones and laptops. AI-based Voice
assistants are the operating systems that can recognize human voice and respond via
integrated voices. The voice assistant will gather the audio from the microphone and
then convert that into text, later it is sent through GTTS (Google text to speech).
GTTS engine will convert text into audio file in English language, then that audio is
played using play sound package of python programming Language. Keywords-Voice
control, AI-based Voice Assistant, GTTS Engine, Playsound, Python.
5
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
INTRODUCTION
1.1 Objective of the Project:
This Voice recognition technology is evolving rapidly and is expected to become not only the
default input form for smartphones, but also for cars and other home appliances such as TV and
fridge. Due to the unique features associated with voice input, including an implicit verbalization of
commands, privacy and acceptability issues may affect the usage and adoption voice-bases
JARVIS is a personal desktop assistant that keeps users informed and productive, helping them
get things done across devices and platforms.
Skills define the tasks that jarvis can accomplish. You can extend jarvis by adding your own
skills that let your users interact with your service via jarvis.
Jarvis invokes the skills based on input from the user, spoken.
Because jarvis can be used in laptop or pc , some may have a screen, while others may have a
speaker, and some may have both. You should ensure that your bot is capable of handling any
of these devices. The bot framework provides device information to your skill
1.2 Background Research:
A voice assistant or intelligent personal assistant is a software agent that can perform tasks
or services for an individual based on verbal commands i.e. by interpreting human speech and
respond via synthesized voices.
Users can ask their assistants’ questions, control home automation devices, and media
playback via voice, and manage other basic tasks such as email, to-do lists, open or close any
application etc with verbal commands.
Who doesn't want to have the luxury to own an assistant who always listens for your call,
anticipates your every need, and takes action when necessary? That luxury is now available thanks
to artificial intelligence-based voice assistants.
Voice assistants come in somewhat small packages and can perform a variety of actions
after hearing your command. They can answer questions, play music, place online orders and do all
kinds of AI-based stuff.
Voice assistants are not to be confused with virtual assistants, which are people who work
remotely and can, therefore, handle all kinds of tasks. Rather, voice assistants are technology based.
As voice assistants become more robust, their utility in both the personal and business realms will
grow as well.
1.3 Main Purpose:
This Software aims at developing a personal assistant for windows-based systems. The main
purpose of the software is to perform the tasks of the user at certain commands, provided in either
of the ways, speech or text. It will ease most of the work of the user as a complete task can be done
on a single command. Jarvis draws its inspiration from Virtual assistants like Cortana for Windows
and Siri for iOS. Users can interact with the assistant either through voice commands or keyboard
input.
6
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
7
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
SURVEY OF TECHNOLOGY
8
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
9
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
REQUIREMENT ANALYSIS
10
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
taking most the time, and implement just that part more efficiently in some lower-level language.
This will result in much less programming and more efficient code (because you will have more
time to optimize) than writing everything in a low-level language.
3.3 Software Requirements and Hardware Requirements:
3.3.1 Hardware Requirements:
Laptop or Computer
RAM: 4GB
11
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
WIKIPEDIA:
Wikipedia is a library in python which it possible for the virtual assistant to
process the queries regarding Wikipedia and display the results to users. This is an
online library and needs an internet connection to fetch the results. The no. of lines
that the user wants to get as a result can be set Manually
OS MODULE:
OS Module provides an operating system dependent functionalities. If we
want to perform operations on files like reading, writing, or manipulate paths, all
these types of functionalities are available in an OS module. All the operations
available raise an error “OS Error” in case of any error like invalid names, paths, or
arguments which may be incorrect or correct but just no accepted by the operating
system.
Pyjokes
Pyjokes is used for collection Python Jokes over the Internet. To install this
module type the below command in the terminal.
PyDictionary
PyDictionary is an open-source python library that is used to find the
meaning of the words, translation of words and sentences to different languages, and
other linguistic properties of different words. PyDictionary uses wordnet for the
meanings of the words and search engines for translating the words to different
languages.
12
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
SYSTEM DESIGN
4.1 Methodology:
Voice assistants are all written in programming languages, which listens the verbal
commands and respond according to the user's requests. In this project we have used Python
Programming language to build the AI-based Voice assistant. A user can say, "Play me a
Song" or "Open facebook.com", the voice assistant will respond with the results by playing
that particular song or by opening Facebook website. The Voice assistant waits for a pause
to know that users have finished their request, then the voice assistant sends users request to
its database to search for the request.
The request asked by the user gets split into separate commands, so that our voice
assistant can able to understand.
Once within the commands list, our request is searched and compared with the other
requests.
The commands list then sends these commands back to the Voice assistant.
Once the voice assistant receives those commands, then it knows what to do next.
The voice assistant would even ask a question if the request is not clear enough to
process it, in other words, to make sure it understands what we would like to receive.
If it thinks, it understands enough to process it, the voice assistant will perform the task
which the user has asked for.
13
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
REVIEW OF LITERATURE
5.1 Review of Literature:
This research could be is a chunk of a bigger project concerning virtual voice assistant
briefed by theories in human machine interaction. Moreover speech recognition has a brief history
with numerous waves of innovations. Voice recognition for dictation, hunt and voice command has
become vital feature on personal devices: like wearable devices and smartphone’s. This system was
developed as a humanoid application that confirms the necessity of language rework that sends
messages and also use build-in application by processing the commands given by user to the system.
Importantly smartphone gadget was way quicker followed by other wearable devices; so, many
arrived to introduce in-voice virtual voice assistant with the importance of adopting and applying
multiple smart technologies.
This system has some basic features and most importantly mailing and secondly calendar,
where user has the privilege to mail and able to create their required event by providing voice
commands. For instance, if we use artificial intelligence we can are able to turn off the lights
without the instruction by the user. Almost, Everyone has some knowledge about trending voice
assistant like cortana for windows, and Siri for apple users, this virtual voice assistants aren’t as
brainy and intelligent as Ironman's Jarvis which appear in the superhero movie, but the intended
actions are almost similar by virtual voice assistant. It’s like you need a ask question, and within a
few fraction of seconds you will get an answer. It’s just give a command and get result.
14
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
15
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
16
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
17
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
18
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
# To take command
instruction = take_command().lower()
# To greet user
if 'hello jarvis' in instruction:
greet()
while instruction != 'close':
# playing music from youtube
instruction = take_command().lower()
if "play music" in instruction:
speak('Which song or artist would you like to play')
print('Which song or artist would you like to play')
name = take_command()
if name == None:
name = take_command()
print("Playing", name, "on Youtube...")
engine.say("Playing")
i = Music()
i.play_music(name)
elif "youtube" in instruction:
speak('Which video would you like to play')
print('Which video would you like to play')
name = take_command()
if name == None:
name = take_command()
print("Playing", name, "on Youtube...")
engine.say("Playing")
i = Music()
i.play_music(name)
# Wikipedia search
# instruction = take_command()
if 'wikipedia' in instruction:
speak('What information you want?')
print('What information you want?')
name = take_command()
while name == None:
name = take_command()
19
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
wiki(name)
elif 'information' in instruction:
speak('What information you want?')
print('What information you want?')
name = take_command()
while name == None:
name = take_command()
print("Searching", name, "on Wikipedia...")
engine.say("Searching")
wiki(name)
# Movie
if "movie" in instruction:
if 'review' in instruction:
review(instruction)
elif 'suggestion' in instruction:
suggestion(instruction)
# Meaning
if 'meaning' in instruction:
m = Meaning()
m.dictionary()
II speech_to_text.py
import speech_recognition as sr
# import text_to_speech as ts
# from web_automation import *
def take_command():
r = sr.Recognizer()
with sr.Microphone() as source:
print("listening...")
r.pause_threshold = 1
audio = r.listen(source)
try:
print("recognizing")
doubt = r.recognize_google(audio, language='en-in')
print("user said : ", doubt)
except Exception as e:
print("say that again please")
return "None"
return doubt
III text_to_speech.py
import pyttsx3 as p
import datetime
20
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
engine = p.init()
def speak(audio):
engine.say(audio)
engine.runAndWait()
def greet():
t = int(datetime.datetime.now().hour)
if t >= 0 and t < 12:
print("Good morning")
engine.say("Good morning")
elif t>=12 and t<18:
print("Good afternoon")
engine.say("Good afternoon")
else:
print("Good evening")
engine.say("Good evening")
engine.say("I am Jarvis your personal assistant")
print("I am Jarvis your personal assistant")
engine.say("What can i do for you?")
print("What can i do for you?")
engine.runAndWait()
IV youtube.py
from selenium import webdriver
import time
class Music():
def __init__(self):
self.driver = webdriver.Chrome()
V Movie.py
from selenium import webdriver
import time
class Movie():
def __init__(self):
21
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
self.driver = webdriver.Chrome()
def review(name):
m = Movie()
m.movie_review(name)
def suggestion(name):
ms = Movie()
ms.movie_suggestion(name)
VI wikipedia.py
import time
import wikipedia
from text_to_speech import speak
from string import *
# from speech_to_text import take_command
def wiki(doubt):
22
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
# doubt = take_command().lower()
# if 'wikipedia' in doubt:
print("Searching", doubt, "in Wikipedia...")
speak("searching in wikipedia")
# doubt = doubt.replace("wikipedia", take_command())
results = wikipedia.summary(doubt,2)
speak("According to wikipedia")
print(results)
speak(results)
speak('You can have more information on below link')
doubt = str(doubt)
doubt = doubt.replace(' ', '_')
print('https://en.wikipedia.org/wiki/'+doubt)
time.sleep(3)
VII dictionary.py
from PyDictionary import PyDictionary
import speech_recognition as sr
from text_to_speech import *
def take_command():
r = sr.Recognizer()
with sr.Microphone() as source:
print("listening...")
r.pause_threshold = 1
audio = r.listen(source)
try:
print("recognizing")
doubt = r.recognize_google(audio, language='en-in')
print("user said : ", doubt)
except Exception as e:
print("say that again please")
return "None"
return doubt
class Meaning:
def dictionary(self):
# speak = Speaking()
dic = PyDictionary()
speak("Which word do u want to find the meaning sir")
23
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
if __name__ == '__main__':
Meaning()
Meaning.dictionary(self=None)
24
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
25
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
2. Greeting
26
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
3. Play Music
27
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
28
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
29
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
5. Jokes
30
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
6. Wikipedia
31
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
6.1 Wikipedia
32
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
7. Dictionary
33
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
CONCLUSION
In our project we have implemented many things compared to other assistants. Now a days it
is very useful in human life because it is a hands-free application. It is a very simple application. As
well as it is used in a business field also for example in laboratory, the person wears gloves and body
suits for their safety purpose so it is difficult to type, through voice assistant they can get any
information so that their work becomes easy.
Voice assistants are useful in many fields such as education, daily life application, home
appliances etc. and voice assistant is also useful for the illiterate people they can get any information
just by saying to the assistant, luxury is available for people, thanks to AI based voice assistants.
34
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)
JARVIS: AI voice assistant
REFERENCE
1. Kei Hashimoto1, Junichi Yamagishi2, William Byrne3 Simon King2, Keiichi Tokuda, “An
analysis of machine translation and speech synthesis in speech-to-speech translation system”
proceedings of 5108978-1-4577-0539-7/11/$26.00 2011 IEEE.
2. Arriany A. A., Musbah M. S. Applying voice recognition technology for smart home
networks //Engineering & IS(ICEMIS), International Conference on. – IEEE, 2016. – С. 1-6.
3. M. Fishbein and I. Ajzen, Belief, Attitude, Intention and Behavior: An Introduction to
Theory and Research, Addison- Wesley Publishing Company, Inc.: Reading, 1975. 13. R.
Want and B. N. Schilit, ”Interactive Digital Signage,” in Computer, vol. 45, no. 5, pp. 21-24,
May 2012.
4. Nil Goksel-Canbek Mehmet Emin Mutlu, “On the track of Artificial Intelligence: Learning
with Intelligent Personal Assistant” International Journal of Human Sciences.
5. “Speech recognition with flat direct models,” IEEE Journal of Selected Topics in Signal
Processing, 2010.
6. VINAY SAGAR, KUSUMA SM, "Home Automation Using Internet of Things", June-2015,
IRJET, e-ISSN: 2395 -0056.
HTTP://J-A-R-V-I-S-THE-DIGITAL-LIFE-ASSISTANT. SOFT112.COM/
HTTP://JARVIS.AI-DOT.NET/JARVIS.RAR
HTTP://MICHAELCJARVIS.BLOGSPOT.COM/20...
VOICE-COMMAND.COM/FORUM.HTML
https://github.com/Harkishen-Singh/Jarvis-personal-assistant
35
Alamuri Ratnamala Institute of Engineering And Technology (ARMIET)