I've looked into Python's speech recognition and it's working great so far. It offers a wide range of software, but I'll be using CMUSphinx
, since it works offline. CMUSphinx
is installed and working correctly when started through their own program cmupshinx_continous
. But when trying to write my own Python-script, it cannot find the module speech_recognition
. This is odd because when I run:
python -m speech_recognition
it works perfectly fine. But when I start my script:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
# recognize speech using Sphinx
try:
print("Sphinx thinks you said " + r.recognize_sphinx(audio))
except sr.UnknownValueError:
print("Sphinx could not understand audio")
except sr.RequestError as e:
print("Sphinx error; {0}".format(e))
I get the error message that the module: speech_recognition
cannot be found. When using
pip install SpeechRecognition
I first used sudo pip install
but when it didn't work I thought it might have been because I installed it in root. So I uninstalled it and used pip install --user SpeechRecognition
instead to no avail. I also tried adding something with PYTHONPATH
, but I have no idea what I tried to do.
So right now I'm very stuck. Please keep in mind that I'm incredibly new to both Linux and Python.
Any ideas on what I can try?
Almost always when you can access a module from one point but not another (think of script/program, terminal/editor, ...) you have multiple python versions and only installed the module in one of them.
In your case IDLE uses a different python version than you on the terminal. You have multiple possibilities:
python myscript.py
You mentioned that IDLE is python3, normally in the terminal python
is python2. You can try python --version
to show which version of python you use. python3
might be the python you use in IDLE, the pip would probably be pip3
.
Because the library does support python3 I would advise to use python3 instead of python2.
IDLE unfortunately isn't that great of an editor, I recommend something else like notepad++, pycharm, vim or emacs.
It looks like the package is installed in some other version of python.
Try typing sudo python -m pip install SpeechRecognition
It worked for me. If not the best thing to do would be:
Try the first method before moving on.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.