相信Iphone4s之後Siri技術又火了一把,不過Siri的成功除了歸於蘋果公司Steve Jobs的領導之外,Siri的語音識別技術提供商Nuance公司的才是功不可沒的。
Nuance是最大的專門從事語音識別軟件、圖像處理軟件及輸入法軟件研發、銷售的公司。除了已經紅得發紫的Siri,Nuance還有一項破記錄的產品,T9輸入法,相信在蘋果iphone流行之前,用過Nokia神機等品牌手機的用戶一定很熟悉這個。
我們這裡實現的語言識別功能正是基於Nuance的ASR技術,Siri只是Nuance技術的一種實現而已,Nuance的語音識別技術遠遠不止如此。
除了英語,法語,德語等西歐語言,中文,廣東話,日語等東亞語言也包含在其中。
在開始之前,首先需要到Nuance注冊一個開發者賬戶,獲取一個ApplicationKey,並下載SDK,下面是SDK的說明。
http://www.nuance.com/for-developers/dragon-mobile-sdk/index.htm
在這之後就可以運用和開發語言識別程序,SDK主要包括ios和Android兩個版本,ios版本發行較早,目前比較穩定,並有很多ios App基於開發,目前分別提供免費和商業版本,如果要商業開發的話,建議購買他的商業解決方案。
以下是開發語言識別的基本步驟和代碼片段
1,導入語音識別framework
SpeechKit.framework
2,設置SpeechKitApplicationKey
代碼如下 復制代碼 //請從Nuance的郵件中復制
3,實例化語音識別對象,並設置參數
代碼如下 復制代碼
//檢測類型,用於識別並停止錄音,可以是短暫停頓,手動控制等方式,
detectionType = SKShortEndOfSpeechDetection;
//識別類型,通常分為搜索和聽寫兩種方式
recoType = SKSearchRecognizerType;
//識別日語,可以是en,de,fr,zh_CN等
langType = @"ja_JP";
if (_voiceSearch) [_voiceSearch release];
_voiceSearch = [[SKRecognizer alloc] initWithType:recoType
detection:detectionType
language:langType
delegate:self];
4,實現委托方法
代碼如下 復制代碼