2013-05-30 68 views
0

我在linux上使用pocketsphinx,我一直在使用CMU教程中的源代码。我正在尝试上传HUB4词典,语言模型和声学模型。pocketsphinx python gstreamer音频速率

我,当我刚刚上传了词典和语言模型,但是当我尝试使用声学模型,我得到这个错误之前的工作:

信息:acmod.c(246):解析的具体型号特征来自/home/mintea/programs/hub4/hub4opensrc.cd_continuous_8gau/feat.params的参数 FATAL_ERROR:“fe_sigproc.c”,第405行:无法创建过滤器组,频率范围不匹配。采样率8000.000000,FFT大小512,较低f 5734.375000 < freq -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电话,我配置改变音频速率的标志,但我不是很当然如何。有什么建议么?谢谢!

回答

0

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

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