首頁  >  文章  >  後端開發  >  我無法在我的語音辨識程式碼中產生 google/youtube 的研究結果

我無法在我的語音辨識程式碼中產生 google/youtube 的研究結果

PHPz
PHPz轉載
2024-02-06 08:10:07651瀏覽

我无法在我的语音识别代码中生成 google/youtube 的研究结果

問題內容

我正在嘗試建立一個聊天機器人,它可以與人們互動並幫助他們快速更新。以下是我用來從 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中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除