pocketsphinx使用python设置普通话/中文模型和字典问题

时间:2019-02-06 03:24:32

标签: python speech-recognition gstreamer cmusphinx pocketsphinx

(也在sourceforge.net上询问)

我在ubuntu 18上从源代码(官方 cmu github,不是从sourceforge.net)安装 sphinxbase pocketsphinx

(主机:mac Pro;使用vmware Fusion 11; python:3.6)

我从offical website复制了demoapp.py。

原始代码运行流畅,但仅支持英语。

然后为了调整它以识别中文,我做了一些改动。

我的语言模型是从这里下载的:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Mandarin/zh_broadcastnews_64000_utf8.DMP/download 我已经将其转换为.lm.bin和.lm格式。

这是我的init_gst()函数(我仅在未修改其他函数的情况下修改此函数)

def init_gst(self):
    """Initialize the speech components"""

    self.pipeline = gst.parse_launch('autoaudiosrc ! audioconvert !  audioresample '
                                     + '! pocketsphinx name=asr ! fakesink')

    bus = self.pipeline.get_bus()
    bus.add_signal_watch()
    bus.connect('message::element', self.element_message)

    self.pipeline.set_state(gst.State.PAUSED)
    asr = self.pipeline.get_by_name('asr');  # We previously  assigned pocketsphinx element a name asr
    asr.set_property('lm', '/Users/cindy/Documents/pythonworkspace/sphinxenv/chinese.lm')
    asr.set_property('dict', '/Users/cindy/Documents/pythonworkspace/sphinxenv/dict/chinese_dict.dict')

这是chinese_dict.dict文件:

  • 前进到终点
  • 后退h ou ui
  • 左转z uo zh uan
  • 右转y zh uan
  • 向左转x iang zuo zh uan
  • 向右转x iang y uo zh uan
  • 停止zhib
  • 加速j ias
  • 减速jian s

gstreamer GUI通过一个文本框和一个按钮成功显示。

但是,当我单击按钮并说一些中文时, 文本框中没有任何内容。

我的 .lm 文件是否太旧了了吗?(只是有些猜测,我不太确定。)

请帮助。

(或者,如果您可以帮助我打印一些错误信息,我将不胜感激; gstreamer GUI和pycharm终端完全不显示该错误。)

1 个答案:

答案 0 :(得分:0)

您需要使用-hmm选项加载中国声学模型