Maison  >  Article  >  développement back-end  >  Je ne parviens pas à générer des résultats de recherche Google/YouTube dans mon code de reconnaissance vocale

Je ne parviens pas à générer des résultats de recherche Google/YouTube dans mon code de reconnaissance vocale

PHPz
PHPzavant
2024-02-06 08:10:07737parcourir

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

Contenu de la question

J'essaie de créer un chatbot capable d'interagir avec les gens et de les aider à se mettre à jour rapidement. Vous trouverez ci-dessous le code que j'utilise pour obtenir les résultats de recherche de YouTube/Google. S'il vous plaît dites-moi où est le problème ?

maya_google_search.py​​Code :

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.pyCode :

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)

Si je dis google sundar pichai, il imprimera simplement ce que j'ai dit et dira que je vais bien monsieur, ou rien.

S'il vous plaît, aidez-moi à résoudre ce problème.


Bonne réponse


Changer

elif "how are you":

pour

elif "how are you" in query:

Ensuite, vous devez ajouter la déclaration else finale au cas où aucune des conditions précédentes ne se déclencherait

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer