Synopsis
Synopsis
Synopsis
1st Objective:
We need to create a voice assistant that will help the infants and children in such a way that they
can easily interact with the desktop voice assistant. Most of the voice assistant faces difficulties
while understanding the commands, they misinterpret the commands and then the commands
gets executed wrongly.
2nd Objective:
We will create a desktop voice assistant that will work even after having grammatical errors
while speaking so that will not be a barrier to use this Voice Assistant.
3rd Objective:
We will create a voice assistant that will take the commands from the user and then understands
what instructions users is giving and then perform it accordingly. The tasks may contains
performing queries, connecting to a device, or opening Netflix.
4th Objective:
The integration of voice assistant with the system and applications. Integrate voice assistant in
such a way that it will perform the tasks seamlessly and efficiently.
5th Objective:
Voice Assistant will provide the information also like providing updates regarding stocks,
weather, and sports.
6th Objective:
Voice Assistant will ensure the security of user data. We will try to implement the encryption
methods and data handling.
DRAWBACKS:
Google Assistant:
Privacy Concerns: as Google Assistant listens to what we talk about all the time to collect
data that will help it grow faster and become more efficient.
Internet Dependent: Google Assistant is internet dependent as it uses internet to work on
many features like web browsing and retrieving information.
Third Party Integration: It is not easily compatible with the third-party applications.
While integrating with third party Google Assistant limits its services.
Misinterpretation of Commands: Google Assistant may sometimes misinterpret what you
are trying to say and that leads to the false execution of the task.
Amazon Alexa:
Internet Dependent: Amazon Alexa is internet dependent as it uses internet to work on
many features like streaming music and retrieving information. This can lead to the use of
limited functionality of Alexa.
Not Good with Accents: Alexa struggles to understand voices or commands having
different types of accents. This can lead to errors while executing certain commands.
Struggles to keep records: It struggles to maintain the context of multiple commands, that
may leads to incorrect responses.
Distinguish Between Users: Alexa faces issues while understanding the different voices
of different users.
Cortana:
Device Support: Cortana is limited to Windows OS only which limits its availability.
Voice Accuracy: Cortana voice accuracy is not that great, it may struggle with accurately
understanding commands.
Third Party Integration: As Cortana is mainly focused on Windows OS so its hard to integrate
with some other OS. As this will limits or restricts its functionality.
Privacy: Cortana also hears everything we talk about for improving its services. That can
be uncomfortable for many users as the idea of storing or listening to their conversation
may scare them to talk about anything.
Literature survey
Diksha Goutam(2023):Proposed the concept of voice assistant deals with providing user ability
to use system with voice commands. People with disability wish to use computer or laptop the
concept of desktop virtual assistant have been introduced. This Voice Recognizer works offline
as online and performs various operations as per the user requirements. for development of voice
assistant we use AI and python programming. Voice assistant working includes different process
such voice recognition, text –to speech, NLP , speech recognition ,api calls ,system calls ,context
extraction.
Gaurav Agrawal, Harsh Gupta, Divyanshu Jain, Chinmay Jain , Prof. Ronak
Jain(2020):Proposed a system that is made on python programming language to be more
specific Python 3.8. Different libraries where used such as Speech Recognition, Text to Speech
convertor, Short Mail Transferring Protocols (SMTP). The user should aware of general rules of
English Language. The goal is to provide people a quick and easy way to have their questions
answered ,This paper lacks in some part like system calls aren’t much supported.
Technology Used—
Here we are using Python as-
Python is a high-level, general-purpose programming language. The design philosophy
emphasizes code readability with the use of significant indentations.
Python language is dynamically typed. It supports multiple programming paradigms,
including structured (particularly procedural), object-oriented and functional programming.
Python is a versatile programming language that can be incredibly useful for creating a simple desktop
voice assistant. Here's how Python's features and libraries can be leveraged for this purpose:
Speech Recognition: Python's SpeechRecognition library allows you to easily convert speech to text,
enabling your voice assistant to understand user commands and queries.
Natural Language Processing (NLP): Libraries such as nltk and spaCy can be used for NLP tasks, such
as tokenization, part-of-speech tagging, and named entity recognition, to better understand the context of
user inputs.
Text-to-Speech (TTS): Python provides libraries like pyttsx3 and gTTS for converting text to speech,
allowing your voice assistant to respond to user queries in a natural and human-like voice.
User Interface: Python offers various GUI libraries such as tkinter and PyQt for creating interactive user
interfaces for your voice assistant, making it easy for users to interact with the assistant.
Integration with APIs and Services: Python's requests library allows you to easily make HTTP requests
to APIs and services, enabling your voice assistant to fetch information from the internet or interact with
external services.
Platform Independence: Python is platform-independent, meaning your voice assistant can run on
different operating systems, such as Windows, macOS, and Linux, without modification.
Ease of Development: Python's simple and readable syntax makes it easy to develop and maintain code,
speeding up the development process for your voice assistant.
Community Support: Python has a large and active community of developers, providing access to a
wealth of libraries, tutorials, and resources to help you build your voice assistant.
By leveraging Python's features and libraries, you can create a simple desktop voice assistant that can
understand user commands, retrieve information, and provide helpful responses, enhancing the user's
desktop experience.
Modules that will be used for desktop voice assistant —
You can utilize multiple modules and libraries to handle different areas of the assistant's functionality
when creating a desktop voice assistant in Python. The following are some essential Python modules and
libraries that are frequently used to create voice assistants:
Speech Recognition: It is a library for performing speech recognition, supporting multiple speech
recognition engines and APIs.
pyttsx3: It is a text-to-speech conversion library that supports multiple TTS engines, including SAPI5
and NSSpeech Synthesizer.
nltk and spaCy: It is a Natural language processing libraries that provide tools for tokenization, part-of-
speech tagging, and other NLP tasks.
gTTS (Google Text-to-Speech): It is a library for text-to-speech conversion using Google's TTS engine.
pyAudio: It Provides bindings for the PortAudio library, allowing you to capture and play audio streams.
requests: It is a library for making HTTP requests, which can be useful for interacting with web APIs to
fetch information or perform actions.
json: It is Python's built-in JSON module can be used to parse and manipulate JSON data, which is
commonly used in web APIs and data exchange formats.
tkinter or PyQt: These are GUI libraries that allow us to create a graphical user interface (GUI) for your
voice assistant.
Os and subprocess: These are modules for interacting with the operating system, which can be useful for
performing system-level tasks.
datetime: This is a module for working with dates and times, which can be useful for providing time-
related information or scheduling tasks.
pickle or shelve: Modules for serializing Python objects, which can be useful for saving and loading data
related to the voice assistant's state.
By using these modules and libraries, you can create a desktop voice assistant in Python that can
understand and respond to user commands, interact with external services, and provide a seamless user
experience.
FEASIBILITY STUDY –
Technical feasibility assesses the practicality of implementing the voice assistant based on
available technology, resources, and expertise. It evaluates the hardware and software
requirements, as well as the skills needed for development.
1. Technical Feasibility
Hardware and Software Availability
To develop a desktop voice assistant, you will need access to hardware components such as a
microphone and speakers. These components should be easily obtainable and compatible with
your development environment. Ensure that you have the necessary software tools and libraries,
such as Python and relevant packages for speech recognition and synthesis, readily available and
compatible with your system.
2. Market Feasibility
Market feasibility evaluates the demand for the desktop voice assistant and its potential to attract
users. It involves identifying the target market, understanding user needs, and analyzing
competition in the market.
3. Financial Feasibility
Financial feasibility assesses the project's ability to generate sufficient revenue to cover its costs
and achieve a satisfactory return on investment. It involves estimating development and
maintenance costs, as well as potential revenue streams.
Cost Estimation
Estimate the costs associated with developing and maintaining the voice assistant. This includes
costs for hardware, software, personnel, and any other resources needed for development.
Consider both one-time costs for initial development and ongoing costs for maintenance and
updates.
Revenue Generation and Cost-Benefit Analysis
Identify potential revenue streams for the voice assistant. This may include selling the
application, offering premium features through a subscription model, or integrating
advertisements. Estimate the potential revenue from each stream based on market research and
competitive analysis and also conduct a cost-benefit analysis to assess the financial viability of
the project. Compare the estimated costs with the potential revenue to determine if the project is
financially feasible.
5. Operational Feasibility
Operational feasibility assesses the practicality of implementing the voice assistant within the
organization or environment where it will be used. It involves evaluating how well the voice
assistant fits with existing processes and systems, as well as the availability of resources to
support its implementation and operation.
Integration
Assess how easily the voice assistant can be integrated into existing desktop environments. Consider
factors such as compatibility with different operating systems and software applications. Determine if any
modifications or additional resources will be needed to ensure smooth integration.
Resource Availability
Determine if there are enough resources, such as time, manpower, and expertise, available to develop and
maintain the voice assistant. Consider if additional resources may be needed and if they can be obtained
within the project's constraints. Ensure that there is adequate support for the voice assistant's operation
and maintenance after deployment.
6. Risk Analysis
Risk analysis identifies potential risks and uncertainties that could affect the success of the project. It
involves assessing the likelihood and impact of these risks and developing strategies to mitigate them.
Identifying Risks
Identify potential risks that could impact the development and implementation of the voice assistant. This
may include technical challenges, such as difficulties with speech recognition or natural language
processing, as well as external factors like changes in user preferences or market conditions.
Need and Significance of Desktop Voice Assistant
Hands-Free Interaction: A desktop voice assistant allows users to interact with their computers hands-free,
which can be particularly useful in situations where manual input is inconvenient or impossible, such as
when cooking, driving, or multitasking.
Accessibility: Voice assistants improve accessibility for users with disabilities, allowing them to use
computers more easily and efficiently.
Increased Productivity: Voice assistants can help users complete tasks more quickly and efficiently,
reducing the time spent on manual input and navigation.
Natural Interaction: Voice interaction provides a more natural and intuitive way to interact with
computers, making technology more accessible to a wider range of users.
Personalization: Voice assistants can be personalized to understand and respond to individual user
preferences, providing a customized user experience.
Multitasking: Voice assistants allow users to multitask more effectively by enabling them to perform
tasks while keeping their hands and eyes focused on other activities.
Efficient Information Retrieval: Voice assistants can quickly retrieve information from the internet or
other sources, saving users time and effort.
Improved User Experience: Voice assistants can enhance the overall user experience by providing a
more interactive and engaging interface.
Integration with Other Applications: Voice assistants can be integrated with other desktop applications,
such as calendars, email clients, and task managers, to provide a seamless user experience.
Future Technology Trends: Voice technology is a growing trend in computing, and developing a desktop
voice assistant can help users adapt to and benefit from future technological advancements.