Desktop Assistant
Verfasst: Donnerstag 25. April 2019, 11:09
Hallo zusammen,
bin gerade dabei einen sprachgesteuerten Desktop Assistenten zu programmieren.
Da ich noch recht neu in der Python Umgebung tätig bin stoße ich hier auf einige Probleme
Ich habe eine Reihe von Befehlen programmiert,wobei er nur die ersten 3 ausführen kann, alle danach aufgeführten Befehle führt er nicht aus, stattdessen immer den dritten.
Hier der dazugehörige Code:
import sys
import string
string.ascii_letters
'abcde'
import random
from gtts import gTTS
from playsound import playsound
import pyaudio
import speech_recognition as sr
import os
import webbrowser
import smtplib
#Über die Initialize Funktionen können die Antwortsätze des Bots definiert und gespeichert werden
def Initialize(bot):
exists = os.path.isfile("Audios/"+bot+".mp3")#Wenn die Datei bereits existiert wird man darauf hingewiesen
if exists:
playsound("Audios/The File already exists.mp3")
else:
print(bot)
tts = gTTS(text=bot, lang='en')
path="Audios/"+bot+".mp3"
tts.save(path)
#läuft in Schleife,kann momentan aber nur 3 Befehle verarbeiten, alle die danach kommen macht er Befehl Nr. 3
def Recognize():
playsound("Audios/Greetings.mp3")
r = sr.Recognizer()
mic = sr.Microphone(device_index=1)
with mic as source:
while True:
print("Say Something");
audio = r.listen(source)
record=r.recognize_google(audio)
print(record)
if "what's your name" in record:
playsound("Audios/I'm Friday.mp3")
#Befehle
elif "open YouTube" in record:
url="https://www.youtube.com/"
webbrowser.open_new(url)
playsound("Audios/Anything Else.mp3")
elif "play music" or "play some music" in record:
list=[
"https://www.youtube.com/watch?v=mEljZKCo5Hc",
"https://www.youtube.com/watch?v=hgokPOo8PD0",
"https://www.youtube.com/watch?v=AhiIZKaRixs",
"https://www.youtube.com/watch?v=8wQKNLWRkhs",
"https://www.youtube.com/watch?v=SBjQ9tuuTJQ",
"https://www.youtube.com/watch?v=K73-hmaHPHY",
"https://www.youtube.com/watch?v=GM8VWNMThnQ"
]
song=random.choice(list)
playsound("Audios/No problem.mp3")
webbrowser.open_new(song)
playsound("Audios/Anything Else.mp3")
elif "read news" or "read the news" in record:
playsound("Audios/News Question.mp3")
playsound("Audios/Anything Else.mp3")
elif "no that's it" or "no thank you" or "no Friday" in record:
playsound("Audios/Goodbye.mp3")
break
Danke schonmal für eure Hilfe
Grüße
bin gerade dabei einen sprachgesteuerten Desktop Assistenten zu programmieren.
Da ich noch recht neu in der Python Umgebung tätig bin stoße ich hier auf einige Probleme
Ich habe eine Reihe von Befehlen programmiert,wobei er nur die ersten 3 ausführen kann, alle danach aufgeführten Befehle führt er nicht aus, stattdessen immer den dritten.
Hier der dazugehörige Code:
import sys
import string
string.ascii_letters
'abcde'
import random
from gtts import gTTS
from playsound import playsound
import pyaudio
import speech_recognition as sr
import os
import webbrowser
import smtplib
#Über die Initialize Funktionen können die Antwortsätze des Bots definiert und gespeichert werden
def Initialize(bot):
exists = os.path.isfile("Audios/"+bot+".mp3")#Wenn die Datei bereits existiert wird man darauf hingewiesen
if exists:
playsound("Audios/The File already exists.mp3")
else:
print(bot)
tts = gTTS(text=bot, lang='en')
path="Audios/"+bot+".mp3"
tts.save(path)
#läuft in Schleife,kann momentan aber nur 3 Befehle verarbeiten, alle die danach kommen macht er Befehl Nr. 3
def Recognize():
playsound("Audios/Greetings.mp3")
r = sr.Recognizer()
mic = sr.Microphone(device_index=1)
with mic as source:
while True:
print("Say Something");
audio = r.listen(source)
record=r.recognize_google(audio)
print(record)
if "what's your name" in record:
playsound("Audios/I'm Friday.mp3")
#Befehle
elif "open YouTube" in record:
url="https://www.youtube.com/"
webbrowser.open_new(url)
playsound("Audios/Anything Else.mp3")
elif "play music" or "play some music" in record:
list=[
"https://www.youtube.com/watch?v=mEljZKCo5Hc",
"https://www.youtube.com/watch?v=hgokPOo8PD0",
"https://www.youtube.com/watch?v=AhiIZKaRixs",
"https://www.youtube.com/watch?v=8wQKNLWRkhs",
"https://www.youtube.com/watch?v=SBjQ9tuuTJQ",
"https://www.youtube.com/watch?v=K73-hmaHPHY",
"https://www.youtube.com/watch?v=GM8VWNMThnQ"
]
song=random.choice(list)
playsound("Audios/No problem.mp3")
webbrowser.open_new(song)
playsound("Audios/Anything Else.mp3")
elif "read news" or "read the news" in record:
playsound("Audios/News Question.mp3")
playsound("Audios/Anything Else.mp3")
elif "no that's it" or "no thank you" or "no Friday" in record:
playsound("Audios/Goodbye.mp3")
break
Danke schonmal für eure Hilfe
Grüße