6

Sto provando a creare un'applicazione Python in grado di registrare l'audio e tradurlo in testo inglese usando PyAudio, SpeechRecognition e PocketSphinx. Sono in esecuzione su Mac OS X El Capitan, versione 10.11.2.Python pocketphinx RequestError: modulo PocketSphinx mancante: assicurarsi che PocketSphinx sia impostato correttamente

Dopo un tutorial come e altri, ho scaricato PyAudio versione 0.2.9, SpeechRecognition e PocketSphinx. Li ho installati in un ambiente Conda. Ho seguito le istruzioni da questo site per utilizzare brew install swig git python sul mio sistema operativo X, sperando che sarebbe di aiuto.

Questo è il mio codice:

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

finora le cose stanno funzionando grande. Posso registrare e riprodurre il mio file WAV senza problemi. Ma qui è dove le cose vanno male ...

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

Quando eseguo questo codice ottengo: RequestError: missing PocketSphinx module: ensure that PocketSphinx is set up correctly.

Ho installato pocketsphinx e Sphinxbase sia globalmente che in ENV Conda virtuale, ma senza alcun risultato. La documentazione su questo errore sui post di Google/SO è vicina allo zero, quindi non sono sicuro di cosa sta succedendo. Qualsiasi aiuto/consiglio sarebbe molto apprezzato.

Ecco una lista dei miei pacchetti installati e le loro versioni per il mio Conda ambiente virtuale:

# 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

messaggio dice tutto, è necessario rimuovere il vecchio sphinxbase e installare il pacchetto pocketsphinx. –

risposta

7

Avrete bisogno di queste librerie per la compilazione di pocketphinx:

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

Dopo che è semplice da installare pocketsphinx:

sudo pip install pocketsphinx

4

come detto @Nikolay Shmyrev, si può semplicemente

pip install pocketsphinx 

per risolvere il problema

1

stavo cercando di fare la stessa cosa e avuto problemi con

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

$ pip install --upgrade pocketsphinx 

dalla documentazione pocketsphinx https://pypi.python.org/pypi/pocketsphinx

Il errore era

error: command 'gcc' failed with exit status 1

Sto lavorando su un Mac e avevo bisogno di installare gli strumenti della riga di comando x-code. Dalla riga di comando

xcode-select --install 

poi il pip install ha funzionato e

r.recognize_sphinx(audio) 

funziona

Problemi correlati