Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-02-06 08:10:07
avant
778 Les gens l'ont consulté

我无法在我的语音识别代码中生成 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")
Copier après la connexion

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)
Copier après la connexion

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":
Copier après la connexion

pour

elif "how are you" in query:
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal