我已经研究过Python的语音识别,到目前为止它的工作非常好。
它提供了广泛的软件,但我将使用CMUSphinx
,因为它可以脱机工作。
通过自己的程序CMUSphinx
启动时,cmupshinx_continous
已安装并正常运行。但是在尝试编写自己的Python脚本时,它找不到模块speech_recognition
。这很奇怪,因为当我跑:
python -m speech_recognition
它完美无缺。但是当我开始我的剧本时:
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))
我收到错误消息,指出无法找到模块:speech_recognition
。
使用时
pip install SpeechRecognition
我第一次使用sudo pip install
但是当它没有工作时我认为可能是因为我在root中安装了它。所以我卸载它并使用pip install --user SpeechRecognition
代替无济于事。
我也尝试添加PYTHONPATH
的内容,但我不知道我试图做什么。
所以现在我非常困难。请记住,我对Linux和Python都非常陌生。
关于我可以尝试的任何想法?
答案 0 :(得分:3)
几乎总是当你可以从一个点而不是另一个点(想到脚本/程序,终端/编辑器......)访问模块时,你有多个python版本,只在其中一个中安装了模块。
在你的情况下,IDLE使用与终端上不同的python版本。你有多种可能性:
python myscript.py
你提到IDLE是python3,通常在终端python
中是python2。您可以尝试python --version
来显示您使用的python版本。 python3
可能是你在IDLE中使用的python,pip可能是pip3
。
因为库支持python3,我建议使用python3而不是python2。
遗憾的是,IDLE不是一个很棒的编辑器,我推荐其他东西,比如notepad ++,pycharm,vim或emacs。
答案 1 :(得分:0)
看起来这个包安装在python的其他版本中。
尝试输入sudo python -m pip install SpeechRecognition
它对我有用。如果不是最好的事情将是:
在继续之前尝试第一种方法。