2

我已经安装了最新版本的 pocketsphinx 和 sphinxbase (0.8)。我尝试将 pocketsphinx 导入 python 代码(Python 3.4.2 版)并像这样使用“解码器”:

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'

有人知道出了什么问题吗?

4

2 回答 2

2

正如 Bhargav 已经提到的,您已经命名了您的文件pocketsphinx.pypocketsphinx.py在您的路径中有一个,因此您需要重命名该文件并确保也删除该pocketsphinx.pyc文件。您正在尝试从该文件而不是 pocketsphinx 模块导入。

于 2015-01-08T19:17:51.627 回答
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 *

于 2019-02-09T13:22:32.253 回答