System.Speech.Recognition 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含實作語音辨識的 Windows 桌面語音技術類型。
類別
列舉
AudioSignalProblem |
包含傳入至語音辨識引擎的音訊訊號中可能發生的問題的清單。 |
AudioState |
包含傳入至語音辨識引擎的音訊輸入的可能狀態的清單。 |
DisplayAttributes |
列出選項,SpeechRecognitionEngine 物件可用來指定空白區以顯示某個字或標點符號。 |
RecognizeMode |
列舉辨識模式的值。 |
RecognizerState |
列舉辨識器狀態的值。 |
SubsetMatchingMode |
列舉子集比對模式的值。 |
備註
Windows 桌面語音技術軟體提供基本的語音辨識基礎結構,可將聲場訊號數位化,並從音訊輸入復原文字和語音元素。
應用程式會 System.Speech.Recognition 使用 命名空間來存取和擴充此基本語音辨識技術,方法是定義演算法來識別及處理特定片語或字組模式,以及管理此語音基礎結構的運行時間行為。
建立文法
您可以建立由一組規則或條件約束組成的文法,以定義應用程式將辨識為有意義的輸入的單字和片語。 您可以使用 類別的 Grammar 建構函式,在運行時間從 GrammarBuilder 或 SrgsDocument 實例建立文法物件,或從包含文法定義的檔案、字串或數據流建立文法物件。
GrammarBuilder您可以使用和 Choices 類別,以程序設計方式建立低到中複雜度的文法,以用於執行許多常見案例的辨識。 若要以程式設計方式建立符合 語音辨識文法規格 1.0 (SRGS) 並利用 SRGS 撰寫彈性的 System.Speech.Recognition.SrgsGrammar 文法,請使用 命名空間的類型。 您也可以使用任何文本編輯器建立 XML 格式 SRGS 文法,並使用結果來建立 GrammarBuilder、 SrgsDocument 或 Grammar 物件。
此外,類別 DictationGrammar 還提供特殊案例文法來支持傳統的聽寫模型。
如需詳細資訊和範例,請參閱 .NET Framework 的系統語音程序設計指南中的建立文法。
管理語音辨識引擎
和 SpeechRecognizerSpeechRecognitionEngine 隨附 Grammar 對象的實例,提供 Windows 桌面語音技術語音辨識引擎的主要存取權。
您可以使用 類別 SpeechRecognizer 來建立用戶端應用程式,以使用 Windows 所提供的語音辨識技術,您可以透過 控制面板進行設定。 這類應用程式會透過電腦的預設音訊輸入機制接受輸入。
如需進一步控制辨識引擎的組態和類型,請使用 執行 SpeechRecognitionEngine進程的應用程式來建置應用程式。 使用 類別 SpeechRecognitionEngine ,您也可以從裝置、檔案或數據流動態選取音訊輸入。
如需詳細資訊,請參閱適用於 .NET Framework 的系統語音程序設計指南中的初始化和管理語音辨識引擎。
回應事件
SpeechRecognizer 和 SpeechRecognitionEngine 物件會產生事件,以回應語音辨識引擎的音訊輸入。 、AudioLevelUpdated
、 AudioSignalProblemOccurred
AudioStateChanged
事件會因應傳入訊號中的變更而引發。 當 SpeechDetected
語音辨識引擎將傳入音訊識別為語音時,就會引發 事件。 語音辨識引擎會在將語音輸入與其中一個已載入的文法相符時引發 SpeechRecognized
事件,並在語音輸入不符合其任何載入的文法時引發 SpeechRecognitionRejected
。
其他類型的事件包括 LoadGrammarCompleted
語音辨識引擎在載入文法時引發的事件。
StateChanged是 類別的獨佔,SpeechRecognizer會在 Windows 語音辨識的狀態變更時引發 事件。
您可以註冊以通知語音辨識引擎引發的事件,並使用 EventsArgs
與上述每個事件相關聯的類別建立處理程式,以在引發事件時對應用程式的行為進行程序設計。
如需詳細資訊,請參閱 .NET Framework 的系統語音程序設計指南中的使用語音辨識事件。