You are on page 1of 15

A Major Project Report

On
Voice Assistant

Submitted to
Amity University Uttar Pradesh

in partial fulfilment of the requirements for the award of the degree of


Bachelor of Technology
in

Computer Science & Engineering OR Information Technology


Submitted By
Ujjwal Kumar
A7605216006

under the guidance of


Dr. Vandana Dubey
Department of Computer Science and Engineering

AMITY SCHOOL OF ENGINEERING AND TECHNOLOGY


AMITY UNIVERSITY UTTAR PRADESH
LUCKNOW (U.P.)
May 2020

I
AMITY UNIVERSITY
–––––––––UTTAR PRADESH–––––––––

DECLERATION BY THE STUDENT

I, Ujjwal Kumar, student of B.Tech(CSE) hereby declare that the project titled “Voice
Assistant” which is submitted by me to Department of Computer Science and Engineering,
Amity School of Engineering and Technology, Amity University Uttar Pradesh, Lucknow,
in partial fulfilment of requirement for the award of the degree of BACHELOR OF
TECHNOLOGY in Computer Science and Engineering has not been previously formed the
basis for the award of any degree, diploma or other similar title or recognition.
The Author attests that permission has been obtained for the use of any copy righted
material appearing in the Project report other than brief excerpts requiring only proper
acknowledgement in scholarly writing and all such use is acknowledged.

Lucknow
Date
Ujjwal Kumar
B.Tech (CSE)
A7605216006

II
AMITY UNIVERSITY
–––––––––UTTAR PRADESH–––––––––
CERTIFICATE

On the basis of declaration submitted by Ujjwal Kumar student of B.Tech(CSE), I hereby


certify that the project titled ”Voice Assistant” which is submitted to Amity School of
Engineering and Technology, Amity University Uttar Pradesh, Lucknow, in partial
fulfilment of the requirement for the award of the degree of BACHELOR OF
TECHNOLOGY in Computer Science and Engineering , is an original contribution with
existing knowledge and faithful record of work carried out by her under my guidance and
supervision.
To the best of my knowledge this work has not been submitted in part or full for any Degree
or Diploma to this University or elsewhere.

Lucknow
Date:-

Dr. Vandana Dubey

Assistant Professor
Amity University

Wg.Cdr (Dr.) Anil Kumar (Retd)


Asst. Pro. VC & Director ASET
Amity University, Lucknow

III
Abstract
The main aim of this project is to build a program that can able to provide service to the user
as a personal assistant using only voice input and its better known as voice assistant. This
mainly work on speech recognition system which is in recent becoming very famous around
worldwide. Voice interface now a very commonly feature of hand device like phone or
laplets and even with laptops. This system become common in devices to use and control
many features and different interface which make it necessary to understand how these
systems influence our daily tasks. A VAPA (Voice Activated Personal Assistant) used in
smart devices very frequently. Now a day people are using this technology almost every day
when they need to send an email, text, find different place on google map, and to finding
useful new on web. There are many companies who lunched their voice assistant like Siri by
apple, Cortana by Microsoft, google assistance by google etc. People use them to save time,
manage daily schedule to maintain important task. This project includes the functionality of
sending mails and text, google search, weather forecast, web browsing, Wikipedia search
engine along with few other useful functionality

IV
AMITY UNIVERSITY
–––––––––UTTAR PRADESH–––––––––
ACKNOWLEDGEMENT

Before I proceed further, I would like to spend some time in expressing my gratitude
to all those who have been involved in guiding me out during the entire curriculum. I wish to
express my most sincere and profound gratitude to Dr. Deepak Arora, HOD, Computer
Science and Engineering department, ASET, Amity University Lucknow Campus, for giving
me inspiration and required facility and giving me a chance to showcase my capabilities and
also for making me feel comfortable in the strictly professional environment of the college
premises.
Further I would like to express my deep gratitude to Wg. Cdr (Dr.) Anil Kumar,
Director, Amity School of Engineering and Technology (ASET), Amity University
Lucknow Campus, for inspiring me and giving me a chance to showcase my skills and
providing constant support and help to me.
I am also thankful to Dr Vandana Dubey, faculty guide, Computer Science and
Engineering department, ASET, Amity University Lucknow Campus, for his guidance
throughout the work with his help and suggestions. I am also grateful to her for cooperation
in providing all the required resources.
I extend special thanks to my friends and family for their constant support. This
work cannot be completed without the help of above-mentioned people.

