Академический Документы
Профессиональный Документы
Культура Документы
Project
On
BY
PROF.SUSHEEL SHARMA
DEPARTMENT OF BSc INFORMATION
TECHNOLOGY
P a g e 1 | 46
PROFROMA FOR THE APPROVAL PROJECT PROPOSAL
Date.: Date.:
Date.:
P a g e 2 | 46
Index
Sr. TABLE OF CONTENTS
No.
1) Chapter 1 – Introduction
1.1 Background
1.2 Feasibility Study
1.3 Objective
1.4 Scope
1.5 Advantages
1.6 Purpose
1.7 Achievements
2) Chapter 2 – Survey of Technologies
6) Chapter 6 – Conclusions
7) Chapter 7 – References
7.1 References Books
7.2 Websites
P a g e 3 | 46
CHAPTER 1: INTRODUCTION
P a g e 4 | 46
1.1 Background:
Voice assistants come in somewhat small packages and can perform a variety of
actions after hearing your command. They can answer questions, play music, place
online orders and do all kinds of AI-based stuff.
Voice assistants are not to be confused with virtual assistants, which are people
who work remotely and can, therefore, handle all kinds of tasks. Rather, voice
assistants are technology based. As voice assistants become more robust, their
utility in both the personal and business realms will grow as well.
P a g e 5 | 46
1.2 Feasibility study:
P a g e 6 | 46
1.2.2 Operational feasibility
Operational feasibility study is concerned with issues like whether the system
will be used,if it is developed or implemented. It also focuses on whether the
proposed project fits with existing business environment. It is used to identify the
problem and how it is to be solved.The proposed system is operationally feasible
due to following reason:
P a g e 7 | 46
1.3 Objective:
Skills define the tasks that Jarvis can accomplish. You can extend jarvis by
adding your own skills that let your users interact with your service via
jarvis.
Jarvis invokes the skills based on input from the user, spoken.
Because Jarvis can be used in laptop or pc , some may have a screen, while
others may have a speaker, and some may have both.
You should ensure that your bot is capable of handling any of these devices.
The bot framework provides device information to your skill
P a g e 8 | 46
1.4 Scope:
P a g e 9 | 46
1.5 Advantages:
Easy to use
Custom commands
Secure
Artificial intelligent
P a g e 10 | 46
1.6 Purpose:
As the end user interacts with the digital assistant, the AI programming uses
sophisticated algorithms to learn from data input and better itself at predicting the
user's needs.
P a g e 11 | 46
1.7 Achievements:
The result of this project is an effective and efficient system that will help the
user to make run and execute computer program through voice commad. It
makes the working a lot more easier. It has made the interaction a lot more
convenient than before. It also helps us to reduce the use of peripheral such as
keyboard,mouse .It is also user- friendly. It provides access to data easily and
very quick. It helps us to save time, efforts and resources.
P a g e 12 | 46
CHAPTER 2: SURVEY OF TECHNOLOGIES
P a g e 13 | 46
PYTHON:
What is Python?
It is used for:
Python can connect to database systems. It can also read and modify files.
Python can be used to handle big data and perform complex mathematics.
Why Python?
P a g e 14 | 46
Python has a simple syntax similar to the English language.
Python has syntax that allows developers to write programs with fewer lines
than some other programming languages.
Good to know
Python was designed for readability, and has some similarities to the English
language with influence from mathematics.
P a g e 15 | 46
Python relies on indentation, using whitespace, to define scope; such as the
scope of loops, functions and classes. Other programming languages often
use curly-brackets for this purpose.
P a g e 16 | 46
CHAPTER 3: REQUIREMENT AND ANALYSIS
P a g e 17 | 46
3.1 Problem Definition:
Mostly all renting system is done manually therefore it is not effective. More
problem will aroused by managing manually. From registration until check out
problems exist. It is difficult for a admin that wants to recall a customer history &
his preference during customer next encounter. Paperwork is less secure &
unreliable. Customer feedback is not provided in manual work which helps in
decisioning to customer which one to opt for.
3. Admin can add custom command in the source code according to the user
requirement .
P a g e 18 | 46
3.3 Planning and scheduling:
Planning:
Planning is the process of deciding in detail how to do something before you
actually start to do it. It is a vital part of project management process. SDLC:
Once the requirement analysis is done the next step is to clearly define and
document the product requirements and get them approved from the customer or
the market analysts. This is done through an SRS (Software Requirement
Specification) document which consists of all the product requirements to be
designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture
for the product to be developed. Based on the requirements specified in SRS,
usually more than one design approach for the product architecture is proposed
and documented in a DDS - Design Document Specification.
P a g e 19 | 46
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is
performed in a detailed and organized manner, code generation can be
accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to
generate the code. Different high level programming language python is used for
coding. The programming language is chosen with respect to the type of software
being developed.
P a g e 20 | 46
SDLC Models
There are various software development life cycle models defined and designed
which are followed during the software development process. These models are
also referred as Software Development Process Models". Each process model
follows a Series of steps unique to its type to ensure success in the process of
software development.
Following are the most important and popular SDLC models followed in the
industry –
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model
Other related methodologies are Agile Model, RAD Model, Rapid Application
Development and Prototyping Models.
P a g e 21 | 46
Waterfall Model:
The Waterfall Model was the first Process Model to be introduced. It is also
referred to as a linear-sequential life cycle model. It is very simple to understand
and use. In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
The waterfall Model illustrates the software development process in a linear
sequential flow. This means that any phase in the development process begins
only if the previous phase is complete. In this waterfall model, the phases do not
overlap.
Waterfall Model - Design
Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate phases. In this
Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
The following illustration is a representation of the different phases of the
Waterfall Model.
P a g e 22 | 46
The sequential phases in Waterfall model are −
Requirement Gathering and analysis − All possible requirements of
the system to be developed are captured in this phase and documented in a
requirement specification document.
System Design − The requirement specifications from first phase are
studied in this phase and the system design is prepared. This system design
helps in specifying hardware and system requirements and helps in defining
the overall system architecture.
Implementation − With inputs from the system design, the system is first
developed in small programs called units, which are integrated in the next
phase. Each unit is developed and tested for its functionality, which is
referred to as Unit Testing.
P a g e 23 | 46
Integration and Testing − All the units developed in the implementation
phase are integrated into a system after testing of each unit. Post integration
the entire system is tested for any faults and failures.
Deployment of system − Once the functional and non-functional testing
is done; the product is deployed in the customer environment or released
into the market.
Maintenance − There are some issues which come up in the client
environment. To fix those issues, patches are released. Also to enhance the
product some better versions are released. Maintenance is done to deliver
these changes in the customer environment.
Some situations where the use of Waterfall model is most appropriate are −
Requirements are very well documented, clear and fixed.
Product definition is stable.
Technology is understood and is not dynamic.
There are no ambiguous requirements.
Ample resources with required expertise are available to support the
product.
The project is short.
P a g e 24 | 46
Development moves from concept, through design, implementation, testing,
installation, troubleshooting, and ends up at operation and maintenance. Each
phase of development proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows −
Simple and easy to understand and use
Phases are processed and completed one at a time.
Works well for smaller projects where requirements are very well
understood.
.
P a g e 25 | 46
3.4 Hardware and Software Requirements:
This section lists the minimum hardware and software requirements needed to run
system efficiently.
Hardware Requirements:
RAM: Minimum 1 GB
Internet Connection
Software Requirements:
OS: WINDOWS 10
P a g e 26 | 46
3.5 Gantt Chart:
Gantt Chart
In the Gantt chart we show the time spent for each phase of the software
development. Gantt charts are a project-planning tool that can be used to
represent the timing of tasks required to complete a project. Since Gantt
charts are simple to understand and easy to construct, they are used by most
project managers for all but the most complex projects.
P a g e 27 | 46
CHAPTER 4: SYSTEM DESIGN
P a g e 28 | 46
4.1 Basic Modules
Pyttsx3
Speech Recognition
Date Time
Wikipedia
Wikipedia is a Python library that makes it easy to access and parse data from
Wikipedia. Search Wikipedia, get article summaries, get data like links and images
from a page, and more. Wikipedia wraps the MediaWiki API so you can focus on
using Wikipedia data, not getting it.
Web browser
P a g e 29 | 46
Os
SmtpliB
The smtplib module defines an SMTP client session object that can be used to send
mail to any Internet machine with an SMTP or ESMTP listener daemon. For
details of SMTP and ESMTP operation, consult RFC 821 (Simple Mail Transfer
Protocol) and RFC 1869 (SMTP Service Extensions).
Json
P a g e 30 | 46
4.2 logic Diagram
Activity Diagram
This is the Activity UML diagram of Desktop Voice Assistant which shows the
flows between the activity of Userl. The main activity involved in this UML
Activity Diagram of Desktop Voice Assistant system is as follows
P a g e 31 | 46
Use Case Diagram
This Use Case diagram is a graphic depiction of the interactions among the
elements of Desktop Voice Assistant. It represents the methodology used in the
system analysis to identify, clarify, and organize system requirements of Desktop
Voice Assistant management system. The main actors of Desktop Voice Assistant
system in this use case diagram are: User who perform the different type of use
cases
P a g e 32 | 46
Wish me
Web browser
Wikipedia
play music
tell time
send email
Tell news
P a g e 33 | 46
4.3 Security Issue:
The input voice signal is recorded and computer will compare the signal
with the signal that is stored in the system. the accuracy of the whole
system is successfully recognizing the user's voice. It is a medium range of
the security level system.
IDENTIFIER: T1
Purpose: Test functionality .
Test Input/data:
P a g e 34 | 46
CHAPTER 5: IMPLEMENTATION AND TESTING
P a g e 35 | 46
5.1 Coding Details:
Libraries
import pyttsx3
import datetime
import speech_recognition as sr
import wikipedia
import webbrowser
import os
import smtplib
from pygame import mixer
import requests
from random import randint
import tkinter as tk
from tkinter import ttk
from tkinter import *
AZLL=[]
Funcitons
def sdwqdkf(i):
print(AZLL)
AZLL.append(i)
return AZLL[-1]
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
def speak(Audio):
engine.say(Audio)
engine.runAndWait()
def textrere(a):
return a
def liat(i):
return AZLL.append(i)
P a g e 36 | 46
def wishme():
hour = int(datetime.datetime.now().hour)
if hour >= 0 and hour <= 6:
speak('good night saad')
elif hour >= 6 and hour <= 12:
speak('good morning saad !')
elif hour >= 12 and hour <= 15:
speak('good afternoon saad !')
elif hour >= 15:
speak('good evening saad')
def rolldices():
R = randint(1, 6)
if R == 1:
# print("you get one")
speak("you get one")
elif R == 2:
# print("you get two")
speak("you get two")
elif R == 3:
# print("you get three")
speak("you get three")
elif R == 4:
# print("you get four")
speak("you get four")
elif R == 5:
# print("you get five")
speak("you get five")
elif R == 6:
# print("you get six")
speak("you get six")
def callback(url):
webbrowser.open_new(url)
P a g e 37 | 46
Graphical User Interface(GUI)
if __name__ == '__main__':
root = Tk()
def btnClickFunction():
nl = '\n'
picture_file.insert('end',f' {nl} {AZLL[-1]}')
worthAThousandWords.place(x=25, y=82)
def buttonClick():
r = sr.Recognizer()
with sr.Microphone() as Source:
print('listeing...!')
r.pause_threshold = 0.7
r.energy_threshold = 400
audio = r.listen(Source)
try:
print('recognizing...')
query = r.recognize_google(audio, language='en-in')
print(f"user say:{query}")
speak(query)
except Exception as e:
print(e)
P a g e 38 | 46
speak("I can't understand ")
return 'none'
query.lower()
if 'wikipedia' in query:
print('ajksnfjnfwfweofwjo')
speak('searching on wikipedia...')
query = query.replace('wikipedia', '')
result = wikipedia.summary(query, sentences=2)
# print(result)
speak(result)
# liat(result)
P a g e 39 | 46
content = takecommand()
to = 'saadchaudhary@gmail.com'
sendemail(to, content)
speak('sir email has been send')
except Exception as e:
# print(e)
speak('sir! i am NOT able to access')
MyButton6.pack()
# This is the section of code which creates the a label
Label(root, text='Hello how may i help you ??',fg='#f0593a', bg='#2e354f', font=('arial',
30, 'normal')).place(x=10, y=22)
w.place(x=305, y=262)
root.mainloop()
P a g e 40 | 46
5.1 Result of Graphical User Interface (GUI):
P a g e 41 | 46
CHAPTER 6: CONCLUSION
P a g e 42 | 46
Modern businesses should be smart, specific, and intentional about how
• significant benefits
• Reduced IT costs:
→ We can use Python and Tkinter nevertheless is not that popular among
biggest
→ There are set of nuances specific for each platform, could be solvable or
not!
P a g e 43 | 46
• Humans try to reach out to other humans when in need of
P a g e 44 | 46
CHAPTER 7: REFERENCES
P a g e 45 | 46
7.1 REFERENCES BOOKS:
https://www.google.co.in/books/edition/Natural_Language_Processing_wi
th_Python/KGIbfiiP1i4C?hl=en&gbpv=1&printsec=frontcover
7.2 WEBSITES:
https://pypi.org/project/pip/
https://www.codesofinterest.com/2017/04/energy-threshold-calibration-
in-speech-recognition.html
https://codewithharry.com/videos/python-tutorials-for-absolute-
beginners-120
https://docs.python.org/3/library/tkinter.html
https://chatterbot.readthedocs.io/en/stable/
https://www.youtube.com/watch?
v=Lp9Ftuq2sVI&list=PLu0W_9lII9agICnT8t4iYVSZ3eykIAOME&index=121
http://www.python-gui-builder.com/
https://www.youtube.com/playlist?
list=PLCC34OHNcOtoC6GglhF3ncJ5rLwQrLGnV
https://en.ppt-online.org/81011
P a g e 46 | 46