關於語音交互

語音交互服務 API 提供了對不同潛在語音控制應用程序的抽象。可以按照應用程序開發中描述的指南開發實現。本集成指南中的內容描述瞭如何將這些應用程序集成到特定的 Android Automotive OS (AAOS) 系統映像中。

術語

這些術語在本指南中使用:

  • 輔助數據。當語音交互會話啟動時,系統能夠捕獲視圖和屏幕截圖,並將此信息傳遞給會話。應用程序可以通過實現Activity#onProvideAssistData()Activity#onProvideAssistContent()來公開其他信息。
  • 一鍵通(PTT) 。物理語音控制按鈕,通常位於方向盤上。
  • 識別服務 (RS)。應用通過SpeechRecognizer API 使用的語音識別服務。 VIA 必須同時包含VoiceInteractionServiceRecognitionService
  • 點擊通話 (TTT) 。軟件語音控制按鈕,通常包含在系統 UI 中)。在 Android 中,這也稱為輔助手勢
  • VoiceInteractionService 。由威盛開發者實現的輕量級系統服務。所選服務在啟動時與系統服務綁定,並且始終在運行。
  • 語音交互會話 (VIS)。該類封裝了用戶交互業務邏輯。它負責向用戶呈現語音交互的狀態,處理 VoiceInteractor 請求並接收輔助和屏幕截圖數據。
  • 語音交互會話服務 (VSS)。一種服務,是 VIA 的一部分,負責處理語音交互會話。在與用戶進行語音交互時,該服務與 Android 的系統服務綁定。該會話的所有業務邏輯都在VoiceSession類中實現。此服務僅保證在單個用戶語音會話期間保持活動狀態。
  • 語音交互應用程序 (VIA)。旨在用作語音控制的 Android 應用程序(稱為助手)。可以通過在清單中包含VoiceInteractionService來識別這些應用程序。在系統中一次只能選擇其中一個應用程序作為默認應用程序。只有默認應用程序將保持活動狀態(從系統服務綁定),並將成為一鍵通 (PTT)一鍵通 (TTT)事件的接收器。

責任

此表描述了各方的責任。

汽車製造商 (OEM) AOSP應用開發者
  • 使用 AAOS 構建兼容的信息娛樂系統。
  • 實現音頻輸入和輸出,可選擇包括 DSP 啟動指令檢測支持。
  • 為語音交互服務授予系統特權權限。
  • 尊重有關訪問應用程序設置屏幕的VoiceInteractionService要求。
  • 定義和發展VoiceInteractionService和相關 API。
  • 向威盛開發人員提供 API 文檔、示例代碼和其他支持材料。
  • 提供帶有要求和建議的用戶體驗指南。
  • 實現VoiceInteractionService API、RecognitionService API 和 NotificationListenerService API(詳見應用開發
  • 提供可定制的 UI,OEM 可以對其進行調整以匹配每個汽車設計系統。

用戶體驗要求

OEM 的最終責任是為客戶提供良好的用戶體驗。 OEM 必須確保所有預安裝的語音交互服務都滿足預裝助手:UX 指南中描述的要求。

核心助理體驗

汽車語音交互應用程序 (VIA) 執行以下操作:

  • [必須] 響應系統處理的語音交互觸發器(PTT、TTT)。
  • [必須] 直觀地展示他們的進度(例如,傾聽、處理和履行)。
  • [必須] 使用語音或聲音來表示對用戶請求的理解和完成。
  • [必須] 充當其他應用的語音識別器(請參閱SpeechRecognizer API )。
  • [應該] 響應啟動指令觸發器。
  • [可能] 顯示一個設置活動,用戶可以在其中配置此 VIA(例如,權限、啟動指令配置和登錄)。
  • [可能] 處理輔助數據 ( Intent#ACTION_ASSIST )
  • [MAY] 支持 Keyguard(鎖屏)的語音交互。

成分

在高層次上,語音交互應用程序與這些參與者交互:

語音交互演員

圖 1.語音交互參與者

細節

  • VoiceInteractionManagerService 。此系統服務負責管理默認 VIA,並將其功能公開給系統的其餘部分。
  • RecognitionService 。此服務向系統中的其他應用程序公開語音識別功能。
  • SoundTrigger 。實施啟動指令管理,並通過 AlwaysOnHotwordDetector 提供給 VIA。
  • MediaRecorder 。為啟動指令檢測(使用 CPU 時)和語音識別提供對音頻輸入的訪問。
  • PhoneWindowManager / CarInputService 。這些服務負責(除其他外)處理關鍵事件,通過VoiceInteractionManagerService將 PTT 路由到 VIA。
  • User 。用戶通過觸發器(PTT、TTT、啟動指令)或語音板 UI 與 VIA 交互。
  • CarService、通知、媒體、電話、ContactsProvider 等。 VoiceInteractionSession 用來完成用戶命令的服務和應用程序。

汽車專用概念

AAOS 在以下方面與 Android 有所不同:

  • 除了正常的助手功能外,AAOS VIA 還可以控制車輛功能(例如,HVAC、座椅和車內燈)。這些功能可以使用 CarPropertyManager API 集成(請參閱閱讀車輛屬性中的更多信息),前提是 OEM 正確配置訪問權限,如特權權限白名單中所述。
  • 定制和一致性在汽車領域比在任何其他形式因素中更重要。請參閱自定義以了解有關實施這些準則的更多信息。