我已阅读 cmusphinx 教程并成功运行了 pocketsphinx android 演示。
现在我想修改演示并添加对意大利语的支持。
在意大利模型下载页面(这里)我可以看到两个文件:
- cmusphinx-it-5.2.tar.gz:它包含模型参数;
- 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 类型“批次”
有人可以告诉我有什么问题吗?谢谢