首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >语音识别器在第一个声音输入时不起作用

语音识别器在第一个声音输入时不起作用
EN

Stack Overflow用户
提问于 2018-06-09 20:26:55
回答 1查看 246关注 0票数 -1

为了使用声音输入,我刚刚将python连接到了arduino。然而,主要问题不是在arduino中,而是在python中

import speech_recognition as sr
import time
while True:
r = sr.Recognizer()
with sr.Microphone() as source:
    audio = r.listen(source)

a = (r.recognize_google(audio))
print(a)

if a == 'light on':
    print('ON')

if a == 'switch off':
    print('OFF')

有时它返回一个未定义的NameError:a,因此a既不是None也不是None。它只在第一次输入时发生。如果它识别出第一个命令(例如,关闭)它不会在整个运行时中发生。虽然有时它在运行时会崩溃,并给出以下错误:

File "C:\Program Files (x86)\Python36-32\lib\site-packages\speech_recognition\__init__.py", line 858, in recognize_google
    if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.UnknownValueError

当然,只有当我注释掉try...except时,我才能看到它。

EN

回答 1

Stack Overflow用户

发布于 2018-06-09 20:48:41

try:
    a = (r.recognize_google(audio))
    print(a)
except:
    pass

if a == 'light on':
    arduino.write('H'.encode())

如果发生异常,a将不会在以后定义,程序将崩溃。

做,做,做

try:
    a = r.recognize_google(audio)
except NameError:
    print('error') # use `traceback`
    a = None
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50774295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档