O interakcji głosowej

Interfejs API usługi interakcji głosowej zapewnia abstrakcję różnych potencjalnych aplikacji do sterowania głosowego. Wdrożenia można opracowywać zgodnie z wytycznymi opisanymi w dziale Tworzenie aplikacji . Treść tego przewodnika integracji opisuje, jak zintegrować te aplikacje z konkretnym obrazem systemu Android Automotive OS (AAOS).

Terminologia

W tym przewodniku używane są następujące terminy:

  • Dane pomocnicze. Po rozpoczęciu sesji interakcji głosowej system może przechwytywać widoki i zrzuty ekranu oraz przekazywać te informacje do sesji. Aplikacje mogą udostępniać dodatkowe informacje, implementując Activity#onProvideAssistData() i Activity#onProvideAssistContent() .
  • Funkcja „Naciśnij i mów” (PTT) . Fizyczny przycisk sterowania głosowego, zwykle umieszczony na kierownicy.
  • Usługa rozpoznawania (RS). Usługa rozpoznawania głosu używana przez aplikacje za pośrednictwem interfejsu API SpeechRecognizer . VIA muszą zawierać zarówno VoiceInteractionService , jak i RecognitionService .
  • Dotknij i mów (TTT) . Programowy przycisk sterowania głosowego, zwykle zawarty w interfejsie użytkownika systemu). W systemie Android nazywa się to także gestem wspomagającym .
  • VoiceInteractionService . Lekka usługa systemowa wdrożona przez programistę VIA. Wybrana usługa jest powiązana z usługą systemową podczas rozruchu i zawsze działa.
  • Sesja interakcji głosowej (VIS). Ta klasa hermetyzuje logikę biznesową interakcji użytkownika. Odpowiada za prezentowanie użytkownikowi statusu interakcji głosowej, obsługę żądań VoiceInteractor oraz otrzymywanie danych pomocniczych i zrzutów ekranu.
  • Usługa VoiceInteractionSessionService (VSS). Usługa będąca częścią VIA, odpowiedzialna za obsługę sesji interakcji głosowej. Ta usługa jest powiązana z usługą systemową Androida podczas interakcji głosowej z użytkownikiem. Cała logika biznesowa tej sesji jest zaimplementowana w klasie VoiceSession . Gwarantujemy, że ta usługa będzie działać tylko podczas sesji głosowej jednego użytkownika.
  • Aplikacja do interakcji głosowej (VIA). Aplikacja na Androida służąca do sterowania głosowego (tzw. asystent ). Te aplikacje można rozpoznać po umieszczeniu w ich manifeście VoiceInteractionService . W danym momencie w systemie można wybrać tylko jedną z tych aplikacji jako domyślną . Tylko domyślna aplikacja będzie utrzymywana przy życiu (powiązana z usługą systemową) i będzie odbiorcą zdarzeń Push-To-Talk (PTT) lub Tap-To-Talk (TTT) .

Obowiązki

W poniższej tabeli opisano obowiązki każdej ze stron.

Producenci samochodów (OEM) AOSP Twórcy aplikacji
  • Zbuduj kompatybilny system informacyjno-rozrywkowy z AAOS.
  • Zaimplementuj wejście i wyjście audio, opcjonalnie włączając obsługę wykrywania słów kluczowych DSP.
  • Przyznaj uprawnienia uprzywilejowane systemowo dla usług interakcji głosowych.
  • Przestrzegaj wymagań VoiceInteractionService dotyczących dostępu do ekranów ustawień aplikacji.
  • Definiuj i rozwijaj VoiceInteractionService i powiązane interfejsy API.
  • Udostępnij dokumentację API, przykładowy kod i inne materiały pomocnicze programistom VIA.
  • Zapewnij wskazówki dotyczące UX wraz z wymaganiami i rekomendacjami.
  • Zaimplementuj API VoiceInteractionService , RecognitionService API i NotificationListenerService API (zobacz szczegółowy opis w dziale Tworzenie aplikacji ).
  • Zapewnij konfigurowalny interfejs użytkownika, który może zostać dostosowany przez producentów OEM w celu dopasowania do każdego systemu projektowania samochodu.

