Python Speech Recognition: 'module' object

2019-03-30 11:23发布

问题:

Running the following code on a macbook air 64 bit, testing the code on python 2.7 and 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")

When i try python 2.7, I keep getting the error of :

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 is the name of the file I am testing it on) When I try python 3.4, I keep getting the error of :

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

I have downloaded the speech_recognition and pyaudio libraries yet the cause of the error still eludes me. Please Help!

回答1:

For 2.7: The PyPI SpeechRecognition page mentions Microphone rather than microphone. Try capitalizing the name. If you had tried

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

to see what attributes the module does have, you would likely have discovered the mistake.

For 3.4, I suspect you downloaded and installed the sr module only for 2.7. At a command line (using the Windows version, adjust for another OS as needed)

.../python34/Scripts> pip install SpeechRecognition

should install for 3.4.



回答2:

Fix found -

pip install SpeechRecognition

pip install pyaudio

If you found error -

sudo apt-get install python-pyaudio

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

Then again -

pip install pyaudio


回答3:

To fix this issue, try to open the terminal and execute:

brew install portaudio
pip install pyaudio

I hope this works for U ;)



回答4:

Mac comes with Python 2.7 pre-installed by Apple. and its default path is /usr/bin/python but if you install python 3 then it uses different path which is /applications/python 3 (depend on latest version 3.4 3.5 ..) so you have to install pyaudio and pip for python 3 separate

open the terminal and execute:

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


回答5:

You need to install packadge "pyaudio"



回答6:

If you want to use audio input from microphones, PyAudio is also necessary. If not installed, the library will still work, but Microphone will not be defined.

Source