Sincerely,
Ujjwal Kumar
Date :……………….

V
List of Figures
Figure 1.1……………………………………………………………………………………1
Figure 1.2……………………………………………………………………………………5
Figure 2.1……………………………………………………………………………………12
Figure 4.1……………………………………………………………………………………15
Figure 4.2……………………………………………………………………………………17
Figure 4.3……………………………………………………………………………………18
Figure 4.4……………………………………………………………………………………18
Figure 4.5……………………………………………………………………………………19
Figure 5.1……………………………………………………………………………………22
Figure 6.1……………………………………………………………………………………25
Figure 6.2……………………………………………………………………………………25
Figure 6.3…………………………………………………………………………………....26
Figure 6.4……………………………………………………………………………………26
Figure 6.5……………………………………………………………………………………27
Figure 6.6……………………………………………………………………………………27
Figure 6.7……………………………………………………………………………………28

VI
List of Tables
1) Table 5.1…………………………………………………………………………23
2) Table 5.2…………………………………………………………………………23

VII
TABLE OF CONTENTS

Declaration………………………………………………………………………………….II
Certificate………………………………………………......................................................III
Abstract……………………………………………………………………….....................IV
Acknowledgement………………………………………………………………………….V

CHAPTER 1: INROUCTION………………………………………………1-8
1.1 Background………………………………………………………………………………1
1.2 Objective…………………………………………………………………………………5
1.3 Purpose, Scope, and Applicability……………………………………………………….6
1.3.1 Purpose…………………………………………………………………………………6
1.3.2 Scope……………………………………………………………………………………6
1.3.3 Applicability…………………………………………………………………………….7

1.4 Achievements…………………………………………………………………………….7
1.5 Organization of report…………………………………………………………………….7

CHAPTER 2: SURVEY OF TECHNOLOGIES……………………...….9-12


2.1 Python………………………………………..…………………………………………….9
2.2 PyCharm community edition……………………………………………………………11

CHAPTER 3: REQUIREMENT AND ANALYSIS…………………….13-14


3.1 Problem Definition………………………………………………………………………13
3.2 Requirement Specification………………………………………………………………13
3.3 Planning and Scheduling………………………………………………………………...14
3.4 Preliminary Product Description………………………………………………………...14

CHAPTER 4: SYSTEM DESIGN……………………………………………….15-20


4.1 Basic Modules………………………………………………………………………….15
4.2 Procedural Design………………………………………………………………………17
4.2.1 Use Case Diagram……………………………………………………………………17
4.2.2 Sequential Diagram…………………………………………………………………..18
4.2.3 Activity Diagram……………………………………………………………………..18
4.2.4 Data Flow Diagram…………………………………………………………………...19

VIII
4.3 Data Integrity…………………………………………………………………………..19
4.4 Security Issues………………………………………………………………………….19
4.5 Test Case Design……………………………………………………………………….20

CHAPTER 5: IMPLEMENTTAION AND TESTING …………………..21-24


5.1 Implementation Approach………………………………………………………………21
5.1.1 Top-down Approach…………………………………………………………………..21
5.1.2 Bottom-up Approach………………………………………………………………….21
5.2 Coding Details and Efficiency…………………………………………………………..21
5.3 Testing Approach……………………………………………………………………….22
5.4 Modification and Improvement…………………………………………………………23

CHAPTER 6: RESULTS AND DISCUSSION………………………………24-29


6.1 Testing Reports………………………………………………………………………….25
6.2 User Documentation…………………………………………………………………….28

CHAPTER 7: CONCLUSION………………………………………………….30-31
7.1 Conclusion………………………………………………………………………………30
7.2 Future Scope…………………………………………………………………………….30
7.3 Limitation……………………………………………………………………………….31
REFERENCES……………………………………………………………………………...32

