我正在嘗試建立一個聊天機器人,它可以與人們互動並幫助他們快速更新。以下是我用來從 youtube/google 取得搜尋結果的程式碼。請告訴我問題出在哪裡?
maya_google_search.py程式碼:
import speech_recognition import pyttsx3 import pywhatkit from wikipedia import wikipedia import wikipedia as googlescrap import webbrowser engine = pyttsx3.init("sapi5") voices = engine.getproperty("voices") engine.setproperty("voice", voices[1].id) engine.setproperty("rate", 150) def speak(audio): engine.say(audio) engine.runandwait() def takecommand(): r = speech_recognition.recognizer() with speech_recognition.microphone() as source: print("listening.............") r.pause_threshold = 1 r.energy_threshold = 300 audio = r.listen(source,0,4) try: print("understanding............") query = r.recognize_google(audio, language='en-in') print(f"you said: {query}\n") except exception as e: print("say that again") speak("say that again") return "none" return query query = takecommand().lower() def googlesearch(query): if "google" in query: query = query.replace("maya", "") query = query.replace("google search", "") query = query.replace("google", "") speak("this is what i found on google.....") try: pywhatkit.search(query) result = googlescrap.summary(query,sentences=2) speak("according to google..........") speak(result) except: speak("no speakable output available") def youtubesearch(query): if "youtube" in query: query = query.replace("maya", "") query = query.replace("youtube search", "") query = query.replace("youtube", "") speak("this is what i found for your search!") web = "https://www.youtube.com/results?search_query=" + query webbrowser.open(web) pywhatkit.playonyt(query) speak("done, sir")
maya_ai.py程式碼:
import pyttsx3 import speech_recognition engine = pyttsx3.init("sapi5") voices = engine.getProperty("voices") engine.setProperty("voice", voices[1].id) engine.setProperty("rate", 150) def speak(audio): engine.say(audio) engine.runAndWait() def takeCommand(): r = speech_recognition.Recognizer() with speech_recognition.Microphone() as source: print("listening.............") r.pause_threshold = 1 r.energy_threshold = 300 audio = r.listen(source,0,4) try: print("Understanding............") query = r.recognize_google(audio, language='en-in') print(f"You said: {query}\n") # speak(query) except Exception as e: print("Say that again") return "None" return query if __name__ == "__main__": while True: query = takeCommand().lower() if "wake up" in query: from maya_greeting import greetMe greetMe() while True: query = takeCommand().lower() if "go to sleep" in query: speak("Ok sir, You can call me anytime...") break elif "hello" in query: speak("Hello Sir, how are you?") elif "i am fine" in query: speak("That's really great to know sir....") elif "how are you": speak("i am perfectly alright sir.") elif "thank you" in query: speak("you're welcome sir") elif "google" in query: from maya_google_search import Googlesearch Googlesearch(query) elif "youtube" in query: from maya_google_search import Youtubesearch Youtubesearch(query) elif "wikipedia" in query: from maya_google_search import Wikisearch Wikisearch(query)
如果我說 google sundar pichai,它只會列印我所說的內容,並說我很好,先生,或者什麼都沒有。
請幫我解決這個問題。
改變
#elif "how are you":
對於
elif "how are you" in query:
然後您需要加入最後的 else
語句,以防前面的條件都沒有觸發
以上是我無法在我的語音辨識程式碼中產生 google/youtube 的研究結果的詳細內容。更多資訊請關注PHP中文網其他相關文章!