-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmyAlexa.py
More file actions
73 lines (57 loc) · 1.97 KB
/
Copy pathmyAlexa.py
File metadata and controls
73 lines (57 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
'''
(run those in command prompt/cmt/terminal) For the robot to listen to our voice/speech pip install speechRecognition
To speak out, or text to speech pip install pyttsx3
For advance control on browser pip install pywhatkit
To get wikipedia data pip install wikipedia
To get funny jokes pip install pyjokes
For linux users
Learn all the above commands on terminal. Make sure to use pip3, because in linux pip refers for python2 and pip3 refers to python3. Install these too - pip3 install pyAudio
In case any error pops up install this - pip3 install portAudio
'''
import speech_recognition as sr
import pyttsx3
import pywhatkit
import datetime
import wikipedia
import pyjokes
listener = sr.Recognizer()
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
def talk(text):
engine.say(text)
engine.runAndWait()
def take_command():
try:
with sr.Microphone() as source:
print('listening...')
voice = listener.listen(source)
command = listener.recognize_google(voice)
command = command.lower()
if 'alexa' in command:
command = command.replace('alexa', '')
print(command)
except:
pass
return command
def run_alexa():
command = take_command()
print(command)
if 'play' in command:
song = command.replace('play', '')
talk('playing ' + song)
pywhatkit.playonyt(song)
elif 'time' in command:
time = datetime.datetime.now().strftime('%I:%M %p')
talk('Current time is ' + time)
elif 'who the heck is' in command:
person = command.replace('who the heck is', '')
info = wikipedia.summary(person, 1)
print(info)
talk(info)
elif 'joke' in command:
talk(pyjokes.get_joke())
else:
talk('Please say the command again.')
while True:
run_alexa()