import speech_recognition as sr
import pyttsx3 as tts
import sys,time
predkosc = 160
# LISTY GESTÓW
WYKRYJ = ["ziomeczek","ziomeczku","ziomuś"]
DOWIEDZENIA = ["nara","narazie","nara ziom"]
def powitanie():
print("")
print("")
print(" |\/\/\/|")
print(" | |")
print(" | (o)(o) NO SIEMA MORDECZKO")
print(" C _) WZYWAŁEŚ MNIE")
print(" | ___|")
print(" | /")
print("")
print("")
r=sr.Recognizer()
engine = tts.init()
engine.setProperty('voice',engine.getProperty('voices')[0].id)
engine.setProperty('rate', predkosc)
def speak(text):
engine.say(text)
engine.runAndWait()
def czy_zawiera(string,slowa):
return [element for element in slowa if element in string.lower()]
def getText():
try:
with sr.Microphone() as source:
print("Nasłuchuję...", end="\r")
audio = r.listen((source))
text =r.recognize_google(audio, langue="pl-PL")
if text == "":
return None
else:
return text
except:
return None
powitanie()
while True:
time.sleep(0.5)
cur = getText()
print(""*50, end="\r")
if cur != None:
if len(czy_zawiera(cur,WYKRYJ)):
if len(czy_zawiera(cur,DOWIEDZENIA)):
speak("Żegnaj kotku")
break
aW1wb3J0IHNwZWVjaF9yZWNvZ25pdGlvbiBhcyBzcgppbXBvcnQgcHl0dHN4MyBhcyB0dHMKaW1wb3J0IHN5cyx0aW1lCgpwcmVka29zYyA9IDE2MAoKIyBMSVNUWSBHRVNUw5NXCgpXWUtSWUogPSBbInppb21lY3playIsInppb21lY3prdSIsInppb211xZsiXQpET1dJRURaRU5JQSA9ICAgWyJuYXJhIiwibmFyYXppZSIsIm5hcmEgemlvbSJdCgpkZWYgcG93aXRhbmllKCk6CiAgICBwcmludCgiIikKICAgIHByaW50KCIiKQogICAgcHJpbnQoIiAgfFwvXC9cL3wiKQogICAgcHJpbnQoIiB8ICAgICAgfCIpCiAgICBwcmludCgiIHwgKG8pKG8pICAgICAgICAgICAgICAgICBOTyBTSUVNQSBNT1JERUNaS08iKQogICAgcHJpbnQoIiBDICAgICAgXykgICAgICAgICAgICAgICAgICAgV1pZV0HFgUXFmiBNTklFIikKICAgIHByaW50KCIgIHwgIF9fX3wiKQogICAgcHJpbnQoIiAgfCAgIC8iKQogICAgcHJpbnQoIiIpCiAgICBwcmludCgiIikKCnI9c3IuUmVjb2duaXplcigpCmVuZ2luZSA9IHR0cy5pbml0KCkKZW5naW5lLnNldFByb3BlcnR5KCd2b2ljZScsZW5naW5lLmdldFByb3BlcnR5KCd2b2ljZXMnKVswXS5pZCkKZW5naW5lLnNldFByb3BlcnR5KCdyYXRlJywgcHJlZGtvc2MpCgpkZWYgc3BlYWsodGV4dCk6CiAgICBlbmdpbmUuc2F5KHRleHQpCiAgICBlbmdpbmUucnVuQW5kV2FpdCgpCgpkZWYgY3p5X3phd2llcmEoc3RyaW5nLHNsb3dhKToKICAgIHJldHVybiBbZWxlbWVudCBmb3IgZWxlbWVudCBpbiBzbG93YSBpZiBlbGVtZW50IGluIHN0cmluZy5sb3dlcigpXQoKZGVmIGdldFRleHQoKToKCiAgICB0cnk6CiAgICAgICAgd2l0aCBzci5NaWNyb3Bob25lKCkgYXMgc291cmNlOgogICAgICAgICAgICBwcmludCgiTmFzxYJ1Y2h1asSZLi4uIiwgZW5kPSJcciIpCiAgICAgICAgICAgIGF1ZGlvID0gci5saXN0ZW4oKHNvdXJjZSkpCiAgICAgICAgICAgIHRleHQgPXIucmVjb2duaXplX2dvb2dsZShhdWRpbywgbGFuZ3VlPSJwbC1QTCIpCiAgICAgICAgICAgIGlmIHRleHQgPT0gIiI6CiAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmV0dXJuIHRleHQKICAgIGV4Y2VwdDoKICAgICAgICByZXR1cm4gTm9uZQoKCnBvd2l0YW5pZSgpCgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgwLjUpCiAgICBjdXIgPSBnZXRUZXh0KCkKICAgIHByaW50KCIiKjUwLCBlbmQ9IlxyIikKICAgIGlmIGN1ciAhPSBOb25lOgogICAgICAgIGlmIGxlbihjenlfemF3aWVyYShjdXIsV1lLUllKKSk6CiAgICAgICAgICAgIGlmIGxlbihjenlfemF3aWVyYShjdXIsRE9XSUVEWkVOSUEpKToKICAgICAgICAgICAgICAgIHNwZWFrKCLFu2VnbmFqIGtvdGt1IikKICAgICAgICAgICAgICAgIGJyZWFrCg==