О голосовом взаимодействии

API службы голосового взаимодействия обеспечивает абстракцию различных потенциальных приложений голосового управления. Реализации могут быть разработаны в соответствии с рекомендациями, описанными в разделе «Разработка приложений» . Содержание этого руководства по интеграции описывает, как интегрировать эти приложения в конкретный образ системы Android Automotive OS (AAOS).

Терминология

В данном руководстве используются следующие термины:

  • Вспомогательные данные. При запуске сеанса голосового взаимодействия система может захватывать изображения и снимки экрана и передавать эту информацию в сеанс. Приложения могут предоставлять дополнительную информацию, реализуя Activity#onProvideAssistData() и Activity#onProvideAssistContent() .
  • Нажми и говори (РТТ) . Физическая кнопка голосового управления, обычно расположенная на руле.
  • Служба распознавания (РС). Служба распознавания голоса, используемая приложениями через API SpeechRecognizer . VIA должны включать в себя как VoiceInteractionService , так и RecognitionService .
  • Нажмите и говорите (ТТТ) . Кнопка голосового управления программным обеспечением, обычно включенная в системный интерфейс). В Android это также называется Assist Gesture .
  • VoiceInteractionService . Облегченный системный сервис, реализованный разработчиком VIA. Выбранная служба связана с системной службой при загрузке и всегда работает.
  • Сеанс голосового взаимодействия (VIS). Этот класс инкапсулирует бизнес-логику взаимодействия с пользователем. Он отвечает за представление пользователю статуса голосового взаимодействия, обработку запросов VoiceInteractor и получение вспомогательных данных и данных снимков экрана.
  • VoiceInteractionSessionService (VSS). Служба, входящая в состав VIA, отвечающая за обработку сеанса голосового взаимодействия. Эта служба привязывается к системной службе Android во время голосового взаимодействия с пользователем. Вся бизнес-логика этого сеанса реализована в классе VoiceSession . Гарантировано, что эта служба будет работать только в течение одного голосового сеанса пользователя.
  • Приложение голосового взаимодействия (VIA). Приложение для Android, предназначенное для голосового управления (называемого помощником ). Эти приложения можно идентифицировать, включив VoiceInteractionService в их манифест. Только одно из этих приложений может быть выбрано в системе по умолчанию одновременно. Только приложение по умолчанию будет поддерживаться в рабочем состоянии (связанное с системной службой) и будет получателем событий Push-To-Talk (PTT) или Tap-To-Talk (TTT) .

Обязанности

В этой таблице описаны обязанности каждой стороны.

Производители автомобилей (OEM) АОСП Разработчики приложений
  • Создайте совместимую информационно-развлекательную систему с AAOS.
  • Реализуйте аудиовход и выход, опционально включая поддержку обнаружения горячих слов DSP.
  • Предоставьте системные разрешения для служб голосового взаимодействия.
  • Соблюдайте требования VoiceInteractionService относительно доступа к экранам настроек приложения.
  • Определите и развивайте VoiceInteractionService и связанные API.
  • Предоставьте разработчикам VIA документацию по API, пример кода и другие вспомогательные материалы.
  • Предоставьте руководство по UX с требованиями и рекомендациями.
  • Внедрите API VoiceInteractionService , API RecognitionService и API NotificationListenerService (см. подробное описание в разделе «Разработка приложений »).
  • Предоставьте настраиваемый пользовательский интерфейс, который OEM-производители смогут настроить в соответствии с каждой системой проектирования автомобилей.

UX-требования

OEM-производители несут основную ответственность за обеспечение хорошего пользовательского опыта для клиентов. OEM-производители должны убедиться, что все предустановленные службы голосового взаимодействия соответствуют требованиям, описанным в разделе «Предварительно загруженные помощники: руководство по пользовательскому интерфейсу» .

Основной опыт помощника

Автомобильное приложение голосового взаимодействия (VIA) выполняет следующие действия:

  • [ОБЯЗАТЕЛЬНО] Реагировать на триггеры голосового взаимодействия, управляемые системой (PTT, TTT).
  • [ОБЯЗАТЕЛЬНО] Отображать визуальное представление их прогресса (например, прослушивание, обработка и выполнение).
  • [ОБЯЗАТЕЛЬНО] Используйте голос или звуки, чтобы указать на понимание и выполнение запросов пользователя.
  • [ОБЯЗАТЕЛЬНО] Служить распознавателем речи для других приложений (см. SpeechRecouncer API ).
  • [СЛЕДУЕТ] Реагировать на триггер горячего слова.
  • [МОЖЕТ] Отобразить действие настроек, в котором пользователи могут настроить этот VIA (например, разрешения, настройку горячих слов и вход в систему).
  • [МОЖЕТ] Обработка вспомогательных данных ( Intent#ACTION_ASSIST )
  • [МОЖЕТ] Поддержка голосового взаимодействия с Keyguard (экран блокировки).

Компоненты

На высоком уровне приложение голосового взаимодействия взаимодействует со следующими актерами:

Актеры голосового взаимодействия

Рисунок 1. Участники голосового взаимодействия

Подробности:

  • VoiceInteractionManagerService . Эта системная служба отвечает за управление VIA по умолчанию и предоставление его функций остальной части системы.
  • RecognitionService . Эта служба предоставляет возможности распознавания речи другим приложениям в системе.
  • SoundTrigger . Реализует управление горячими словами и доступно VIA через AlwaysOnHotwordDetector.
  • MediaRecorder . Обеспечивает доступ к аудиовходу как для обнаружения горячих слов (при использовании ЦП), так и для распознавания речи.
  • PhoneWindowManager / CarInputService . Эти службы отвечают (помимо прочего) за обработку ключевых событий, маршрутизацию PTT к VIA с помощью VoiceInteractionManagerService .
  • User . Пользователь взаимодействует с VIA посредством триггеров (PTT, TTT, Hotword) или пользовательского интерфейса голосовой панели.
  • CarService, Уведомления, Медиа, Телефония, Поставщик контактов и так далее. Службы и приложения, используемые VoiceInteractionSession для выполнения команд пользователя.

Концепции, специфичные для автомобильной промышленности

AAOS отличается от Android в следующих аспектах:

  • Помимо обычных функций Assistant, AAOS VIA может управлять функциями автомобиля (например, системой отопления, вентиляции и кондиционирования, сиденьями и внутренним освещением). Эти функции можно интегрировать с помощью API CarPropertyManager (подробнее см. в разделе «Чтение свойства транспортного средства ») при условии, что OEM-производители правильно настроят доступ, как описано в разделе «Белый список привилегированных разрешений ».
  • Кастомизация и согласованность более актуальны в автомобильной промышленности, чем в любом другом форм-факторе. См. раздел «Настройка» , чтобы узнать больше о реализации этих рекомендаций.