doğru yazamadım büyük ihtimalle kontrol edebilir misiniz
import speech_recognition as sr
import wikipedia as wikipedia
from gtts import gTTS
from playsound import playsound
import random
from responsive_voice import ResponsiveVoice
from tkinter import *
def mainCommands(gender=ResponsiveVoice.MALE, rate=0.52, pitch=0.50, vol=1):
engine = ResponsiveVoice()
engine = ResponsiveVoice(lang=ResponsiveVoice.TURKISH)
r = sr.Recognizer()
def record(ask=False):
with sr.Microphone() as source:
if ask:
print(ask)
audio = r.listen(source)
voice = ""
try:
voice = r.recognize_google(audio, language="tr-TR")
except sr.UnknownValueError:
engine.say("anlayamadım", gender=gender, rate=rate, pitch=pitch, vol=vol)
engine.say("Lütfen arayüz de bulunan butona tekrar tıklayın ve yeniden konuşun", gender=gender, rate=rate, pitch=pitch, vol=vol)
exit()
except sr.UnknownValueError:
engine.say("sistem çalışmadı", gender=gender, rate=rate, pitch=pitch, vol=vol)
return voice
def response(voice):
global numb, month
if "bilgi ver" in voice:
engine.say("Aranıyor", gender=gender, rate=rate, pitch=pitch, vol=vol)
voice = voice.replace("bilgi ver", "")
results = record()
results = wikipedia.summary(voice, sentences=3)
engine.say("sonuçları okuyorum", gender=gender, rate=rate, pitch=pitch, vol=vol)
time.sleep(1)
engine.say(results, gender=gender, rate=rate, pitch=pitch, vol=vol)
voice(results)
def speak(string):
tts = gTTS(string, lang="tr")
rand = random.randint(1, 10000)
file = "audio-" + str(rand) + ".mp3"
tts.save(file)
playsound(file)
os.remove(file)
time.sleep(1)
while True:
voice = record()
voice = voice.lower()
print(voice)
response(voice)
time.sleep(1)
pygame.mixer.init()
def gui(geometry, title):
root = Tk()
root.configure(background='white')
root.geometry(f"{geometry}")
root.title(f"{title}")
b = Button(root, text="bana tıkla",bg="white", command=lambda: Thread(target=mainCommands).start())
b.pack()
root.resizable(0, 0)
if __name__ == "__main__":
gui("300x200", "Jack Asistan")
mainloop()