Sprachinteraktion

Die Voice Interaction Service API bietet eine Abstraktion über verschiedene potenzielle Sprachsteuerungs-Apps. Implementierungen können gemäß den Richtlinien entwickelt werden. beschrieben in App-Entwicklung: In diesem Integrationsleitfaden wird beschrieben, wie Sie diese Apps in ein bestimmtes AAOS-System-Image (Android Automotive OS)

Terminologie

In diesem Leitfaden werden die folgenden Begriffe verwendet:

  • Assist-Daten. Wenn eine Sprachinteraktion gestartet wird, kann das System Ansichten und Screenshots erstellen und diese Informationen für die Sitzung. Apps können zusätzliche Informationen bereitstellen, indem sie Activity#onProvideAssistData() und Activity#onProvideAssistContent() implementieren.
  • Push-to-Talk (PTT) Eine physische Taste für die Sprachsteuerung, die sich in der Regel am Lenkrad befindet.
  • RecognitionService (RS) Spracherkennungsdienst verwendet von über die SpeechRecognizer API verwalten. Zwischenstationen müssen sowohl die VoiceInteractionService als auch die RecognitionService enthalten.
  • Tap-to-Talk (TTT): Software-Sprachsteuerung, in der Regel als Teil der System-UI enthalten. In Android wird dies auch als Unterstützungsbewegung:
  • VoiceInteractionService: Leichtgewichtiger Systemdienst, der vom VIA-Entwickler implementiert wird. Der ausgewählte Dienst ist gebunden vom Systemdienst beim Starten und wird immer ausgeführt.
  • VoiceInteractionSession (VIS): Diese Klasse kapselt die Geschäftslogik für die Nutzerinteraktion ein. Sie ist dafür verantwortlich, den Nutzenden Status der Sprachinteraktion, die Verarbeitung von Voice Interactionor-Anfragen und den Empfang von Assist- und Screenshot-Daten.
  • VoiceInteractionSessionService (VSS) Ein Service, der Teil eines VIA: zuständig für die Verarbeitung einer Sprachinteraktionssitzung. Dieser Dienst ist gebunden während einer Sprachinteraktion mit einem Nutzer über den Systemdienst von Android. Alle Die Geschäftslogik dieser Sitzung ist in der Klasse VoiceSession implementiert. Dieser Dienst bleibt nur während einer Sprachsitzung eines einzelnen Nutzers aktiv.
  • Sprachinteraktion App (VIA): Android-App entwickelt als Sprachsteuerung (als Assistent bezeichnet). Diese Apps können durch Hinzufügen eines VoiceInteractionService in ihrem Manifest identifiziert werden. Es kann jeweils nur eine dieser Apps als Standard-Apps im System ausgewählt werden. Nur die Standard-App wird aktiv gehalten (von einem Systemdienst gebunden) und ist der Empfänger von Push-to-Talk (PTT)- oder Tap-to-Talk (TTT)-Ereignissen.

Pflichten

In der folgenden Tabelle werden die Verantwortlichkeiten jeder Partei beschrieben.

Autohersteller (OEMs) AOSP App-Entwickler
  • Erstellen Sie ein kompatibles Infotainmentsystem mit AAOS.
  • Audioeingabe und -ausgabe implementieren, optional einschließlich DSP-Hotword -Erkennung.
  • Erteilen Sie systemprivilegierten Berechtigungen für die Sprachinteraktionsdienste.
  • Anforderungen von VoiceInteractionService bezüglich des Zugriffs auf auf den Einstellungsbildschirmen der App.
  • VoiceInteractionService und zugehörige APIs definieren und weiterentwickeln
  • Stellen Sie VIA-Entwicklern API-Dokumentation, Beispielcode und andere Supportmaterialien zur Verfügung.
  • UX-Anleitung mit Anforderungen und Empfehlungen bereitstellen
  • Implementieren Sie die VoiceInteractionService API, die RecognitionService API und die NotificationListenerService API (siehe detaillierte Beschreibung unter App-Entwicklung).
  • Bieten Sie eine anpassbare Benutzeroberfläche, die von OEMs an das Design des jeweiligen Autos angepasst werden kann.

