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

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

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

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

  • Вспомогательные данные. При запуске сеанса голосового взаимодействия система может захватывать виды и снимки экрана и передавать эту информацию в сеанс. Приложения могут предоставлять дополнительную информацию, реализуя Activity#onProvideAssistData() и Activity#onProvideAssistContent() .
  • Нажми и говори (PTT) . Физическая кнопка голосового управления, обычно расположенная на руле.
  • Служба распознавания (РС). Служба распознавания голоса, используемая приложениями через SpeechRecognizer API. VIA должны включать как VoiceInteractionService , так и RecognitionService .
  • Нажмите и говорите (ТТТ) . Программная кнопка голосового управления, обычно включенная в системный пользовательский интерфейс). В Android это также называется Assist Gesture .
  • VoiceInteractionService . Облегченный системный сервис, реализованный разработчиком VIA. Выбранная служба привязывается к системной службе при загрузке и всегда работает.
  • VoiceInteractionSession (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 с требованиями и рекомендациями.
  • Реализовать VoiceInteractionService API, RecognitionService API и NotificationListenerService API (см. подробное описание в разделе Разработка приложений )
  • Обеспечьте настраиваемый пользовательский интерфейс, который OEM-производители могут настроить в соответствии с каждой системой проектирования автомобилей.

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

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

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

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

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

Составные части

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

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

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

Подробности

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

Автомобильные концепты

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

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