pocketsphinx设置国语/中国模式,并使用Python字典的问题

问题描述 投票:0回答:1

(同时要求在sourceforge.net)

我在Ubuntu 18从源代码安装sphinxbase和pocketsphinx(官方CMU github上,而不是从sourceforge.net)

(宿主:Mac Pro的;使用VMware Fusion 11;蟒: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文件:

  • 前进 t ing zh ib
  • 后退 h ou t ui
  • 左转 z uo zh uan
  • 右转 y uo zh uan
  • 向左转 x iang z uo zh uan
  • 向右转 x iang y uo zh uan
  • 停止 t ing zh ib
  • 加速 j ia s u
  • 减速 j ian s u

GStreamer的GUI一个文本框和一个按钮成功地显示。

然而,当我点击按钮说话,说一些中国话,没有出现在文本框中。

难道是我的.lm文件太旧?(只是一些猜测,我不太清楚。)

请帮忙。

(或者,如果你能不能帮我打印一些错误信息,我会理解; GStreamer的GUI和有关的bug pycharm终端显示什么都没有。)

python speech-recognition gstreamer cmusphinx pocketsphinx
1个回答
0
投票

您需要加载与-hmm选择中国声学模型

© www.soinside.com 2019 - 2024. All rights reserved.