IX
CHAPTER 1
Introduction
Voice assistant is digital software that uses voice as an input to perform a task, an assistant
consists of three main component voice recognition, NLP (natural language processing) and
last speech synthesis to perform a given task through mainly device like phone, tablet desktop
application etc.
These software’s are design to provide service and help to the user at any time, voice
assistants are used in help and service cell phone lines, smartphones and other locations to
help users with tasks, including requesting information, in a similar fashion to inputting a
search query. Voice assistant are contracted using three thing AI (Artificial Intelligence),
Machine Learning (ML) and voice cognizance technology.
As the stop consumer interacts with the digital assistant, the AI programming makes use of
state-of-the-art algorithms to examine from data input and better itself at predicting the user's
needs. Many assistants are constructed with extra innovative cognitive computing
machineries which will permit a voice assistant to understand and lift out multi-stage requests
with several interactions and perform more composite tasks, such as booking seats at a movie
theatre.
This software is design to bring the working of a fully functional desktop-based voice
assistant which is easy to use because it is working using voice command only.
1.1 Background
This software is mainly design using python on PyCharm as an IDE (integrated development
environment). There are various python libraries included in this which works through
recognition, NLP (natural language processing) and last speech synthesis to perform a given
task. There are many python inbuilt module and libraries are used to create this fully function
software which are:

Fig 1.1: Speech Synthesis Steps

1
The application uses SAPI5 (Microsoft Speech API) for voice recognition and synthesis, it is
also known as void module system which acts as speech engine for this application.
This application also includes various libraries for various modules used in the application to
make it easy to use and effective. These includes:
 Speech_recognition: - Speech recognition is the process of translating spoken words
to text. Python helps many speech recognition engines and APIs, which includes
Google Speech Engine and Google Cloud Speech API. Microsoft Bing and IBM
Speech to Text also uses speech recognition.
 Pyttsx3: - pyttsx is a multi-platform textual content to speech library which is
platform independent. The predominant benefit of the usage of this library for text-
to-speech conversion is that it works offline. Though, pyttsx helps solely Python 2.x.
Hence, we will get pyttsx3 which is improved to work on both version of Python 2.x
and Python 3.x with the identical code.
 Webbrowser: - The webbrowser module offers a high-level interface to enable
exhibiting Web-based files to the users. Under most conditions, sincerely calling the
open () method from the module will open URL the use of the default browser. We
need to import the module and use open () method.
 OS: - this module in python offers a way to use dependent functionality of the
operating system. The method of OS module offers us to interface with the existing
system on which the python is running.
 Time: - Python time module offers many approaches of representing time in code,
like as strings, numbers, and objects. It additionally offers functionality different than
on behalf of time, like waiting throughout code measuring and execution the
effectivity of your code.
 Wikipedia: - This is a very useful library which can easy parse and access the data
from the Wikipedia site. Looking on Wikipedia, for article summaries, get records
like hyperlinks and pics from a page, and more. Wikipedia wraps the API
(MediaWiki) so you can focally point on the usage of Wikipedia data, now not
receiving it.
 Smtplib: - It is a mail protocol SMTP (simple mail Transfer Protocol), which is
responsible for the sending of google mail and routing email among google mail
servers. Smtplib is a python module, which defines an SMTP client session entity
that we are using to send mail to any Internet device through an SMTP or ESMTP
listener daemon. To send a mail through a device there are three parameter we need.
a) Host – Your SMTP server is managed by the host. We can give any URL or a
domain name to it for sending a mail.
b) Port – Generally when you are providing a host then you need to provide a post
number on which the SMTP sever is listening, by default it is set on 25.
c) Local host name – Generally localhost is used because most of the time SMTP
server is run on local device.
Sendmail is the local method which is an instance of SMTP object. Which is
generally used to perform the task sending mail message. It consists of three
constraint
 Send – Address of the sender in a string.
 Receiver – address of the recipient is in a list of string.

2
CHAPTER 2
SURVEY OF TECHNOLOGIES
The technology in this project was Python language with the help of PyCharm community
edition to run python code
2.1 PYTHON
This project is completely based on python using various inbuilt modules. Python is a
dynamic language follow object-oriented approach it was introduced in 1991 by Guido van.
Python is a high-level interpreted programming language which is very powerful because it
can make desktop application as well as web application. The main aim of python to help
programmer write easy but effect code using various libraries and module on small as well as
on large scale. It follows more than one paradigm (OOP, procedural and functional) has
garbage collection and dynamically typed. These things this language very powerful
programming language, according to tutorial point article python language is a must know for
teacher, student as well as professional developer it will help not only in the programmer for
desktop application development but it is special recommend for wed development domain.
There are many advantages of using python as your preferred programming language which
are as followed:
Suitable for beginners: Python is one of the easiest languages in programming world which
make it very easy to understand for new learners. It has a wide range of functionality and
have a simple text processing which to world wide web for games.
Object oriented: Python support multi paradigm in which object oriented is one of them, like
java, C++ python also support OOP approach it helps in encapsulation of data and code into
single unit of objects (encapsulation is referring to wrapping up data and functions into a
single unit known as class).
Interactive language: Python prompt and its interpreter actual help you to interact directly
with your written program.
Interpretive language: Pythons’ interpreter at the run time is processed. Similar to PERL
and PHP we do not need compile your code before execution which is a very helpful feature.
Some main characteristics of python are as followed:
 Python support multiple programming method like object oriented, structured
