(四)語音識別測試案例

2022-04-11 11:27:05 字數 2635 閱讀 6021

基於.net的語音合成或語音識別應用相對都比較簡單,基礎類庫已經幫我們做了大量的工作。我們只需要****的需求即可。所以這裡也是用乙個最簡單的案例來演示基於.net的語音識別。windows系統內建已經整合了語音識別引擎。該引擎沒有獨立的安裝包,其包含在了系統語言包中。通常情況下簡體中文的系統僅包括了中文識別,如果安裝了額外的語言包,那麼相對應也會有額外的語音識別引擎,所以我們在開發中盡可能指明當前使用的語音識別引擎。

首先建立乙個窗體程式,新增system.speech.recognition引用,程式介面布局如下:

程式**如下:

using

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)}}

在初始化引擎時,需要指明當前使用的識別引擎。如何檢視系統安裝的語音識別引擎的編號呢?可以使用speechrecognitionengine.installedrecognizers()這個靜態方法獲取到系統安裝的所有引擎。使用該方法預先了解下系統識別的引擎的的編號和語言。

根據已經了解的資訊可以預先定義要使用的識別引擎如下:

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 值使得語音輸入的...