Python 语音识别:使用 UnknownValueError for Microphone 识别 Google

时间:2021-04-01 23:47:39

标签: python python-3.x speech-recognition speech-to-text

我的问题是关于使用 Python 进行语音识别。我的代码应该听我对着麦克风说的话(有 5 秒钟的时间说出我的信息),然后打印出它理解的任何内容。

import speech_recognition as sr

r = sr.Recognizer()
mic = sr.Microphone()

with mic as audio:
    print("Speak Please")

    r.adjust_for_ambient_noise(audio)
    audio = r.record(audio, duration=5)

    print("Converting Speech to Text...")
    print("You said: " + r.recognize_google(audio))

但我总是收到错误消息:

File "/opt/anaconda3/lib/python3.8/site-packages/speech_recognition/__init__.py", line 780, in recognize_google
    if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.UnknownValueError

我尝试使用我在网上找到的音频文件,并且 r.recognize_google 工作正常。但是一旦我使用我的麦克风,我总是会出错。 我也尝试在“记录”和“听”之间切换,但没有成功。 有没有人遇到过类似的问题并知道可能是哪里出了问题?

编辑: 使用类似的 except 块:

try:
   print("You said: {}".format(r.recognize_google(audio,language='en-USA')))
except:
   print("Couldn't hear you")

也无济于事,只是每次都抛出异常。

感谢任何帮助。

非常感谢!

1 个答案:

答案 0 :(得分:0)

所以我设法解决了这个问题。显然这是 Visual Studio Code 的问题。我不得不从终端运行代码,现在它工作正常。我不知道为什么会这样,但我很高兴它现在可以工作了。