基於.net的語音合成或語音識別應用相對都比較簡單,基礎類庫已經幫我們做了大量的工作。我們只需要****的需求即可。所以這裡也是用乙個最簡單的案例來演示基於.net的語音識別。windows系統內建已經整合了語音識別引擎。該引擎沒有獨立的安裝包,其包含在了系統語言包中。通常情況下簡體中文的系統僅包括了中文識別,如果安裝了額外的語言包,那麼相對應也會有額外的語音識別引擎,所以我們在開發中盡可能指明當前使用的語音識別引擎。
首先建立乙個窗體程式,新增system.speech.recognition引用,程式介面布局如下:
程式**如下:
using在初始化引擎時,需要指明當前使用的識別引擎。如何檢視系統安裝的語音識別引擎的編號呢?可以使用speechrecognitionengine.installedrecognizers()這個靜態方法獲取到系統安裝的所有引擎。使用該方法預先了解下系統識別的引擎的的編號和語言。system;
using
system.collections.generic;
using
system.componentmodel;
using
system.data;
using
system.drawing;
using
system.linq;
using
system.text;
using
system.windows.forms;
using
system.speech.recognition;
using
system.globalization;
namespace
recognition
private
void frmmain_load(object
sender, eventargs e)
}//解除安裝所有語法
recognizer.unloadallgrammars();
//載入自然語法
dictationgrammar dictationgrammar = new
dictationgrammar();
recognizer.loadgrammar(dictationgrammar);
}//////
開始聆聽
/// private
void btnstart_click(object
sender, eventargs e)
//////
停止聆聽
/// private
void btnstop_click(object
sender, eventargs e)
//////
連續識別完成時引發
/// private
void
recognizer_speechrecognized(object sender, speechrecognizedeventargs e)}}
根據已經了解的資訊可以預先定義要使用的識別引擎如下:
private speechrecognitionengine recognizer; //再根據上述資訊初始化識別引擎:語音識別引擎
private
string engineid = "
ms-2052-80-desk
"; //
win7下語音識別引擎編號
private
string currentculture = "
zh-cn
"; //
語言
cultureinfo cultureinfo = new cultureinfo(currentculture); //語音識別引擎比較重要的就是識別語法。一般分兩種:一種是自然語法,一種是自定義語法。自然語法是語音識別引擎工作的基礎語法。如果不載入自然語法識別準確度將會很低。而自定義語法,則是我們針對特定的需求或專案來編排用於提高識別精度的。上述案例僅僅使用的自然語法來進行識別。當前地區文化
foreach (recognizerinfo recognizerinfo in
speechrecognitionengine.installedrecognizers())
}
//這裡先解除安裝了所有語法,為了避免載入重複的語法。解除安裝所有語法
recognizer.unloadallgrammars();
//載入自然語法
dictationgrammar dictationgrammar = new
dictationgrammar();
recognizer.loadgrammar(dictationgrammar);
開啟並測試麥克風可用,執行上述**,並嘗試對著麥克風說話,結果如下:
tips:可以結合之前的語音合成來做乙個簡單的問答機械人程式。
語音識別晶元的經典應用案例
基於yq5969的語音識別晶元實現本文設計的語音識別與控制系統,具有體積小 成本低 便於攜帶等優點。可以作為乙個處理語音頻號的通用硬體平台。語音識別晶元yq5969的應用案例 基於yq5969語音識別晶元的空調遙控器設計與實現選定空調品牌對應的遙控器,搜尋空調型號,然後長按對碼按鍵,按照提示完成適配...
四 Html5 語音識別
html5 實現語音識別so easy 一般的文字框 語音識別文字框 ok 就是這麼簡單!其他引數 1 lang 強制輸入框裡的語言種類 text x webkit speech lang zh cn 2 x webkit grammar 語音輸入語法,builtin search 值使得語音輸入的...
四 Html5 語音識別
html5 實現語音識別so easy 一般的文字框 語音識別文字框 ok 就是這麼簡單!其他引數 1 lang 強制輸入框裡的語言種類 text x webkit speech lang zh cn 2 x webkit grammar 語音輸入語法,builtin search 值使得語音輸入的...