0% found this document useful (0 votes)
115 views19 pages

Desktop Assistant: Year 2020-2021

It will have following interfaces: 1. User Interface: This will be the interface between user and assistant. User can give voice/text command and assistant will respond. 2. OS Interface: Assistant needs to interact with underlying operating system for performing tasks like launching applications, playing music etc. 3. Internet Interface: For tasks like searching on internet, checking weather etc assistant needs internet connectivity. 4. APIs Interface: It may use APIs of services like Google, Wikipedia etc to fetch data for users. 5. Database Interface: It can store user data like preferences, schedule etc in database for future use. 4.1.2 User characteristics: The target users for

Uploaded by

spector
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
115 views19 pages

Desktop Assistant: Year 2020-2021

It will have following interfaces: 1. User Interface: This will be the interface between user and assistant. User can give voice/text command and assistant will respond. 2. OS Interface: Assistant needs to interact with underlying operating system for performing tasks like launching applications, playing music etc. 3. Internet Interface: For tasks like searching on internet, checking weather etc assistant needs internet connectivity. 4. APIs Interface: It may use APIs of services like Google, Wikipedia etc to fetch data for users. 5. Database Interface: It can store user data like preferences, schedule etc in database for future use. 4.1.2 User characteristics: The target users for

Uploaded by

spector
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Desktop Assistant

SRS submitted towards the partial fulfillment of the Degree of


Bachelor Of Technology

Year 2020-2021

Department of Computer Science Engineering

Guided By : Submitted By :

Mr. Sachin Chirgaiya Palash Joshi (17100BTCMCI01685)


Himanshu Mundhada (17100BTCMCI01674)
Devang Mundra (17100BTCMCI01668)
Abhishek Dubey (17100BTCMCI01655)
Chapter 1
Problem Definition
1. Problem Statement:

This Software aims at developing a personal assistant for systems. The main purpose of
the software is to perform the tasks of the user at certain commands, provided in either of
the ways, speech or text. It will ease most of the work of the user as a complete task can be
done on a single command. Users can interact with the assistant either through voice
commands or keyboard input.
Chapter 2
Introduction
2. Introduction

We all know what is Virtual Assistant. If you don’t, don’t worry, open your mobile and say “Ok Google”
or “Hey Siri”. Well, Google Assistant, Siri, Alexa all these are example of Virtual Assistant.

A virtual assistant or a Desktop Assistant, also called an AI assistant or digital assistant, is an application
program that understands natural language voice commands and completes tasks for the user.
An intelligent virtual assistant (IVA) or intelligent personal assistant (IPA) is a software agent that
can perform tasks or services for an individual based on commands or questions.
Some virtual assistants are able to interpret human speech and respond via synthesized voices. Users can
ask their assistants questions, control home automation devices and media playback via voice, and
manage other basic tasks such as email, to-do lists, and calendars with verbal (spoken) commands.

Virtual assistants work via:

• Text, including: online chat (especially in an instant messaging app or other app), SMS Text, e-
mail or other text-based communication channel, for example Conversica's Intelligent Virtual
Assistants for business.[11]
• Voice, for example with Amazon Alexa[12] on the Amazon Echo device, Siri on an iPhone, or Google
Assistant on Google-enabled/Android mobile devices

2.1 Purpose:

