Непрерывное распознавание речи Android

Я смотрю на распознавание речи в андроиде. Программа должна иметь непрерывное распознавание речи. В библиотеке должно быть всего 10 слов. Я рассмотрел использование Googles api, но я не думаю, что это сработает. (Я не могу ничего покрыть экран). Я искал другие способы, но ничего не похоже, что это сработает. Можно ли использовать библиотеку распознавания речи java, или есть ли другой способ обойти это?

В итоге
1. Нужен непрерывный речевой ввод
2. 10 слов при макс.
3. может при необходимости обучить
4. Обзор программы – экран дисплея, ожидание ввода голоса или сенсорного ввода, повтор обновления экрана
5. не может покрывать то, что отображается на экране

Любая помощь будет оценена по достоинству.
заранее спасибо

    Вот объяснение Oracle для Java Speech API. Часто задаваемые вопросы .

    Я думаю, вам нужно будет записывать звук непосредственно с микрофона телефона и передавать его в свою собственную службу распознавания. API-интерфейсы распознавания Google построены как Intent, который запускает собственный диалог распознавания и возвращает результаты. Если вы хотите непрерывного распознавания без пользовательского интерфейса, вам придется самостоятельно создавать эту функциональность.

    Недавно CMUSphinx реализовал непрерывное прослушивание на платформе Android. Вы можете найти демо на странице вики

    Вы можете настроить одно или несколько ключевых слов для прослушивания, ключевым словом по умолчанию является «oh mighty computer». Вы также можете настроить порог обнаружения. В настоящее время поддерживаются языки США и некоторые другие (французский, испанский, русский и т. Д.). Вы можете обучить свою модель для своего языка.

    Прослушивание просто, вы создаете распознаватель и просто добавляете поиск по ключевым словам:

    recognizer = defaultSetup() .setAcousticModel(new File(modelsDir, "hmm/en-us-semi")) .setDictionary(new File(modelsDir, "lm/cmu07a.dic")) .setKeywordThreshold(1e-5f) .getRecognizer(); recognizer.addListener(this); recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE); switchSearch(KWS_SEARCH_NAME); 

    и определить слушателя:

     @Override public void onPartialResult(Hypothesis hypothesis) { String text = hypothesis.getHypstr(); if (text.equals(KEYPHRASE)) // do something } 

    Вместо одной ключевой фразы вы можете указать путь файла команд в файловой системе:

      recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "commands.lst").toString()); 

    Какие команды имеют команды commands.lst содержащие команды по одному в строке:

      oh might computer ok google hello dude 

    Чтобы поместить этот файл в файловую систему, вы можете поместить его в активы и запустить syncAssets при запуске приложения.

    Вот еще один способ (если вы планируете использовать Phonegap / Cordova).

    https://stackoverflow.com/a/39695412/3603128

    1) Он постоянно слушает.

    2) Не отображает (занимает) на экране.

    Используйте библиотеку CMUSphinx :

    1. Он будет работать в автономном режиме
    2. Вы можете это назвать
    3. Он начнет слушаться, когда вы назовете его имя

    У меня были те же требования пару месяцев назад и я решил написать свою собственную библиотеку .

    Я считаю, что он также должен соответствовать вашим требованиям;)

    Interesting Posts

    Максимизированный хром показывает небольшую линию на втором экране

    Как сделать фильм на DVD моих фотографий?

    Могу ли я смешивать статические и общедоступные библиотеки при связывании?

    Сообщение jQuery для Rails

    VisualStudio: как сохранить папку obj в другом месте

    Как имитировать нажатия клавиш или щелчок с помощью JavaScript?

    Порядок оценки элементов в инициализации списка

    Как подключить раздел NTFS для чтения только в Windows?

    Почему я не могу инициализировать нестационарный статический член или статический массив в classе?

    Когда мне нужно использовать интерфейсы вместо абстрактных classов?

    UITextField в UIAlertView на iPhone – как сделать его отзывчивым?

    Как сопоставить разбиение таблицы в EF Code First?

    Какие выражения дают ссылочный тип, когда к ним применяется метод decltype?

    Если я выполняю обновление до Windows 8, должен ли я иметь установленную предыдущую версию или просто достаточно ключа?

    Как недавнее обнаружение столкновения SHA-1 влияет на Git?

    Давайте будем гением компьютера.