威凱特科技:詳解本地語音識別的瓶頸和應對措施
來源:數(shù)字音視工程網 編輯:胡燕 2017-05-23 14:23:32 加入收藏 咨詢

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