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

Jac*_*ury 6 python speech-recognition microphone python-2.7 python-3.x

在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")
Run Code Online (Sandbox Code Playgroud)

当我尝试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'
Run Code Online (Sandbox Code Playgroud)

(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'
Run Code Online (Sandbox Code Playgroud)

我已经下载了speech_recognition和pyaudio库,但错误的原因仍然没有找到我.请帮忙!

Dad*_*ane 13

发现修复 -

pip install SpeechRecognition

pip install pyaudio
Run Code Online (Sandbox Code Playgroud)

如果您发现错误 -

sudo apt-get install python-pyaudio

sudo apt-get install libjack-jackd2-dev portaudio19-dev
Run Code Online (Sandbox Code Playgroud)

然后再 -

pip install pyaudio
Run Code Online (Sandbox Code Playgroud)


Ter*_*edy 5

对于2.7:PyPI SpeechRecognition页面提及Microphone而不是microphone.尝试大写名称.如果你曾经尝试过

>>> import speech_recognition as sr
>>> dir(sr)
Run Code Online (Sandbox Code Playgroud)

要查看模块具有哪些属性,您可能会发现错误.

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

.../python34/Scripts> pip install SpeechRecognition

应该安装3.4.