Написать приложение или адаптировать существующие решения
Если сформулировать в 2 словах – гуляешь с телефоном в кармане и общаешься с роботом. При этом даже если нет интернета или он очень плохой – нет лагов. Язык общения - английский.
На данный момент используется браузерная реализация приложения. Голос распознаётся в текст через интерфейс webkitSpeechRecognition. Он бесплатен и работает например в Google Chrome.
Интерфейс устроен так, что поток аудио с микрофона отправляется на облако Google, и оттуда приходит ответ в виде текста, или вариантов текста с процентами достоверности каждого распознанного варианта.
На десктопе всё работает как надо, можно сворачивать окно, переключаться между вкладками - всё продолжает распознаваться и воспроизводиться. Даже получается параллельно с распознаванием речи - писать с микрофона весь звук в файл.
Теперь про смартфон на Андроиде. Тут появляется ещё одна замечательная фишка - в Андроид встроена локальная распознавалка голоса оффлайн. И если на телефоне отрубить интернет - распознавание из браузера волшебным образом продолжится.
Всё отлично, за исключением ОДНОГО досадного момента: Если свернуть Google Chrome или заблокировать телефон - распознавание оборвётся. При этом получается писать аудио с микрофона в фоне, получается воспроизводить аудио и речь, но вот распознавание - отрубается.
Критерии качества:
- скорость (вопрос-ответ без лагов)
- точность распознавания текста
- возможность работы в офлайне на смартфонах
- возможность работы в фоновом режиме (смартфон в кармане)
- возможность в фоновом режиме отправлять на сервер все
- записанные аудиоданные для дальнейшего анализа
Вопросы:
1. Можно ли это как-то исправить и оставить приложение в браузере, или же из браузера не получится, и надо писать приложение?
2. Если писать приложение - можно ли сделать так, чтобы она по сути представляла собой по сути тот же браузер, в котором мы могли бы открыть то же приложение под любой ОС? То есть что-то типа обёртки.