0

我在 linux 上使用 pocketsphinx,并且一直在使用 CMU 教程中的源代码。我正在尝试上传 HUB4 字典、语言模型和声学模型。

当我刚刚上传字典和语言模型时,我已经让它工作了,但是当我尝试使用声学模型时,我得到了这个错误:

信息:acmod.c(246):从 /home/mintea/programs/hub4/hub4opensrc.cd_continuous_8gau/feat.params 解析模型特定的特征参数 致命错误:“fe_sigproc.c”,第 405 行:无法创建滤波器组,频率范围不匹配。采样率 8000.000000,FFT 大小 512,lowerf 5734.375000 < 频率 -15.625000 > upperf 5078.125000。

这是我正在使用的代码片段:

self.pipeline = gst.parse_launch('gconfaudiosrc ! audioconvert ! audioresample '
                                     + '! vader name=vad auto-threshold=true '
                                     + '! pocketsphinx name=asr ! fakesink')

asr = self.pipeline.get_by_name('asr')
asr.connect('partial_result', self.asr_partial_result)
asr.connect('result', self.asr_result)
asr.set_property('hmm', '/home/mintea/programs/hub4/hub4opensrc.cd_continuous_8gau')
asr.set_property('lm', '/home/mintea/programs/hub4/language_model.arpaformat.DMP')
asr.set_property('dict', '/home/mintea/programs/hub4/cmudict.hub4.06d.dic')        
asr.set_property('configured', True)

我在想我为更改音频速率而配置的 gst.parse_launch 调用中有一个标志,但我不太确定如何。有什么建议么?谢谢!

4

1 回答 1

0

您不能将 hub4 声学模型与 gstreamer 插件一起使用。它需要采样率 16000,而采样率 8000 在 gstreamer 插件源中是硬编码的。

您需要在 gstreamer 插件源中的多个位置将 8000 更改为 16000 并重新编译插件,或者您需要使用 8khz 声学模型。

于 2013-05-30T19:59:35.817 回答