pocketsphinx 中的未知 CMN 类型 'batch'

Unknown CMN type 'batch' in pocketsphinx

我已经阅读了 cmusphinx 教程,运行 成功阅读了 pocketsphinx android 演示。
现在我想修改演示并添加对意大利语的支持。
在意大利模型下载页面(here)我可以看到两个文件:

  1. cmusphinx-it-5.2.tar.gz:包含模型参数;
  2. it.tar.gz: 包含字典。

我在/src/main/assets/sync下复制了字典并创建了一个新文件夹/src/main/assets/sync/it-ptm,内容为voxforge_it_sphinx。cd_cont_2000到设置模型。 然后我修改了文件 assets.lst,添加了如下意大利语资源列表:

cmudict-en-us.dict
digits.gram
en-phone.dmp
en-us-ptm/README
en-us-ptm/feat.params
en-us-ptm/mdef
en-us-ptm/means
en-us-ptm/noisedict
en-us-ptm/sendump
en-us-ptm/transition_matrices
en-us-ptm/variances
it-ptm/feat.params
it-ptm/feature_transform
it-ptm/mdef
it-ptm/means
it-ptm/mixture_weights
it-ptm/noisedict
it-ptm/transition_matrices
it-ptm/variances
it.dic
menu.gram
weather.dmp

最后我把代码修改成这样:

recognizer = defaultSetup()
            .setAcousticModel(new File(assetsDir, "it-ptm"))
            .setDictionary(new File(assetsDir, "it.dic"))

项目构建成功,但资产同步后应用程序崩溃。这里记录的错误:

I/cmusphinx:信息:pocketsphinx.c(145):从 /storage/emulated/0/Android/data/edu.cmu.sphinx.[=48= 解析模型特定的特征参数].params
E/cmusphinx:致命:"cmn.c",第 126 行:未知 CMN 类型 'batch'

谁能告诉我怎么了? 谢谢

您的 pocketsphinx-android 文件太旧,您需要更新它们,它应该可以工作。您可以从 github

查看最新版本

https://github.com/cmusphinx/pocketsphinx-android-demo