TITLE OF PROJECT
Voice-based Virtual Assistant for Windows
Submitted in partial fulfillment of the requirements for the award of degree of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE & ENGINEERING
Submitted to: Submitted By:
Supervisor: Tanu Dhiman(E8141) Akash Kumar Prasad (21BCS8059)
Co-Supervisor: Neha Dutta(E12830) Iqrar Ahmad (21BCS8023)
Manshaina Kaur (21BCS8022)
Saurav kumar (21BCS8027)
Shreya Sinha (21BCS8037)
Mentor Signature: Rahul Bhandari
E-code: E13438
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
Chandigarh University, Gharuan
November, 2022
ABSTRACT
In this modern era, day to day life became smarter and interlinked with technology. We
already know some voice assistance like google, Siri, etc. Now in our voice assistance
system, it can act as a basic medical prescriber, daily schedule reminder, note writer,
calculator and a search tool. This project works on voice input and give output through voice
and displays the text on the screen. The main agenda of our voice assistance makes people
smart and give instant and computed results. The voice assistance takes the voice input
through our microphone (Bluetooth and wired microphone) and it converts our voice into
computer understandable language gives the required solutions and answers which are asked
by the user. This assistance connects with the world wide web to provide results that the user
has questioned. Natural Language Processing algorithm helps computer machines to engage
in communication using natural human language in many forms.
1. Feature/Characteristics Identification
● Objectives: The project aims to develop a personal-assistant for desktop. 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, Athena assists the end-user with day-to-day activities like general
human conversation, searching queries in google, searching for videos, sending
messages, live weather conditions.
● Life Span: No project can be ceaseless and indefinite. It must have one
and beyond which it cannot proceed. Every project is invariably time-
bound. Our project took 3 months to complete and it was completed in two
modules. First module was completed in 1 month and the second module
took 2 months.
● Require funds: Cost estimation is one of the essential factors for any
organization, but for our project no fund was required.
● Team Spirit: We have shown a great team spirit in completing this project. All
the team members gave their best and were equally active throughout the
completion.
● Directions: Project works according to the commands given by the user. It
first analyze the command and gives response within very few seconds.
● Uniqueness: This project converts text to speech, speech to text, Tells us the
current date and time and also gives the top 5 trending news and many more
features.
2. Constraints Identification
Purpose of virtual assistant is to being capable of voice interaction, music playback, making
to-do lists, streaming podcasts, playing audiobooks, and providing weather, traffic, sports, and
other real-time information, such as news. Virtual assistants enable users to speak natural
language voice commands in order to operate the device and its apps
● Time: The project completion or the final due date was 3 months after the project
was assigned. Our project was divided into two modules which took almost
completed in this time period.
● Cost: This project was free of cost and did not require any funds.
● Scope: Scope of virtual assistant is that it is capable of voice interaction, music
playback, and providing weather, and other real-time information, such as news and
some more features.
● Quality: When the user gives command it will give the response in very few seconds.
● Benefits: It reduces or saves the user’s effort by recognizing user’s voice command
and within seconds gives desired response. It also saves user’s time as it reduces his
efforts.
3. Analysis of features and finalization subject to constraints
Virtual assistants are passive listening devices that respond once they recognize a command.
Passive listening means the device always hears what's happening around it. The virtual
assistant must be connected to the internet so it can conduct web searches and find answers
or communicate with other.
Our project performs various tasks as mentioned below:
● To create an interactive personal virtual assistant that works on desktop.
● It takes input from user and provides different required output.
● It makes life easy as it listens to user and user is not required to do extra effort.
● Virtual assistants can do everything from answer questions to tell jokes.
● They can respond to many voice commands.
● They can send email.
● It can provide us current trending 5 news.
● It can open Youtube.
● It can play music.
● It can search anything on google.
● It can also provide us the present time and date.
4. Design selection
DFD Level 0
DFD level 0 represents the basic overview of the whole process being modeled. Hence, we
use rectangle as an external entity which are originally the objects outside the system with
which the system communicates. In our project, user is the external entity which
communicates with the system to get desired output and virtual assistant is the process that
receives input data from user and process the output data in desired form. The arrows show
the path of data flow.
DFD Level 1
DFD level 1 provides a more detailed breakout of pieces of DFD level 0.Here we highlight
the main functions carried out by the system. This diagram represents that user, microphone,
google voice api and pyttsx3are the external entities. This diagram clearly shows the flow of
process where user can send both voice input(using microphone) as well as text input and
receive the response such as voice to text and text to speech using google voice api(which
convert voice data into text form) and pyttsx3 module(which converts text to speech).
Flowchart
Flowchart is a pictorial representation that depicts the process containing several steps. In
flowchart we use rectangles(to represent the process), ovals(to represent a start or end point),
diamonds(to indicate a decision), parallelogram(to represent input or output) and arrows(as a
connector that shows relationships) to perform different functions. Above shown flowchart
explains that when the process gets started, we can ask the system to perform one task at
once that is we can either ask the system to convert the given text into voice or we can
provide the voice data to the system to convert it into text. After receiving the desired output,
user terminates the process.
UML
UML stands for unified modeling language. UML is a way to visually represent the
architecture, design and implementation of complex software systems. A use case is a type of
Behavioral UML diagrams that models how users, displayed as stick figures called “actors”
interact with the system. The above shown use case diagram shows that User and Athena
work as actors, <> arrows include relationship between use cases, and voice command, text
command, process text and respond to user are the use cases in the system, playing different
roles such as user interacts by giving voice or text command and Athena(virtual assistant)
works on processing text and responding to user.
Activity Diagram
Initially, the system is in idle mode. As it receives any wake up call it begins execution. The
received command is identified whether it is a questionnaire or a task to be performed.
Specific action is taken accordingly. After the Question is being answered or the task is
being performed, the system waits for another command. This loop continues unless it
receives quit command. At that moment, it goes back to sleep.
Sequence Diagram
The above sequence diagram shows how an answer asked by the user is being fetchedfrom
internet. The audio query is interpreted and sent to Web scraper. The web scrapersearches
and finds the answer. It is then sent back to speaker, where it speaks the answer touser.