Sprachinteraktion

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

Terminologie

In diesem Leitfaden werden die folgenden Begriffe verwendet:

  • Assist-Daten. Wenn eine Sitzung für die Sprachinteraktion gestartet wird, kann das System Ansichten und Screenshots erfassen und diese Informationen an die Sitzung weitergeben. 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, der von Apps über die SpeechRecognizer API verwendet wird. Zwischenstationen müssen sowohl die VoiceInteractionService als auch die RecognitionService enthalten.
  • „Tippen zum Sprechen“ (TTT) Software-Sprachsteuerungsschaltfläche, in der Regel Teil der System-UI. Unter Android wird dies auch als Assist-Geste bezeichnet.
  • VoiceInteractionService: Leichtgewichtiger Systemdienst, der vom VIA-Entwickler implementiert wird. Der ausgewählte Dienst wird beim Starten vom Systemdienst gebunden und ist immer aktiv.
  • VoiceInteractionSession (VIS) Diese Klasse kapselt die Geschäftslogik für die Nutzerinteraktion ein. Sie ist dafür verantwortlich, dem Nutzer den Status der Sprachinteraktion anzuzeigen, VoiceInteractor-Anfragen zu verarbeiten und Assistent- und Screenshot-Daten zu empfangen.
  • VoiceInteractionSessionService (VSS) Ein Dienst, der Teil einer VIA ist und für die Verarbeitung einer Sprachinteraktionssitzung verantwortlich ist. Dieser Dienst wird während einer Sprachinteraktion mit einem Nutzer vom Systemdienst von Android gebunden. Die gesamte Geschäftslogik dieser Sitzung ist in der Klasse VoiceSession implementiert. Dieser Dienst bleibt nur während einer Sprachsitzung eines einzelnen Nutzers aktiv.
  • Voice Interaction App (VIA) Android-App, die als Sprachsteuerung dient (Assistent). Diese Apps können anhand eines VoiceInteractionService in ihrem Manifest identifiziert werden. Im System kann jeweils nur eine dieser Apps als Standard 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.

Zuständigkeiten

In dieser Tabelle sind die Verantwortlichkeiten der einzelnen Parteien beschrieben.

Autohersteller (OEMs) AOSP App-Entwickler
  • Erstellen Sie ein kompatibles Infotainmentsystem mit AAOS.
  • Implementieren Sie Audioeingabe und ‑ausgabe, optional mit Unterstützung der DSP-Hotword-Erkennung.
  • Gewähren Sie den Diensten für die Sprachinteraktion Berechtigungen mit Systemprivilegien.
  • Beachten Sie die VoiceInteractionService-Anforderungen in Bezug auf den Zugriff auf die Einstellungsbildschirme der App.
  • Definieren und weiterentwickeln Sie VoiceInteractionService und zugehörige APIs.
  • Stellen Sie VIA-Entwicklern API-Dokumentation, Beispielcode und andere Supportmaterialien zur Verfügung.
  • Geben Sie UX-Hinweise mit Anforderungen und Empfehlungen.
  • 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 Dienste zur Sprachinteraktion die in Vorinstallierte Assistenten: UX-Leitfaden beschriebenen Anforderungen erfüllen.

Hauptfunktionen von Assistant

Eine Sprachinteraktions-Anwendung (Voice Interaction Application, VIA) für die Automobilbranche 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.
  • [ERFORDERLICH] Verwenden Sie Sprache oder Töne, um zu bestätigen, dass Sie die Nutzeranfrage verstanden und abgeschlossen haben.
  • [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] Umgang mit Assistenzdaten (Intent#ACTION_ASSIST)
  • [MÄRZ] Unterstützung der Sprachinteraktion über den Sperrbildschirm.

Komponenten

Im Allgemeinen interagiert eine Sprachinteraktions-App mit folgenden Akteuren:

Akteure für Sprachinteraktionen

Abbildung 1: Akteure für Sprachinteraktionen

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 Sprachschnittstelle über Trigger (PTT, TTT, Hotword) oder die Voice Plate-Benutzeroberfläche.
  • CarService, Benachrichtigungen, Medien, Telefonie, ContactsProvider usw.  Dienste und Apps, die von der VoiceInteractionSession verwendet werden, um die Befehle des Nutzers auszuführen.

Automobilspezifische Konzepte

AAOS unterscheidet sich in folgenden Aspekten von Android:

  • Neben den normalen Assistant-Funktionen können AAOS-VIAs auch Fahrzeugfunktionen steuern, z. B. die Klimaanlage, die Sitze und die Innenbeleuchtung. Diese Funktionen können mit der CarPropertyManager API eingebunden werden (weitere Informationen finden Sie unter Fahrzeugeigenschaft lesen), sofern OEMs den Zugriff wie in der Zulassungsliste für Berechtigungen mit erhöhten Befugnissen beschrieben konfigurieren.
  • Anpassung und Einheitlichkeit sind im Automobilbereich wichtiger als bei jedem anderen Formfaktor. Weitere Informationen zur Implementierung dieser Richtlinien finden Sie unter Anpassung.