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

时间:2016-02-23 11:36:53

标签: python speech-recognition pyaudio

我正在使用python' Speach Recognition而我的代码正在给我一个AttributeError

import os
import pyaudio
import speech_recognition as sr

def excel():
        os.system("start excel.exe")

def internet():
        os.system("start chrome.exe")

def media():
        os.system("start wmplayer.exe")

def mainfunction(source):
    audio = r.listen(source)
    user = r.recognize_google(audio)
    print(user)
    if user == "Excel":
        excel()
    elif user == "Internet":
        internet()
    elif user == "music":
        media()

if __name__ == "__main__":
    r = sr.Recognizer()    #this is the line that fails
    with sr.Microphone() as source:
        while 1:
            mainfunction(source)

错误信息是:

AttributeError: 'module' object has no attribute 'Recognizer'
(test-dev-pro)➜  ~  python speech_recognition.py
Traceback (most recent call last):
  File "speech_recognition.py", line 26, in <module>
    r = sr.Recognizer()
AttributeError: 'module' object has no attribute 'Recognizer'

但我查看过的所有示例中都使用了Recognizer,所以我不明白为什么会收到此错误。

3 个答案:

答案 0 :(得分:3)

虽然这不是重复,但您遇到与此人相同的问题:Python "import random" Error

通过命名文件speach_recognition,您最终导入自己的文件而不是库文件。要解决这个问题,只需更改文件的名称,就可以了! :)

编辑:请务必查看该问题的评论以及清理.pyc文件的信息。

答案 1 :(得分:0)

我认为您的源文件名是Speech_recognition.py,这与语音识别包中的方法冲突。因此,只需更改文件名。 如果发生另一个错误,例如

AttributeError: 'Recognizer' object has no attribute 'recognize'

然后只需将Recognize()方法更改为google_recognize()

答案 2 :(得分:0)

Windows 用户可能会遇到pyaudio 我遇到的问题

pip install pipwin

安装后pipwin

pipwin install pyaudio

它会帮助你