首页 > 解决方案 > 没有输出?(Python语音识别)

问题描述

我已经看过超过 5 年关于如何使用语音识别模块的教程,但是当我尝试它们时,我没有得到任何输出!

import speech_recognition as sr

root = sr.Recognizer()

with sr.Microphone() as source :
    print('Listening:')
    audio = root.listen(source)
text = root.recognize_google(audio)
print(text)

这是我的代码。它会打印Listening:,但如果我与它交谈,则不会打印更多内容。我确定我的麦克风没问题,因为我测试了 Windows 默认语音识别并且它没有错误地工作。我还安装了所需的所有库,所以我认为这也不是什么大问题。

标签: pythonpython-3.xspeech-recognitionspeech

解决方案


我认为你应该给listen()函数一个持续时间,以便识别器可以解析你的说法。

phrase_time_limit参数是在停止和返回达到时间限制之前处理的短语部分之前允许短语继续的最大秒数。生成的音频将是在时间限制内截断的短语。- 基于官方文档

import speech_recognition as sr  
                                                                
root = sr.Recognizer()                                                                                   
with sr.Microphone(device_index=0) as source:                                                                       
    print("Speak:")                                                                                   
    audio = root.listen(source, phrase_time_limit=5.0) # in seconds  
    # or you can try this ...
    # audio = root.record(source, duration = 5.0)

print("You said " + root.recognize_google(audio))

推荐阅读