我试图使用语音识别为我的深度学习聊天机器人,以获得输入的用户。实际上,我的语音识别功能代码是:
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)。哦,我忘了说了,你还需要在你的机器上构建音效,才能使用speech_recognition。我做了所有的事情,即使是这个离线API也有同样的问题.早上,recognize.sphinix()认出了我告诉你的2-3倍,但现在,它甚至没有回应!
注意:我用任务管理器监视我的pc,只运行语音识别功能,只占用9MB内存和0.3%的CPU使用率。因此,有限的计算能力没有问题。
有人能解决这个问题吗?如果你解决了这个头痛问题,你会让我感到高兴的。提前感谢!
发布于 2020-09-03 17:47:42
现在不建议使用持续时间参数。参考文献StackOverflow question.
相反,请使用phrase_time_limit或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这个很好用。
https://stackoverflow.com/questions/63728785
复制相似问题