1.
A Project Report On
Personal Voice Assistant
Submitted in partial fulfillment of the requirement for the
award of the degree
Bachelor of Computer Application (BCA)/ Bachelor of
Science (IT)
Academic Year 2023 – 24
Utsav Sheth
(92100588061)
Vivek Monpara
(92100588062)
Internal Guide
(Vinod Kumar Pal)
Rajkot-Morbi Road, At & PO: Gauridad, Rajkot 360 003. Gujarat. India.
Faculty of Computer Applications (FCA)
This is to certify that the project work entitled
Personal Voice Assistant
submitted in partial fulfillment of the requirement for
the award of the degree of
Bachelor of Computer Application/ Bachelor
of Science (IT)
of the
Marwadi University
is a result of the bonafide work carried out by
Utsav Sheth (92100588061)
Vivek Monpara (92100588062)
during the academic year 2023-24
Faculty Guide HOD Dean
DECLARATION
I/We hereby declare that this project work entitled Personal Voice Assistant is a
record done by me.
I also declare that the matter embodied in this project is genuine work done by me
and has not been submitted whether to this University or to any other University
/ Institute for the fulfillment of the requirement of any course of study.
Place:
Date :
Utsav Sheth (92100588061)
Signature:
Vivek Monpara (92100588062)
Signature:
CONTENTS
Chapters Particulars Page No.
1 SYNOPSIS
2 PREAMBLE
2.1 General Introduction
2.2 Module description
3 REVIEW OF LITERATURE
4 TECHNICAL DESCRIPTION
4.1 Hardware Requirement
4.2 Software Requirement
5 SYSTEM DESIGN AND DEVELOPMENT
(Only applicable diagrams)
5.1 Architectural Design
5.2 • Class Diagram
5.2.1 Dynamic Modeling
5.3 • Use Case Diagram
5.3.1 • Sequence Diagram
5.3.2 • Activity Diagram
5.3.3 • Any other applicable diagram (applicable)
5.4 Database Design (If applicable)
5.4.1 Relationship Diagram (ER)
5.4.2 Menu Design
Screen Design
6 CONCLUSION
7 LEARNING DURING PROJECT WORK
8 BIBLIOGRAPHY
8.1 Online References
8.2 Offline References
SYNOPSIS:
We are creating a min project on Personal Voice Assistant based on
Pyhton language.
PREAMBLE:
Module Description:
1. pyttsx3: This module is used for text-to-speech conversion. It allows
the program to convert text messages into spoken words.
2. speech_recognition as sr: This module is used for speech recognition.
It allows the program to recognize and interpret spoken words from
the user's microphone.
3. datetime: This module provides functions to work with dates and
times. It is used here to determine the current time of day for greeting
the user.
4. wikipedia: This module provides access to Wikipedia articles and
allows you to search for information on Wikipedia.
5. webbrowser: This module provides functions to open web URLs in a
web browser.
6. os: This module provides a way to interact with the operating system.
It is used here to play music and open files or applications.
7. smtplib: This module is used for sending emails using the Simple
Mail Transfer Protocol (SMTP). It is used here to send emails to the
specified recipient.
8. pyjokes: This module provides a collection of jokes that can be used
in the assistant's responses.
TECHNICAL DESCRIPTION:
Hardware Requirement:
❖ Intel core i3 processor
❖ 1.5GB RAM
❖ 5GB HDD
SOFTWARE DESCRIPTION:
❖ Windows OS
❖ Python 3.11.4
❖ Idle 3.11
SYSTEM DESIGN AND DEVELOPMENT:
Flowchart:
Start
Step-1: User runs the program
Step-2: User speaks something when the program shows “listening”.
Step-3: Program returns the value.
Step-4: User speak to “exit” to terminate the process.
Step-5: User can close the application.
End
Class Diagram:
Sequence Diagram:
Activity Diagram:
Data Flow Diagram:
M
MEEN
NUUD
DEESSIIG
GNN::
This menu design provides a clear list of available commands that
the user can speak to interact with the voice-controlled assistant. It
helps the user understand what tasks can be performed using the
assistant's capabilities. The user can simply say the number
corresponding to the desired command, and the assistant will
respond accordingly.
=======================================
Voice-Controlled Assistant
=======================================
Available Commands:
-------------------
1. Wikipedia Search
2. Open YouTube
3. Open Email
4. Open Spotify
5. Open Google
6. Open Netflix
7. Open Stack Overflow
8. Open WhatsApp
9. Open Instagram
10. Play Music
11. Get Current Time
12. Open Visual Studio Code
13. Ask About Relationship Status
14. Tell a Joke
15. Exit
Please speak your command...
SSC
CRRE
EEEN
NDDE
ESSIIG
GNN::
C
COON
NCCL
LUUSSIIO
ONN::
In conclusion, while the provided code offers a basic foundation
for a voice-controlled assistant, there's potential to expand and
enhance its capabilities. This could include incorporating more
sophisticated natural language understanding, integrating with
additional services, and improving user interaction through
context awareness.
L
LEEA
ARRN
NIIN
NGGD
DUUR
RIIN
NGGP
PRRO
OJJE
ECCT
TWWO
ORRK
K
Engaging in this project, was a fantastic learning experience. Here are some
key learning points we encounter during the project work:
1. Technical Skills: We are likely to deepen our understanding of the Python
programming language and become more proficient in using various
libraries and modules, such as `pyttsx3`, `speech_recognition`, and
`wikipedia`.
2. Integration: We learned how to integrate different modules and libraries
to build a cohesive and functional application. This involves understanding
how to pass data between different components of our project.
3. Problem Solving: As we encounter challenges or errors, we developed
some sort of problem-solving skills skills.
4. Project Planning: From defining the project's scope to breaking it down
into manageable tasks, we learned how to plan and organize a project
effectively and more efficiently.
5. User Experience (UX): Designing an intuitive user experience is
important. We gained insights into creating user-friendly interfaces and
interactions.
6. Voice Recognition: Understanding the complexities and limitations of
voice recognition technology gave us insights into the world of speech
processing.
7. Text-to-Speech Synthesis: We learned how to convert text into audible
speech, which has applications beyond this project.
8. Time Management: Balancing project work with other commitments
taught us time management and prioritizing the skills.
9. Continuous Learning: Projects often lead to research and exploration of
topics we have not encountered before. This fosters a habit of continuous
learning.
10. Creative Thinking: Designing features, interactions, and even humorous
responses for the assistant encourages creative thinking.
11. Adapting to Change: Projects rarely go exactly as planned. Adapting to
unexpected challenges is a skill we can develop by doing such projects.
B
BIIB
BLLIIO
OGGR
RAAP
PHHY
Y::
Online reference: Python Tutorial (w3schools.com)
Learn Python Programming From Scratch - Complete 2023 Guide (geeksforgeeks.org)