利用python实现pocketsphinx的汉语/汉语模型及词典问题

2024-10-01 02:26:30 发布

您现在位置:Python中文网/ 问答频道 /正文

(也被问到sourceforge.net)在

我安装sphinxbasepocketsphinx源代码(官方cmugithub,而不是sourceforge.net)在ubuntu 18上

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

我收到了演示.py从offical website开始。在

原始代码运行平稳,但只支持英语。在

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

我的语言模型从这里下载: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')

这是中国人_迪克特。迪克特文件:

  • 前進
  • 後退
  • 左轉z uo zhuan
  • 右轉y uo zhuan
  • 向左轉Xiang Zuo zhuan
  • 向右轉Xiang Yuo Zhuan
  • 停止

gstreamer GUI成功地显示了一个文本框和一个按钮。在

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

是不是我的.lm文件太旧了?(只是猜测一下,我不太确定。)

请帮忙。在

(或者,如果您能帮我打印一些错误信息,我将不胜感激;gstreamer GUI和pycharm终端根本没有显示该错误。)


Tags: 函数nameselfnetpipelineelementasrdict