The aim of this study is to develop a voice controlled personal assistant that will run as a desktop
application that will aid its users (primarily the elderly and disabled perform various operations through
voice commands, and in so doing simplify basic operations carried out on their personal computer like
launching of programs, checking the time, opening websites, playing music etc.

The objective of this study is to develop a system that should:

1. Function as a desktop application to aid visibility, since elderly people find it hard to use smart phone
applications due to the size of their screens.
2. Possess a simple Graphical User Interface that will allow users interact easily with the application

2.2 Scope:

The application will simplify the process of using a computer, by reducing the need for using the mouse
or typing in certain cases and since it’s a desktop application it makes the process a little more acceptable
to most people who are of age, primarily due to the larger display. Furthermore, the whole process of
launching programs, playing music, opening websites etc. will go faster thereby saving the user’s time
and in turn improve their productivity. The application will also enable disabled users (e.g. users who
can’t use the keyboard/mouse or users without sight) use a computer. Lastly, since the application will
contain certain speech synthesis capabilities, it’ll be possible for users (including those with bad sight) to
have a level of interaction, no matter how little, with it.
2.2.1 An overview of Desktop Assistant :

It is a virtual assistant which can perform the different task with or without any physical intervention
with keyboard and mouse. It will use both Speech recognition and keyboard input for performing the
different tasks given by the user. We can control different activities by using speech recognition.

Also the Desktop Assistant will help the visually challenged people to perform the tasks the want their
system to do at the commands of speech directly. Like opening browser, playing songs, shutting down the
system etc.

2.3 Definitions :
IDE: Integrated development environment. An integrated development environment (IDE) is
a software application that provides comprehensive facilities to computer programmers for
software development. An IDE normally consists of a source code editor, build automation tools
and a debugger.

PYTTSX3: pyttsx3 is a text-to-speech conversion library in Python. Unlike alternative libraries,


it works offline and is compatible with both Python 2 and 3. An application invokes the
pyttsx3.init() factory function to get a reference to a pyttsx3 Engine instance. It is a very easy to
use tool which converts the entered text into speech.
The pyttsx3 module supports two voices first is female and the second is male which is provided
by “sapi5” for windows.

Computer Vision : Object Detection :One of the important fields of Artificial Intelligence is
Computer Vision.Computer Vision is the science of computers andsoftware systems that can
recognize and understand images and scenes. Computer Vision is also composed of various
aspects such as image recognition, object detection, image generation, image super-resolution
and more. Object detection is probably the most profound aspect of computer vision due the
number practical use cases.

Python : Python is a general purpose, dynamic, high-level, and interpreted programming language. It
supports Object Oriented programming approach to develop applications. It is simple and easy to learn
and provides lots of high-level data structures.

2.4 References:

 “Desktop Assistant from Wikipedia,”


https://en.wikipedia.org/wiki/Desktop Assistant

 “Desktop Assistant Theory Explained,”


https://www.geeksforgeeks.org/Desktop Assistant-theoryexplained/

 “ The ultimate guide to Speech recognition with python,”


https://realpython.com/python-speech-recognition/
Chapter 3
Requirement SRS
3. What is SRS?
Software Requirement Specification (SRS) is the starting point of the software developing
activity. As system grew more complex, it became evident that the goal of the entire system
cannot be easily comprehended. Hence the need for the requirement phase arose. The SRS is
the means of translating the ideas of the minds of clients (the input) into a formal document
(the output of the requirement phase.

3.1 Non Functional Requirement

3.1.1 Performance requirement:


Some Performance requirements identified is listed below:
• The software must support microphone.
• The software shall support use of internet connectivity.
• There are no other specific performance requirements that will affect development

3.1.2 Safety requirement:


The server may get crashed at any certain time due to virus or operating system failure.
Therefore, it is required to take the database backup.

3.1.3 Security requirement:


Application will allow only valid users to access the system. Access to any application resource
will depend upon user’s designation. There are two types of users namely Clients and Servers.
Security is based upon the individual user ID and Password. Some of the factors that are
identified to protect the software from accidental or malicious access, use, modification,
destruction, or disclosure are described below. Keep specific log or history data sets
• Check data integrity for critical variables
• Assign certain functions to different modules
• Restrict communications between some areas of the program
• Communication needs to be restricted when the application is validating the user or
license.

3.1.4 Implementation Requirement:


This means installing the software on user machines. At times, software needs post- installation
configurations at user end. Software is tested for portability and adaptability and integration related
issues are solved during implementation.

3.1.5 Delivery Requirement:


The whole system is expected to be delivered in five months of time with a weekly evaluation
by the project guide.
3.2 Functional Requirement
Hardware interfaces: The system must basically support certain hardware and these must be
an interface between them.

SOURCE OF INPUT /
NAME OF THE ITEM DESCRIPTION OF PURPOSE
DESCRIPTION OF OUTPUT

Microphone To take the voice input from Client


the users.
Voice cards To understand the audio Server
gathered from microphone.
Chapter 4
Overall Description
4.1 Product perspective
This Software aims at developing a personal assistant for systems. The main purpose of the
software is to perform the tasks of the user at certain commands, provided in either of the ways,
speech or text. It will ease most of the work of the user as a complete task can be done on a single
command. This assistant draws its inspiration from Virtual assistants like Cortana for Windows
and Siri for iOS. Users can interact with the assistant either through voice commands or keyboard
input.

4.1.1 System interfaces

Pycharm:
PyCharm is an integrated development environment (IDE) used in computer programming,
specifically for the Python language. It is developed by the Czech company JetBrains. It provides code
analysis, a graphical debugger, an integrated unit tester, integration with version control systems (VCSes),
and supports web development with Django as well as data science with Anaconda.

• Coding assistance and analysis, with code completion, syntax and error highlighting, linter
integration, and quick fixes
• Project and code navigation: specialized project views, file structure views and quick jumping
between files, classes, methods and usages
• Python refactoring: includes rename, extract method, introduce variable, introduce constant, pull up,
push down and others
• Support for web frameworks: Django, web2py and Flask [professional edition only][9]
• Integrated Python debugger
• Integrated unit testing, with line-by-line code coverage
• Google App Engine Python development [professional edition only]
• Version control integration: unified user interface
for Mercurial, Git, Subversion, Perforce and CVS with change lists and merge
• Support for scientific tools like matplotlib, numpy and scipy [professional edition only

Components
This section discusses the Components that has been developed as part of Desktop Assistant .
The System is developed for the Desktop.

The main System Components include:

4.1.2 User Interface


• Front-end software : Python Tkinter
• Back-end software : Python Programming

4.1.3 Hardware Interface


• Processor : Pentium P4,i3,i5, i7
• Motherboard : Genuine Intel
• RAM : Min 1 GB
• Hard Disk : 80 GB

4.1.4 Software Interface


• OPERATING SYSTEM- WINDOWS (all version)
• Python IDLE

4.1.5 Communication Interface

4.1.5.1 Speech Recognition


Speech recognition, or speech-to-text, is the ability for a machine or program to identify words
spoken aloud and convert them into readable text. Rudimentary speech recognition software has a
limited vocabulary of words and phrases, and it may only identify these if they are spoken very
clearly. More sophisticated software has the ability to accept natural speech, different accents and
languages.

4.2 Product Function


• An AI personal assistant is a piece of software that understands verbal or written commands and
completes task assigned by the client. It is an example of weak AI that is it can only execute and
perform quest designed by the user. Open Google chrome.It can tell you a joke if you ask Gives
answer to casual question. Play a song your choice from desktop. Open directory. Shut down or
restart your System.The final output can be one of the various tasks that the personal assistant can
execute.

4.3 Constraints
Although we try to build system in the most efficient way, there are always some constraints
that can limit the efficiency:

• User must have a microphone to connect with the system.


• For viewing Outputs, the user should have an internet connection.

4.4 Assumptions and dependencies


• It is assumed that the user has microphone node installed.
• No other specific assumption or dependencies.
Chapter 5
Use case Analysis
5.1 Use case Diagram

Fig 5.1 Use case Diagram


5.1 Activity Diagram :

Fig 5.3 Activity Diagram


5.2 Sequence Diagram

UML sequence diagrams are used to show how objects interact in a given situation. An
important characteristic of a sequence diagram is that time passes from top to bottom: the
interaction starts near the top of the diagram and ends at the bottom (i.e. Lower equals later).

Fig. 5.4 Sequence Diagram


Chapter 6
Specific
Requirements
6.1 External interface requirements

6.1.1 User interfaces


▪ Front-end software: Python Tkinter.

▪ Back-end software: Python Programming.

6.1.2 HARDWARE INTERFACES


▪ Computer System.

6.1.3 SOFTWARE INTERFACES

Following are the software used for Crowd Density Management :

Software used Description

We have chosen Windows operating system for its best support and user-

Operating system friendliness.

Tool Python Tkinter.

To implement the project we have chosen Python language for its more

Python interactive support.

6.1 Performance Requirement :

This section lists the performance requirements expected from the system.

• The assistant will listen to your command and will perform the task you ask.

• You can speak as well as write the commands you want to get performed.

• t will assist you to perform the task smoothly.

6.2 Design Constraints :

Although we try to build system in the most efficient way, there are always some constraints
that can limit the efficiency:

• he system runs on Windows OS 7 and above.

• For getting correct/required output, the user should speak or write properly.

You might also like