(也在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文件:
gstreamer GUI通过一个文本框和一个按钮成功显示。
但是,当我单击按钮说并说一些中文时, 文本框中没有任何内容。
我的 .lm 文件是否太旧了了吗?(只是有些猜测,我不太确定。)
请帮助。
(或者,如果您可以帮助我打印一些错误信息,我将不胜感激; gstreamer GUI和pycharm终端完全不显示该错误。)
答案 0 :(得分:0)
您需要使用-hmm
选项加载中国声学模型