6

Ich versuche eine Python-App zu erstellen, die Audio aufnehmen und mit PyAudio, SpeechRecognition und PocketSphinx in englischen Text übersetzen kann. Ich laufe auf einem Mac OS X El Capitan, Version 10.11.2.Python pocketsphinx RequestError: fehlendes PocketSphinx-Modul: stelle sicher, dass PocketSphinx korrekt eingerichtet ist

Nach einem Tutorial wie this one und anderen, habe ich PyAudio Version 0.2.9, SpeechRecognition sowie PocketSphinx heruntergeladen. Ich habe sie in einer Conda-Umgebung installiert. Ich habe die Anweisungen von diesem site befolgt, um brew install swig git python auf meinem OS X zu verwenden, hoffend, dass es helfen würde.

Dies ist mein Code:

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

Bisher Dinge funktionieren groß. Ich kann meine WAV-Datei problemlos aufnehmen und abspielen. Aber hier ist, wo die Dinge schief gehen ...

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

Wenn ich diesen Code ausführen, erhalte ich: RequestError: missing PocketSphinx module: ensure that PocketSphinx is set up correctly.

habe ich installiert und pocket Sphinxbase sowohl global als auch in virtuellen Conda ENVs, aber ohne Erfolg. Die Dokumentation zu diesem Fehler in Google/SO-Posts ist nahe bei null, also bin ich mir nicht sicher, was passiert. Jede Hilfe/Beratung würde sehr geschätzt werden. Hier

ist eine Liste meiner installierten Pakete und deren Versionen für meine Conda virtuellen Umgebung:

# 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

Nachricht sagt alles, du alte sphinxbase entfernen müssen und pocket Paket installieren. –

Antwort

7

Sie benötigen diese Bibliotheken für die Kompilierung von Taschensphinx:

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

Danach ist es einfach pocket zu installieren:

sudo pip install pocketsphinx

4

als @Nikolay Shmyrev erwähnt, können Sie einfach

pip install pocketsphinx 

zu lösen das Problem

1

Ich habe versucht, das Gleiche zu tun und hatte Probleme mit

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

$ pip install --upgrade pocketsphinx 

von dem pocket docs https://pypi.python.org/pypi/pocketsphinx

Die Fehler war

error: command 'gcc' failed with exit status 1

Ich arbeite an einem Mac und musste die x-Code-Befehlszeilenwerkzeuge installieren. in der Befehlszeile

xcode-select --install 

installieren Sie dann die pip gearbeitet und

r.recognize_sphinx(audio) 

arbeitet