AttributeError:'Recognizer'对象没有属性'识别'

时间:2016-01-12 00:56:45

标签: python python-3.x

我在Python(版本3.5)中尝试使用语音识别模块,并且遇到了以下错误:

  

'AttributeError:'识别器'对象没有属性'识别''

这是我使用的代码。

    import pyaudio
    import speech_recognition as sr

    r=sr.Recognizer()
    r.energy_threshold=4000

    with sr.Microphone() as source:
       audio=r.listen(source)

    try:
       print("Speech was:" + r.recognize(audio))
    except LookupError:
       print('Speech not understood')

我在Stack Overflow本身上找到了这个代码,并且还从这里给出的语音识别模块中读取了文档:https://pypi.python.org/pypi/SpeechRecognition/但是由于某种原因它没有在我的系统中执行。我尝试使用谷歌搜索解决方案,但找不到任何有类似错误的人。

如果有人可以帮我解决这里的错误,我将不胜感激。提前谢谢。

3 个答案:

答案 0 :(得分:5)

根据documentationRecognizer类没有方法recognize,这就是你得到的错误的含义,来自

print("Speech was:" + r.recognize(audio))

在这里,您尝试调用一种不存在的方法,您必须使用该类提供的多种recognize_*方法之一,例如recognize_google,{{1} },recognize_witrecognize_ibm

答案 1 :(得分:0)

该方法已从recognize更改为recognize_google。您的代码应该适用于此更改

import pyaudio
import speech_recognition as sr

r=sr.Recognizer()
r.energy_threshold=4000

with sr.Microphone() as source:
   audio=r.listen(source)

try:
   print("Speech was:" + r.recognize_google(audio))
except LookupError:
   print('Speech not understood')

希望这有助于你

答案 2 :(得分:0)

您必须将r.recognize(audio)更改为r.recognize_google(audio)并通过命令行以这种方式运行:python3x path_your_file.py