Установка Pocketsphinx на Android
У меня есть несколько вопросов по установке Pocketsphinx на Android-телефон, и я не смог найти ответы на форуме поддержки CMUSphinx, IRC, существующих сообщениях StackOverflow или интенсивном Гугле. Если у кого-нибудь здесь найдется минутка и он захочет помочь, я буду очень признателен.
Во-первых, я не уверен, могу ли я вообще установить Pocketsphinx на Android. Я считаю, что мне нужны Java bins для работы на Android, поэтому я попытался установить Sphinx 4. Чтобы протестировать программу, Я сделал пустую операцию и переместил демонстрационный файл HelloWorld в метод onCreate.
Затем я добавил в путь сборки следующие библиотеки:
- js.jar
- jsapi-1.0-base.jar
- junit-4.8.1.jar
- сфинкс.jar
- теги.jar
- WSJ_8gau_13dCep_16k_40mel_130Hz_6800hz.jar
Код развертывается на Droid 2 под управлением Android 2.2, но я получаю следующую ошибку во время выполнения:
ERROR/AndroidRuntime(11567): Caused by: Property exception component:'wsjLoader' property:'location' - Can't locate resource:/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz
Я включаю этот файл jar в построить путь, поэтому я не уверен, почему это вызывает исключение, которое будет брошено. Но опять же, я даже не уверен, что должен пытаться установить Sphinx 4 на Android. Кто-нибудь знает, что мне делать? Заранее благодарю за помощь.
Обновление 5/2011: попытка, которую я предпринял, чтобы заставить pocketsphinx работать на Android, теперь указана в КМУ Sphinx wiki по адресу http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/
5 ответов:
Не уверен, что вы это поняли, но я нигде не читал, что вы должны были это сделать. Поэтому, если у вас все еще есть проблемы с запуском PocketSphinx на Android, вам нужно создать папки и загрузить акустические и языковые модели в места, указанные в RecognizerTask.Ява.
Pocketsphinx на Android был обновлен много раз с тех пор и получил новые функции и возможности. Вы можете найти последние установки, как здесь:
Http://cmusphinx.sourceforge.net/wiki/tutorialandroid
Теперь нет необходимости делать какую-либо сложную установку, вы можете просто импортировать проект в ADT, и он должен работать.
Я видел, что вы потратили некоторое время на то, чтобы запустить PocketSphinx на android. Удалось ли вам воспроизвести успех упомянутой "храброй души"*?
Но пока мы получаем СИГСЕВ :{ Д / Эдуард.ПМК.pocketsphinx.демонстрация.PocketSphinxDemo (1455): Отображение Диалогового Окна I / DEBUG ( 56): * ** * ** * ** * ** * ** * I / DEBUG (56): построение отпечатка пальца: 'Гугл/passion_vf/страсть/mahimahi не:2.2.1/FRG83D/291266:пользователей/релиз-ключей I / DEBUG ( 56): pid: 1455, tid: 1475 >>> edu.ПМК.pocketsphinx.демонстрация
Sphinx 4 пытается получить микрофон из системы, используя библиотеки, которые существуют только в Java VM, помните, что Android работает на Dalvik Machine...so в принципе, вы никогда не получите Hello demo для запуска на Android с помощью Sphinx 4, я уже пробовал это раньше... Однако я приглашаю вас узнать это самостоятельно, просто загрузите исходный код для sphinx вместо jar, в конечном итоге вы получите его для сборки, но вы всегда будете получать ошибку времени выполнения wen, пытаясь извлечь microphone...so это ... бессмысленно пытаться использовать sphinx 4 на android...
Ошибка, которую вы получили, потому что
WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar
должен быть извлечен, и содержимое должно быть помещено в папку lib вашего проектаОшибка заключается в том, что он ищет папку
WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz
внутри lib. Эта папка доступна внутри банки.Я тоже только пробовал так. Но дело для меня в том, что теперь apk сам не загружает состояния с ошибкой
Installation error: INSTALL_FAILED_DEXOPT
. В моем коде действие запуска создает кнопку, onclick экземпляра кнопки helloworld будет создан вместоmain()
, так как я использую конструктор.Раньше мне нравилось иметь активность в методе
Ваш пост выглядит так, как будто вы смогли создать эти вещи и все такое. Не могли бы вы поделиться своим кодом? Или просто рамки того, где у вас есть файлыoncreate
, все данные в методе main() helloworld были бы там. (Здесь я не смог даже создать экземплярConfigurationManager
некоторую проблему при загрузкеhelloworld.config.xml
.config.xml
и какие изменения вы в них внесли.