Build a Virtual Assistant Using Python (original) (raw)
import
pyttsx3
import
speech_recognition as sr
import
webbrowser
import
datetime
import
wikipedia
def
takeCommand():
`` r
=
sr.Recognizer()
`` with sr.Microphone() as source:
`` print
(
'Listening'
)
`` r.pause_threshold
=
0.7
`` audio
=
r.listen(source)
`` try
:
`` print
(
"Recognizing"
)
`` Query
=
r.recognize_google(audio, language
=
'en-in'
)
`` print
(
"the command is printed="
, Query)
`` except
Exception as e:
`` print
(e)
`` print
(
"Say that again sir"
)
`` return
"None"
`` return
Query
def
speak(audio):
`` engine
=
pyttsx3.init()
`` voices
=
engine.getProperty(
'voices'
)
`` engine.setProperty(
'voice'
, voices[
0
].
id
)
`` engine.say(audio)
`` engine.runAndWait()
def
tellDay():
`` day
=
datetime.datetime.today().weekday()
+
1
`` Day_dict
=
{
1
:
'Monday'
,
2
:
'Tuesday'
,
`` 3
:
'Wednesday'
,
4
:
'Thursday'
,
`` 5
:
'Friday'
,
6
:
'Saturday'
,
`` 7
:
'Sunday'
}
`` if
day
in
Day_dict.keys():
`` day_of_the_week
=
Day_dict[day]
`` print
(day_of_the_week)
`` speak(
"The day is "
+
day_of_the_week)
def
tellTime():
`` time
=
str
(datetime.datetime.now())
`` print
(time)
`` hour
=
time[
11
:
13
]
`` min
=
time[
14
:
16
]
`` speak(
self
,
"The time is sir"
+
hour
+
"Hours and"
+
min
+
"Minutes"
)
def
Hello():
`` speak("hello sir I am your desktop assistant.
/
`` Tell me how may I
help
you")
def
Take_query():
`` Hello()
`` while
(
True
):
`` query
=
takeCommand().lower()
`` if
"open geeksforgeeks"
in
query:
`` speak(
"Opening GeeksforGeeks "
)
`` webbrowser.
open
(
"www.geeksforgeeks.com"
)
`` continue
`` elif
"open google"
in
query:
`` speak(
"Opening Google "
)
`` webbrowser.
open
(
"www.google.com"
)
`` continue
`` elif
"which day it is"
in
query:
`` tellDay()
`` continue
`` elif
"tell me the time"
in
query:
`` tellTime()
`` continue
`` elif
"bye"
in
query:
`` speak(
"Bye. Check Out GFG for more exciting things"
)
`` exit()
`` elif
"from wikipedia"
in
query:
`` speak(
"Checking the wikipedia "
)
`` query
=
query.replace(
"wikipedia"
, "")
`` result
=
wikipedia.summary(query, sentences
=
4
)
`` speak(
"According to wikipedia"
)
`` speak(result)
`` elif
"tell me your name"
in
query:
`` speak(
"I am Jarvis. Your desktop Assistant"
)
if
__name__
=
=
'__main__'
:
`` Take_query()