UX-Anforderungen

OEMs sind dafür verantwortlich, dass Kunden eine gute Nutzererfahrung haben. OEMs müssen dafür sorgen, dass alle vorinstallierten Sprachinteraktionsdienste die Anforderungen die in den Vorinstallierte Assistenten: UX-Anleitung.

Hauptfunktionen von Assistant

Eine Automotive-Anwendung zur Sprachinteraktion (VIA) führt die folgenden Aktionen aus:

  • [ERFORDERLICH] Auf vom System verarbeitete Sprachinteraktionstrigger (PTT, TTT) reagieren.
  • [ERFORDERLICH] Eine visuelle Darstellung des Fortschritts (z. B. „Anhören“, „Verarbeiten“ und „Ausführen“) anzeigen.
  • [MÜSSEN] Sprach- oder Töne verwenden, um zu signalisieren, dass der Nutzer verstanden wurde und den Vorgang abgeschlossen hat -Anfragen.
  • [ERFORDERLICH] Als Spracherkennung für andere Apps dienen (siehe SpeechRecognizer API).
  • [SOLLTE] Auf einen Hotword-Trigger reagieren.
  • [MAY] Eine Einstellungsaktivität anzeigen, in der Nutzer diese Sprachaktivierung konfigurieren können (z. B. Berechtigungen, Hotword-Konfiguration und Anmeldung).
  • [MAY] Vorbereitungsdaten verarbeiten (Intent#ACTION_ASSIST)
  • [MÄRZ] Unterstützung der Sprachinteraktion über den Sperrbildschirm.

Komponenten

Grundsätzlich interagiert eine Sprachinteraktions-App mit diesen Schauspielern:

Akteure für Sprachinteraktionen

Abbildung 1: Synchronsprecher

Details:

  • VoiceInteractionManagerService. Dieser Systemdienst ist für die Verwaltung der Standard-VIA und die Bereitstellung ihrer Funktionen für den Rest des Systems verantwortlich.
  • RecognitionService. Dieser Dienst stellt Spracherkennungsfunktionen für andere Apps im System bereit.
  • SoundTrigger. Implementiert die Hotword-Verwaltung und ist für VIAs über den AlwaysOnHotwordDetector verfügbar.
  • MediaRecorder. Ermöglicht den Zugriff auf die Audioeingabe sowohl für die Hotword-Erkennung (bei Verwendung der CPU) als auch für die Spracherkennung.
  • PhoneWindowManager/CarInputService. Diese Dienste sind unter anderem für die Verarbeitung wichtiger Ereignisse verantwortlich und leiten die PTT über die VoiceInteractionManagerService an die VIA weiter.
  • User Der Nutzer interagiert mit einer VIA über Trigger (PTT, TTT, Hotword) oder das Sprachfeld-UI verwenden.
  • CarService, Notifications, Media, Telephony, ContactsProvider usw. Dienste und Apps, die von VoiceInteractionSession verwendet werden, um die Befehle der Nutzenden ausführen.

Automobilspezifische Konzepte

AAOS unterscheidet sich in folgenden Aspekten von Android:

  • Neben den normalen Assistant-Funktionen können mit AAOS VIAs auch (z. B. HLK, Sitze und Innenbeleuchtung). Diese Funktionen kann mithilfe der CarPropertyManager API integriert werden (weitere Informationen unter Lesen Sie Fahrzeug), vorausgesetzt, die OEMs konfigurieren den Zugriff wie in den Zulassungsliste für privilegierte Berechtigungen.
  • Anpassung und Einheitlichkeit sind im Automobilbereich wichtiger als bei jedem anderen Formfaktor. Weitere Informationen zur Implementierung dieser Richtlinien finden Sie unter Anpassung.