首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpeechRecogniton模块在python中太慢了

SpeechRecogniton模块在python中太慢了
EN

Stack Overflow用户
提问于 2020-09-03 17:26:26
回答 1查看 521关注 0票数 2

我试图使用语音识别为我的深度学习聊天机器人,以获得输入的用户。实际上,我的语音识别功能代码是:

代码语言:javascript
复制
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使用率。因此,有限的计算能力没有问题。

有人能解决这个问题吗?如果你解决了这个头痛问题,你会让我感到高兴的。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 17:47:42

现在不建议使用持续时间参数。参考文献StackOverflow question.

相反,请使用phrase_time_limittimeout

下面是使用phrase_time_limit的代码块

代码语言:javascript
复制
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

这个很好用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63728785

复制
相关文章

相似问题

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