as well as functional.
 Its data type is very high level in nature because they are dynamical and also
support dynamic checking type.
 Python is very compatible with other programming language as well like Java,
COBRA, C, C++ etc which make it very easy to integrate with others.
 Like java python also have automatic garbage collection for values which no
longer in use or empty and have no use.
 Like JavaScript, HTLM, CSS python can also be used as scripting language
using it frame work like Django frame work.

2.1.1 Various application of python


3
CHAPTER 6
RESULTS AND DISCUUSION
6.1 TEST REPORT

Fig 6.1: Test Report


The figure 6.1 shows When the application is started the assistant greed the user according to
time and then start listening for further instruction. As I say goodbye the application termite
all activity.

Fig 6.2: Second Step

4
CHAPTER 7
CONCLUSION
7.1 CONCLUSION
From the staring of computation, the user interface is keeps on changing. In the starting there
were only keyboard and mouse then the mouse and graphic was one step ahead in this, after
that the introduction of touch screen made a huge impact and now the world is moving
toward voice command. The system will be design in such a way that is will be full capable
of doing all the thing by taking voice input only, control and performing all the task elated to
anything. Companies like google and amazon are working on design home smarter using
artificial intelligence as part of human life, the more people will interact with artificial
intelligence the more the life become easier and faster. Now many companies taking this
technology one step ahead by making artificial intelligence smarter so that it can also
understand human emotion. The number of people using smart device are increasing rapidly.
According to a report in 2018, people who are not interested in using smart speaking not
purchasing it and it will grow around 50 percent in the following years. Now people across
the world are accepting and using these gadgets.
This application that I design will help its user and it is very easy to use. This application is
able to access any information on internet needed by its user however to make it more
friendly the software needs to provide addition access. Which may be dangerous because it
totally works on voice if some use it, he/she also has all the access to computer and can
misuse it too. Now the way technology is changing a virtual assistant is very useful but smart
speaker like Alexa is an expensive device and not all people can effort it. On other hand
assistant software are very limited and able to perform very few tasks, also using this
software there is also the concern of privacy that arise because the always at listening mode.
Other thing is that they always assume resource like RAM and other. But this application
uses very less resources and only listen when user allow to. There is also scope to modify is
software according to need any user with the working knowledge of python can do it. At last
I say that is project covering all basic feature of voice assistant and include it some advance
feature to make it more useful

7.2 LIMITATION OF THE SYSTEM


There are not many limitations to this project however every technology comes with pros and
cons;
 To use this application, we need a software to run python code and install some
libraries too.
 Second to use it we need to run it every time we can just run it once and use for life.
 There are some drawbacks involved with this that to access other software we need to
include the path for the file. Otherwise it will not work.
 To access any sites, we also it to add it URL and for advance search we also need to
modify the code according.
 Other limitation is that this is a desktop-based application design specifically for this
device to use it other computer devices the code needs to modify according to
system.

5
REFRENCES

BOOK REFERRED:
[1] Book- “Introduction to Voice Computing in Python”
Author- Jim Schwoebela
Publisher- CreateSpace Independent Publishing Platform, 2018
[2] Book- “Voice Applications for Alexa and Google Assistant”
Author- Manning Publications
Publisher- Dustin A. Coates

WEB REFRENCES:
[1] Vaishali Dhare , Usha Mehta, “Fault Analysis of QCA Combinational Circuit at Layout &
Logic Level”, 2015 IEEE International WIE conference on electrical and computer
engineering (WIECON-ECE), 19-20 December 2015, BUET, Dhaka, Bangladesh, 978-1-
4673-8786- 6/15/$31.00©2015 IEEE.
[2] A.JPoustie, K.JBlow, A.EKelly, R.JManning, “All-optical binary half-adder” , Optics
Communications Volume 156, Issues 1–3, 1 November 1998, Pages 22-26.

You might also like