À propos de l'interaction vocale

L'API Voice Interaction Service fournit une abstraction sur différentes applications de contrôle vocal potentielles. Les implémentations peuvent être développées en suivant les directives décrites dans Développement d'applications . Le contenu de ce guide d'intégration décrit comment intégrer ces applications dans une image système spécifique du système d'exploitation Android Automotive OS (AAOS).

Terminologie

Ces termes sont utilisés dans ce guide :

  • Données d'assistance. Lorsqu'une session d'interaction vocale est démarrée, le système est capable de capturer des vues et des captures d'écran et de transmettre ces informations à la session. Les applications peuvent exposer des informations supplémentaires en implémentant Activity#onProvideAssistData() et Activity#onProvideAssistContent() .
  • Appuyer pour parler (PTT) . Bouton physique de commande vocale, généralement situé dans le volant.
  • Service de reconnaissance (RS). Service de reconnaissance vocale utilisé par les applications via l'API SpeechRecognizer . Les VIA doivent inclure à la fois le VoiceInteractionService et le RecognitionService .
  • Appuyer pour parler (TTT) . Bouton de commande vocale du logiciel, généralement inclus dans l'interface utilisateur du système). Sous Android, cela est également appelé Assist Gesture .
  • VoiceInteractionService . Service système léger implémenté par le développeur VIA. Le service sélectionné est lié au service système au démarrage et est toujours en cours d'exécution.
  • Session d'interaction vocale (VIS). Cette classe encapsule la logique métier de l’interaction utilisateur. Il est chargé de présenter à l'utilisateur l'état de l'interaction vocale, de gérer les demandes VoiceInteractor et de recevoir des données d'assistance et de capture d'écran.
  • Service d'interaction vocale (VSS). Un service, faisant partie d'un VIA, chargé de gérer une session d'interaction vocale. Ce service est lié au service système d'Android lors d'une interaction vocale avec un utilisateur. Toute la logique métier de cette session est implémentée dans la classe VoiceSession . Ce service est uniquement garanti de rester actif pendant une session vocale mono-utilisateur.
  • Application d'interaction vocale (VIA). Application Android conçue pour servir de commande vocale (appelée assistant ). Ces applications peuvent être identifiées en incluant un VoiceInteractionService dans leur manifeste. Une seule de ces applications peut être sélectionnée par défaut à la fois dans le système. Seule l'application par défaut sera maintenue en vie (liée à un service système) et sera le récepteur des événements Push-To-Talk (PTT) ou Tap-To-Talk (TTT) .

Responsabilités

Ce tableau décrit les responsabilités de chaque partie.

Constructeurs automobiles (OEM) AOSP Développeurs d'applications
  • Créez un système d'infodivertissement compatible avec AAOS.
  • Implémentez l'entrée et la sortie audio, incluant éventuellement la prise en charge de la détection de mots clés DSP.
  • Accordez des autorisations privilégiées au système pour les services d'interaction vocale.
  • Respectez les exigences VoiceInteractionService concernant l'accès aux écrans de paramètres de l'application.
  • Définir et faire évoluer VoiceInteractionService et les API associées.
  • Fournir de la documentation API, des exemples de code et d'autres documents de support aux développeurs VIA.
  • Fournir des conseils UX avec des exigences et des recommandations.
  • Implémentez l'API VoiceInteractionService , l'API RecognitionService et l'API NotificationListenerService (voir la description détaillée sur Développement d'applications ).
  • Fournissez une interface utilisateur personnalisable qui peut être ajustée par les constructeurs OEM pour correspondre à chaque système de conception de voiture.

Exigences UX

Les OEM ont la responsabilité ultime de fournir une bonne expérience utilisateur aux clients. Les OEM doivent s'assurer que tous les services d'interaction vocale préinstallés répondent aux exigences décrites dans Assistants préchargés : conseils UX .

Expérience d'assistant de base

Une application d'interaction vocale (VIA) automobile effectue les actions suivantes :

  • [DOIT] Répondre aux déclencheurs d'interaction vocale gérés par le système (PTT, TTT).
  • [DOIT] Afficher une représentation visuelle de leurs progrès (par exemple, écoute, traitement et accomplissement).
  • [DOIT] Utiliser la voix ou les sons pour indiquer la compréhension et l'exécution des demandes des utilisateurs.
  • [DOIT] Servir de reconnaissance vocale pour d'autres applications (voir l' API SpeechRecognizer ).
  • [DEVRAIT] Répondre à un déclencheur de mot clé.
  • [MAI] Afficher une activité de paramètres dans laquelle les utilisateurs peuvent configurer ce VIA (par exemple, autorisations, configuration de mots clés et connexion).
  • [MAI] Gérer les données d'assistance ( Intent#ACTION_ASSIST )
  • [MAI] Prise en charge de l'interaction vocale depuis Keyguard (écran de verrouillage).

Composants

À un niveau élevé, une application d'interaction vocale interagit avec ces acteurs :

Acteurs d'interaction vocale

Figure 1. Acteurs de l'interaction vocale

Détails:

  • VoiceInteractionManagerService . Ce service système est chargé de gérer le VIA par défaut et d'exposer ses fonctionnalités au reste du système.
  • RecognitionService . Ce service expose les capacités de reconnaissance vocale à d'autres applications du système.
  • SoundTrigger . Implémente la gestion des mots clés et est disponible pour les VIA via AlwaysOnHotwordDetector.
  • MediaRecorder . Fournit un accès à l’entrée audio pour la détection de mots clés (lors de l’utilisation du processeur) et la reconnaissance vocale.
  • PhoneWindowManager / CarInputService . Ces services sont responsables (entre autres) de la gestion des événements clés, du routage des PTT vers le VIA, au moyen du VoiceInteractionManagerService .
  • User . L'utilisateur interagit avec un VIA au moyen de déclencheurs (PTT, TTT, Hotword) ou de l'interface utilisateur Voice Plate.
  • CarService, Notifications, Médias, Téléphonie, ContactsProvider, etc. Services et applications utilisés par VoiceInteractionSession pour exécuter les commandes de l'utilisateur.

Concepts spécifiques à l'automobile

AAOS diffère d'Android sur les aspects suivants :

  • Outre les fonctionnalités normales de l'Assistant, les AAOS VIA peuvent contrôler les fonctions du véhicule (par exemple, le CVC, les sièges et l'éclairage intérieur). Ces fonctionnalités peuvent être intégrées à l'aide de l'API CarPropertyManager (pour en savoir plus, consultez Lire une propriété de véhicule ) à condition que les constructeurs OEM configurent l'accès correctement, comme décrit dans Liste d'autorisation des autorisations privilégiées .
  • La personnalisation et la cohérence sont plus pertinentes dans le secteur automobile que dans tout autre facteur de forme. Voir Personnalisation pour en savoir plus sur la mise en œuvre de ces directives.