史曉兵 尤鳳翔 黃克亞
[摘 要] 傳統(tǒng)的算法雖然能夠抑制語音中的噪聲,但易造成語音的失真。本文建立了一種改進(jìn)的閾值法語音信號增強(qiáng)算法。通過MATLAB仿真平臺的實(shí)驗(yàn)仿真和傳統(tǒng)增強(qiáng)算法的比較,證明了本方法能有效去除信號中的噪聲、改進(jìn)語音質(zhì)量、提高語音可懂度,達(dá)到增強(qiáng)語音信號的效果;在此基礎(chǔ)上,利用STM32對系統(tǒng)在兩種不同環(huán)境下進(jìn)行了測試,然后根據(jù)測試結(jié)果進(jìn)一步對系統(tǒng)進(jìn)行了優(yōu)化。優(yōu)化內(nèi)容集中在語音命令模式、增添命令列表和修改錄音參數(shù)三個方面,最終對優(yōu)化后的系統(tǒng)再次進(jìn)行了相同的測試,取得了相較于之前更加滿足要求的結(jié)果。
[關(guān)鍵詞] 語音信號;語音凈化;MATLAB; STM32;仿真優(yōu)化
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 13. 068
[中圖分類號] TN912.34 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1673 - 0194(2018)13- 0149- 05
0 引 言
語音信號處理是研究用數(shù)字信號處理技術(shù)對語音信號進(jìn)行處理的一門學(xué)科。其目的是要通過處理得到一些能夠反映語音信號的特征語音參數(shù)來高效率地傳輸或存儲語音信號信息[1-3];同時進(jìn)行一些運(yùn)算來滿足某些應(yīng)用的要求,如人工合成出語音,識別講話者、說話人性別鑒定等。特別是在高鐵快速發(fā)展的關(guān)鍵時期,語音通信系統(tǒng)是保障鐵路高效安全運(yùn)行的關(guān)鍵技術(shù)之一[4];而物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,智能社會的快速推廣,為使用者提供了更加方便的方式來控制各種設(shè)備[5-6]。例如通過手機(jī)應(yīng)用、紅外遙控或者聲控等方式來快捷地控制設(shè)備;另外,連入智能社會系統(tǒng)的設(shè)備之間通過統(tǒng)一的主機(jī)完成相互通信,不需要使用者刻意調(diào)控,也可以自行實(shí)時觀察社會環(huán)境情況,調(diào)節(jié)各部分參數(shù),以提供科學(xué)舒適節(jié)能的社會環(huán)境;而且,智能社會的實(shí)現(xiàn)可以為用戶提供個性化的設(shè)定,滿足不同人對社會環(huán)境不同的需求,而這些與語音信號處理和優(yōu)化是分不開的。語音識別作為智能社會中一種重要的控制方式,可以毫不夸張地被形容為智能社會系統(tǒng)的“聽覺系統(tǒng)”,所以,對語音信號系統(tǒng)建模與仿真研究具有重要的意義。
1 語音特性
語音是一時變的、非平穩(wěn)的隨機(jī)過程,但由于一段時間內(nèi)(10-30ms )人的聲帶和聲道形狀的相對穩(wěn)定性,可認(rèn)為其特征是不變的,因而語音的短時譜具有相對穩(wěn)定性。在語音分析中可利用短時譜的這種穩(wěn)定性。
語音信號可以分為清音和濁音兩大部分。濁音在時域上呈現(xiàn)出明顯的周期性;在頻域上有共振峰結(jié)構(gòu),而且能量大部分集中在較低頻段內(nèi)。而清音段沒有明顯的時域和頻域特征,類似于白噪聲(這就是很難將語音信號中的白噪聲去除的主要原因之一)。清音的能量主要集中在比濁音更高的頻率范圍上,一般在2 500Hz以上[7-8] 。
采用常規(guī)閾值方法對含噪語音信號進(jìn)行去噪處理,可以獲得一定的增強(qiáng)效果,但仍存在一些問題需進(jìn)一步解決。這主要是由于語音信號的特殊性,直接采用閾值處理效果不是很理想。這是因?yàn)檎Z音中的清音包含了相對多的高頻成分,在實(shí)行閾值處理時會被當(dāng)成噪聲去除掉。同時,考慮到隨機(jī)噪聲的小波變換在不同尺度上的不同特征表現(xiàn),即:高頻系數(shù)幅值隨著尺度的增加而很快地衰減,而且,高頻系數(shù)的方差也很快地衰減,所以,必須對常規(guī)閾值增強(qiáng)方法進(jìn)行改進(jìn)。
2 基于MATLAB的語音增強(qiáng)仿真實(shí)驗(yàn)
2.1 模型建立
(1)小波分解。選擇合適的小波,并確定小波分解層次k,對f(t)做小波變換,則可得到不同尺度下的小波變換系數(shù)W2dkf和S2dkf;并計(jì)算每個尺度上的平均能量,進(jìn)行能量的歸一化。
(2)清濁音判別。在閾值處理之前先進(jìn)行清濁音判別。鑒于語音信號的小波變換特性,對于低尺度參數(shù),因包含許多高頻成分的清音段與隨機(jī)噪聲混雜在一起,在進(jìn)行閾值處理時會被當(dāng)作噪聲去掉,而嚴(yán)重影響重構(gòu)語音的質(zhì)量,因此,事先進(jìn)行清濁音判別,可在抑制噪聲的同時保持清音中的重要信息;同時,對不同尺度選取不同的閾值。
根據(jù)清音、濁音信號在不同尺度上的小波變換系數(shù)分布不同[9-10],清濁音判斷方法可為:如果輸入的語音段滿足:① 最小尺度上的信號能量最高(即高頻段信號能量最強(qiáng));② 最大尺度上的信號能量與最小尺度上的信號能量之比小于0.9,則判斷為清音,否則判斷為濁音。
2.2 仿真實(shí)驗(yàn)
本文采用MATLAB仿真平臺進(jìn)行仿真實(shí)驗(yàn)。所用原始語音“高鐵”是在安靜的環(huán)境下,利用話筒錄得的一段語音信號。噪聲為含有白噪聲和有色噪聲的現(xiàn)場噪聲。實(shí)驗(yàn)結(jié)果分別用信噪比、主觀聽覺和信號波形比較來評價。
本文通過對5個不同輸入信噪比的含噪語音樣本進(jìn)行去噪增強(qiáng)的仿真實(shí)驗(yàn),語音實(shí)驗(yàn)情況見圖1(含噪語音信號SNR=5dB)和表1。圖1 (a)為“高鐵”原始語音信號波形,圖1 (b)為“高鐵”加噪語音信號波形,圖1 (c)為改進(jìn)閾值法“高鐵”增強(qiáng)后語音信號波形,圖1 (d)為軟閾值法增強(qiáng)后語音信號波形。
(a) 原始語音信號,(b) 含噪語音信號(SNR=5dB),(c) 本文改進(jìn)閾值法增強(qiáng)后語音信號,(d)軟閾值法增強(qiáng)后語音信號。如圖1 (c)所示,通過本方法去噪增強(qiáng)后,連續(xù)語音的輪廓平滑,基本上去除了噪音,接近原始信號,有聲區(qū)由噪聲引起的毛刺明顯減弱,無聲區(qū)的噪聲消除效果更為明顯,非常接近原始信號。由于在進(jìn)行閾值處理以前加上了清濁音的判斷,對語音的不同部分給予不同的閾值處理,所以對清音段和濁音段的噪聲,本方法都能較好地去除。從聽覺效果上來說,去噪后基本上聽不出背景噪聲,和原語音非常接近,語音增強(qiáng)效果顯著。用軟閾值法來做比較。圖1(d)是樣本“高鐵”用軟閾值法去噪增強(qiáng)后的實(shí)驗(yàn)結(jié)果。雖然看到經(jīng)過去噪后波形相對平滑,但從聽覺上來說,語音的可懂度和清晰度沒有用本方法的效果好,仍會有殘留噪音無法去除,語音增強(qiáng)效果有限。
對于5個不同輸入信噪比的含噪語音樣本,我們用本文算法和軟閾值法分別進(jìn)行實(shí)驗(yàn),并把結(jié)果寫入表1。
從表1實(shí)驗(yàn)結(jié)果中,我們可以看到,用本文算法和軟閾值算法增強(qiáng)語音,實(shí)驗(yàn)后輸出信噪比都有所提高,而本文算法明顯優(yōu)于軟閾值算法。
3 基于 STM32的語音信號性能測試及優(yōu)化
3.1 優(yōu)化前測試
為了讓所涉及語音識別系統(tǒng)識別率、穩(wěn)定性、靈敏度能夠達(dá)到要求,本文分別在安靜的家庭環(huán)境和嘈雜的食堂環(huán)境對所設(shè)計(jì)系統(tǒng)進(jìn)行了測試。測試內(nèi)容為針對語音列表2中的4條語音命令,3名使用者保證在2m的接收距離情況下分別進(jìn)行10次測試,總計(jì)每人在某一環(huán)境下40次,總240次。測試結(jié)果如下表2。
從表2中可以看出,在較為安靜的家庭環(huán)境中,對非特定人的識別率可以維持在70%以上,而在相對嘈雜的食堂環(huán)境下識別率在50%以上。由此可見,在識別準(zhǔn)確性上,安靜環(huán)境好于嘈雜環(huán)境,而至于穩(wěn)定性,安靜環(huán)境同樣高于嘈雜環(huán)境。不過,在該次試驗(yàn)中,兩種環(huán)境下都還存在誤識別的情況。
為了進(jìn)一步提高系統(tǒng)識別率,減少誤識別,增加識別距離,本文對該系統(tǒng)進(jìn)行了相應(yīng)的優(yōu)化和改善。
3.2 系統(tǒng)優(yōu)化
3.2.1 語音命令模式優(yōu)化
參考市面上常見的語音識別設(shè)備,例如蘋果公司的人工智能Siri,除了通過home鍵喚醒外,還可以通過說出“hi,siri”口令來激活siri,還有亞馬遜公司的智能家居系統(tǒng)Echo只有在聽到“Alexa”這個單詞時才會被喚醒并等待其他有關(guān)操作的語音命令。這些例子中的語音識別系統(tǒng)都通過增加一個固定命令激活系統(tǒng)的方式來降低系統(tǒng)誤識別/誤觸發(fā)的可能性。
這種模式的原理就是在平常狀態(tài)下語音識別系統(tǒng)僅在聽到一個設(shè)定好的固定命令詞才會進(jìn)入接收命令狀態(tài),通過增加了一層命令確認(rèn)流程來提高語音識別準(zhǔn)確性。
雖然也可以在語音命令結(jié)束后再增加一個固定命令詞來進(jìn)一步約束對命令的識別,以達(dá)到三級識別過程,來提高準(zhǔn)確性,但考慮到這樣會相應(yīng)增加使用難度,所以本文選擇只在具體命令前增加一級固定識別命令。本文給系統(tǒng)加入的固定識別詞是“鼠標(biāo)鼠標(biāo)”,也即使用者在說出“鼠標(biāo)鼠標(biāo)”后再說出相應(yīng)命令即可。
3.2.2 增加命令列表
本文所使用的語音模塊可以錄入多達(dá)2 000條指令,雖然家用環(huán)境中并不會有2 000種功能相對應(yīng),但是可以通過錄入垃圾關(guān)鍵詞、同類詞、同音方言來提高系統(tǒng)準(zhǔn)確性。
(1)錄入垃圾關(guān)鍵詞。在正常使用情境中,很可能出現(xiàn)用戶說錯命令,系統(tǒng)誤識別的情況。鑒于本系統(tǒng)采用的語音識別方式是將錄入的信號特征提取后與芯片內(nèi)命令列表進(jìn)行比對打分,將打分最高且滿足最低要求的選項(xiàng)作為識別結(jié)果,所以可以將日常生活中可能出現(xiàn)的錯誤命令增加到命令列表中,將該類詞的返回值設(shè)定為同一個值,同時設(shè)定控制器對該返回值不做回應(yīng),并提示用戶重新說出命令即可。
在本系統(tǒng)的實(shí)際使用情況中可能存在并已錄入的錯誤命令有:“開燈”“關(guān)燈”“客廳燈”“臥室燈”“嗯嗯”等。
(2)錄入同類詞。對于同一個命令,用戶可能有其他多種表達(dá)方式,比如“打開客廳燈”這一命令,就可能被說成“把客廳燈打開”“客廳燈打開”“開客廳燈”等。充分利用2 000條的可錄入命令空間,將同一含義的命令都統(tǒng)一錄入,并設(shè)置為相同返回值,這樣系統(tǒng)在識別到此類詞時就可以做出相應(yīng)的操作,從而提高使用者操作該系統(tǒng)的便捷性,不必糾結(jié)于某一準(zhǔn)確的命令。
(3)錄入方言??紤]到用戶說出的命令帶有一定的方言口音,而本文中的語音識別系統(tǒng)命令詞的錄入是依據(jù)英文單詞和漢字,所以與(2)類似,針對一定的方言命令可以考慮錄入諧音的命令作為同類詞來適當(dāng)解決這一問題。例如,在晉南地區(qū),“開燈”可能會發(fā)音為“凱等”,所以在有“開燈”這一命令詞的情況下,可以錄入“凱等”這一同類詞。
3.2.3 修改錄音參數(shù)
(1)降低錄音時間。在用戶激活系統(tǒng)后,系統(tǒng)會設(shè)定一段固定時間進(jìn)行錄音并識別。可以根據(jù)實(shí)際情況降低這一時間來減少系統(tǒng)可能錄入的命令外的無用信息。本文所用系統(tǒng)的所有錄入命令正常情況下表達(dá)時間不會超過4秒,所以可以將初始默認(rèn)的6秒等待時間改為4秒,進(jìn)而避免在說完命令后系統(tǒng)還繼續(xù)錄入過多其他信息。
(2)修改麥克風(fēng)相關(guān)寄存器。LD3320的麥克風(fēng)增益寄存器地址是“0x35”,對于該寄存器,在例如家庭環(huán)境的室內(nèi)或者是比較安靜的室外環(huán)境,一般可以設(shè)定在0x40-0x53的范圍內(nèi)。設(shè)定過高的數(shù)值,會產(chǎn)生類似極近距離對麥克風(fēng)說話的效果,即出現(xiàn)語音采樣錄入過激,嚴(yán)重影響識別率。為了適當(dāng)提高識別距離,將初始設(shè)定的0x42改為0x50。但這一改變主要針對的是相對安靜的家庭環(huán)境,對于嘈雜的環(huán)境,調(diào)高增益會放大雜音,影響識別效果。
LD3320的麥克風(fēng)靈敏度寄存器地址是“0xb3”,為了提高識別率,適當(dāng)增加識別距離,將初始設(shè)定的“0x13”改為“0x0e”。
另外需要說明的是對于語音識別系統(tǒng)中麥克風(fēng)的優(yōu)劣對系統(tǒng)的識別效果有較大的影響。首先質(zhì)量上,好的麥克風(fēng)錄音頻響曲線相對平整,電噪聲小,能夠?qū)⑤^遠(yuǎn)距離的語音信號更加清晰地錄入系統(tǒng)。而在種類上,目前有很多麥克風(fēng)零件是針對手機(jī)設(shè)計(jì)和生產(chǎn)的,該類產(chǎn)品特點(diǎn)在于近距離錄音,從而抑制遠(yuǎn)處環(huán)境噪音。但對于家居語音識別系統(tǒng)而言,此類麥克風(fēng)識別距離過短,不宜使用。本文中使用麥克風(fēng)為較遠(yuǎn)距離識別類型,識別距離大概穩(wěn)定在3m左右,質(zhì)量中等,未做多種類麥克風(fēng)錄音效果對比試驗(yàn)。
3.2.4 優(yōu)化后結(jié)果
在對系統(tǒng)進(jìn)行了以上優(yōu)化后,再一次針對系統(tǒng)語音識別做出了與之前相同的測試。測試結(jié)果如表3。
不難看出,相比優(yōu)化之前的識別結(jié)果,因?yàn)檫m當(dāng)?shù)靥岣吡他溈孙L(fēng)增益和靈敏度,所以使得在嘈雜環(huán)境中的識別率有所降低,但是在家庭環(huán)境中的識別率則大大提升,考慮到本系統(tǒng)的目標(biāo)使用環(huán)境就是家庭環(huán)境,所以這樣的改進(jìn)對系統(tǒng)的功能是利大于弊的。
在考慮到所有這些情況下,本系統(tǒng)盡可能滿足在正常情況下于家庭環(huán)境中對語音識別系統(tǒng)的使用效果,至于測試結(jié)果所顯示的對于嘈雜環(huán)境的低識別率情況,因?yàn)樵摐y試都是保持說話人與麥克風(fēng)2m的距離進(jìn)行的測試,在實(shí)際使用中,如果家庭環(huán)境下相對吵鬧時,可以適當(dāng)靠近語音模塊麥克風(fēng)進(jìn)行語音控制,相對識別率會大大提高。
4 結(jié) 語
本文在傳統(tǒng)軟閾值法增強(qiáng)的基礎(chǔ)上,采用基于小波變換的改進(jìn)閾值法進(jìn)行語音去噪增強(qiáng)的實(shí)驗(yàn),并和軟閾值法做了比較。實(shí)驗(yàn)證明,本文所用方法很好地抑制了語音中的噪聲,信噪比提高顯著,完整地保留了語音中清音的重要信息,是一種有效的語音信號增強(qiáng)方法。在此基礎(chǔ)上,利用STM32對系統(tǒng)在兩種不同環(huán)境下進(jìn)行了測試,然后根據(jù)測試結(jié)果進(jìn)一步對系統(tǒng)進(jìn)行了優(yōu)化。優(yōu)化內(nèi)容集中在語音命令模式、增添命令列表和修改錄音參數(shù)三個方面,最終對優(yōu)化后的系統(tǒng)再次進(jìn)行了相同的測試,取得了相較于之前更加滿足要求的結(jié)果。由于存在環(huán)境噪聲的影響,本系統(tǒng)盡可能滿足在正常情況下社會環(huán)境中對語音識別系統(tǒng)的使用效果,至于測試結(jié)果所顯示的對于嘈雜環(huán)境的低識別率情況,因?yàn)樵摐y試都是保持說話人與麥克風(fēng)2m的距離進(jìn)行的測試,在實(shí)際使用中,如果社會環(huán)境下相對吵鬧時,可以適當(dāng)靠近語音模塊麥克風(fēng)進(jìn)行語音控制,相對識別率會大大提高。
主要參考文獻(xiàn)
[1]Mallat S,HwangWL.Singularity Detection and Processing with Wavelets[J].IEEE Transaction on Information Theory,1992,38(2):617-643.
[2]Donoho D L, Johnstone I M. Ideal Spatial Adaption via Wavelet Shrinkage [J]. Biometrika,1994,81(3):425-455.
[3]Donoho D L. Denoising by Soft-thresholding [J]. IEEE Transaction on Information,1995,41(3):613 -627.
[4]尤一龍,張飛,尤鳳翔. 基于MATLAB仿真平臺語音信號增強(qiáng)的研究[C]//中國人類工效學(xué)學(xué)會第八次學(xué)術(shù)交流會,2012.
[5]寧煥生,徐群玉. 全球物聯(lián)網(wǎng)發(fā)展及中國物聯(lián)網(wǎng)建設(shè)若干思考[J].電子學(xué)報,2010,38(11):2590-2599.
[6]孫其博,劉杰,黎羴,等. 物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報,2010,33(3):1-9.
[7] 馬曉紅,宋輝,殷福亮. 自適應(yīng)小波閾值語音增強(qiáng)新方法[J].大連理工大學(xué)學(xué)報,2006,46(4):561-566.
[8]張昊. 語音數(shù)字信號增強(qiáng)處理及其Matlab實(shí)現(xiàn)[J].通信技術(shù), 2009, 42 (1):280-281.
[9]李玉,于鳳芹,范樹凱. 基于改進(jìn)噪聲方差估計(jì)的小波閾值語音增強(qiáng)[J].電聲技術(shù),2008,32(3):56-58.
[10]蘇秦. 基于小波變換的多尺度多閾值語音信號去噪[J].蘇州大學(xué)學(xué)報:工科版,2003,23(6):18-22.