2

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

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

我复制了字典/src/main/assets/sync并创建了一个包含voxforge_it_sphinx.cd_cont_2000/src/main/assets/sync/it-ptm内容的新文件夹来设置模型。然后我通过添加这样的意大利资源列表来修改文件: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:INFO:pocketsphinx.c(145):从 /storage/emulated/0/Android/data/edu.cmu.sphinx.pocketsphinx/files/sync/it-ptm/feat.params 解析模型特定的特征参数
E/cmusphinx:致命:“cmn.c”,第 126 行:未知 CMN 类型“批次”

有人可以告诉我有什么问题吗?谢谢

4

1 回答 1

0

你的 pocketsphinx-android 文件太旧了,你需要更新它们,它应该可以工作。您可以从 github 签出最新版本

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

于 2017-01-05T22:00:49.110 回答