Python语音识别:'模块'对象没有属性'麦克风'

时间:2015-01-17 22:17:09

标签: python python-2.7 python-3.x speech-recognition microphone

在macbook air 64位上运行以下代码,测试python 2.7和python 3.4上的代码

import speech_recognition as sr
r = sr.Recognizer()
with sr.microphone() as source:
    audio = r.listen(source)

try:
    print("You said " + r.recognize(audio))
except LookupError:
    print("Could not understand audio")

当我尝试python 2.7时,我不断收到错误:

Traceback (most recent call last):
File "star.py", line 3, in <module>
with sr.microphone() as source:
AttributeError: 'module' object has no attribute 'microphone'

(star.py是我正在测试它的文件的名称) 当我尝试python 3.4时,我不断收到错误:

Traceback (most recent call last):
File "star.py", line 1, in <module>
import speech_recognition as sr
ImportError: No module named 'speech_recognition'

我已经下载了speech_recognition和pyaudio库,但错误的原因仍然无法解决。请帮助!

6 个答案:

答案 0 :(得分:13)

修复发现 -

pip install SpeechRecognition

pip install pyaudio

如果您发现错误 -

sudo apt-get install python-pyaudio

sudo apt-get install libjack-jackd2-dev portaudio19-dev

然后再次 -

pip install pyaudio

答案 1 :(得分:5)

对于2.7:PyPI SpeechRecognition page提及Microphone而不是microphone。尝试大写名称。如果你试过

>>> import speech_recognition as sr
>>> dir(sr)

要查看该模块具有的属性,您可能会发现错误。

对于3.4,我怀疑您仅为2.7下载并安装了sr模块。在命令行(使用Windows版本,根据需要调整另一个操作系统)

... / python34 /脚本&GT; pip install SpeechRecognition

应安装3.4。

答案 2 :(得分:4)

要解决此问题,请尝试打开终端并执行:

brew install portaudio
pip install pyaudio

我希望这适用于U;)

答案 3 :(得分:2)

Mac附带Apple预安装的Python 2.7。并且它的默认路径是/ usr / bin / python但是如果你安装了python 3,那么它使用不同的路径,即/ applications / python 3(取决于最新的版本3.4 3.5 ..),所以你必须为python 3安装pyaudio和pip

打开终端并执行:

cd /Applications/Python\ 3.5 
pip3 install SpeechRecognition
pip3 install pyaudio

答案 4 :(得分:1)

您需要安装packadge&#34; pyaudio&#34;

答案 5 :(得分:0)

  

如果您想使用麦克风的音频输入,PyAudio也是必需的。如果没有安装,库仍然可以工作,但不会定义麦克风。

Source