Подтвердить что ты не робот

Автономное распознавание речи на Android (JellyBean)

Похоже, Google сделал автономное распознавание речи, доступное от Google Now для сторонних приложений. Он используется приложением с именем Utter.

Кто-нибудь видел какие-либо реализации того, как делать простые голосовые команды с помощью этой автономной речи? Вы просто используете обычный SpeechRecognizer API, и он работает автоматически?

4b9b3361

Ответ 1

Google тихо включил автономное распознавание в этом обновлении поиска, но пока нет (API) или дополнительных параметров в классе SpeechRecognizer. {См. раздел "Редактирование" в нижней части этой публикации). Функциональность доступна без дополнительного кодирования, однако пользовательское устройство должно быть настроено правильно, чтобы оно начало работать, и вот где проблема лежит, и я что многие разработчики предполагают, что они "что-то не хватает".

Кроме того, Google запретил некоторым устройствам Jelly Bean использовать автономное распознавание из-за аппаратных ограничений. Какие устройства, к которым это относится, не документированы, на самом деле ничего не документировано, поэтому настройка возможностей для пользователя оказалась вопросом проб и ошибок (для них). Он работает на некоторое время - для тех, кто этого не делает, это "руководство, которое я им предоставляю".

  • Удостоверьтесь, что для распознавателя голоса Google по умолчанию установлено значение Google не Samsung/Vlingo
  • Удалите все автономные файлы распознавания, которые вы уже установили из настроек Google Voice Search
  • Перейдите в настройки Android-приложения и посмотрите, можете ли вы удалить обновления для поиска Google и Google Voice Search приложения.
  • Если вы не можете сделать это, перейдите в Play Маркет, посмотрите, есть ли у вас           вариант там.
  • Перезагрузка (если вы достигли 2, 3 или 4)
  • Обновить Google Search и Google Voice Search в Play Маркете (если вы достигли 3 или 4, или если обновление доступно в любом случае).
  • Перезагрузка (если вы достигли 6)
  • Установите английские автономные языковые файлы в Великобритании
  • Reboot
  • Используйте utter! с подключением
  • Перейдите в режим полета и попробуйте
  • Как только он работает, автономное распознавание других языков,  например, английские США также должны начать работать.

РЕДАКТИРОВАТЬ: Временное изменение языкового стандарта устройства на английскую Великобританию также похоже на то, чтобы работать для некоторых.

Некоторые пользователи сообщили, что они все равно должны были перезагружаться несколько раз, прежде чем они начнут работать, но все они попадают туда в конечном итоге, часто необъяснимо, к чему был триггер, ключ к которому находится внутри Google Search APK, поэтому не в общедоступном домене или части AOSP.

Из того, что я могу установить, Google тестирует доступность соединения до принятия решения о необходимости использования автономного или онлайн-распознавания. Если соединение доступно изначально, но оно потеряно до ответа, Google предоставит ошибку подключения, он не будет возвращен в автономный режим. В качестве побочного примечания, если запрос на синтезированный голос в сети был сделан, в противном случае ошибка не предоставляется, если не удается - вы получаете молчание.

Обновление Google Search не включало никаких дополнительных функций в Google Now, и на самом деле, если вы попытаетесь использовать его без подключения к Интернету, это приведет к ошибке. Я упоминаю об этом, поскольку я задавался вопросом, будет ли способность сниматься так же тихо, как она появилась, и поэтому не следует полагаться на производство.

Если вы намереваетесь начать использовать класс SpeechRecognizer, будьте предупреждены, есть связанная с ним крупная ошибка , для которой требуется ваша собственная реализация.

Невозможно специально запросить offline = true, что делает невозможным управление этой функцией без использования подключения к данным. Мусор. Вы получите сотни электронных писем пользователей, спрашивающих вас, почему вы не разрешили что-то настолько простое!

EDIT:. Начиная с уровня API 23 добавлен новый параметр EXTRA_PREFER_OFFLINE, который, как представляется, соответствует службе распознавания Google.

Надеюсь, что это поможет.

Ответ 2

Я хотел бы улучшить руководство, которое отвечает fooobar.com/questions/79627/... своим пользователям с изображениями. Это предложение "Для тех, кого это не так, это" руководство, которое я им снабжаю ". что я хочу улучшить.

Пользователь должен нажать на четыре кнопки, выделенные синим цветом на этих изображениях:

Go to your Android Application Settings, select Languages and input,edit Settings of Google Voice typing,select Download Offline speech recognition,  select your languages in the ALL tab.

Затем пользователь может выбрать любые языки. Когда загрузка будет завершена, он должен отключиться от сети, а затем нажать кнопку "микрофон" на клавиатуре.

Он работал у меня (android 4.1.2), тогда распознавание языка работало из коробки, без перезагрузки. Теперь я могу диктовать инструкции оболочке терминального эмулятора! И он в два раза быстрее автономно, чем онлайн, на пэде 2 от ASUS.

Эти изображения лицензируются под cc by-sa 3.0 с атрибуцией, требуемой для stackoverflow.com/a/21329845/2987828; вы можете добавить эти изображения в любом месте вместе с этой атрибуцией.

(Это стандартная политика всех изображений и текстов на stackoverflow.com)

Ответ 3

Простое и гибкое автономное распознавание на Android реализовано с помощью CMUSphinx, инструментария распознавания речи с открытым исходным кодом. Он работает исключительно в автономном режиме, быстро и настраивается. Например, он может непрерывно слушать ключевое слово.

Ниже вы можете найти последний код и .

Ответ 4

Короче говоря, у меня нет реализации, но объяснения.

Google не осуществлял автономное распознавание речи, доступное сторонним приложениям. Автономное распознавание доступно только с клавиатуры. Бен Рэндалл (разработчик полного!) Объясняет свое обходное решение в статье в Полиции Android:

Я реализовал свою собственную клавиатуру и переключался между Google Voice Typing и клавиатура пользователя по умолчанию с невидимым правлением текстовое поле и прозрачное действие для получения ввода. Грязная ручка!

Это был единственный способ сделать это, так как офлайн Voice Typing может быть только вызванный IME или системным приложением (это был мой корневой хак). Другой тип API распознавания... не вызвал его и просто не удался с ошибкой сервера.... Много работы впустую для меня на обходной путь! Но по крайней мере я был готов к реализации...

Из Уточнить! Претензии стать первым не-IME-приложением для использования автономного распознавания голоса в желе Bean

Ответ 5

Я успешно реализовал свою Speech-Service с автономными возможностями, используя onPartialResults, когда офлайн и onResults в Интернете.

Ответ 6

Я имел дело с этим, и я заметил, что вам нужно установить автономный пакет для вашего языка. Мой язык был "Español (Estados Unidos)", но на этом языке нет автономного пакета, поэтому, когда я отключил все сетевые подключения, я получал предупреждение от RecognizerIntent, говорящее, что не может связаться с Google, а затем меняю язык на "Английский (США)" (потому что у меня уже есть автономный пакет) и запустил RecognizerIntent, который он только что разработал.

Ключи: настройка языка == Офсет для голосового распознавания

Ответ 7

По-видимому, возможно вручную установить автономное распознавание голоса, напрямую загружая файлы и устанавливая их в правильных местах вручную. Я предполагаю, что это всего лишь способ обойти требования к оборудованию Google. Однако лично мне не пришлось перезагружаться или что-то в этом роде, просто перейдя в Великобританию и обратно, сделав это.