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