The Black Book
The Black Book
The Black Book
1
DESKTOP ASSISTANT (AI)
A Project Report
Submitted in partial fulfillment of the
Requirements for the award of the Degree of
Aaron Quadros
(Roll No- 56)
2
SANPADA COLLEGE OF COMMERCE AND TECHNOLOGY
(Affiliated to University of Mumbai)
NAVI MUMBAI MAHARASHTRA 400705
CERTIFICATE
This is to certify that the project entitled, "DESKTOP ASSISTANT (AI)", is bonafied work
of AARON QUADROS bearing Seat. No: 56 submitted in partial fulfillment of the
requirements for the award of degree of BACHELOR OF SCIENCE in INFORMATION
TECHNOLOGY from University of Mumbai.
External Examiner
3
ABSTRACT
The project titled “Desktop Assistant AI” using Python programming language is an
AI that helps the user to ease the usage of computer. The Project “Desktop Assistant AI” is
developed by using Python programming language which has vast modules & GUI. As
Python is easy to use, less hassle while programming and has various modules.
The modules which are used in this application are as follows pygame, pyaudio,
gTTS, pytsx, pytsx3, Google speech recognizer and text to speech, winspeech etc.
Desktop Assistant AI is voice controlled application, designed to operate the
computer via voice so that user can be in ease. This application can be used by all the age
group from 5 to 60 and above. This application is easy to use for both technical person as
well as non-technical person. Its features are similar to Google Assistant in android mobile.
This AI can draft a mail on behalf of the user; can play music and many more. The
interface of AI is combined with Rain meter which enhance the look and feel of it.
The entire automation is carried by voice and available on click as well.
4
ACKNOWLEDGEMENT
Leaders are those who put themselves down to pull others up in life. Those leaders are
no one but our professors. So I would like to take this opportunity to thank those dynamic
leaders who have helped me in visualizing this project and bringing into reality.
I would like to express my deepest gratitude to my project guide Ms. Jyoti Yadav for
providing her precious timely assistant to my query and solving my doubts. Her words of
wisdom has encouraged so much and kept me in right track for completion of this project.
I would also like to extend my deepest gratitude for Ms. Sufura Patel and
Mrs. Smita Negi for extending their hand in coding so that output will be without error.
Finally I would like to extend my deepest gratitude to none other but our HOD
Mrs .Vidula Kulkarni for her energetic support directly and indirectly through various
channels on my project work.
Thanking You.
Aaron Quadros
5
DECLARATION
I hereby declare that the project entitled, “DESKTOP ASSISTANT (AI)” done at
Sanpada College of Commerce and Technology, has not been in any case duplicated to
submit to any other university for the award of any degree. To the best of my knowledge
other than me, no one has submitted to any other university.
The project is done in partial fulfilment of the requirements for the award of degree
of BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as
Final semester project as part of our curriculum.
6
TABLE OF CONTENTS
Sr.No Chapter Page No
A Gantt chart 9
1 Introduction 11
1.1 Background 12
1.2 Objectives 13
1.3 Purpose and Scope 14
1.3.1 Purpose 15
1.3.2 Scope 16
2 System Analysis 17
2.1 Existing System 18
2.2 Proposed System 19
2.3 Requirement Analysis 20
2.4 Hardware Requirements 21
2.5 Software Requirements 22
2.6 Justification of selection of Technology 23
3 System Design 24
3.1 Module Division 25
3.2 Flow Chart 27
3.3 ER Diagram 30
7
4.3 System testing 39
4.4 Test case 42
4.5 LIMITATIONS AND ENHANCEMENT 42
5 Results and Discussions 44
6 Conclusion and future work 54
7 References 56
8
Gantt chart
Phases JUN JUL AU SEP OC NO DE JA FE MA AP
Y G T T V C N B R R
Preliminary
Investigation
Project
purposed
Requirement
Analysis
System
Design
Implementati
on
Testing
9
1. INTRODUCTION
10
1. Introduction
11
1.1 Background
12
1.2 Objectives
The main objective is to make user friendly computer.
Both Technical as well as Non-Technical person can use.
No age limit.
Fully voice controlled.
Any Python language lover can customize.
Easy to use.
Can perform multiple tasks.
Time saver.
Software based application.
Future.
13
1.3 Purpose and Scope
Time saver.
Office friendly.
Home friendly.
Wide scope as AI is future.
14
1.3.1Purpose
Time saver- As it is voice controlled, and if user need to draft a mail then user
can just gave a command “Draft a mail for me” and Desktop Assistant will
draft a mail on behalf of user which will reduce the time.
Office friendly- This Desktop assistant (AI) can be use in office as well. Eg
user can just say a command for
Home friendly- As we are aware with Amazon echo same we can use this
application with some additional components.
15
1.3.2Scope
16
2. System Analysis
17
2.1 Existing System
18
2.2 Proposed System
Desktop Assistant is made in Python language and majority of operating system (OS)
supports Python language.
Can run in all OS as majority of OS supports Python.
This Assistant can perform multiple task like plays music, weather forecast and can
even communicate with users( ie can answer personal questions)
This Assistant can run even in lower version of windows and other OS
Not like Cortana which is only available in windows 10, this Assistant can run even in
windows XP.
Accuracy can be tuned as per need.
One step enables.
If the user is programmer, He/she can customize as per own choice.
Easy to use by one click
Fully voice controlled.
19
2.3 Requirement Analysis
For developer requirements-
Python 2.7(preferred)
Python modules like pyaudio, gTTS, winspeech, speech recognition, google
speech recognition, pygame, pyttsx3 and as per requirement modules can be
downloaded by using pip.
Operating System- doesn’t require any specific OS but for easy and faster
development developer can use Windows 7 or higher version. Developer can
even use Windows XP.
For user point of view Requirements-
Just internet connectivity required.
Any Operating system laptop or PC.
Required a good quality mic or in-build microphone so that Desktop Assistant
(AI) can listen to user command and respond back effectively.
20
2.4 Hardware Requirements
For Developer requirement-
Regular laptop or Pc.
Laptop/Pc specification:
Processor: Intel i5 CPU @ 1.7 GHz (min)
RAM: 4GB(MIN)
Hard disk: 80GB min
Monitor: As per user
Keyboard: As per user
Mouse: As per user
Internet connectivity.
High quality microphone.
For user end requirement-
Internet connectivity.
High quality (preferred for optimal use) or in-build microphone.
Laptop or Pc with minimum of 4GB RAM.
Intel or AMD processor.
Graphic card optional.
21
2.5 Software Requirements
For developer end requirements-
As python is supported in all operating system, preferred OS is windows 7.
Python 2.7 is preferred because of its modules
Note- Some modules might be different in python 3.5, python 3.6.
Basic modules like pyaudio, gTTS, winspeech, speech recognition, google
speech recognition, pygame, pyttsx3 and as per requirement modules can be
downloaded by using pip.
For User end requirements-
In windows operating system
Windows 7(preferred), Windows 10, user can even use windows XP
Mac ios.
Linux system.
22
2.6 Justification of selection of Technology
As this Desktop Assistant (AI) is made in Python language, which has dynamic
modules, easy to use, less lines of code, easy and simple syntax, and can even run in lower
versions of windows ie can even run on windows XP.
Python language can be use as Front end as well as for backend which makes easier
for any developer to work on python projects.
The main reason for selection of this technology is, as python is most loved and
preferred language and has much advantage as mentioned above. Working on Python
language is time saving and fun as number of line reduce not like in C/C++.
Python is supported in all most all operating system, so there will be no issue of
selecting operating system.
Developer can develop in Linux and can run python code in windows operating
system.
Python has extensive support libraries; the best thing of python is, it is open source
and has community development. Python has user friendly data structure.
23
3. System Design
24
3.1 Module Division
The different types of module used in python are as follows
1. Pyaudio- Pyaudio is a port audio; the audio player of python which means python can
easily play or record sounds.
2. gTTs.- gTTS stands for google Text To Speech. In python user can install this
module. With the help of gTTS python can convert text into speech with the help of
google so that the word can be accurate.
3. Pyttsx3- Pyttsx3 is an offline cross platform text to speech library and supports
multiple TTS engines.
4. Google speech recognizer- It is speech recognizer which understands your speech
and converts into text.
5. Winspeech- It is a speech recognizer library for windows operating system.
6. Microphone- This is use with pyaudio to listen the speech with default microphone
of computer or laptop if pyaudio is not import then microphone will be undefined.
7. Pygame- It is cross platform set of modules for writing videogames.
25
3.2 FLOWCHART
DIAGRAM
26
27
3.2Flow chart description
AI is on Standby mode
User wakeup the AI by voice input.
User gives the command to the application.
AI response back to the user and listen to commands.
AI then process the commands and then understands
After understands it responds back and performs the task.
After performing the task AI waits for next command.
28
3.3 ER DIAGRAM
29
30
3.4 USE CASE
DIAGRAM
31
32
3.5 PACKAGE
DIAGRAM
33
34
3.6 CLAS DIAGRAM
35
36
4. Implementation and
Testing
37
4. Implementation and Testing
Once the source code is developed, next stage is Implementation of the code as well as testing of
code and hardware device (if any).
The main aim of Implementation and Testing is to debug the errors and test the code for
satisfaction output.
Once the code passes the Implementation and Testing phase then it is sent to another phase.
And so on…
PYAUDIO: The tester will test the audio output by using pyaudio module. If the audio
is clear and understandable then Tester will set the audio according to the customer
requirement or the given protocol.
PYGAME: The tester will test this cross platform set of python to check the running
module and check desire output graphics.
PYTTSX: This is cross platform text to speech module. The tester will test module by
simply adding text and then listing further.
PYTTSX3: This is cross platform text to speech for python3 and similar to PYTTSX
SPEECH RECOGNITION: The tester will test the speech by simply gibing voice
command to the module.
38
4.2 UNIT TESTING:
The Unit Testing is of two types
a) Software Testing
b) Hardware Testing.
A) Software Testing: Software Testing is done by set of source codes or computer
programming modules. The Tester test the module to determine whether they are fit to
use or not.
B) Hardware Testing: Hardware Testing can be performed on software as well as on
physical hardware products to verify whether they perform as expected and desired
output.
39
4.4 TEST CASE
40
Sr.No Test case id Test Test Step Expected Actual Test case
case case result Result status
name desc pass/fail
1 Pyaudio Validate To play Voice Playing Inserted Pass
audio output modulatio desire output successful
audio n audio.
41
4.5 LIMITATIONS AND ENHANCEMENT
LIMITATIONS:
The major limitations of this project are that, it can be used only for desktop computers
and laptops.
It cannot use in smartphones.
ENHANCEMENT:
If the users have the good idea of knowledge of Python language then the user can
customise it according to their need and requirement.
These modules are compactable in any versions of windows and can develop
accordingly.
With the help of neural network connection it can be more accurate both in
decision making and development.
42
5. Results and Discussions
43
Modules:
1. Pyaudio
PyAudio is use as an audio port/cross platform audio port for python. With the help of pyaudio,
you can record as well as play audio file on the platform.
In the above screen shot, it is displayed what the output audio is played.
The user will give input audio command and with the help of pyaudio module, the output will be
given by voice and with print function it will print on the output screen.
Note:
The audio should be clear and loudly if you are recording or giving command.
Use external mic for better input.
44
In the above screen shot, the user is interacting with the system and the system in
response gives the feedback to the user.
In this way two way communications is on between the user and system with the help of
pyaudio.
“pip install PyAudio” can be used to install.
45
2. gTTS.
46
In above screen shot we can see that the language is evaluating the words of the user and
trying to convert the words help of gtts API.
This API needs internet connection.
As gTTS API is google API which requires internet connections.
By using “pip install gTTS” you can install.
47
3. speech_recognition.
48
Speech recognition is basically Recognition of spoken words by the users.
It recognizes the words, phase, and sentences and so on.
Speech recognition is the medium between Humans and Computer Machine.
Computer/python can understand the Humans language with the help of
speech_recognition.
With the help of speech recognition you can give any command to the program.
By using “pip install SpeechRecognition==1.2.3” you can install.
49
4. Microphone:
Basically this module is use for machine to listen what users gives voice input.
This act as an ear for the program.
By using “pip install SpeechRecognition==1.2.3” you can install.
50
5. Pocketsphinx:
51
6. Winspeech.say :
Winspeech is basically a speech recognition and synthesis library for windows operating system.
This is also an alternative for gtts.
This is very basic thus performing only predefined sentence.
By using “pip install winspeech” you can install this library.
52
6. Conclusion and Future
Work
53
Conclusion:
This Project is use for daily usage for every person from school going
kids to Developers. This application has wide scope in next 5-10yrs. This
application is user-friendly that means both Technical as well as not technical
person can use. User just needs to give a voice command and that’s it. Desktop
Assistant will work accordingly. This project is not only limited to Windows OS
but can also run on MAC and other OS. Any User with great knowledge on
python can customize as per their requirement.
There will be two mode “default mode” for general users and “pro
mode” for developers.
Errors might occur as this project is in beta mode.
Future work:
Currently the AI industry is about to boom, each and everything will be handle
by AI. As this project develops in near future more and more functions can be developed such as
“game mode” “privacy manager” “Hacker mode” “mining” and so on.
As this project develops, this system will become more smart and efficient both in decision
making and power savings.
Neural network systems can be combined together to make this system more intelligent and
advance.
All men have limits, they learn what they are and learn not to exceed them.
Similarly this future AI should be in good hands to help mankind.
54
7. References
55
Content
1) https://pypi.org/project/PyAudio/
Used for installation of pyaudio and information.
2) https://pypi.org/project/gTTS/
Used for installation of gtts and library information.
3) https://www.tutorialspoint.com/artificial_intelligence_with_python/artificial_intelligence
_with_python_speech_recognition.htm
Used for information on speech recognition.
4) https://pypi.org/project/SpeechRecognition/
Used for installation of speech recognition and library information.
5) https://pypi.org/project/pocketsphinx/
Used for installation of pocketsphinx and library information.
6) https://pypi.org/project/winspeech/
Used for installation of winspeech and library information.
7) https://pythonhosted.org/winspeech/
Used for information on winspeech library information.
56
57