語音啟用
注意
本主題主要是指我們的取用者體驗,這些體驗目前在 Windows 10 (1909 版和更早版本) 如需詳細資訊,請參閱Windows 和 Teams 中的 Cortana 終止支援。
Cortana 是 2013 年 Microsoft BUILD 開發人員會議第一次示範個人助理技術。 Windows 語音平臺可用來提供 Cortana 和聽寫等Windows 10中的所有語音體驗。 語音啟用是一項功能,可讓使用者透過說出特定片語 「Hey Cortana」,從各種裝置電源狀態叫用語音辨識引擎。 若要建立支援語音啟用技術的硬體,請檢閱本主題中的資訊。
注意
實作語音啟用是重要的專案,而且是 SoC 廠商完成的工作。 OEM 可以連絡其 SoC 廠商,以取得其 SoC 實作語音啟用的相關資訊。
Cortana 使用者體驗
若要瞭解 Windows 中可用的語音互動體驗,請檢閱這些主題。
主題 | 描述 |
---|---|
何謂 Cortana? | 提供 Cortana 的概觀和使用方向 |
「Hey Cortana」語音啟用和「瞭解我的語音」簡介
Hey Cortana「 Voice Activation
「Hey Cortana」語音啟用 (VA) 功能可讓使用者使用其作用中內容之外快速參與 Cortana 體驗 (亦即目前使用其語音) 。 使用者通常想要能夠立即存取體驗,而不需要實際互動觸控裝置。 對於手機使用者,這可能是因為在汽車中駕駛,並讓其注意力和手部參與操作車輛。 對於 Xbox 使用者,這可能是因為不想尋找並聯機控制器。 對於電腦使用者,這可能是因為快速存取體驗,而不需要執行多個滑鼠、觸控和/或鍵盤動作,例如在廚房中的電腦。
語音啟用會透過預先定義的關鍵字組 () 或「啟用片語」,提供一律接聽語音輸入。 關鍵字組可以自行表達 (「Hey Cortana」) 作為分段命令,或後面接著語音動作,例如「Hey Cortana,我的下一個會議在哪裡?」,這是一個鏈結的命令。
關鍵字偵測一詞,描述硬體或軟體偵測關鍵字的偵測。
只有 Cortana 關鍵字說出關鍵字時,才會啟用關鍵字,Cortana 會啟動並播放 EarCon 音效,以指出它已進入接聽模式。
鏈結命令描述在關鍵字 (之後發出命令的能力,例如 「Hey Cortana,呼叫 John」) , (並在尚未啟動) 並遵循命令 (使用 John) 啟動電話。
此圖說明鏈結和僅限關鍵字啟用。
Microsoft 提供 OS 預設關鍵字 spotter (軟體關鍵字識別器) ,以確保硬體關鍵字偵測的品質,並在硬體關鍵字偵測不存在或無法使用的情況下提供 Hey Cortana 體驗。
「學習我的語音」功能
「學習我的語音」功能可讓使用者訓練 Cortana 辨識其唯一語音。 這是使用者選取 [瞭解如何在 Cortana 設定畫面中說出「Hey Cortana」 來完成的。 然後,使用者會重複六個謹慎選擇的片語,以提供足夠的音調模式,以識別使用者語音的唯一屬性。
當語音啟用與「學習我的語音」配對時,這兩種演算法會一起運作,以減少誤啟用。 這特別適用于會議室案例,其中一個人在全裝置的會議室中說出「Hey Cortana」。 這項功能僅適用于 1903 版和更早版本Windows 10。
語音啟用是由關鍵字識別器所提供, (KWS) 偵測到關鍵字組時會做出反應。 如果 KWS 是要從低電源狀態喚醒裝置,解決方案稱為「語音喚醒」 (WoV) 。 如需詳細資訊,請參閱 語音喚醒。
名詞解釋
此詞彙摘要說明與語音啟用相關的詞彙。
詞彙 | 範例/定義 |
---|---|
分段命令 | 範例:Hey Cortana < 暫停,等候耳機 > 天氣為何? 這有時稱為「雙次命令」或「僅限關鍵字」 |
鏈結命令 | 範例:Hey Cortana 天氣為何? 這有時稱為「單次命令」 |
語音啟用 | 提供預先定義啟用金鑰密碼的關鍵字偵測案例。 例如,「Hey Cortana」 是 Microsoft Voice Activation 案例。 |
WoV | 喚醒語音 – 可讓螢幕關閉、降低電源狀態的語音啟用技術,以進入全電源狀態的螢幕。 |
新式待命的 WoV | 從新式待命 (S0ix) 螢幕關閉狀態喚醒到全電源 (S0) 狀態的螢幕。 |
新式待命 | Windows 低電源閒置基礎結構 - Windows 10中連線待命 (CS) 的後續任務。 新式待命的第一個狀態是螢幕關閉時。 最深的睡眠狀態是在 DRIPS/Resiliency 中。 如需詳細資訊,請參閱 新式待命 |
KWS | 關鍵字識別器 – 提供「Hey Cortana」偵測的演算法 |
SW KWS | Software 關鍵字 Spotter – 在主機上執行的 KWS 實作, (CPU) 。 針對 「Hey Cortana」,SW KWS 會包含在 Windows 中。 |
HW KWS | 硬體卸載關鍵字 Spotter – 在硬體上執行卸載的 KWS 實作。 |
高載緩衝區 | 迴圈緩衝區,用來儲存可在發生 KWS 偵測時「高載」的 PCM 資料,以便包含觸發 KWS 偵測的所有音訊。 |
關鍵字偵測器 OEM 配接器 | 驅動程式層級填充碼,可讓已啟用 WoV 的 HW 與 Windows 和 Cortana 堆疊通訊。 |
型號 | KWS 演算法所使用的原音模型資料檔案。 資料檔案是靜態的。 模型會當地語系化,每個地區設定一個。 |
整合 Hardware 關鍵字 Spotter
若要實作硬體關鍵字 spotter (HW KWS) SoC 廠商必須完成下列工作。
- 根據本主題稍後所述的 SYSVAD 範例建立自訂關鍵字偵測器。 您將在 COM DLL 中實作這些方法,如 關鍵字偵測器 OEM 配接器介面中所述。
- 實作 WAVERT 增強功能中所述的 WAVE RT 增強功能。
- 提供 INF 檔案專案,以描述用於關鍵字偵測的任何自訂 API。
- PKEY_FX_KeywordDetector_StreamEffectClsid
- PKEY_FX_KeywordDetector_ModeEffectClsid
- PKEY_FX_KeywordDetector_EndpointEffectClsid
- PKEY_SFX_KeywordDetector_ProcessingModes_Supported_For_Streaming
- PKEY_MFX_KeywordDetector_ProcessingModes_Supported_For_Streaming
- PKEY_EFX_KeywordDetector_ProcessingModes_Supported_For_Streaming
- 檢閱 音訊裝置建議中的硬體建議和測試指引。 本主題提供用於 Microsoft 語音平臺之音訊輸入裝置設計和開發的指引和建議。
- 同時支援分段和鏈結的命令。
- 針對每個支援的 Cortana 地區設定支援 「Hey Cortana」。
- ADO (音訊處理物件) 必須提供下列效果:
- AEC
- AGC
- NS
- 語音處理模式的效果必須由 MFX APO 報告。
- APO 可能會以 MFX 的形式執行格式轉換。
- APO 必須輸出下列格式:
- 16 kHz、mono、FLOAT。
- 選擇性地設計任何自訂 API 來增強音訊擷取程式。 如需詳細資訊,請參閱 Windows 音訊處理物件。
硬體卸載關鍵字 spotter (HW KWS) WoV 需求
- HW KWS WoV 在 S0 工作狀態和 S0 睡眠狀態也稱為新式待命期間受到支援。
- S3 不支援 HW KWS WoV。
HW KWS 的 AEC 需求
Windows 版本 1709
- 若要支援 S0 睡眠狀態的 HW KWS WoV, (不需要新式待命) AEC。
- Windows 1709 版不支援適用于 S0 工作狀態的 HW KWS WoV。
針對 Windows 版本 1803
- 支援適用于 S0 工作狀態的 HW KWS WoV。
- 若要針對 S0 工作狀態啟用 HW KWS WoV,APO 必須支援 AEC。
範例程式碼概觀
音訊驅動程式有範例程式碼,可在 GitHub 上實作語音啟用,作為 SYSVAD 虛擬音訊配接器範例的一部分。 建議使用此程式碼作為起點。 此位置提供程式碼。
https://github.com/Microsoft/Windows-driver-samples/tree/main/audio/sysvad/
如需 SYSVAD 範例音訊驅動程式的詳細資訊,請參閱 範例音訊驅動程式。
關鍵字辨識系統資訊
語音啟用音訊堆疊支援
啟用語音啟用的音訊堆疊外部介面可作為語音平臺和音訊驅動程式的通訊管線。 外部介面分成三個部分。
- 關鍵字偵測器設備磁碟機介面 (DDI) 。 關鍵字偵測器設備磁碟機介面負責設定和 arming HW 關鍵字 Spotter (KWS) 。 驅動程式也會使用它來通知系統偵測事件。
- 關鍵字偵測器 OEM 配接器 DLL。 此 DLL 會實作 COM 介面,以調整驅動程式特定的不透明資料,以供 OS 用來協助進行關鍵字偵測。
- WaveRT 串流增強功能。 增強功能可讓音訊驅動程式從關鍵字偵測高載串流緩衝的音訊資料。
音訊端點屬性
音訊端點圖形建置通常會發生。 圖表已準備好處理比即時擷取更快。 所擷取緩衝區上的時間戳記維持為 true。 具體來說,時間戳記會正確反映過去和緩衝擷取的資料,而現在是「高載」。
藍牙略過音訊串流理論
驅動程式會如往常公開其擷取裝置的 KS 篩選器。 此篩選支援數個 KS 屬性和 KS 事件,以設定、啟用和發出偵測事件的訊號。 篩選也包含識別為關鍵字 spotter 的額外釘選站, (KWS) 針腳。 這個釘選用來串流關鍵字現成子的音訊。
屬性如下︰
- 支援的關鍵字類型 - KSPROPERTY_SOUNDDETECTOR_PATTERNS。 這個屬性是由作業系統設定,以設定要偵測的關鍵字。
- 關鍵字模式 GUID 的清單 - KSPROPERTY_SOUNDDETECTOR_SUPPORTEDPATTERNS。 這個屬性可用來取得可識別支援模式類型的 GUID 清單。
- 軍事 - KSPROPERTY_SOUNDDETECTOR_ARMED。 這個讀取/寫入屬性只是布林值狀態,指出偵測器是否處於狀態。 OS 會將此設定為與關鍵字偵測器互動。 OS 可以清除此動作以解除連線。 當設定關鍵字模式,以及偵測到關鍵字之後,驅動程式會自動清除此情況。 (OS 必須重新排列。)
- 比對結果 - KSPROPERTY_SOUNDDETECTOR_MATCHRESULT。 這個 read 屬性會在偵測發生之後保存結果資料。
偵測到關鍵字時引發的事件是 KSEVENT_SOUNDDETECTOR_MATCHDETECTED 事件。
作業順序
系統啟動
- OS 會讀取支援的關鍵字類型,以確認其具有該格式的關鍵字。
- OS 會註冊偵測器狀態變更事件。
- OS 會設定關鍵字模式。
- OS 會使用偵測器。
接收 KS 事件時
- 驅動程式會解除偵測器。
- OS 會讀取關鍵字偵測器狀態、剖析傳回的資料,並判斷偵測到的模式。
- OS 會重新排列偵測器。
內部驅動程式和硬體作業
雖然偵測器已啟動,但硬體可以在小型 FIFO 緩衝區中持續擷取和緩衝音訊資料。 (此 FIFO 緩衝區的大小取決於此檔外部的需求,但通常為數百毫秒到數秒。) 偵測演算法會透過此緩衝區串流處理資料。 驅動程式和硬體的設計如此一來,在驅動程式與硬體之間沒有互動,而且在偵測到關鍵字之前,不會中斷「應用程式」處理器。 如果沒有任何其他活動,這可讓系統達到較低的電源狀態。
當硬體偵測到關鍵字時,會產生中斷。 在等候驅動程式服務中斷時,硬體會繼續將音訊擷取到緩衝區,以確保關鍵字遺失之後不會遺失任何資料,且在緩衝限制內。
關鍵字時間戳記
偵測關鍵字之後,所有語音啟用解決方案都必須緩衝所有口語關鍵字,包括 250 毫秒,再開始關鍵字。 音訊驅動程式必須提供時間戳記,以識別資料流程中關鍵字組的開始和結尾。
為了支援關鍵字開始/結束時間戳記,DSP 軟體可能需要根據 DSP 時鐘在內部時間戳記事件。 偵測到關鍵字之後,DSP 軟體會與驅動程式互動以準備 KS 事件。 驅動程式和 DSP 軟體必須將 DSP 時間戳記對應至 Windows 效能計數器值。 執行此動作的方法專屬於硬體設計。 其中一個可能的解決方案是讓驅動程式讀取目前的效能計數器、查詢目前的 DSP 時間戳記、再次讀取目前的效能計數器,然後估計效能計數器與 DSP 時間之間的相互關聯。 然後,假設相互關聯,驅動程式可以將關鍵字 DSP 時間戳記對應至 Windows 效能計數器時間戳記。
關鍵字偵測器 OEM 配接器介面
OEM 提供 COM 物件實作,以作為 OS 與驅動程式之間的媒介,協助計算或剖析透過 KSPROPERTY_SOUNDDETECTOR_PATTERNS 和 KSPROPERTY_SOUNDDETECTOR_MATCHRESULT寫入和讀取音訊驅動程式的不透明資料。
COM 物件的 CLSID 是 KSPROPERTY_SOUNDDETECTOR_SUPPORTEDPATTERNS所傳回的偵測器模式類型 GUID。 OS 會呼叫 CoCreateInstance 傳遞模式類型 GUID,以具現化與關鍵字模式類型相容的適當 COM 物件,並在物件的 IKeywordDetectorOemAdapter 介面上呼叫方法。
COM 執行緒模型需求
OEM 的實作可以選擇任何 COM 執行緒模型。
IKeywordDetectorOemAdapter
介面設計會嘗試讓物件實作保持無狀態。 換句話說,實作應該不需要在方法呼叫之間儲存任何狀態。 事實上,內部 C++ 類別可能不需要一般實作 COM 物件所需的任何成員變數。
方法
實作下列方法。
- IKeywordDetectorOemAdapter::BuildArmingPatternData
- IKeywordDetectorOemAdapter::ComputeAndAddUserModelData
- IKeywordDetectorOemAdapter::GetCapabilities
- IKeywordDetectorOemAdapter::P arseDetectionResultData
- IKeywordDetectorOemAdapter::VerifyUserKeyword
KEYWORDID
KEYWORDID列舉會識別關鍵字的片語文字/函式,也用於 Windows 生物特徵辨識服務配接器。 如需詳細資訊,請參閱 生物特徵辨識架構概觀 - 核心平臺元件
typedef enum {
KwInvalid = 0,
KwHeyCortana = 1,
KwSelect = 2
} KEYWORDID;
KEYWORDSELECTOR
KEYWORDSELECTOR結構是一組可唯一選取特定關鍵字和語言的識別碼。
typedef struct
{
KEYWORDID KeywordId;
LANGID LangId;
} KEYWORDSELECTOR;
處理模型資料
靜態使用者獨立模型 - OEM DLL 通常會包含 DLL 內建的一些靜態使用者獨立模型資料,或包含在 DLL 隨附的個別資料檔案中。 GetCapabilities 常式所傳回的支援關鍵字識別碼集取決於此資料。 例如,如果 GetCapabilities 所傳回的支援關鍵字識別碼清單包含 KwHeyCortana,靜態使用者獨立模型資料會包含 「Hey Cortana」 的資料 (或其所有支援語言的翻譯) 。
動態使用者相依模型 - IStream 提供隨機存取儲存體模型。 OS 會將 IStream 介面指標傳遞給 IKeywordDetectorOemAdapter 介面上的許多方法。 OS 會針對最多 1 MB 的資料,使用適當的儲存體來備份 IStream 實作。
此儲存體內資料的內容和結構是由 OEM 所定義。 其用途是持續儲存由 OEM DLL 計算或擷取的使用者相依模型資料。
OS 可能會使用空的 IStream 呼叫介面方法,特別是如果使用者從未定型關鍵字。 OS 會為每個使用者建立個別的 IStream 儲存體。 換句話說,指定的 IStream 會儲存一個和一位使用者的模型資料。
OEM DLL 開發人員決定如何管理使用者獨立和使用者相依資料。 不過,它絕不會儲存 IStream 外部的任何位置的使用者資料。 其中一個可能的 OEM DLL 設計會在內部根據目前方法的參數,在存取 IStream 與靜態使用者獨立資料之間切換。 替代設計可能會在每個方法呼叫開始時檢查 IStream,並在尚未存在時將靜態使用者獨立資料新增至 IStream,讓其餘的方法只存取所有模型資料的 IStream。
定型和作業音訊處理
如先前所述,訓練 UI 流程會產生音訊串流中提供的完整語音豐富句子。 每個句子會個別傳遞至 IKeywordDetectorOemAdapter::VerifyUserKeyword ,以確認它包含預期的關鍵字,而且具有可接受的品質。 在 UI 收集並驗證所有句子之後,它們全都會在 一次呼叫 IKeywordDetectorOemAdapter::ComputeAndAddUserModelData中傳遞。
音訊會以獨特的方式處理語音啟用訓練。 下表摘要說明語音啟用訓練與一般語音辨識使用方式之間的差異。
|
語音訓練 | 語音辨識 | |
模式 | Raw | 原始或語音 |
針 | 正常 | KWS |
音訊格式 | 32 位 float (Type = Audio, Subtype = IEEE_FLOAT, Sampling Rate = 16 kHz, bits = 32) | 由 OS 音訊堆疊管理 |
麥克風 | 麥克風 0 | 陣列中的所有麥克風或單聲道 |
關鍵字辨識系統概觀
此圖表提供關鍵字辨識系統的概觀。
關鍵字辨識順序圖表
在這些圖表中,語音執行時間模組會顯示為「語音平臺」。 如先前所述,Windows 語音平臺可用來支援 cortana 和聽寫等Windows 10中的所有語音體驗。
在啟動期間,會使用 IKeywordDetectorOemAdapter::GetCapabilities收集功能。
稍後當使用者選取「學習我的語音」時,就會叫用訓練流程。
下圖描述關鍵字偵測的 Arming 程式。
WAVERT 增強功能
Miniport 介面是由 WaveRT 迷你埠驅動程式所定義。 這些介面提供方法來簡化音訊驅動程式、改善 OS 音訊管線效能和可靠性,或支援新的案例。 已定義新的 PnP 裝置介面屬性,讓驅動程式能夠將其緩衝區大小條件約束的靜態運算式提供給 OS。
緩衝區大小
在 OS、驅動程式和硬體之間移動音訊資料時,驅動程式會在各種限制下運作。 這些限制可能是因為在記憶體和硬體之間移動資料的實體硬體傳輸,以及/或因為硬體或相關聯的 DSP 內的訊號處理模組所致。
HW-KWS 解決方案必須支援至少 100 毫秒和最多 200 毫秒的音訊擷取大小。
驅動程式會在 KS 串流針腳 () 的 KSCATEGORY_AUDIO PnP 裝置介面上設定 DEVPKEY_KsAudio_PacketSize_Constraints 裝置屬性,來表示緩衝區大小限制。 啟用 KS 篩選介面時,此屬性應該保持有效且穩定。 OS 可以隨時讀取此值,而不需要開啟驅動程式的控制碼,並在驅動程式上呼叫 。
DEVPKEY_KsAudio_PacketSize_Constraints
DEVPKEY_KsAudio_PacketSize_Constraints屬性值包含描述實體硬體條件約束 ( KSAUDIO_PACKETSIZE_CONSTRAINTS結構,亦即,因為將資料從 WaveRT 緩衝區傳輸到音訊硬體) 的機制。 結構包含 0 或更多 KSAUDIO_PACKETSIZE_PROCESSINGMODE_CONSTRAINT 結構的陣列,描述任何訊號處理模式特有的條件約束。 驅動程式會在呼叫 PcRegisterSubdevice 之前設定此屬性,否則會為其串流釘選啟用其 KS 篩選介面。
IMiniportWaveRTInputStream
驅動程式會實作此介面,以便更妥善協調從驅動程式到 OS 的音訊資料流程。 如果擷取資料流程上有此介面可用,OS 會使用此介面上的方法來存取 WaveRT 緩衝區中的資料。 如需詳細資訊,請參閱IMiniportWaveRTInputStream::GetReadPacket
IMiniportWaveRTOutputStream
WaveRT 迷你埠會選擇性地實作此介面,以建議從 OS 寫入進度,並傳回精確的資料流程位置。 如需詳細資訊,請參閱 IMiniportWaveRTOutputStream::SetWritePacket、 IMiniportWaveRTOutputStream::GetOutputStreamPresentationPosition 和 IMiniportWaveRTOutputStream::GetPacketCount。
效能計數器時間戳記
數個驅動程式常式會傳回 Windows 效能計數器時間戳記,反映裝置擷取或呈現樣本的時間。
在具有複雜 DSP 管線和訊號處理的裝置中,計算精確的時間戳記可能很困難,而且應該謹慎完成。 時間戳記不應該只反映樣本傳送至 OS 或從 OS 傳輸到 DSP 的時間。
- 在 DSP 內,使用一些內部 DSP 時鐘來追蹤範例時間戳記。
- 在驅動程式與 DSP 之間,計算 Windows 效能計數器與 DSP 時鐘之間的相互關聯。 此程式的範圍可以是非常簡單的 (,但較不精確的) 到相當複雜或新 (但更精確的) 。
- 因訊號處理演算法或管線或硬體傳輸而造成任何常數延遲的因素,除非另有考慮這些延遲。
高載讀取作業
本節說明高載讀取的 OS 和驅動程式互動。 只要驅動程式支援封包串流 WaveRT 模型,包括 IMiniportWaveRTInputStream::GetReadPacket 函式,就會在語音啟用案例之外發生高載讀取。
討論兩個高載範例讀取案例。 在一個案例中,如果迷你埠支援釘選類別 KSNODETYPE_AUDIO_KEYWORDDETECTOR ,則驅動程式會在偵測到關鍵字時開始擷取和內部緩衝資料。 在另一個案例中,如果 OS 未透過呼叫 IMiniportWaveRTInputStream::GetReadPacket來快速讀取資料,則驅動程式可以選擇性地在內部緩衝處理資料。
若要在轉換至KSSTATE_RUN之前擷取的高載資料,驅動程式必須保留精確的範例時間戳記資訊以及緩衝擷取資料。 時間戳記會識別所擷取樣本的取樣瞬間。
資料流程轉換至KSSTATE_RUN之後,驅動程式會立即設定緩衝區通知事件,因為它已經有可用的資料。
在此事件中,OS 會呼叫 GetReadPacket () 以取得可用資料的相關資訊。
a. 驅動程式會在從 KSSTATE_STOP 轉換至KSSTATE_RUN) 之後,傳回第一個封包的有效擷取資料封包號碼 (0,OS 可以從該封包位置衍生到 WaveRT 緩衝區內的封包位置,以及相對於資料流程開頭的封包位置。
b. 驅動程式也會傳回效能計數器值,這個值會對應至封包中第一個樣本的取樣瞬間。 請注意,此效能計數器值可能相對舊,視在 WaveRT) 緩衝區外部的硬體或驅動程式 (緩衝處理多少擷取資料而定。
c. 如果有更多未讀取的緩衝資料可供驅動程式使用:i。 立即將該資料傳送到 WaveRT 緩衝區的可用空間 (亦即,從 GetReadPacket 傳回的封包未使用的空間) 、針對 MoreData 傳回 true,並在從這個常式傳回之前設定緩衝區通知事件。 或者,ii. 程式硬體會將下一個封包高載至 WaveRT 緩衝區的可用空間、針對 MoreData 傳回 false,並在傳輸完成時設定緩衝區事件。
OS 會使用 GetReadPacket () 所傳回的資訊,從 WaveRT 緩衝區讀取資料。
OS 會等候下一個緩衝區通知事件。 如果驅動程式在步驟 (2c) 中設定緩衝區通知,則等候可能會立即終止。
如果驅動程式未在步驟 (2c) 中立即設定事件,驅動程式會在將更多擷取的資料傳輸至 WaveRT 緩衝區之後設定事件,並讓它可供 OS 讀取
移至 (2) 。 針對 KSNODETYPE_AUDIO_KEYWORDDETECTOR 關鍵字偵測器針腳,驅動程式應該為至少 5000 毫秒的音訊資料配置足夠的內部高載緩衝。 如果 OS 在緩衝區溢位之前無法在針腳上建立資料流程,則驅動程式可能會結束內部緩衝活動並釋放相關聯的資源。
喚醒語音
喚醒語音 (WoV) 可讓使用者透過說出特定關鍵字,例如「Hey Cortana」,從螢幕關閉、降低電源狀態、開啟螢幕、全電源狀態來啟用和查詢語音辨識引擎。
這項功能可讓裝置在裝置處於低電源狀態時一律接聽使用者的語音,包括當螢幕關閉且裝置閒置時。 其用途是使用接聽模式,相較于一般麥克風錄製期間所見的更高電源使用量,這會降低電源。 低冪語音辨識可讓使用者直接說出預先定義的關鍵字組,例如 「Hey Cortana」,後面接著「下一個約會時」之類的鏈結語音片語,以免手的方式叫用語音。 無論裝置正在使用或閒置螢幕關閉,這都可以運作。
音訊堆疊負責將喚醒資料 (說話者識別碼、關鍵字觸發程式、信賴等級) ,以及通知感興趣的用戶端已偵測到關鍵字。
新式待命系統上的驗證
從系統閒置狀態的 WoV 可以在新式待命系統上使用AC 電源上的新式待命喚醒基本測試,以及HLK中DC 電源上的新式待命喚醒基本喚醒來驗證。 這些測試會檢查系統是否有硬體關鍵字 spotter (HW-KWS) ,能夠進入最深執行時間閒置平臺狀態 (DRIPS) ,而且能夠在語音命令上從新式待命喚醒,且系統繼續延遲小於或等於一秒。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應