威凱特科技:詳解本地語音識別的瓶頸和應(yīng)對措施
來源:數(shù)字音視工程網(wǎng) 編輯:胡燕 2017-05-23 14:23:32 加入收藏
---- 威凱特科技致力于語音識別及相關(guān)應(yīng)用
語音識別技術(shù),是基于關(guān)鍵詞語列表識別的技術(shù)。只需要設(shè)定好要識別的關(guān)鍵詞語列表,通過語音識別系統(tǒng)就可以對用戶說處的關(guān)鍵詞語進(jìn)行識別,不需要用戶作任何錄音訓(xùn)練。
一、 語音識別的原理
聲音實(shí)際上是一種波,下圖是一個波形的示例。
在開始語音識別之前,有時需要把首尾端的靜音切除(一般稱為VAD,用到信號處理的一些技術(shù)),降低對后續(xù)步驟造成的干擾。
要對聲音進(jìn)行分析,需要對聲音分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀。分幀操作一般不是簡單的切開,而是使用移動窗函數(shù)來實(shí)現(xiàn),這里不詳述。幀與幀之間一般是有交疊的,就像下圖這樣:
圖中,每幀的長度為25毫秒,每兩幀之間有25-10=15毫秒的交疊。我們稱為以幀長25ms、幀移10ms分幀。
分幀后,語音就變成了很多小段。但波形在時域上幾乎沒有描述能力,因此必須將波形作變換。常見的一種變換方法是提取MFCC特征,根據(jù)人耳的生理特性,把每一幀波形變成一個多維向量,可以簡單地理解為這個向量包含了這幀語音的內(nèi)容信息。這個過程叫做聲學(xué)特征提取。實(shí)際應(yīng)用中,這一步有很多細(xì)節(jié),聲學(xué)特征也不止有MFCC這一種,具體這里不講。
至此,聲音就成了一個12行(假設(shè)聲學(xué)特征是12維)、N列的一個矩陣,稱之為觀察序列,這里N為總幀數(shù)。觀察序列如下圖所示,圖中,每一幀都用一個12維的向量表示,色塊的顏色深淺表示向量值的大小。
接下來就要介紹怎樣把這個矩陣變成文本了。首先要介紹兩個概念:
1. 音素:單詞的發(fā)音由音素構(gòu)成。對英語,一種常用的音素集是卡內(nèi)基梅隆大學(xué)的一套由39個音素構(gòu)成的音素集,參見The CMU Pronouncing Dictionary。漢語一般直接用全部聲母和韻母作為音素集,另外漢語識別還分有調(diào)無調(diào),不詳述。
2. 狀態(tài):這里理解成比音素更細(xì)致的語音單位就行啦。通常把一個音素劃分成3個狀態(tài)。
語音識別是怎么工作的呢?實(shí)際上一點(diǎn)都不神秘,無非是:
把幀識別成狀態(tài)(難點(diǎn))。
把狀態(tài)組合成音素。
把音素組合成單詞。
如下圖所示:
圖中,每個小豎條代表一幀,若干幀語音對應(yīng)一個狀態(tài),每三個狀態(tài)組合成一個音素,若干個音素組合成一個單詞。也就是說,只要知道每幀語音對應(yīng)哪個狀態(tài)了,語音識別的結(jié)果也就出來了。
那每幀音素對應(yīng)哪個狀態(tài)呢?有個容易想到的辦法,看某幀對應(yīng)哪個狀態(tài)的概率最大,那這幀就屬于哪個狀態(tài)。比如下面的示意圖,這幀在狀態(tài)S3上的條件概率最大,因此就猜這幀屬于狀態(tài)S3。
那這些用到的概率從哪里讀取呢?有個叫“聲學(xué)模型”的東西,里面存了一大堆參數(shù),通過這些參數(shù),就可以知道幀和狀態(tài)對應(yīng)的概率。獲取這一大堆參數(shù)的方法叫做“訓(xùn)練”,需要使用巨大數(shù)量的語音數(shù)據(jù),訓(xùn)練的方法比較繁瑣,這里不講。
但這樣做有一個問題:每一幀都會得到一個狀態(tài)號,最后整個語音就會得到一堆亂七八糟的狀態(tài)號。假設(shè)語音有1000幀,每幀對應(yīng)1個狀態(tài),每3個狀態(tài)組合成一個音素,那么大概會組合成300個音素,但這段語音其實(shí)根本沒有這么多音素。如果真這么做,得到的狀態(tài)號可能根本無法組合成音素。實(shí)際上,相鄰幀的狀態(tài)應(yīng)該大多數(shù)都是相同的才合理,因?yàn)槊繋芏獭?/p>
解決這個問題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)。這東西聽起來好像很高深的樣子,實(shí)際上用起來很簡單:
第一步,構(gòu)建一個狀態(tài)網(wǎng)絡(luò)。
第二步,從狀態(tài)網(wǎng)絡(luò)中尋找與聲音最匹配的路徑。
這樣就把結(jié)果限制在預(yù)先設(shè)定的網(wǎng)絡(luò)中,避免了剛才說到的問題,當(dāng)然也帶來一個局限,比如你設(shè)定的網(wǎng)絡(luò)里只包含了“今天晴天”和“今天下雨”兩個句子的狀態(tài)路徑,那么不管說些什么,識別出的結(jié)果必然是這兩個句子中的一句。
那如果想識別任意文本呢?把這個網(wǎng)絡(luò)搭得足夠大,包含任意文本的路徑就可以了。但這個網(wǎng)絡(luò)越大,想要達(dá)到比較好的識別準(zhǔn)確率就越難。所以要根據(jù)實(shí)際任務(wù)的需求,合理選擇網(wǎng)絡(luò)大小和結(jié)構(gòu)。
搭建狀態(tài)網(wǎng)絡(luò),是由單詞級網(wǎng)絡(luò)展開成音素網(wǎng)絡(luò),再展開成狀態(tài)網(wǎng)絡(luò)。語音識別過程其實(shí)就是在狀態(tài)網(wǎng)絡(luò)中搜索一條最佳路徑,語音對應(yīng)這條路徑的概率最大,這稱之為“解碼”。路徑搜索的算法是一種動態(tài)規(guī)劃剪枝的算法,稱之為Viterbi算法,用于尋找全局最優(yōu)路徑。
這里所說的累積概率,由三部分構(gòu)成,分別是:
1. 觀察概率:每幀和每個狀態(tài)對應(yīng)的概率
2. 轉(zhuǎn)移概率:每個狀態(tài)轉(zhuǎn)移到自身或轉(zhuǎn)移到下個狀態(tài)的概率
3. 語言概率:根據(jù)語言統(tǒng)計規(guī)律得到的概率
其中,前兩種概率從聲學(xué)模型中獲取,最后一種概率從語言模型中獲取。語言模型是使用大量的文本訓(xùn)練出來的,可以利用某門語言本身的統(tǒng)計規(guī)律來幫助提升識別正確率。語言模型很重要,如果不使用語言模型,當(dāng)狀態(tài)網(wǎng)絡(luò)較大時,識別出的結(jié)果基本是一團(tuán)亂麻。
這樣基本上語音識別過程就完成了。
二、 本地語音識別VS云識別之特點(diǎn)
所謂本地語音識別,是指基于單個SOC獨(dú)立完成拾音、信號處理、對比識別并輸出識別結(jié)果。低端的有16位單片機(jī)核心,應(yīng)用與玩具和禮品居多;中端有32位Contex-M0、M3或M4 等,性價比較高,目前應(yīng)用范圍比較廣,是智能家居單體產(chǎn)品增加語音控制的首選,也是帶云識別聯(lián)網(wǎng)系統(tǒng)的必要補(bǔ)充;高端的有ARM9-ARM11 等等,早期中低端方案沒有出來前,很多算法公司都流行使用這類的架構(gòu),因系統(tǒng)配置外圍芯片多導(dǎo)致整體價格高,基本都往云識別大系統(tǒng)靠了。
云識別的特點(diǎn)是把本地拾音結(jié)果直接送往云端,識別過程交給后臺計算能力強(qiáng)大的后臺處理,比如贏最強(qiáng)大腦選手的小度,據(jù)說后臺有1000臺計算機(jī)同時運(yùn)算。正因?yàn)橛嬎隳芰?qiáng)大,云識別主要特點(diǎn)是:采樣率高、聲音分幀切段更小更多、可以多線程運(yùn)行多個識別程序、具有龐大的經(jīng)驗(yàn)數(shù)據(jù)支持、返回識別結(jié)果還可以詞義和語句分析擇選輸出。
手機(jī)上云識別的體驗(yàn)非常好,得益于科大訊飛、百度、騰訊、Google等多家競爭。
可見,本地語音識別與云識別根本不是一個級別的東西。既希望芯片價格很低又要求完美性能是不切實(shí)際的,還不如用心做好產(chǎn)品,把每一類產(chǎn)品做到最合適功能和高性價比。下面重點(diǎn)分析克服本地語音識別缺點(diǎn)幾種可行措施,當(dāng)然依照不同場合選擇使用。
三、 如何提高本地識別的體驗(yàn)感?
為了方便描述,以下本地語音識別應(yīng)用產(chǎn)品以燈具為例。
1. “聽不到”“遲鈍”的原因 -- 調(diào)整時間窗
有時候我們說話比較大聲,且發(fā)音標(biāo)準(zhǔn),智能燈仍然聽不到,感覺很遲鈍。我們拿手機(jī)做實(shí)驗(yàn),先點(diǎn)擊話筒圖標(biāo),再開始說“伊拉克難民”,結(jié)果95% 都可以識別出來;如果換一個動作慢一點(diǎn)的手去點(diǎn)話筒圖標(biāo),等說出“伊拉克”的第一個字或第二個字后再點(diǎn),看看出什么結(jié)果?
智能家居的本地識別產(chǎn)品,很少設(shè)計有用手點(diǎn)“開始”鍵再說詞條的,故,變通的辦法就是利用“廢”詞條來啟動,真正詞條緊接著說出來。這個方法說起來很簡單,代碼可不是很容易實(shí)現(xiàn)。時間片編程可以高效靈活的改變主循環(huán)輪盤周期長度、自由穿插各種已知運(yùn)行時間長度的任務(wù)。
2. 靈敏度太高引起的誤觸發(fā) – 啟動詞條的引入
小威你好,打開燈光。
小威你好,五分鐘后關(guān)燈。
啟動詞條引入,太多人知道且習(xí)慣了,這里不多說。
要強(qiáng)調(diào)的是,過分要求遠(yuǎn)距離,不是明智的選擇。聲壓隨著距離增加急劇降低,距離增加1倍聲壓級減少6dB。請比較下圖 0.5米(左) 和 1米(右) 的“小威你好,打開燈光”波形。
當(dāng)距離超過4米說話的波形級別僅僅比低噪高一丁點(diǎn)了,這時也要識別到,就必須大大砍掉“特征信息”,這是造成誤觸發(fā)的最大原因。也是為什么手機(jī)識別一般人都喜歡對著話筒很近說的原因。
3. 智能儀表專用 – 雙詞命令 和 語音反饋
在智能儀表控制應(yīng)用里,威凱特建議使用雙詞命令,再加上語音反饋,誤識別率基本為零。
小威智能儀表 ==》“您好!主人”
設(shè)置電壓,24伏 ==》“您確定要24伏嗎?” ==》 請執(zhí)行!
4. 兒童伴讀玩具 – 多頁菜單實(shí)現(xiàn)上百條指令
多頁菜單,可以實(shí)現(xiàn)上百條指令,且可以驅(qū)動1W喇叭播放16K 采樣率聲音,在玩具腔體里聲音悅耳動聽。
5. 遠(yuǎn)距離接力 – 命令遠(yuǎn)距離接力
在智能家居系統(tǒng)產(chǎn)品里,中央控制器隱藏在不易發(fā)現(xiàn)的地方,也即聲音不易傳到的地方。使用RF 422MHz,2.4G BLE模塊是遠(yuǎn)距離接力的常見選擇。
用得起中央控制智能家居系統(tǒng)的地方,一般房間都比較大,接力點(diǎn)就需要足夠多才有很好的體驗(yàn)效果。但是,多接力點(diǎn)安裝是麻煩的事情,不管什么檔次的識別SOC,在識別啟動以后功耗都10mA以上,都不是電池可以長期承受的。于是,就有下面的“人在啟動識別”方案
6. 遠(yuǎn)距離接力 – 人在啟動識別
“人在啟動識別”方案,主要解決房間大需要多個拾音的場合,它的技術(shù)關(guān)鍵點(diǎn)在于:
1) 低功耗MIC(10uA量級)聲強(qiáng)觸發(fā)電路;
2) 低功耗紅外被動人體感應(yīng)觸發(fā)電路;
3) CDMA+QFSK防同頻干擾RF私密傳輸協(xié)議;
4) 威凱特VR321 VR322 VR522 快速啟動語音識別模塊。
多拾音器的做法,可以大大提高識別靈敏度、降低誤觸發(fā),遠(yuǎn)距離體驗(yàn)特別爽,還可以在同一個位置隨意控制不同電器。比如:
小威小威,吸頂燈,調(diào)暗一點(diǎn)。
小威小威,走廊燈,請關(guān)閉。
7. 降噪-降低環(huán)境噪聲和AEC
模塊設(shè)計圖(包含尺寸和引腳定義)
降噪前語音頻譜
降噪后語音頻譜
AEC聲學(xué)回聲控制(Acoustic Echo Control),在wifi音響里使用,在播放音樂時候仍然可以識別對面人說話,配合云識別點(diǎn)歌,配合本地識別調(diào)整音量大小等。
8. 降噪-特定噪聲濾除
在風(fēng)扇、抽油煙機(jī)等具有固定的特定噪聲,通過實(shí)地噪聲采集,分析頻譜范圍,使用多段EQ和特殊陷波算法。該技術(shù)在華帝、艾美特、美的產(chǎn)品上廣泛應(yīng)用。
9. 偽云識別 – 詞條超過1000 的本地識別方案
真正的云識別不僅硬件成本昂貴,不管接入科大訊飛、百度或Google、亞馬遜AWS平臺,營運(yùn)商總要向平臺商交付年費(fèi),所有成本自然最后都落在客戶身上。FlexPC的“偽云識別”產(chǎn)品基于安卓硬件平臺(4G),與移動、聯(lián)通、電信和虛擬營運(yùn)商長期合作,每年處理KK量級的超低價的全功能底板,利用強(qiáng)大的CPU做本地語音識別運(yùn)算,具備以下優(yōu)點(diǎn):
1) 詞條超過1000;
2) 不需要網(wǎng)絡(luò),故不需要叫平臺費(fèi)用;
3) 以上多鐘增強(qiáng)識別效果的措施都可以同樣加上,它本來就是本地識別;
4) 可以做詞義、語句再分析判斷,故說不太準(zhǔn)的句子也能“聽明白”。
5) 生產(chǎn)周期短,走大貨資金壓力小。
本地語音識別是云識別的完美補(bǔ)充
四:深圳威凱特科技語音識別方案
威凱特科技語音識別ASK現(xiàn)實(shí)意義
語音識別ASR現(xiàn)實(shí)意義: ASR技術(shù)最重要的現(xiàn)實(shí)意義就在于提供了一種脫離按鍵,鍵盤,鼠標(biāo)的基于語音的用戶界面,使得用戶對于產(chǎn)品的操作更快速,更自然。
非特定人語音別別技術(shù)ASR,是對超大量的語音數(shù)據(jù)經(jīng)語言學(xué)家語音模型分析,科學(xué)家建立數(shù)學(xué)模型,并經(jīng)過反復(fù)訓(xùn)練提取基元語音的細(xì)節(jié)特征,以及提取各基元間的特征差異,可以得到在統(tǒng)計概率最優(yōu)化意義上的各個基元語音特征。最后才由資深工程師將算法以及語音模型 轉(zhuǎn)化為硬件芯片以應(yīng)用在嵌入式系統(tǒng)中。
ASR技術(shù)是基于關(guān)鍵詞語列表識別的技術(shù)。 每次識別的過程,就是把用戶說出的語音內(nèi)容,通過頻譜轉(zhuǎn)換為語音特征,和這個關(guān)鍵詞語列表中的條目進(jìn)行一一匹配,最優(yōu)匹配的一條作為識別結(jié)果。比如在手機(jī)的應(yīng)用中,這個關(guān)鍵詞語列表的內(nèi)容就是電話本中的人名/手菜的菜單命令/T卡中的歌曲名稱等,不論這個列表的條目內(nèi)容是什么,只需要用戶設(shè)置相關(guān)的寄存器,就可以把相應(yīng)的待識別條目內(nèi)容以字符形式傳遞給識別引擎。
市場應(yīng)用
方案優(yōu)勢
合作方式
威凱特以高度集成的創(chuàng)新能力,為用戶提供無縫的技術(shù)方案。公司致力于智能微控制處理器,數(shù)字類功放,數(shù)據(jù)存儲,數(shù)據(jù)傳遞與信息加密,電源控制,屏控,觸摸,LED驅(qū)動與鋰電保護(hù)等領(lǐng)域的產(chǎn)品方案設(shè)計與銷售,不斷開拓進(jìn)取,全方位滿足不斷增大的市場需求。
深圳市威凱特科技有限公司
聯(lián)系人:何經(jīng)理
手機(jī):13510558990
電話:0755-82816669-816
QQ:2355898188
評論comment