我试图对我的深度学习聊天机器人使用语音识别来获取用户的输入。实际上我的语音识别功能代码是这样的:
def get_audio():
r = sr.Recognizer()
with sr.Microphone() as source:
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
said = ""
try:
print("Listening...")
said = r.recognize_google(audio)
print("You said: " + said)
except Exception as e:
print("Exception: " + str(e))
return said.lower()
嗯,没有错误,这才是最大的错误!我的互联网连接没有问题,因为我可以同时传输高质量的视频,而且这甚至不是视频,它是一个字符串,那么可能是什么问题?我等了将近 15 分钟才收到短信。
嗯,我也尝试过离线 API:recognize_sphinix()
方法。
您需要构建 pocketsphinix 的二进制安装文件(whl)。
哦,我忘了提,你还需要在你的机器上构建 pyaudio 才能使用语音识别。我已经完成了所有这些工作,即使这个离线 API 也有同样的问题......早上recognize.sphinix()
认出了我所说的 2-3 倍,但现在,它甚至没有回应!
NOTE:我用任务管理器监控我的电脑,只运行语音识别功能,Python 仅占用 9MB 的 RAM 和 0.3% 的 CPU 使用率。所以算力有限是没有问题的。
有人能解决这个问题吗?如果你解决了这个令人头疼的问题,我就会很高兴。提前致谢!
持续时间参数现已弃用。参考号StackOverflow问题.
而是使用phrase_time_limit
or timeout
.
这是使用的代码块phrase_time_limit
:
import speech_recognition as sr
def myCommand():
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source, phrase_time_limit = 5)
try:
command = r.recognize_google(audio).lower()
print("you said: " + command)
except sr.UnknownValueError:
print("Sorry, Cant understand, Please say again")
command = myCommand()
return command
这工作得很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)