0

PocketSphinx (python-pocketsphinx、pokesphinx-hmm-wsj1、pokesphinx-lm-wsj) をインストールしましたが、Python3 コードを実行して音声ファイルの音声を認識しようとすると、このエラーが発生します。

$ python3 web_speech_api.py 02-29-2016_00-12_msg1.wav 
Fatal Python error: Py_Initialize: Unable to get the locale encoding
  File "/usr/lib/python2.7/encodings/__init__.py", line 123
    raise CodecRegistryError,\
                            ^
SyntaxError: invalid syntax

Current thread 0x00007fe1548de700 (most recent call first):
Aborted (core dumped)

物事を複雑にするためにPython 2.7、Python 3.5、およびAnacondaの両方をインストールしましたが、エラーはこれが原因であると思いますか?

以下の行をに追加しました~/.bachrc

export PYTHONPATH=/usr/lib/python2.7
export PATH=$PATH:$PYTHONPATH

python3.5と2.7のどちらを入れるか迷ったのですが、3.5だとエラーが出ました[...] ImportError: No module named '_sysconfigdata_m'。また、anaconda へのパスを設定するために自動的に追加された行を削除しました。このプロジェクトには Anaconda パッケージは必要ありません。

$ which python
/usr/bin/python
$ echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/python2.7

これが役立つ場合のコードも次のとおりです。

#!/usr/bin/ python

import sys
import pocketsphinx

if __name__ == "__main__":

   hmdir = "/usr/share/pocketsphinx/model/hmm/wsj1"
   lmdir = "/usr/share/pocketsphinx/model/lm/wsj/wlist5o.3e-7.vp.tg.lm.DMP"
   dictd = "/usr/share/pocketsphinx/model/lm/wsj/wlist5o.dic"
   wavfile = sys.argv[1]

   speechRec = pocketsphinx.Decoder(hmm = hmdir, lm = lmdir, dict = dictd)
   wavFile = file(wavfile,'rb')
   speechRec.decode_raw(wavFile)
   result = speechRec.get_hyp()

   print(result)

エラーを修正し、うまくいけば、さまざまな Python バージョンの混乱を整理してくれたことに非常に感謝しています...

4

0 に答える 0