6

Tôi đang cố gắng tạo một ứng dụng Python có thể ghi âm và dịch nó thành văn bản tiếng Anh bằng PyAudio, SpeechRecognition và PocketSphinx. Tôi đang chạy trên Mac OS X El Capitan, phiên bản 10.11.2.Python pocketsphinx RequestError: thiếu mô-đun PocketSphinx: đảm bảo rằng PocketSphinx được thiết lập chính xác

Làm theo hướng dẫn như this one và những người khác, tôi đã tải xuống phiên bản PyAudio 0.2.9, SpeechRecognition cũng như PocketSphinx. Tôi đã cài đặt chúng vào một môi trường Conda. Tôi đã làm theo hướng dẫn từ số site này để sử dụng brew install swig git python trên OS X của tôi, hy vọng điều đó sẽ hữu ích.

Đây là mã của tôi:

# 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()) 

điều Cho đến nay đang làm việc tuyệt vời. Tôi có thể ghi lại và phát lại tệp WAV của mình mà không gặp vấn đề gì. Nhưng đây là nơi mà mọi thứ đi sai ...

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") 

Khi tôi chạy mã này tôi nhận được: RequestError: missing PocketSphinx module: ensure that PocketSphinx is set up correctly.

Tôi đã cài đặt PocketSphinx và Sphinxbase cả trên toàn cầu và trong envs conda ảo nhưng vô ích. Tài liệu về lỗi này trên các bài đăng của Google/SO gần bằng không vì vậy tôi không chắc chắn những gì đang diễn ra. Bất kỳ trợ giúp/tư vấn nào sẽ được đánh giá cao.

Dưới đây là một danh sách các gói cài đặt của tôi và các phiên bản của họ cho conda môi trường ảo của tôi:

# 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 
+0

nhắn nói lên tất cả, bạn cần phải loại bỏ sphinxbase cũ và cài đặt gói pocketsphinx. –

Trả lời

7

Bạn sẽ cần những thư viện này để biên soạn pocketsphinx:

sudo apt-get install -qq python python-dev python-pip build-essential swig libpulse-dev 

Sau đó nó đơn giản để cài đặt pocketsphinx:

sudo pip install pocketsphinx

4

như @Nikolay Shmyrev đề cập, bạn có thể chỉ đơn giản là

pip install pocketsphinx 

để giải quyết vấn đề này

1

Tôi đã cố gắng để làm điều tương tự và đã gặp rắc rối với

# Make sure we have up-to-date versions of pip, setuptools and wheel: 
$ pip install --upgrade pip setuptools wheel 

$ pip install --upgrade pocketsphinx 

từ các tài liệu pocketsphinx https://pypi.python.org/pypi/pocketsphinx

Các lỗi là

error: command 'gcc' failed with exit status 1

Tôi đang làm việc trên máy mac và cần cài đặt các công cụ dòng lệnh x-code. Từ dòng lệnh

xcode-select --install 

thì pip cài đặt làm việc và

r.recognize_sphinx(audio) 

làm việc

Các vấn đề liên quan