Wymagania UX

Producenci OEM ponoszą ostateczną odpowiedzialność za zapewnienie klientom dobrego doświadczenia użytkownika. Producenci OEM muszą upewnić się, że wszystkie wstępnie zainstalowane usługi interakcji głosowej spełniają wymagania opisane w sekcji Fabrycznie załadowani asystenci: Wskazówki dotyczące UX .

Podstawowe doświadczenie asystenta

Aplikacja samochodowej interakcji głosowej (VIA) wykonuje następujące czynności:

  • [MUSI] Reagować na obsługiwane przez system wyzwalacze interakcji głosowych (PTT, TTT).
  • [MUSI] Wyświetlać wizualną reprezentację swoich postępów (na przykład słuchanie, przetwarzanie i spełnianie).
  • [MUSI] Użyj głosu lub dźwięków, aby wskazać zrozumienie i wykonanie żądań użytkownika.
  • [MUSI] Służyć jako moduł rozpoznawania mowy dla innych aplikacji (zobacz interfejs API SpeechRecognizer ).
  • [POWINNO] odpowiedzieć na słowo-klucz wywołujący.
  • [MAJ] Wyświetl działanie ustawień, w którym użytkownicy mogą skonfigurować ten VIA (na przykład uprawnienia, konfiguracja słów kluczowych i logowanie).
  • [MAJ] Obsługa danych wspomagających ( Intent#ACTION_ASSIST )
  • [MAJ] Obsługa interakcji głosowej z Keyguard (ekran blokady).

składniki

Na wysokim poziomie aplikacja do interakcji głosowej wchodzi w interakcję z następującymi aktorami:

Aktorzy interakcji głosowej

Rysunek 1. Aktorzy interakcji głosowej

Detale:

  • VoiceInteractionManagerService . Ta usługa systemowa jest odpowiedzialna za zarządzanie domyślnym VIA i udostępnianie jego funkcjonalności reszcie systemu.
  • RecognitionService . Ta usługa udostępnia możliwości rozpoznawania mowy innym aplikacjom w systemie.
  • SoundTrigger . Implementuje zarządzanie słowami-kluczami i jest dostępne dla VIA poprzez AlwaysOnHotwordDetector.
  • MediaRecorder . Zapewnia dostęp do wejścia audio zarówno w celu wykrywania słów kluczowych (przy użyciu procesora), jak i rozpoznawania mowy.
  • PhoneWindowManager / CarInputService . Usługi te odpowiadają m.in. za obsługę kluczowych zdarzeń, kierowanie PTT do VIA za pośrednictwem usługi VoiceInteractionManagerService .
  • User . Użytkownik komunikuje się z VIA za pomocą wyzwalaczy (PTT, TTT, Hotword) lub interfejsu użytkownika Voice Plate.
  • CarService, Powiadomienia, Media, Telefonia, Dostawca kontaktów i tak dalej. Usługi i aplikacje używane przez VoiceInteractionSession do wykonywania poleceń użytkownika.

Koncepcje specyficzne dla motoryzacji

AAOS różni się od Androida pod następującymi względami:

  • Oprócz normalnych funkcji Asystenta, AAOS VIA mogą sterować funkcjami pojazdu (na przykład HVAC, siedzeniami i oświetleniem wnętrza). Funkcje te można zintegrować za pomocą interfejsu API CarPropertyManager (więcej informacji można znaleźć w artykule Przeczytaj właściwość pojazdu ), pod warunkiem, że producenci OEM prawidłowo skonfigurują dostęp zgodnie z opisem w sekcji Lista dozwolonych uprawnień uprzywilejowanych .
  • Dostosowanie i spójność są bardziej istotne w branży motoryzacyjnej niż w jakimkolwiek innym formacie. Zobacz Dostosowywanie , aby dowiedzieć się więcej o wdrażaniu tych wytycznych.