我正在尝试编写语音识别代码,该代码将从麦克风获取语音并进行处理,直到说出“停止”为止。该代码适用于第一种声音,但随后出现错误。我写的代码如下:
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] 删除。
我来说两句