def speak(audio): ui.lbl.cancelloop() print(f"Friday : {audio}") Engine.say(audio) ui.setCompText(audio) ui.lbl.next_frame(328, 364) Engine.runAndWait() ui.lbl.cancelloop()
def TakeCommand(): # MAIN FUNCTION TO READ A USER VOICE INPUT ui.lbl.cancelloop() rObject = sr.Recognizer() audio = '' global error_count with sr.Microphone() as source: print("Listening...") ui.lbl.next_frame(184, 260) ui.setCompText("Listening...") ui.setUserText("Waiting For Commands..") # recording the audio using speech recognition audio = rObject.listen(source, phrase_time_limit=5) rObject.pause_threshold = 1 try: query = rObject.recognize_google(audio, language='en-in') print("You :", query) ui.setUserText(query) error_count = 0 ui.lbl.cancelloop() return query except sr.UnknownValueError as e: ui.lbl.cancelloop() ui.lbl.next_frame(50, 170) speak("Could not understand your audio, PLease try again !") error_count = error_count + 1 return '' except sr.RequestError as e: ui.lbl.cancelloop() speak( "Network Error Boss.. Cant help you at the Moment... Reconnecting.." ) ui.lbl.next_frame(50, 170) print("Reconnecting... ") return 'errorfoundinlistening'