|
Google提供了一個(gè)在線語(yǔ)音識(shí)別的API接口,通過(guò)該API可以進(jìn)行中文、英文等語(yǔ)言的識(shí)別。 API地址:http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=1 —參數(shù)解釋 xjerr:錯(cuò)誤標(biāo)準(zhǔn) client: 客戶端類型 lang:待識(shí)別語(yǔ)言類型,en-US是英文,中文為zh-CN, maxresults:最大返回識(shí)別結(jié)果數(shù)量 —識(shí)別基本流程: 從音頻輸入設(shè)備獲取原始音頻并編碼或直接調(diào)用音頻文件。 將音頻POST至接口地址。 分析處理返回的JSON并得出結(jié)果。 —請(qǐng)求接口 地址:如前 請(qǐng)求方式:http post 請(qǐng)求數(shù)據(jù):編碼后的音頻數(shù)據(jù) 音頻編碼格式:wav、speex或flac。 音頻采樣頻率:8000Hz、11025Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz、48000Hz —主要優(yōu)點(diǎn) 語(yǔ)音識(shí)別引擎龐大,識(shí)別精度很高,適用于文本語(yǔ)音識(shí)別。提供多國(guó)語(yǔ)言的語(yǔ)音識(shí)別。 任何平臺(tái)都可以進(jìn)行訪問(wèn),容易使用。 —主要缺點(diǎn) API未開放,未能獲知具體開發(fā)細(xì)節(jié)。 識(shí)別引擎位于服務(wù)器端,識(shí)別的速度和網(wǎng)絡(luò)質(zhì)量有關(guān),識(shí)別速度較慢。 待識(shí)別音頻的格式、大小、時(shí)長(zhǎng)的限制。 MicrosoftSpeech SDK —Microsoft Speech SDK是微軟公司提供在Windows平臺(tái)上開發(fā)語(yǔ)音識(shí)別和語(yǔ)音合成應(yīng)用程序的開發(fā)包,簡(jiǎn)稱為SAPI,內(nèi)含SR(Speech Recognition)和SS(Speechsynthesis)引擎,因此可以很方便地在自己的應(yīng)用程序中添加這些功能。 —該語(yǔ)音引擎支持多種語(yǔ)音的識(shí)別和朗讀,包括英文、日文、中文等。微軟推出的應(yīng)用編程接口API,雖然現(xiàn)在不是業(yè)界標(biāo)準(zhǔn),但是應(yīng)用比較廣泛。 —識(shí)別基本流程: 從音頻輸入設(shè)備獲取原始音頻并編碼或直接調(diào)用音頻文件。 設(shè)定語(yǔ)音引擎和識(shí)別上下文等內(nèi)容,配置本地訪問(wèn)屬性。 分析處理得到的文本結(jié)果 —請(qǐng)求接口 請(qǐng)求方式:本地訪問(wèn) 請(qǐng)求數(shù)據(jù):編碼后的音頻數(shù)據(jù) 音頻編碼格式:wav 音頻采樣頻率:8000Hz、11025Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz、48000Hz —主要優(yōu)點(diǎn) 基于COM組件,便于與DirectShow中的組件整合。 語(yǔ)音識(shí)別引擎位于本地,便于訪問(wèn),識(shí)別速度較快。 待識(shí)別音頻的大小、時(shí)長(zhǎng)無(wú)限制。 —主要缺點(diǎn) 缺少其他平臺(tái)的支持,僅支持windows平臺(tái)。 語(yǔ)音識(shí)別引擎不夠龐大,識(shí)別精準(zhǔn)度較低。 僅提供中日英三種語(yǔ)言的語(yǔ)音識(shí)別功能。 iFLY Mobile Speech Platform 2.0 —科大訊飛為開發(fā)者提供了語(yǔ)音應(yīng)用開發(fā)平臺(tái),提供語(yǔ)音合成、語(yǔ)音聽寫、語(yǔ)音識(shí)別、聲紋識(shí)別等服務(wù),為語(yǔ)音應(yīng)用開發(fā)愛(ài)好者提供方便易用的開發(fā)接口,使得用戶能夠基于該開發(fā)接口進(jìn)行多種語(yǔ)音應(yīng)用開發(fā)。 —其主要功能有: 實(shí)現(xiàn)基于HTTP協(xié)議的語(yǔ)音應(yīng)用服務(wù)器,支持語(yǔ)音合成、語(yǔ)音聽寫、語(yǔ)音識(shí)別、聲紋識(shí)別等服務(wù) 提供基于移動(dòng)平臺(tái)和PC上的語(yǔ)音客戶端子系統(tǒng),內(nèi)部集成音頻處理和音頻編解碼模塊,提供關(guān)于語(yǔ)音合成、語(yǔ)音聽寫、語(yǔ)音識(shí)別和聲紋識(shí)別完善的API —只需要在http://open.上申請(qǐng)成為開發(fā)者,便可以下載相關(guān)的SDK和開發(fā)文檔。 —主要優(yōu)點(diǎn) 支持平臺(tái)豐富,各個(gè)平臺(tái)上都有相應(yīng)的詳細(xì)SDK文檔 語(yǔ)音識(shí)別引擎較龐大,對(duì)中文的識(shí)別精度很高。 具端點(diǎn)檢測(cè)功能,便于劃分識(shí)別文本的句子。 —主要缺點(diǎn) 識(shí)別引擎位于服務(wù)器端,須遠(yuǎn)程訪問(wèn),識(shí)別速度較慢。 對(duì)語(yǔ)言支持不如Google,目前僅支持中文聽寫。 需要使用1028端口,在某些地方會(huì)有使用限制。 當(dāng)軟件用戶達(dá)到百萬(wàn)次后,需要開始收費(fèi)。 —測(cè)試流程: 從麥克風(fēng)輸入語(yǔ)音并編碼或直接調(diào)用音頻文件,調(diào)用的音頻文件主要是從電影或是新聞節(jié)目中提取其音頻,前者主要體現(xiàn)識(shí)別語(yǔ)音口音的多樣性,后者是體現(xiàn)識(shí)別語(yǔ)音口音的正規(guī)性,從麥克風(fēng)輸入體現(xiàn)對(duì)針對(duì)某個(gè)人特定的口音。主要測(cè)試音頻文件格式為wav和flac(flac需要由相同采樣率的wav轉(zhuǎn)換而來(lái))測(cè)試采樣率有8KHz、16KHz、24KHz、32KHz、44.1KHz。 分析各個(gè)引擎的識(shí)別準(zhǔn)確度和花費(fèi)時(shí)間時(shí),選取了5段時(shí)長(zhǎng)為25S、平均長(zhǎng)度為150個(gè)中文字符的音頻作為其測(cè)試音頻,記錄識(shí)別正確的文字和花費(fèi)時(shí)間,準(zhǔn)確度以識(shí)別正確的文字/文本總字?jǐn)?shù),同時(shí)包含識(shí)別出的單獨(dú)的字、詞,花費(fèi)時(shí)間對(duì)于非本地引擎需要考慮音頻傳送和結(jié)果返回的時(shí)間。 分析各個(gè)引擎中語(yǔ)速對(duì)識(shí)別準(zhǔn)確度的影響,針對(duì)同一文本,測(cè)試不同語(yǔ)速(分為慢速、中速、快速)的音頻,且時(shí)間均控制在25S,僅選取了24KHz和44.1KHz音頻進(jìn)行測(cè)試,因?yàn)橛蓽y(cè)試準(zhǔn)確度的測(cè)試中,已經(jīng)得出在24KHz和44.1KHz情況下,識(shí)別精確度較高。 分別用google、Microsoft和科大訊飛語(yǔ)音識(shí)別引擎對(duì)測(cè)試音頻文件進(jìn)行測(cè)試。其中使用google和科大訊飛引擎需通過(guò)訪問(wèn)其相關(guān)服務(wù)器,而Microsoft的語(yǔ)音識(shí)別引擎則是從本地進(jìn)行訪問(wèn)。 對(duì)所得結(jié)果進(jìn)行數(shù)據(jù)分析,列出數(shù)據(jù)表格,分析各自引擎的優(yōu)缺點(diǎn)。 — 測(cè)試結(jié)果: 語(yǔ)速對(duì)識(shí)別時(shí)間的影響 慢速 中速 快速 Google 8s 8.94s 10.125s SAPI 6.06s 6.63s 5.375s 科大訊飛 34.6s 35s 23.6s 語(yǔ)速對(duì)識(shí)別精度的影響 慢速 中速 快速 Google 78.93% 77.52% 11.58% SAPI 28.7% 42.79% 6.81% 科大訊飛 78.2% 80.48% 15.53% 結(jié)果評(píng)價(jià): —1.Google Google語(yǔ)音識(shí)別引擎可以識(shí)別wav格式音頻,但是測(cè)試所用wav均為非原始wav故識(shí)別精度很低,若將其轉(zhuǎn)換為flac后則識(shí)別精度增加。對(duì)于flac格式中文音頻,快速語(yǔ)音準(zhǔn)確率達(dá)到11.58%,中速語(yǔ)音準(zhǔn)確率達(dá)到72.52%,平均花費(fèi)時(shí)間8.94S。慢速語(yǔ)音準(zhǔn)確率達(dá)到78.93%,平均花費(fèi)時(shí)間為8S。對(duì)于英文音頻,快速語(yǔ)音準(zhǔn)確率達(dá)到40.22%,中速語(yǔ)音準(zhǔn)確率達(dá)到89.2%,慢速語(yǔ)音準(zhǔn)確率達(dá)到80.58%,平均花費(fèi)時(shí)間各為9.2s,8.5s和9.9s。 不同的音頻采樣率對(duì)識(shí)別效果和花費(fèi)時(shí)間有影響,識(shí)別效果主要體現(xiàn)在音頻中間部分名詞和音頻末端1s的識(shí)別結(jié)果,于中文而言新聞?lì)惼骄鶞?zhǔn)確率為72.37%,電影類平均準(zhǔn)確率為44.36%。于英文而言,電影類平均準(zhǔn)確率為35.3%。平均花費(fèi)時(shí)間采樣率越大,識(shí)別時(shí)間越短,如24KHz和44.1KHz的同樣內(nèi)容音頻,后者時(shí)間少1S左右。 對(duì)于google語(yǔ)音識(shí)別引擎,由于語(yǔ)速過(guò)快會(huì)導(dǎo)致識(shí)別不準(zhǔn)確,會(huì)出現(xiàn)多個(gè)音識(shí)別為一個(gè)字的現(xiàn)象,故所用時(shí)間較短,但是準(zhǔn)確度較差。而語(yǔ)速過(guò)慢時(shí),雖然語(yǔ)音的特征更加明晰會(huì)使得準(zhǔn)確率上升,但是字與字之間的聯(lián)系不密切,會(huì)出現(xiàn)本該是一個(gè)詞卻識(shí)別為同音的兩個(gè)字,導(dǎo)致準(zhǔn)確率下降,故其平均準(zhǔn)確率和中速識(shí)別率相當(dāng),另一方面是所需識(shí)別的字較少,故識(shí)別時(shí)間相對(duì)中速短。 對(duì)于視頻流提取的音頻和麥克風(fēng)輸入人聲的識(shí)別,麥克風(fēng)輸入人聲的平均準(zhǔn)確度高于視頻流中的的平均準(zhǔn)確度,原因是視頻流中的人聲會(huì)帶有各種口音一般帶有背景噪音,而麥克風(fēng)輸入人聲是單一的穩(wěn)定的,背景噪音較小。準(zhǔn)確度順序大致為:新聞?lì)?gt;特定人>電影類,但不能忽略電影中也存在普通話標(biāo)準(zhǔn)發(fā)音。對(duì)于時(shí)間長(zhǎng)度為20s以上的快速語(yǔ)音,測(cè)試期間無(wú)法識(shí)別,一直未能返回正確結(jié)果。不知原因。對(duì)于特定人輸入的音頻,音頻頭尾都可正確識(shí)別。若是輸入視頻流中音頻,頭尾1S的內(nèi)容都不能很好的識(shí)別,容易出錯(cuò)。 Google語(yǔ)音識(shí)別引擎數(shù)據(jù)庫(kù)豐富,可以識(shí)別大部分日常用語(yǔ),還包括當(dāng)下流行詞匯,人名,地名等。對(duì)于新聞?lì)愒~匯判別比較準(zhǔn),而特定專業(yè)類名詞通常以同音字代替。 對(duì)于google識(shí)別的時(shí)間包括網(wǎng)絡(luò)發(fā)送音頻數(shù)據(jù)包時(shí)間,識(shí)別花費(fèi)時(shí)間,返回結(jié)果時(shí)間。由于引擎位于服務(wù)器,需要通過(guò)網(wǎng)絡(luò)訪問(wèn),故網(wǎng)絡(luò)質(zhì)量在識(shí)別時(shí)間上占據(jù)極重要的位置,識(shí)別過(guò)程中經(jīng)常會(huì)發(fā)生訪問(wèn)延遲、訪問(wèn)超時(shí)和請(qǐng)求無(wú)效等錯(cuò)誤,故應(yīng)該在網(wǎng)絡(luò)良好的條件下使用google引擎,這也是非本地語(yǔ)音引擎庫(kù)的缺點(diǎn)。同時(shí)音頻文件超過(guò)1M時(shí),也無(wú)法正確返回結(jié)果,估計(jì)是服務(wù)器的文件限制。 若考慮語(yǔ)音的精準(zhǔn)度,則傾向于選擇google語(yǔ)音識(shí)別引擎。 —2.SAPI 微軟的SAPI語(yǔ)音識(shí)別引擎可以識(shí)別任意采樣率的wav格式音頻,當(dāng)采樣率比較低時(shí)如僅為8KHz,音頻內(nèi)容采樣過(guò)程中會(huì)缺失,故識(shí)別不準(zhǔn)確,理論上來(lái)說(shuō),采樣率越高,識(shí)別精度越好。但是采樣率超過(guò)一定值后,改進(jìn)并不明顯。經(jīng)過(guò)測(cè)試得出以44.1KHz采樣率識(shí)別精度較好,且花費(fèi)時(shí)間較短??焖僬Z(yǔ)音準(zhǔn)確率為6.81%,中速語(yǔ)音準(zhǔn)確率達(dá)到42.79%,平均花費(fèi)時(shí)間6.63S。慢速語(yǔ)音準(zhǔn)確率達(dá)到28.7%,平均花費(fèi)時(shí)間為6.06S。識(shí)別效果主要體現(xiàn)在音頻中間部分名詞和音頻末端1s的識(shí)別結(jié)果,新聞?lì)惼骄鶞?zhǔn)確率51.48%,電影類平均準(zhǔn)確率為41.43%,特定人平均準(zhǔn)確率為53.06%。 對(duì)于特定人輸入的音頻,音頻頭尾都可正確識(shí)別。若是輸入視頻流中音頻,頭尾1S的內(nèi)容容易漏識(shí)別,且漏識(shí)別內(nèi)容并非不顯示,而是以其他文字代替諸如“他、淡”等字,影響了識(shí)別結(jié)果的理解。 微軟語(yǔ)音識(shí)別引擎數(shù)據(jù)庫(kù)位于本地,訪問(wèn)方便、快捷,無(wú)需考慮網(wǎng)絡(luò)延遲、音頻文件過(guò)大無(wú)法傳送等問(wèn)題。其缺點(diǎn)便是本地?cái)?shù)據(jù)庫(kù)的大小限制了其識(shí)別精度,需要通過(guò)長(zhǎng)時(shí)間的訓(xùn)練才有可能達(dá)到比較高的精準(zhǔn)度,而相比之下google引擎數(shù)據(jù)庫(kù)可以收集網(wǎng)絡(luò)上的所有資料,訓(xùn)練文本并不缺乏,容易達(dá)到很高的精準(zhǔn)度。SAPI可以識(shí)別大部分日常用語(yǔ)和常用的新聞詞匯,但是對(duì)當(dāng)下流行詞匯,人名,地名識(shí)別精度很低,對(duì)特定專業(yè)類名詞通常也以同音字代替。 —3.科大訊飛 科大訊飛語(yǔ)音識(shí)別引擎僅可識(shí)別wav格式音頻,為了達(dá)到理想的效果,有諸如條件限制,如音頻須為采樣率16KHz、每采樣一點(diǎn)16bit、單聲道,且音頻長(zhǎng)度小于90s。由于具有端點(diǎn)檢測(cè)功能,每句話的長(zhǎng)度不宜過(guò)長(zhǎng)??焖僬Z(yǔ)音準(zhǔn)確率達(dá)到17.63%,平均花費(fèi)時(shí)間29.2S。中速語(yǔ)音準(zhǔn)確率達(dá)到80.48%,平均花費(fèi)時(shí)間35S。慢速語(yǔ)音準(zhǔn)確率達(dá)到78.2%,平均花費(fèi)時(shí)間為34.6S。平均花費(fèi)時(shí)間比另外兩個(gè)引擎多了許多,主要原因是其端點(diǎn)檢測(cè)功能,故一次能識(shí)別的語(yǔ)句長(zhǎng)度有限制,需要分段識(shí)別,因此加長(zhǎng)了識(shí)別的時(shí)間。 端點(diǎn)檢測(cè)的好處是方便音頻中句子的分段,易于對(duì)對(duì)識(shí)別結(jié)果的理解。 其引擎庫(kù)也是位于服務(wù)器,需要通過(guò)網(wǎng)絡(luò)訪問(wèn),識(shí)別的時(shí)間包括網(wǎng)絡(luò)發(fā)送音頻數(shù)據(jù)包時(shí)間,識(shí)別花費(fèi)時(shí)間,返回結(jié)果時(shí)間。網(wǎng)絡(luò)質(zhì)量在識(shí)別時(shí)間上也占據(jù)極重要的位置,且其需要開啟80/1028端口后才能有效使用該引擎。待識(shí)別的音頻需要質(zhì)量清晰,一般對(duì)于網(wǎng)上流媒體而言,聲音質(zhì)量不高,識(shí)別較困難。 以上的SAPI和科大訊飛的測(cè)試DEMO都是用他們SDK里自帶的。GOOGLE的C#代碼可參照http://www.cnblogs.com/eboard/archive/2012/02/29/speech-api.html 另外介紹關(guān)于google語(yǔ)音識(shí)別的內(nèi)容還可以參照http://blog.csdn.net/dlangu0393/article/details/7214728本文中有轉(zhuǎn)載其小部分內(nèi)容。 由于測(cè)試樣本數(shù)量并不算多,因此以上測(cè)試僅供參考。 |
|
|