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

问题描述 投票:0回答:1

我正在尝试构建一个可以与人们互动并帮助他们快速更新的聊天机器人。下面是我用来从 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)

如果我说谷歌 Sundar Pichai,它只会打印我所说的内容,并说我很好,先生,或者什么也没有。

请帮我解决这个问题。

python nlp artificial-intelligence speech-recognition google-text-to-speech
1个回答
0
投票

改变

elif "how are you":

对于

elif "how are you" in query:
© www.soinside.com 2019 - 2024. All rights reserved.