Я прочитал учебник по cmusphinx и успешно выполнил демо-версию pocketsphinx android.
Теперь я хочу изменить демо и добавить поддержку для итальянца.
В итальянской модели загрузки страницы (here) можно увидеть два файла:Неизвестный тип CMN 'batch' in pocketsphinx
- cmusphinx-It-5.2.tar.gz: он содержит параметры модели;
- 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: INFO: pocketsphinx.c (145): Разбираемые модели конкретных параметров функций от /storage/emulated/0/Android/data/edu.cmu.sphinx.pocketsphinx/files /sync/it-ptm/feat.params
E/cmusphinx: FATAL: "cmn.c", строка 126: Неизвестный CMN типа 'партии'
Может кто-нибудь сказать мне, что случилось? Thanks
Спасибо Николаю. Для запуска со старой версией я использовал ** - cmn current ** в feat.params вместо -cmn, но с последней версией проблема решена. – salvolds