我正在尝试设置VoxForge 0.4英语声学模型 - 如https://stackoverflow.com/a/8699337/519995中所述(但适用于Raw配置而非XML)。当我切换到VoxForge时,我的错误率 up 达到100%!
我得到的结果与输入声音完全不同。
我想我配置错了,但我无法弄清楚是什么。
以下是我所做的修改(从RawHelloNGram.java演示开始)。
当VOX_FORGE
为假时,一切都运行正常,当它确实无法识别时。
this.modelLoader = new Sphinx3Loader(
VOX_FORGE ?
"file:"+PROJECT_DIR+"/voxforge-en-0.4/model_parameters/voxforge_en_sphinx.cd_cont_5000"
: "resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz",
"mdef",
"",
logMath,
unitManager,
0.0f,
1e-7f,
0.0001f,
true);
this.model = new TiedStateAcousticModel(modelLoader, unitManager, true);
// changed parameters of mel-Filter
this.melFilterBank = new MelFrequencyFilterBank(
VOX_FORGE ? 200.0 : 130.0, // minFreq,
VOX_FORGE ? 3500.0 : 6800.0, // maxFreq,
VOX_FORGE ? 31 : 40 // numberFilters
);
if (VOX_FORGE) {
this.featureTransform = new FeatureTransform(
modelLoader
);
}
...
... later at the end of the pipeline setup
if (VOX_FORGE) {
pipeline.add(featureTransform);
}
为了完整性 - 这是我正在使用的整个配置:https://gist.github.com/Iftahh/7336283
答案 0 :(得分:3)
Voxforge使用标准的mel filterbank参数(参见feat.params)。
-nfilt 40
-lowerf 133.333334
-upperf 6855.4976
无需将melfilterbank设置为200/3500/31