我安装了最新版本的pocketsphinx和sphinxbase(0.8)。我尝试将pocketsphinx导入python代码(Python的3.4.2版本)并使用" Decoder"像这样:
try:
import sphinxbase
import pocketsphinx as ps
except:
print ("Pocket sphinx and sphixbase is not installed in your system.
Please install it with package manager.")
speechRec = ps.Decoder(hmm = hmmd, lm = lmdir, dict = dictp, beam = '1e-80')
wavFile = file(wavfile,'rb')
wavFile.seek(44)
speechRec.decode_raw(wavFile)
但是,我收到以下错误:
AttributeError: 'module' object has no attribute 'Decoder'
有人知道什么是错的吗?
答案 0 :(得分:2)
正如Bhargav已经提到的,您已将文件命名为pocketsphinx.py
或路径中有pocketsphinx.py
,因此您需要重命名该文件并确保同时删除pocketsphinx.pyc
文件。您正尝试从该文件导入而不是pocketsphinx模块。
答案 1 :(得分:0)
我又遇到了同样的问题,可以为我解决。对于将来也有此问题的任何人:
首先,我从http://downloads.sourceforge.net/cmusphinx/pocketsphinx-5prealpha.tar.gz安装了Pocketsphinx版本。安装到swig/python/__init__.py
的相应/usr/lib/python<ver>/site-packages/pocketsphinx/__init__.py
包含以下内容:
from pocketsphinx import *
当我从https://pypi.org/project/pocketsphinx/安装Pocketsphinx时,相应的__init__.py
包含:
from .pocketsphinx import *
如果像from pocketsphinx import *
这样的导入语句起作用,或者如果您必须使用from pocketsphinx.pocketsphinx import *