PyAudio、SpeechRecognition、PocketSphinxを使用してオーディオを録音し、英語のテキストに変換できるPythonアプリを作成しようとしています。MacOS X El Capitanバージョン10.11.2で実行しています。 。
これ などのチュートリアルに従って、PyAudioバージョン0.2.9、SpeechRecognition、およびPocketSphinxをダウンロードしました。それらをConda環境にインストールしました。私はこれからの指示 サイト が私のOS Xでbrew install swig git python
を使用するのに役立ちました。
これは私のコードです:
# Load packages
import speech_recognition as sr
import sphinxbase
import pocketsphinx
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
# write audio to a WAV file
with open("microphone-results.wav", "wb") as f:
f.write(audio.get_wav_data())
これまでのところ、うまく機能しています。 WAVファイルを問題なく録音および再生できます。しかし、ここで問題が発生します...
r = sr.Recognizer()
with sr.AudioFile('microphone-results.wav') as source:
audio = r.record(source) # read the entire audio file
try:
print("You said " + r.recognize_sphinx(audio))
except LookupError: # speech is unintelligible
print("Could not understand audio")
このコードを実行すると、次のようになります:RequestError: missing PocketSphinx module: ensure that PocketSphinx is set up correctly.
私は、PocketSphinxとSphinxbaseをグローバルと仮想コンダ環境の両方にインストールしましたが、役に立ちませんでした。 Googleのこのエラーに関するドキュメント/ SO投稿はゼロに近いので、何が起こっているのかわかりません。ヘルプ/アドバイスをいただければ幸いです。
以下は、私のconda仮想環境にインストールしたパッケージとそのバージョンのリストです。
# packages in environment at /Users/nathancheever/anaconda/envs/audio_2:
#
appnope 0.1.0 py27_0
backports-abc 0.4 <pip>
backports.ssl-match-hostname 3.4.0.2 <pip>
backports_abc 0.4 py27_0
decorator 4.0.9 py27_0
freetype 2.5.5 0
ipykernel 4.3.1 py27_0
ipython 4.1.2 py27_2
ipython-genutils 0.1.0 <pip>
ipython_genutils 0.1.0 py27_0
ipywidgets 4.1.1 py27_0
jinja2 2.8 py27_0
jsonschema 2.4.0 py27_0
jupyter 1.0.0 py27_2
jupyter-client 4.2.2 <pip>
jupyter-console 4.1.1 <pip>
jupyter-core 4.1.0 <pip>
jupyter_client 4.2.2 py27_0
jupyter_console 4.1.1 py27_0
jupyter_core 4.1.0 py27_0
libpng 1.6.17 0
markupsafe 0.23 py27_0
mistune 0.7.2 py27_1
nbconvert 4.1.0 py27_0
nbformat 4.0.1 py27_0
notebook 4.1.0 py27_2
openssl 1.0.2g 0
path.py 8.1.2 py27_1
pexpect 4.0.1 py27_0
pickleshare 0.5 py27_0
pip 8.1.1 py27_1
ptyprocess 0.5 py27_0
pyaudio 0.2.9 <pip>
pygments 2.1.3 py27_0
pyqt 4.11.4 py27_1
python 2.7.11 0
pyzmq 15.2.0 py27_0
qt 4.8.7 1
qtconsole 4.2.1 py27_0
readline 6.2 2
setuptools 20.6.7 py27_0
simplegeneric 0.8.1 py27_0
singledispatch 3.4.0.3 py27_0
sip 4.16.9 py27_0
six 1.10.0 py27_0
speechrecognition 3.4.2 <pip>
sphinxbase 0.8 <pip>
sqlite 3.9.2 0
ssl_match_hostname 3.4.0.2 py27_0
terminado 0.5 py27_1
tk 8.5.18 0
tornado 4.3 py27_0
traitlets 4.2.1 py27_0
wheel 0.29.0 py27_0
zlib 1.2.8 0
Pocketsphinxをコンパイルするには、次のライブラリが必要です。
Sudo apt-get install -qq python python-dev python-pip build-essential swig libpulse-dev
その後、pocketsphinxをインストールするのは簡単です:
Sudo pip install pocketsphinx
@Nikolay Shmyrevが述べたように、あなたは簡単にできます
pip install pocketsphinx
問題を解決する
同じことをしようとしていて、
# Make sure we have up-to-date versions of pip, setuptools and wheel:
$ pip install --upgrade pip setuptools wheel
$ pip install --upgrade pocketsphinx
pocketsphinx docsから https://pypi.python.org/pypi/pocketsphinx
エラーは
エラー:コマンド 'gcc'が終了ステータス1で失敗しました
私はMacで作業していて、x-codeコマンドラインツールをインストールする必要がありました。コマンドラインから
xcode-select --install
その後、pipインストールが機能し、
r.recognize_sphinx(audio)
働く