Python 持续收听音频,直到发出特定命令

Python 持续收听音频,直到发出特定命令,python,nlp,speech-recognition,speech-to-text,Python,Nlp,Speech Recognition,Speech To Text,我正在使用python创建一个语音助手。我想让它一直听音频,直到发出特定的命令。我编写此函数就是为了这样做: import speech_recognition as sr def listen_0(): r = sr.Recognizer() while True: with sr.Microphone() as source: print("Listening...")

我正在使用python创建一个语音助手。我想让它一直听音频,直到发出特定的命令。我编写此函数就是为了这样做:

import speech_recognition as sr
    def listen_0():
        r = sr.Recognizer()
        while True:
            with sr.Microphone() as source:
                print("Listening...")
                try:
                    audio = r.listen(source)
                    
                    query = r.recognize_google(audio, language='en-CA')
                    print(query)
                    if query.find('Jarvis') >= 0 or query.find('jarvis') >= 0:
                        speak("Hello Arya. How may I help you?")
                        break
                except:
                    print('pass')
                    pass
        return query

但这不是最好的方式,因为麦克风的启动存在间隙,响应非常晚,有时没有响应?我怎样才能实现我想做的事?我应该使用另一个库还是一些单独的函数?

可能存在噪声,因此您可以在wtih语句下方使用r.adjust\u for\u ambient\u noise(source)来消除噪声。