通過微軟的sapi,不僅僅可以實現語音合成tts,同樣可以實現語音識別sr。下面我們就介紹並貼出相關**。主要有兩種方式:
1、使用com元件技術,不管是c++,c#,delphi都能玩的轉,開發出來的東西在xp和win7都能跑。(注意要引入系統元件speechlib,xp要安裝識別引擎)
2、使用win7的windows api,其實最終還是呼叫了sapi,所以開發出來的東西就只能在win7上面跑。
其實不管是哪一種,都是呼叫sapi,可能後一種**比較簡單。
使用第一種方式,需要注意在com選項卡裡面的microsoft speech object library引用
publicclass
sprecognition
public
void
beginrec()
public
static
sprecognition instance()
public
void
closerec()
private
void contexrecognition(int iindex, object
obj, speechlib.speechrecognitiontype type, speechlib.ispeechrecoresult result)
}}
第二種同樣需要引入,不過引入的是win7中的.net3.5類庫
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.speech;
using
system.speech.recognition;
using
system.globalization;
using
system.windows.forms;
namespace
studybeta
//選擇美國英語的識別引擎
}
if (recognizer != null
)
else
}private
void initializespeechrecognitionengine(string
fg)public
void beginrec(control tbresult)//
關聯視窗控制項
public
void over()//
停止語音識別引擎
public
virtual grammar createcustomgrammar(string fg) //
創造自定義語法
private
void turnspeechrecognitionon()//
啟動語音識別函式
else
}private
void turnspeechrecognitionoff()//
關閉語音識別函式
else
}private
void recognizer_speechrecognized(object
sender, speechrecognized eventargs e)
private
void
turndictationon()
else
}private
void
turndictationoff()
else
}}}
***********:
C 呼叫SAPI實現語音識別的兩種方法
size medium 通過微軟的sapi,不僅僅可以實現語音合成tts,同樣可以實現語音識別sr。下面我們就介紹並貼出相關 主要有兩種方式 color red 1 使用com元件技術,不管是c c delphi都能玩的轉,開發出來的東西在xp和win7都能跑。注意要引入系統元件speechlib,...
c 用微軟SAPI進行實時語音識別
vs2015,c include include include include include include sphelper.h include using namespace std inline hresult blockforresult isprecocontext precoctxt...
語音中的關於語音識別的一些知識
以下內容都是抄的,哈哈哈 1.mel頻率 是模擬人耳對不同頻率語音的感知。人類對不同頻率語音有不同的感知能力 對1khz以下,與頻率成線性關係,對1khz以上,與頻率成對數關係。頻率越高,感知能力就越差了。因此,在應用中常常只使用低頻mfcc,而丟棄中高頻mfcc。在mel頻域內,人對音調的感知能力...