语音识别循环

罗山河

我正在尝试编写语音识别代码,该代码将从麦克风获取语音并进行处理,直到说出“停止”为止。该代码适用于第一种声音,但随后出现错误。我写的代码如下:

import speech_recognition as sr
import webbrowser
r = sr.Recognizer()


with sr.Microphone() as source:                
    while True:
        audio = r.listen(source)
        print("You said " + r.recognize(audio)) 
        if r.recognize(audio)=="Facebook":
            webbrowser.open('https://www.facebook.com')
        if r.recognize(audio)=="Google":
            webbrowser.open('https://www.google.co.uk')
        if r.recognize(audio)=="Stop":
            break

我得到的错误是:

You said Facebook
Traceback (most recent call last):
File "C:/Work/Scripts/SpeechRecognition/Speech.py", line 9, in <module>
print("You said " + r.recognize(audio)) # listen for the first phrase and extract it into audio data
File "C:\Users\roradhak.NDS-UK\AppData\Roaming\Python\Python27\site-packages\speech_recognition\__init__.py", line 324, in recognize
raise LookupError("Speech is unintelligible")

LookupError:语音难以理解

Process finished with exit code 1
彼得·伍德

您需要捕获异常:

def recognize(audio):
    try:
        return r.recognize(audio)
    except LookupError, e:
        print e
        return ''

然后:

with sr.Microphone() as source:                
    while True:
        audio = r.listen(source)
        words = recognize(audio)
        print("You said " + words) 
        if words == "Facebook":
            webbrowser.open('https://www.facebook.com')
        elif words =="Google":
            webbrowser.open('https://www.google.co.uk')
        elif words == "Stop":
            break

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章