0

我尝试运行使用 pocketsphinx 的简单示例。我已经安装了所有需要的库、插件...... Python 2.7.6。但是还是报错:

pocketsphinx 'module' 对象没有属性 'Decoder'

import sys,os 
import pocketsphinx as ps 
import sphinxbase


def decodeSpeech(hmmd,lmdir,dictp,wavfile):
    speechRec = ps.Decoder(hmm = hmmd, lm = lmdir, dict = dictp)
    wavFile = file(wavfile,'rb')
    wavFile.seek(44)
    speechRec.decode_raw(wavFile)
    result = speechRec.get_hyp()
    return result[0]


if __name__ == "__main__":
    hmdir = '/usr/share/pocketsphinx/model/hmm/wsj1'
    lmd   = '/usr/share/pocketsphinx/model/lm/wsj/wlist5o.3e-7.vp.tg.lm.DMP'
    dictd = '/usr/share/pocketsphinx/model/lm/wsj/wlist5o.dic'
    wavfile = "msg_12c3da80-c6be-11e3-9430-eb6ba5ab4d1f.wav"
    recognised = decodeSpeech(hmdir,lmd,dictd,wavfile)
4

1 回答 1

0

您在代码中使用旧 API。在 pocketsphinx-python 中实现的新 API 的工作方式如下:

https://github.com/cmusphinx/pocketsphinx/blob/master/swig/python/test/decoder_test.py

解码器是在配置对象的帮助下初始化的。型号也不同。

于 2015-04-13T08:29:03.683 回答