我已经看到了超过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默认的语音识别功能,没有任何错误。我还安装了所需的所有库,所以我认为这也不会有太大的问题。
我认为你应该给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))