我最近在运行 Lion 和 Python 2.7.3 的 mac 上安装了 pocketsphinx 模块(不是 Apple 内置的 python,而是酿造的)。我尝试运行以下代码:
import pocketsphinx as p
decoder = p.Decoder(jsgf='/path_to_jsgf_file/grammar.jsgf',samprate='8000')
fh = open('myrecording.wav', 'rb')
nsamp = decoder.decode_raw(fh)
print 'You said,', hyp
print 'Your score was', score
但这是我在运行时遇到的错误import pocketsphinx as p :
Traceback (most recent call last):
File "speech_reco.py", line 4, in <module>
import pocketsphinx as p
File "sphinxbase.pxd", line 150, in init pocketsphinx (pocketsphinx.c:7935)
ValueError: PyCapsule_GetPointer called with invalid PyCapsule object
但是,第二次运行导入命令时,它可以正常运行。因此,目前,我正在那里运行 try-catch 并克服错误。但我不知道这是否仍然有效。
这个问题似乎以前出现过,正如在此链接上讨论的那样:http: //sourceforge.net/p/cmusphinx/bugs/284/
有人解决了这个问题吗?如果不是,try-catch 是绕过这个错误的正确方法吗?