概述
方便用戶控制智能設(shè)備、電器,用戶只須說一下口令就實(shí)現(xiàn)制智能設(shè)備、電器。
特性
電氣特性
1、供電:DC===5V 0.5A
2、功耗:
待機(jī)-----0.1mA
工作-----300mA
Zigbee相關(guān)參數(shù)(了解Zigbee,請參閱:介紹一款高性比的Zigbee無線模塊,我們燒錄好程序的,開箱即用)
通訊頻率:2.4G
接收靈敏度:-95dBM
通信協(xié)議:ZigBee3.0協(xié)議
發(fā)射功率:20.5dB
語音相關(guān)參數(shù)
支持語種: 默認(rèn)普通話+自學(xué)習(xí)語言及其他語種
揚(yáng)聲器: 4歐姆2.5W
識別距離:遠(yuǎn)場離線語音識別15米內(nèi)
系統(tǒng)框架
語音識別原理
語音識別的本質(zhì)就是將語音序列轉(zhuǎn)換為文本序列,其常用的系統(tǒng)框架如下:
接下來對語音識別相關(guān)技術(shù)進(jìn)行介紹,為了便于整體理解,首先,介紹語音前端信號處理的相關(guān)技術(shù),然后,解釋語音識別基本原理,并展開到聲學(xué)模型和語言模型的敘述。
一、語音前處理
前端的信號處理是對原始語音信號進(jìn)行的相關(guān)處理,使得處理后的信號更能代表語音的本質(zhì)特征,相關(guān)技術(shù)點(diǎn)如下表所述:
1、語音端點(diǎn)檢測
語音端點(diǎn)檢測(VAD)用于檢測出語音信號的起始位置,分離出語音段和非語音(靜音或噪聲)段。VAD算法大致分為三類:基于閾值的VAD、基于分類器的VAD和基于模型的VAD。
基于閾值的VAD是通過提取時(shí)域(短時(shí)能量、短時(shí)過零率等)或頻域(MFCC、譜熵等)特征,通過合理的設(shè)置門限,達(dá)到區(qū)分語音和非語音的目的;
基于分類的VAD是將語音活動檢測作為(語音和非語音)二分類,可以通過機(jī)器學(xué)習(xí)的方法訓(xùn)練分類器,達(dá)到語音活動檢測的目的;
基于模型的VAD是構(gòu)建一套完整的語音識別模型用于區(qū)分語音段和非語音段,考慮到實(shí)時(shí)性的要求,并未得到實(shí)際的應(yīng)用。
2、降噪
在生活環(huán)境中通常會存在例如空調(diào)、風(fēng)扇等各種噪聲,降噪算法目的在于降低環(huán)境中存在的噪聲,提高信噪比,進(jìn)一步提升識別效果。
常用降噪算法包括自適應(yīng)LMS和維納濾波等。
3、回聲消除
回聲存在于雙工模式時(shí),麥克風(fēng)收集到揚(yáng)聲器的信號,比如在設(shè)備播放音樂時(shí),需要用語音控制該設(shè)備的場景。
回聲消除通常使用自適應(yīng)濾波器實(shí)現(xiàn)的,即設(shè)計(jì)一個(gè)參數(shù)可調(diào)的濾波器,通過自適應(yīng)算法(LMS、NLMS等)調(diào)整濾波器參數(shù),模擬回聲產(chǎn)生的信道環(huán)境,進(jìn)而估計(jì)回聲信號進(jìn)行消除。
4、混響消除
語音信號在室內(nèi)經(jīng)過多次反射之后,被麥克風(fēng)采集,得到的混響信號容易產(chǎn)生掩蔽效應(yīng),會導(dǎo)致識別率急劇惡化,需要在前端處理。
混響消除方法主要包括:基于逆濾波方法、基于波束形成方法和基于深度學(xué)習(xí)方法等。
5、聲源定位
麥克風(fēng)陣列已經(jīng)廣泛應(yīng)用于語音識別領(lǐng)域,聲源定位是陣列信號處理的主要任務(wù)之一,使用麥克風(fēng)陣列確定說話人位置,為識別階段的波束形成處理做準(zhǔn)備。
聲源定位常用算法包括:基于高分辨率譜估計(jì)算法(如MUSIC算法),基于聲達(dá)時(shí)間差(TDOA)算法,基于波束形成的最小方差無失真響應(yīng)(MVDR)算法等。
6、波束形成
波束形成是指將一定幾何結(jié)構(gòu)排列的麥克風(fēng)陣列的各個(gè)麥克風(fēng)輸出信號,經(jīng)過處理(如加權(quán)、時(shí)延、求和等)形成空間指向性的方法,可用于聲源定位和混響消除等。
波束形成主要分為:固定波束形成、自適應(yīng)波束形成和后置濾波波束形成等。
二、語音識別的基本原理
所謂語音識別,就是將一段語音信號轉(zhuǎn)換成相對應(yīng)的文本信息,系統(tǒng)主要包含特征提取、聲學(xué)模型、語言模型以及字典與解碼四大部分,其中為了更有效地提取特征往往還需要對所采集到的聲音信號進(jìn)行濾波、分幀等預(yù)處理工作,把要分析的信號從原始信號中提取出來;之后,特征提取工作將聲音信號從時(shí)域轉(zhuǎn)換到頻域,為聲學(xué)模型提供合適的特征向量;聲學(xué)模型中再根據(jù)聲學(xué)特征性計(jì)算每一個(gè)特征向量在聲學(xué)特征上的得分;而語言模型則根據(jù)語言學(xué)相關(guān)的理論,計(jì)算該聲音信號對應(yīng)可能詞組序列的概率;最后根據(jù)已有的字典,對詞組序列進(jìn)行解碼,得到最后可能的文本表示。其中聲學(xué)模型與語言模型的關(guān)系,將通過貝葉斯公式表示為:
其中,P(X|W)稱之為聲學(xué)模型,P(W)稱之為語言模型。大多數(shù)的研究將聲學(xué)模型和語言模型分開處理,并且,不同廠家的語音識別系統(tǒng)主要體現(xiàn)在聲學(xué)模型的差異性上面。此外,基于大數(shù)據(jù)和深度學(xué)習(xí)的端到端(Seq-to-Seq)方法也在不斷發(fā)展,它直接計(jì)算P(X|W),即將聲學(xué)模型和語言模型作為整體處理。
三、傳統(tǒng)HMM聲學(xué)模型
聲學(xué)模型是將語音信號的觀測特征與句子的語音建模單元聯(lián)系起來,即計(jì)算P(X|W)。我們通常使用隱馬爾科夫模型(Hidden Markov Model,HMM)解決語音與文本的不定長關(guān)系,比如下圖的隱馬爾科夫模型中。
將聲學(xué)模型表示為:
其中,初始狀態(tài)概率P(w1)和狀態(tài)轉(zhuǎn)移概率(P(w2|w1)、P(w2|w2))可用通過常規(guī)統(tǒng)計(jì)的方法計(jì)算得出,發(fā)射概率(P(x1|w1)、P(wx2|w2)、P(x3|w2))可以通過混合高斯模型GMM或深度神經(jīng)網(wǎng)絡(luò)DNN求解。
傳統(tǒng)的語音識別系統(tǒng)普遍采用基于GMM-HMM的聲學(xué)模型,示意圖如下:
其中,awiwj表示狀態(tài)轉(zhuǎn)移概率P(wj|wi),語音特征表示X=[x1,x2,x3,…],通過混合高斯模型GMM建立特征與狀態(tài)之間的聯(lián)系,從而得到發(fā)射概率P(xj|wi),并且,不同的wi狀態(tài)對應(yīng)的混合高斯模型參數(shù)不同。
基于GMM-HMM的語音識別只能學(xué)習(xí)到語音的淺層特征,不能獲取到數(shù)據(jù)特征間的高階相關(guān)性,DNN-HMM利用DNN較強(qiáng)的學(xué)習(xí)能力,能夠提升識別性能,其聲學(xué)模型示意圖如下:
GMM-HMM和DNN-HMM的區(qū)別在于用DNN替換GMM來求解發(fā)射概率P(xj|wi),GMM-HMM模型優(yōu)勢在于計(jì)算量較小且效果不俗。DNN-HMM模型提升了識別率,但對于硬件的計(jì)算能力要求較高。因此,模型的選擇可以結(jié)合實(shí)際的應(yīng)用調(diào)整。
四、Seq-to-Seq模型
語音識別實(shí)際上可以看成兩個(gè)序列之間轉(zhuǎn)換的問題。語音識別實(shí)際上的目標(biāo)就是把輸入的音頻序列轉(zhuǎn)錄為對應(yīng)的文本序列,音頻序列可以描述為 O=o1,o2,o3,…,ot 其中oi表示每一幀語音特征,t表示音頻序列的時(shí)間步(通常情況下,每秒語音會被分為100幀,每幀可以提取39維或者120維的特征),同樣的,文本序列可以描述為 W=w1,w2,w3,…,wt 其中n表示語音中對應(yīng)的詞數(shù)(不一定是詞,也可能是音素等其他建模單元)。由此可見,語音識別問題可以用序列到序列的模型建模。傳統(tǒng)的語音識別問題是DNN-HMM的混合結(jié)構(gòu),并且還需要語言模型、發(fā)音詞典和解碼器等多個(gè)部件共同建模。其中發(fā)音詞典的構(gòu)建需要大量的專家知識,多個(gè)模型組件之間也需要單獨(dú)訓(xùn)練不能進(jìn)行聯(lián)合優(yōu)化。Seq2Seq模型給語音識別建模提供了一種新的解決思路。將Seq2Seq模型應(yīng)用于語音識別問題有很多明顯的優(yōu)勢:可以進(jìn)行端到端聯(lián)合優(yōu)化,徹底擺脫了馬爾科夫假設(shè),不需要發(fā)音詞典。
CTC
語音識別中,一般包含語音段和對應(yīng)的文本標(biāo)簽,但是卻并不知道具體的對齊關(guān)系,即字符和語音幀之間對齊,這就給語音識別訓(xùn)練任務(wù)帶來困難;而CTC在訓(xùn)練時(shí)不關(guān)心具體的唯一的對齊關(guān)系,而是考慮所有可能對應(yīng)為標(biāo)簽的序列概率和,所以比較適合這種類型的識別任務(wù)。CTC是和聲學(xué)特征序列同步進(jìn)行解碼,就是每輸入一個(gè)特征,就輸出一個(gè)label,所以它的輸入和輸出序列長度是相同的。但是我們前面說輸入輸出的長度明顯差別是很大的,所以在CTC里面引入了一個(gè)blank的符號,帶有blank的文本序列稱為CTC的一個(gè)對齊結(jié)果。拿到對齊之后,首先對進(jìn)行符號去重,再刪掉blank,就恢復(fù)到標(biāo)注的文本了。
RNN Transducer
CTC對于語音識別的聲學(xué)建模帶來了極大的好處,但是CTC模型仍然存在著很多的問題,其中最顯著的就是CTC假設(shè)模型的輸出之間是條件獨(dú)立的。這個(gè)基本假設(shè)與語音識別任務(wù)之前存在著一定程度的背離。此外,CTC模型并不具有語言建模能力,同時(shí)也并沒有真正的實(shí)現(xiàn)端到端的聯(lián)合優(yōu)化。RNN-T不再是一個(gè)輸入對應(yīng)一個(gè)輸出的結(jié)構(gòu),而是使其給一個(gè)輸入能夠產(chǎn)生多個(gè)token輸出,直到輸出1個(gè)空字符?表示需要下一個(gè)輸入,也就是說最后的?數(shù)量一定是和輸入的長度相同,因?yàn)槊恳粠斎胍欢〞a(chǎn)生一個(gè)?。
五、語言模型
語言模型與文本處理相關(guān),比如我們使用的智能輸入法,當(dāng)我們輸入“nihao”,輸入法候選詞會出現(xiàn)“你好”而不是“尼毫”,候選詞的排列參照語言模型得分的高低順序。
語音識別中的語言模型也用于處理文字序列,它是結(jié)合聲學(xué)模型的輸出,給出概率最大的文字序列作為語音識別結(jié)果。由于語言模型是表示某一文字序列發(fā)生的概率,一般采用鏈?zhǔn)椒▌t表示,如W是由w1,w2,…wn組成,則P(W)可由條件概率相關(guān)公式表示為:
由于條件太長,使得概率的估計(jì)變得困難,常見的做法是認(rèn)為每個(gè)詞的概率分布只依賴于前幾個(gè)出現(xiàn)的詞語,這樣的語言模型成為n-gram模型。在n-gram模型中,每個(gè)詞的概率分布只依賴于前面n-1個(gè)詞。例如在trigram(n取值為3)模型,可將上式化簡:
操作說明
此產(chǎn)品必須與我司生產(chǎn)的Zigbee智能網(wǎng)關(guān)一起使用,開機(jī)后, 聽到“歡迎使用使用小谷離線語音”,則系統(tǒng)啟動成功。
說“小谷同學(xué)”喚醒后,說出控制口令即可控制控制智能設(shè)備、電器。
Zigbee入網(wǎng)
操作前確保家中入網(wǎng)歐米家智能超級網(wǎng)關(guān), 小歐智能離線語音在無zgibee網(wǎng)絡(luò)狀態(tài)(LED閃)。
首先,在移動終端打開“歐米家智能”APP;
然后,添加zigbee設(shè)備,APP會啟動Zigbee掃描, 當(dāng)掃描設(shè)備時(shí)APP會提示找到設(shè)備(小歐智能離線語音會熄滅),保存返回即可。
Zigbee退網(wǎng)
方法一:點(diǎn)擊小谷智能離線語音圖標(biāo),點(diǎn)刪除圖標(biāo)即可,退網(wǎng)成功后,燃?xì)忾y門控制器在無zgibee網(wǎng)絡(luò)狀態(tài)(LED閃)。
方法二:說“小谷同學(xué)”喚醒后,說“清除網(wǎng)絡(luò)設(shè)置”,聽回復(fù)后“是”
學(xué)習(xí)控制指令
說“小谷同學(xué)”喚醒后,說“開始語音學(xué)習(xí)”,聽回復(fù)后,說出口令(命令詞),然后在APP上對應(yīng)操作,則學(xué)習(xí)完成一條指令錄入,依次重復(fù)上述操作,學(xué)習(xí)完成后,說“結(jié)束語音學(xué)習(xí)”,則退出學(xué)習(xí)口令模式,切換到語音控制模式。
更改喚醒詞或命令詞
用戶可免代碼開發(fā),會excel表格,就能替換喚醒詞、命令詞,當(dāng)然可找我們定制開發(fā)。
離線語音控制+SOS模塊喚醒詞和命令詞學(xué)習(xí)與刪除方法
1、學(xué)習(xí)喚醒詞
喚醒后,說學(xué)習(xí)喚醒詞,根據(jù)語音提示,說喚醒詞3遍
注:只能學(xué)習(xí)喚醒詞
2、學(xué)習(xí)命令詞
喚醒后,說"學(xué)習(xí)命令詞",根據(jù)語音提示,說命令詞2遍
注:此更改數(shù)量、命令,要改代碼
3、學(xué)習(xí)結(jié)束或中斷學(xué)習(xí)
學(xué)習(xí)完全后,說“退出學(xué)習(xí)"
4、重新學(xué)習(xí)
學(xué)習(xí)完全后,說“重新注冊"
5、刪除學(xué)習(xí)內(nèi)容
喚醒后,說"我要?jiǎng)h除",根據(jù)語音提示,
刪除喚醒詞--說“刪除喚醒詞”
刪除命令詞--說“刪除命令詞”
喚醒詞和命令詞都刪除--說“全部刪除”
刪除結(jié)束--說“退出刪除”
審核編輯:湯梓紅
-
ZigBee
+關(guān)注
關(guān)注
158文章
2284瀏覽量
246261 -
無線模塊
+關(guān)注
關(guān)注
12文章
647瀏覽量
49348 -
智能語音
+關(guān)注
關(guān)注
11文章
804瀏覽量
49529 -
語音控制
+關(guān)注
關(guān)注
5文章
497瀏覽量
28817
原文標(biāo)題:智能離線語音識別全屋智能語音控制方案
文章出處:【微信號:嵌入式加油站,微信公眾號:嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論