À propos de l'interaction vocale

L'API Voice Interaction Service fournit une abstraction sur différentes 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. Lorsqu'une session d'interaction vocale est lancée, le système peut capturer des vues et des captures d'écran, et 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 de commande vocale physique, généralement situé sur le volant.
  • RecognitionService (RS) Service de reconnaissance vocale utilisé par les applications via l'API SpeechRecognizer . Les VIA doivent inclure à la fois VoiceInteractionService et RecognitionService.
  • Appuyer pour parler Bouton de commande vocale logicielle, généralement inclus dans l'interface utilisateur 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é au service système au démarrage et s'exécute en permanence.
  • 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, de gérer les requêtes VoiceInteractor et de recevoir des données d'assistance et de capture d'écran.
  • VoiceInteractionSessionService (VSS) Service, qui fait 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. La durée de vie de ce service n'est garantie que pendant une session vocale d'un seul 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 fichier manifeste. Vous ne pouvez sélectionner qu'une seule de ces applications comme application par défaut à la fois dans le système. Seule l'application par défaut sera maintenue active (liée à partir d'un service système) et recevra les événements PTT (Push-To-Talk) ou TTT (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'infodivertissement compatible avec AAOS.
  • Implémentez l'entrée et la sortie audio, y compris la prise en charge de la détection de mots clés DSP.
  • Accordez des autorisations système privilégiées aux 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 les API VoiceInteractionService, RecognitionService et NotificationListenerService (voir la description détaillée dans la section 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 de 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] Affichez une représentation visuelle de la progression (par exemple, écoute, traitement et traitement).
  • [DOIT] Utiliser la voix ou des sons pour indiquer la compréhension et l'exécution des requêtes de l'utilisateur.
  • [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é.
  • [MAY] Afficher une activité de paramètres dans laquelle les utilisateurs peuvent 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 le clavier de verrouillage (é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 d'interaction vocale

Informations détaillées :

  • VoiceInteractionManagerService. Ce service système est responsable de la gestion de la VIA par défaut et de 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 des mots clés (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 au secteur 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 les fonctions du véhicule (par exemple, le système de chauffage, de ventilation et de climatisation, les sièges et les lumières intérieures). 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.