Über Sprachinteraktion

Die Voice Interaction Service API bietet eine Abstraktion über verschiedene potenzielle Sprachsteuerungs-Apps. Implementierungen können gemäß den unter App-Entwicklung beschriebenen Richtlinien entwickelt werden. Der Inhalt dieses Integrationsleitfadens beschreibt, wie diese Apps in ein bestimmtes Android Automotive OS (AAOS)-Systemabbild integriert werden.

Terminologie

Diese Begriffe werden in diesem Leitfaden verwendet:

  • Assist-Daten. Wenn eine Sprachinteraktionssitzung gestartet wird, kann das System Ansichten und Screenshots erfassen und diese Informationen an die Sitzung weitergeben. Apps können zusätzliche Informationen offenlegen, indem sie Activity#onProvideAssistData() und Activity#onProvideAssistContent() implementieren.
  • Push-to-talk (PTT) . Physische Sprachsteuerungstaste, die sich normalerweise im Lenkrad befindet.
  • RecognitionService (RS). Spracherkennungsdienst, der von Apps über die SpeechRecognizer API verwendet wird. VIAs müssen sowohl den VoiceInteractionService als auch den RecognitionService enthalten.
  • Tap-to-talk (TTT) . Software-Sprachsteuerungstaste, normalerweise als Teil der System-Benutzeroberfläche enthalten. In Android wird dies auch als Assist Gesture bezeichnet.
  • VoiceInteractionService . Leichter Systemdienst, der vom VIA-Entwickler implementiert wurde. Der ausgewählte Dienst wird beim Booten an den Systemdienst gebunden und wird immer ausgeführt.
  • VoiceInteractionSession (VIS). Diese Klasse kapselt die Geschäftslogik für die Benutzerinteraktion. Es ist dafür verantwortlich, dem Benutzer den Status der Sprachinteraktion anzuzeigen, VoiceInteractor-Anfragen zu bearbeiten und Unterstützungs- und Screenshot-Daten zu empfangen.
  • VoiceInteractionSessionService (VSS). Ein Dienst, Teil einer VIA, der für die Abwicklung einer Sprachinteraktionssitzung verantwortlich ist. Dieser Dienst wird während einer Sprachinteraktion mit einem Benutzer an den Systemdienst von Android gebunden. Die gesamte Geschäftslogik dieser Sitzung ist in der VoiceSession Klasse implementiert. Es wird garantiert, dass dieser Dienst nur während einer einzelnen Benutzer-Sprachsitzung aktiv bleibt.
  • Sprachinteraktions-App (VIA). Android-App zur Sprachsteuerung (genannt Assistent ). Diese Apps können identifiziert werden, indem ein VoiceInteractionService in ihr Manifest aufgenommen wird. Es kann jeweils nur eine dieser Apps als Standard im System ausgewählt werden. Nur die Standard-App wird aktiv gehalten (an einen Systemdienst gebunden) und ist der Empfänger von Push-To-Talk (PTT) - oder Tap-To-Talk (TTT) -Ereignissen.

Verantwortlichkeiten

In dieser Tabelle werden die Verantwortlichkeiten jeder Partei beschrieben.

Automobilhersteller (OEMs) AOSP App-Entwickler
  • Erstellen Sie mit AAOS ein kompatibles Infotainmentsystem.
  • Implementieren Sie die Audioeingabe und -ausgabe, optional einschließlich der Unterstützung der DSP-Hotword-Erkennung.
  • Gewähren Sie systemprivilegierte Berechtigungen für die Sprachinteraktionsdienste.
  • Beachten Sie VoiceInteractionService Anforderungen hinsichtlich des Zugriffs auf die Einstellungsbildschirme der App.
  • Definieren und entwickeln Sie VoiceInteractionService und zugehörige APIs.
  • Stellen Sie VIA-Entwicklern API-Dokumentation, Beispielcode und anderes Supportmaterial zur Verfügung.
  • Bieten Sie UX-Anleitungen mit Anforderungen und Empfehlungen.
  • Implementieren Sie VoiceInteractionService API, die RecognitionService-API und die NotificationListenerService-API (siehe detaillierte Beschreibung unter App-Entwicklung ).
  • Stellen Sie eine anpassbare Benutzeroberfläche bereit, die von OEMs an jedes Fahrzeugdesignsystem angepasst werden kann.

UX-Anforderungen

OEMs tragen die letztendliche Verantwortung dafür, den Kunden ein gutes Benutzererlebnis zu bieten. OEMs müssen sicherstellen, dass alle vorinstallierten Sprachinteraktionsdienste die in „Vorinstallierte Assistenten: UX-Anleitung“ beschriebenen Anforderungen erfüllen.

Kernerfahrung als Assistent

Eine Automotive Voice Interaction Application (VIA) führt die folgenden Aktionen aus:

  • [MUSS] Auf vom System verwaltete Sprachinteraktionsauslöser (PTT, TTT) reagieren.
  • [MUSS] Zeigen Sie eine visuelle Darstellung ihres Fortschritts (z. B. Zuhören, Verarbeiten und Erfüllen).
  • [MUSS] Stimme oder Töne verwenden, um anzuzeigen, dass Benutzeranfragen verstanden und abgeschlossen wurden.
  • [MUSS] Als Spracherkennung für andere Apps dienen (siehe SpeechRecognizer-API ).
  • [SOLLTE] Auf einen Hotword-Auslöser reagieren.
  • [KANN] Zeigt eine Einstellungsaktivität an, in der Benutzer diese VIA konfigurieren können (z. B. Berechtigungen, Hotword-Konfiguration und Anmeldung).
  • [KANN] Assist-Daten verarbeiten ( Intent#ACTION_ASSIST )
  • [MAI] Unterstützt Sprachinteraktion von Keyguard (Sperrbildschirm).

Komponenten

Auf hoher Ebene interagiert eine Sprachinteraktions-App mit diesen Akteuren:

Schauspieler der Sprachinteraktion

Abbildung 1. Akteure der Sprachinteraktion

Einzelheiten:

  • VoiceInteractionManagerService . Dieser Systemdienst ist für die Verwaltung des Standard-VIA und die Offenlegung seiner Funktionalität 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 steht VIAs über den AlwaysOnHotwordDetector zur Verfügung.
  • MediaRecorder . Bietet 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 und die Weiterleitung von PTT an die VIA mithilfe des VoiceInteractionManagerService verantwortlich.
  • User . Der Benutzer interagiert mit einem VIA über Trigger (PTT, TTT, Hotword) oder die Voice Plate-Benutzeroberfläche.
  • CarService, Benachrichtigungen, Medien, Telefonie, ContactsProvider und so weiter. Dienste und Apps, die von der VoiceInteractionSession verwendet werden, um die Befehle des Benutzers auszuführen.

Automobilspezifische Konzepte

AAOS unterscheidet sich in folgenden Aspekten von Android:

  • Neben den normalen Assistentenfunktionen können AAOS VIAs Fahrzeugfunktionen steuern (z. B. Klimaanlage, Sitze und Innenbeleuchtung). Diese Funktionalitäten können mithilfe der CarPropertyManager-API integriert werden (weitere Informationen finden Sie unter Lesen einer Fahrzeugeigenschaft ), sofern OEMs den Zugriff korrekt konfigurieren, wie in der Zulassungsliste für privilegierte Berechtigungen beschrieben.
  • Anpassung und Konsistenz sind in der Automobilindustrie wichtiger als in jedem anderen Formfaktor. Weitere Informationen zur Implementierung dieser Richtlinien finden Sie unter „Anpassung“ .