À propos de l'interaction vocale

L'API Voice Interaction Service fournit une abstraction sur différents applications de commande vocale potentielles. Les implémentations peuvent être développées en suivant les consignes décrites dans la section Développement d'applications. Le contenu de ce guide d'intégration explique comment intégrer ces applications dans une image système Android Automotive OS (AAOS) spécifique.

Terminologie

Les termes suivants sont utilisés dans ce guide :

  • Données d'assistance. Lorsque vous démarrez une session d'interaction vocale, le système peut capturer des vues et des captures d'écran, et transmettre ces informations à la session. Les applications peuvent fournir des informations supplémentaires Activity#onProvideAssistData() et Activity#onProvideAssistContent().
  • PTT (Push-to-Talk) Bouton de commande vocale physique, généralement situé sur le volant.
  • RecognitionService (RS) : Service de reconnaissance vocale utilisé par via l'API SpeechRecognizer . Les VIA doivent inclure à la fois VoiceInteractionService et RecognitionService.
  • Appuyer pour parler Bouton de commande vocale logicielle, généralement incluses dans l'UI du système). Sur Android, il est également appelé geste d'assistance.
  • VoiceInteractionService : service système léger implémenté par le développeur VIA. Le service sélectionné est lié à partir du service système au démarrage et est toujours en cours d'exécution.
  • VoiceInteractionSession (VIS). Cette classe encapsule la logique métier d'interaction utilisateur. Il est chargé de présenter à l'utilisateur l'état de l'interaction vocale, la gestion des requêtes VoiceInteror et la réception d'assistance et de capture d'écran.
  • VoiceInteractionSessionService (VSS) : Service faisant partie d'un IVR, chargé de gérer une session d'interaction vocale. Ce service est lié à partir du service système d'Android lors d'une interaction vocale avec un utilisateur. Tout la logique métier de cette session est implémentée dans la classe VoiceSession. La durée de vie de ce service n'est garantie que pendant une session vocale d'un seul utilisateur.
  • Application d'interaction vocale : Application Android conçue pour servir de commande vocale (appelée assistant). Ces applications peuvent être identifiés en incluant un VoiceInteractionService dans leur fichier manifeste. Vous ne pouvez sélectionner par défaut qu'une seule de ces applications à la fois dans le système. Seule l'application par défaut sera maintenue active (liée à un service système). sera le destinataire de la fonctionnalité Push-to-Talk (PTT) ; ou les événements Tap-to-Talk.

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'infoloisirs compatible avec AAOS.
  • Implémenter une entrée et une sortie audio, avec éventuellement un mot clé DSP et la détection des menaces.
  • Accordez des autorisations système privilégiées 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 aux développeurs VIA la documentation de l'API, des exemples de code et d'autres documents d'assistance.
  • Fournir des conseils en matière d'expérience utilisateur avec des exigences et des recommandations
  • Implémentez l'API VoiceInteractionService, l'API RecognitionService et API NotificationListenerService (voir la description détaillée sur la page Développement d'applications).
  • Fournissez une UI personnalisable que les OEM peuvent ajuster pour qu'elle corresponde à chaque système de conception de voiture.

Exigences relatives à l'expérience utilisateur

C'est aux OEM qu'incombe 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 la section Assistants préchargés : consignes relatives à l'expérience utilisateur.

Expérience de base avec l'Assistant

Une application d'interaction vocale pour l'automobile effectue les actions suivantes :

  • [OBLIGATOIRE] Répondre aux déclencheurs d'interaction vocale gérés par le système (PTT, TTT).
  • [OBLIGATOIRE] Afficher une représentation visuelle de sa progression (par exemple, écouter, de traitement et d'exécution).
  • [OBLIGATOIRE] Utiliser une voix ou des sons pour indiquer que l'utilisateur a compris et satisfait requêtes.
  • [OBLIGATOIRE] Servir de système de reconnaissance vocale pour d'autres applications (voir l'API SpeechRecognizer).
  • [DEVOIR] Répondre à un déclencheur de mot clé.
  • [MAI] Afficher une activité de paramétrage permettant aux utilisateurs de configurer cette VIA (par exemple, les autorisations, la configuration des mots clés et la connexion).
  • [MAI] Gérer les données d'assistance (Intent#ACTION_ASSIST)
  • [MAI] Prise en charge de l'interaction vocale depuis la protection du clavier (écran de verrouillage).

Composants

De manière générale, une application d'interaction vocale interagit avec les acteurs suivants:

Acteurs d'interaction vocale

Figure 1 : Acteurs avec interaction vocale

Informations détaillées :

  • VoiceInteractionManagerService Ce service système est chargé de la gestion de l'IVA par défaut et l'exposition de ses fonctionnalités au reste du système.
  • RecognitionService : ce service expose les fonctionnalités de reconnaissance vocale aux autres applications du système.
  • SoundTrigger. Implémente la gestion des mots clés et est disponible pour les VIA via AlwaysOnHotwordDetector.
  • MediaRecorder : permet d'accéder à l'entrée audio à la fois pour la détection de mot clé (lorsque vous utilisez le processeur) et la reconnaissance vocale.
  • PhoneWindowManager/CarInputService. Ces services sont chargés (entre autres) de gérer les événements clés, de router le PTT vers le VIA, à l'aide de VoiceInteractionManagerService.
  • User : l'utilisateur interagit avec un VIA à l'aide de déclencheurs (PTT, TTT, mot clé) ou de l'UI de la plaque vocale.
  • CarService, Notifications, Media, Telephony, 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 points suivants :

  • En plus des fonctionnalités normales de l'Assistant, les VIA AAOS peuvent contrôler le véhicule (CVC, sièges et éclairages intérieurs, par exemple). 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 OEM configurent l'accès correctement, comme décrit dans la section Liste d'autorisation d'autorisations privilégiées.
  • La personnalisation et la cohérence sont plus pertinentes dans le secteur automobile que dans tout autre facteur de forme. Pour en savoir plus sur l'implémentation de ces consignes, consultez la section Personnalisation.