Voice Assistant
Voice Assistant
Voice Assistant
PROJECT REPORT ON
“ Voice Assistant ”
SUBMITTED TO
BY
CERTIFICATE
This is to certify that the dissertation report entitled
“Voice Assistant”
Submitted by:
Is a certify work carried out by him under the supervision of Prof. Bhosale S.D and it
is submitted towards the partial fulfillment of the requirement of Maharashtra State
Board
Of Technical Education, Mumbai for the award of the diploma of Engineering
(Information Technology/Computer Engineering)
Lastly we thanks our parents and friends for their encouragement and support given to
us in order to finish this precious work.
Group members:
Sr Page No
No Description
INTRODUCTION TO PROJECT
1.1 Introduction
1.2 Need and scope of Computer System 1-3
01 1.3 Existing system
PROPOSED SYSTEM
2.1 Objectives
02 4-6
2.2 Innovative ideas of project
2.3 Requirement Engineering
a) Software b)Hardware requirement
SYSTEM ANALYSIS
3.1 Data Flow Diagram (DFD)
03 7-10
3.2 UseCase Diagram
3.3 Activity Diagram
3.4 Flowchart
IMPLEMENTATION
4.1 System Requirement
04 11-14
4.2 Hardware
4.3 Software
4.4 User Guideline
SYSTEM DESIGN
5.1 Output
05 15-25
5.2 Input Design & its samples
CONCLUSION
6.1 Conclusion
06 26
6.2 limitations
ANNEXURE
7.1 Source code
07 27-41
REFERENCE
08 8.1 Reference 42
VOICE ASSISTANT
INTRODUCATION
In today era almost all tasks are digitalized. We have smartphone in hands and it is
nothing less than having world at your fingertips. These days we aren’t even using fingers
We just Speak of the task and it is done there exist systems where we can say
Text Dad, I “will be late today”, and the Text is sent. That is the task of a voice Assistant.
.Voice Assistants are software programs that help you ease your day-to-day Tasks, such as
showing weather report ,cheating reminders, making shopping lists etc. They can take
commands via text or by voice .voice based intelligent assistants need an invoking word or
wake word to activate the listener, followed by the command .we have so many virtual
assistants, such as Apple’s siri Amazon Alexa
and Microsoft Cortana are running the market
This system is designed to be used efficiently run on desktop.Purpose of this voice
assistant is to make day today activity of desktop user .It is Personal Software that improves
user productivity by managing routine tasks of the user and by providing information from
online source to the user .It is effortless to use.
The need for a computer system with a voice assistant would depend on the specific purpose
and requirements of the system.
➢ Hands-free operation: A voice assistant can provide a hands-free way of interacting with
a computer system, allowing users to perform tasks and access information without using
their hands.
➢ Accessibility: A voice assistant can make a computer system more accessible to
individuals with disabilities or impairments that affect their ability to use traditional input
devices like a keyboard or mouse.
➢ Multitasking: A voice assistant can enable users to multitask more efficiently by allowing
them to perform tasks while keeping their hands free for other activities.
➢ Convenience: A voice assistant can provide a convenient way for users to access
information and perform tasks without having to navigate through menus or type
commands.
The need for a computer system with a voice assistant can vary depending on the
industry, organization, or individual requirements. It is essential to identify the specific
needs and requirements before designing and implementing a computer system with a
voice assistant to ensure that it meets the intended purpose and delivers the desired
results.
Scope
The scope for a voice assistant system is expanding rapidly, and there are limitless
possibilities for its application. As technology continues to evolve, we can expect to see even
more applications for voice assistants in various industries and domains.
The scope of a computer system can vary depending on its purpose and requirements. It can
range from a small personal computer to a large-scale enterprise system with multiple
servers, networks, and software applications.
Existing System
Proposed System
Objective:
1. GUI: Easy to use GUI (Graphical User Interface), hence any user with minimal
knowledge of operating a system can use the software.
Requirement Engineering
• Requirement Gathering: The first step in the requirement engineering process is to gather
the requirements for the voice assistant system. This can be done through various
techniques, such as surveys, interviews, focus groups, and observation.
• Requirement Analysis: Once the requirements have been gathered, they need to be
analyzed to identify any inconsistencies, conflicts, or missing requirements. This step
ensures that the requirements are complete, accurate, and feasible.
• Requirement Specification: The next step is to specify the requirements for the voice
assistant system. This involves documenting the requirements in a clear and concise
manner using techniques such as use cases, user stories, and requirements documents.
• Requirement Validation: The requirements for the voice assistant system need to be
validated to ensure that they meet the stakeholders' needs and expectations. This can be
done through various techniques, such as prototyping, simulations, and testing.
• Requirement Management: The final step in the requirement engineering process is to
manage the requirements for the voice assistant system throughout the development
lifecycle. This involves ensuring that the requirements remain consistent, traceable, and
prioritized.
Project Objectives:
• Voice recognition: Developing an accurate voice recognition system that can
recognize natural language input from a user and convert it into a text format that can
be used by the system.
• Natural language processing: Developing a natural language processing (NLP) system
that can take the text input and understand the meaning behind it, allowing the system
to carry out various tasks based on the user's requests.
• Task automation: Creating a system that can automate tasks such as setting reminders,
making phone calls, sending messages, controlling smart home devices, and more,
based on the user's voice commands.
Software requirement
• Visual studio
• Any browser
• Nodejs
Hardware Requirement
• Microphone/speakers
System Analysis
DFD Diagram:
UseCase Diagram:
Activity Diagram
Flowchart
Implementation
System Requirement
a) Hardware Requirements-
b) Software Requirements-
• Html,css,javascript
• Node js
• Any browser
• Windows above 10
Html:
HTML (HyperText Markup Language) is the most basic building block of the Web. It defines
the meaning and structure of web content. Other technologies besides HTML are generally
used to describe a web page's appearance/presentation (CSS) or functionality/behavior
(JavaScript).
"Hypertext" refers to links that connect web pages to one another, either within a single
website or between websites. Links are a fundamental aspect of the Web. By uploading
content to the Internet and linking it to pages created by other
This module sets the stage, getting you used to important concepts and syntax such as
looking at applying HTML to text, how to create hyperlinks, and how to use HTML to
structure a web page.
Multimedia and embedding: This module explores how to use HTML to include
multimedia in your web pages, including the different ways that images can be included, and
how to embed video, audio, and even...
Css:
CSS stands for Cascading Style Sheets. It is a style sheet language which is used to describe
the look and formatting of a document written in markup language. It provides an additional
feature to HTML. It is generally used with HTML to change the style of web pages and user
interfaces. It can also be used with any kind of XML documents including plain XML, SVG
and XUL.
CSS is used along with HTML and JavaScript in most websites to create user interfaces for
web applications and user interfaces for many mobile applications.
Node-Js:
Node.js is an open-source and cross-platform JavaScript runtime environment. It is a popular
tool for almost any kind of project!
Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser.
This allows Node.js to be very performant.
A Node.js app runs in a single process, without creating a new thread for every request.
Node.js provides a set of asynchronous I/O primitives in its standard library that prevent
JavaScript code from blocking and generally, libraries in Node.js are written using non-
blocking paradigms, making blocking behavior the exception rather than the norm.
When Node.js performs an I/O operation, like reading from the network, accessing a database
or the filesystem, instead of blocking the thread and wasting CPU cycles waiting, Node.js
will resume the operations when the response comes back.
This allows Node.js to handle thousands of concurrent connections with a single server
without introducing the burden of managing thread concurrency, which could be a significant
source of bugs.
Node.js has a unique advantage because millions of frontend developers that write JavaScript
for the browser are now able to write the server-side code in addition to the client-side code
without the need to learn a completely different language.
In Node.js the new ECMAScript standards can be used without problems, as you don't have
to wait for all your users to update their browsers - you are in charge of deciding which
ECMAScript version to use by changing the Node.js version, and you can also enable
specific experimental features by running Node.js with flags.
Feature of node.js
User Guidelines
System Design
Output
Conclusion:
Limitations:
1. Speech recognition accuracy: While the Web Speech API provides a robust speech
recognition system, it is not always 100% accurate. Accurate speech recognition is critical
for the voice assistant to understand and respond to user commands correctly.
2. Natural language processing limitations: Natural language processing (NLP) is required
for the voice assistant to understand and respond to complex user commands. However,
NLP is still an emerging field, and there are limitations to the accuracy and capabilities of
current NLP technologies.
3. Performance limitations: JavaScript is a client-side language, and the performance of the
voice assistant project can be affected by the processing power and memory of the user's
device. In addition, the performance of the voice assistant can be impacted by network
latency and bandwidth limitations.
4. Privacy and security concerns: The voice assistant project may require access to sensitive
user information, such as location data or personal information. It is important to ensure
that appropriate security measures are in place to protect user data.
5. Accessibility limitations: Voice assistants may not be accessible to users with disabilities,
such as those with hearing impairments or speech difficulties. It is important to consider
accessibility when developing a voice assistant project
ANNEXURE
Source code
Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="YZ-youth zone">
<link rel="icon" type="image/x-icon" href="1.png">
<title>Jenni - The smart AI</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/5.15.3/css/all.min.css">
</head>
<body>
<header>
<div class="image-container">
<div class="image">
<img src="1.png" alt="jenni" height="30" width="30">
<span class="title"> I am Jenni </span>
</div>
</div>
</header>
<section class="main">
<div class="input-container">
<div class="image-container">
<div class="image">
app.js
function speak(sentence)
{
const text_speak = new SpeechSynthesisUtterance(sentence);
text_speak.rate = 1;
text_speak.pitch = 1;
window.speechSynthesis.speak(text_speak);
}
function wishMe()
{
const day = new Date();
const hr = day.getHours();
let greeting;
{
greeting = "Good noon";
}
else if (hr > 12 && hr <= 17)
{
greeting = "Good afternoon";
}
else
{
greeting = "Good evening";
}
speak(`${greeting}, sir`);
}
window.addEventListener('load', () => {
speak("Activating jenni");
speak("Going online. How can I help you?");
wishMe();
});
btn.addEventListener('click', () => {
recognition.start();
document.getElementById("k1").innerHTML="recognizing...";
});
function textback()
{
document.getElementById("k1").innerHTML="Click here to speak";
}
function speakThis(message)
{
let speech = new SpeechSynthesisUtterance();
if (message.includes('hey') || message.includes('hello'))
{
speech.text = "Hello, sir.";
}
else if (message.includes('name'))
{
speech.text = "My name is yz.";
}
window.open("FileExplorer:///");
speech.text = "Opening File.";
}
else if (message.includes('wikipedia'))
{
window.open(`https://en.wikipedia.org/wiki/${encodeURIComponent(message.replace("wiki
pedia", ""))}`, "_blank");
speech.text = `This is what I found on Wikipedia regarding ${message}.`;
}
else if (message.includes('time'))
{
const time = new Date().toLocaleString(undefined, { hour: "numeric", minute: "numeric"
});
speech.text = `The current time is ${time}.`;
}
else if (message.includes('date'))
{
const date = new Date().toLocaleString(undefined, { month: "short", day: "numeric" });
speech.text = `Today's date is ${date}.`;
}
else if (message.includes('calculator'))
{
window.open('Calculator:///');
speech.text = "Opening calculator.";
}
else if (message.includes('play'))
{
const YOUTUBE_API_KEY = "AIzaSyCbzbNBoxHPjjvtrEQMNGYw4CaynrWrlv0";
fetch(url)
.then(response => response.json())
.then(data => {
const videoId = data.items[0].id.videoId;
window.open(`https://www.youtube.com/watch?v=${videoId}`);
speech.text = `Playing ${videoName} on YouTube.`;
window.speechSynthesis.speak(speech);
})
.catch(error => {
else if (message.includes('call'))
{
const number = message.replace('call', '').trim();
window.location.href = `tel:${number}`;
speech.text = `Calling ${number}`;
}
else
{
speech.text = "I did not understand what you said. Please try again.";
}
textback();
speech.volume = 1;
speech.pitch = 1;
speech.rate = 1;
window.speechSynthesis.speak(speech);
}
Style.css
.main
{
background-color: #050505;
padding: 30px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
max-width: 3000px;
margin: 0 auto;
}
.input-container
{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 80vh;
}
.talk
{
margin-bottom: 20px;
background-color: #fff;
border: none;
border-radius: 50%;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease-in-out;
cursor: pointer;
}
.talk:hover
{
transform: translateY(-5px);
}
.content
{
font-size: 28px;
font-weight: 500;
color: #333;
margin-bottom: 20px;
text-align: center;
}
#spoken-text
{
margin-bottom: 20px;
border: 2px solid #ddd;
border-radius: 5px;
padding: 10px;
font-size: 16px;
font-family: Arial, sans-serif;
color: #333;
width: 100%;
max-width: 500px;
resize: vertical;
}
body
{
background-color: rgb(9, 9, 9);
margin: 0;
padding: 0;
}
label
{
color: white;
font-size: 1rem;
font-family: Arial, sans-serif;
margin-right: 0.1rem; /* Change to the desired margin */
display: inline-block;
vertical-align: middle;
}
.image img
{
vertical-align: middle;
}
textarea
{
padding: 10px;
font-size: 16px;
border: 2px solid #ccc;
border-radius: 20px;
resize: vertical;
}
.title
{
color: white;
font-size: 1rem;
font-family: Arial, sans-serif;
margin-right: 0.1rem; /* Change to the desired margin */
display: inline-block;
vertical-align: middle;
}
References
➢ www.w3school.com
➢ www.youtube.com
➢ www.google.com
➢ www.github.com
➢ www.tutorialpoint.com
➢ StakOverflow
➢ ChatGpt