顧國良,許鵬,沈曉燕
(南通大學 電子信息學院,江蘇 南通 226019)
在復雜多變的世界中,嬰兒顯得十分弱小,他們只有在成年人的精心呵護下,才能健康地成長??奘菋雰撼錾笊南笳?,也是他們與外界交流的工具,通過啼哭表達自己的訴求,因此,一種可以實時準確監測嬰兒哭聲的系統是非常有必要的。在上世紀六七十年代,國外己經有對嬰兒哭聲進行研究,危地馬拉的兒科醫生萊斯用計算機對兒童哭聲的疾病信息進行研究[1]。2003年,西班牙的一位工程師發明了一款可以分析嬰兒哭聲的儀器,不過被證實檢測效果并不好[2]。國內主要是在一部分研究機構和高等院校對聲音信號進行研究,設計了嬰兒哭聲信號識別的一些測試系統[3],目前,很多醫院對嬰兒監護仍需人工來完成,市面上也有很多類似育嬰箱的智能監護產品,但具有嬰兒哭聲識別功能的較少且識別精度不高[4]。為了解決該問題,本研究采用動態時間規整識別算法與線性預測系數結合,實現對嬰兒哭聲的準確識別。本系統以DSP為硬件平臺,其強大的浮點運算功能,大大提高了系統的時效性和準確性。
嬰兒啼哭聲與成年人的語音比較,既有相似又有不同,實驗所用語音為一段嬰兒啼哭聲,圖1為嬰兒啼哭聲的時域波形和對應的語譜圖。分析得嬰兒哭聲具有以下不同于語音信號的特點:基頻較高,嬰兒的聲帶短而且薄,因此得到的基音頻率較高;嬰兒啼哭的某些聲音單元,其包絡部分呈現規律性。本研究使用動態時間規整算法對嬰兒哭聲進行識別,語音識別系統原理框圖見圖2。

圖1 語譜圖

圖2 語音識別系統原理框圖
樣本語音經過端點檢測等預處理之后,對得到的語音信號進行特征參數提取,然后存入模板庫中,待識別的語音經過預處理和參數提取后,將采集到的語音的特征參數與模板庫中的每個模板進行模式匹配,將相似度最高的模板對應的語音判決為識別結果輸出[5-6]。
線性預測分析的基本思想為:一個語音樣本當前的值可以用樣本中若干過去的值通過某種線性組合來無限逼近。實際語音和線性預測的采樣值通過最小均方誤差(MSE)準則來確定唯一的一組線性預測系數(LPC)。
根據模型化表示法,圖3為嬰兒哭聲信號模型,其中增益為G的信號t(n)在經過H(z)產生輸出信號,即嬰兒哭聲信號x(n),聲道參數即是線性預測系數。

圖3 嬰兒啼哭聲信號的模型化
其中,H(z)為全極點模型的表達式見式(1):
(1)
在式(1)中,模型參數分別為:系數ai、增益常數G、以及模型階數p。
(2)
由式(2)得,F(z)由ai決定,采用最小均方誤差準則,可求得ai。
短時預測均方誤差為En,其表達式見式(3):
(3)
在實際研究中,En在每一幀聲音信號的范圍內進行,當?En/?ak=0時,En可取到最小值,其中,k=1,2,…,p,即:
(4)
因此,可以得到線性方程組:
(5)
其中,k=1,2,…,p。如果定義

其中,k=1,2,…,p;i=0,1,2,…,p,則式(5)可用式(6)表示:

(6)

對于線性預測方程組,自相關法穩定性較好,具有高效遞推算法的優勢,因此優先考慮自相關法,自相關函數經過加窗處理后可以得到式(7):

(7)
自相關函數法需要加窗進行過濾,但誤差較大,計算精度較差。
為提高識別精度,本研究采用優化過的布萊克曼窗進行濾波,相對于其它窗函數,其主瓣寬,旁瓣比較低,且波動較小,幅值識別精度高。首先進行預加重處理,在經過端點檢測之后,將語音信號進行分幀,然后對每一幀信號使用優化的布萊克曼窗處理,使得濾波之后的信號噪聲明顯減少,求得哭聲信號的線性預測系數精度大大提高。
動態時間規整(dynamic time wraping, DTW)算法,用滿足一定條件的時間規整函數W(n)描述測試模板和參考模板的時間對應關系,該規整函數使得兩模板匹配時累加距離最小[7],原理圖見圖4。
有兩個時間序列A和B,分別為參考模板和測試模板,他們的長度分別是n和m(m,n為任意值)A=a1,a2,…,ai,…,an;B=b1,b2,…,bi,…,bn;
若n=m,直接計算兩個序列的距離,若n不等于m,需要將兩個時間序列對齊,采用動態規劃(dynamic programming, DP)的方法,進行線性縮放。構造一個n×m的矩陣網格,矩陣元素(i,j)表示ai和bj兩個點的歐式距離d(ai,bj),d(ai,bj)=(ai,bj)2。
從(0,0)點開始匹配這兩個序列A和B,每到一個點,將之前所有的點計算的距離累加,到達終點(n,m)后,這個累加距離就是序列A和B的相似度。
累加距離γ(i,j)可以按下面的方式表示,累積距離γ(i,j)為當前格點距離d(i,j),也就是點ai和bj的歐式距離與可以到達該點的最小的鄰近元素的累加距離之和,即:
r(i,j)=d(ai,bj)+min{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}

圖4 動態時間規整算法原理圖
系統整體結構見圖5,拾音器采集音頻信號傳輸給音頻解碼芯片,音頻解碼芯片通過多通道音頻串行接口(multichannel audio serial port,McASP)將處理過的音頻信號傳輸給DSP芯片,使用優化的自相關函數算法提取后,然后將處理后的音頻與存儲器模塊中的音頻數據庫進行比對,確定是否為嬰兒哭聲,DSP將得到的結果通過串口在控制端的PC上顯示。

圖5系統整體框圖
Fig5Theoverallsystemdiagram
采集單元,拾音器是用來采集現場環境聲音再傳送到后端設備的一個器件,它是由麥克風和音頻放大電路構成。TLV320AIC23B是一款性能極高的音頻編解碼器芯片,內置放大濾波電路,其數模轉換和模數轉換功能采用集成過采樣數字插值濾波器的sigma-delta技術,支持16位、20位、24位、32位采樣,采樣率為8~96 kHz。該芯片還集成了一個可調且可編程的麥克風放大器。
處理單元,TMS320DM643芯片是定點DSP中性能最優的數字信號處理平臺,非常適合數字媒體的應用。TMS320DM643主頻高達5760 (million instructions per second,MIPS),時鐘周期最高為720 MHz,為高性能DSP編程技術提供高效的解決方案。TMS320DM643采用兩級緩存技術且具有許多功能強大的外設,集成有1個McASP片上外設和一個I2C( Inter-integrated Circuit)總線模塊。McASP是一種多通道音頻同步串行接口,TLV320AIC23B通過McASP實現與TMS320DM643的數據通信。McASP 同樣具有很強的可編程能力,可以配置為多種同步串口標準,直接與各種器件高速接口。另外,我們增加了一個4 M×64-位的SDRAM 存儲器,用于存儲程序與數據。
控制單元,TL16C752B是具有64字節(first input first output,FIFO)通用異步收發器,它可以完成DSP數據的傳送以及串行傳輸的波特率的設定。TL16C752B是一塊串行協議轉換芯片,它可以將DSP發送的數據以通用的串行協議傳輸,實現DSP與其它硬件的數據傳輸。TL16C752B通過MAX3232實現與計算機的通信,MAX3232完成電平轉換,TL16C752B完成數據傳送的并/串轉換以及串行傳輸的波特率設定等功能。
軟件設計流程圖見圖6。
根據模塊化的程序設計思想,實現程序的簡潔明了,方便調用和調試,將所用到的算法程序封裝到子程序模塊中,對于被調用頻率高的子程序,可采用匯編語言實現[8-9]。
完成硬件模塊的初始化后,設置McASP以中斷的方式接收TLV320AIC23B傳過來的數據,使McASP的接收中斷,DSP會把接收到的數據存放在某塊緩沖區中,此緩沖區為循環緩沖區,以便用一個有限容量的數據區來存儲數量極大的語音數據,然后對數據進行采樣,將McASP接收到的語音信號利用短時能量和過零率相結合的方法進行端點檢測,采用優化的自相關函數算法進行特征提取,使用動態時間規整算法識別,確定結果,然后通過串口顯示在計算機上。

圖6 系統主程序流程圖
為測試系統對嬰兒哭聲的識別率,選取嬰兒哭聲、笑聲、開關門聲、狗叫聲、非兒童人聲進行實驗。本研究中分別錄制60段嬰兒哭聲,嬰兒聲音樣本來自5名1周歲以下的嬰兒各12段;錄制50段嬰兒笑聲,嬰兒聲音樣本來自5名1周歲以下的嬰兒各10段;錄制非兒童人聲,來自于25名男性,25名女性,分別對阿拉伯數字1,2,3,4,5的發音50段;錄制50段狗叫聲,來自于5種犬類各10段;錄制50段開關門聲。
本研究AD轉換器的采樣率設置為8 kHz,LPC階數為12,幀長為240。首先,取10段嬰兒哭聲樣本進行訓練,樣本來自5名嬰兒,提取特征參數,組成參考模板庫。
實驗一:使用漢明窗提取線性預測系數和動態時間規整識別算法,將所有樣本從系統的輸入端輸入,查看輸出端顯示的結果,實驗結果見表1。
表1一般的線性系數提取算法識別率
Table1Generallinearcoefficientextractionalgorithmrecognitionrate

樣本數告警數告警率(%)識別率(%)嬰兒哭聲50418282嬰兒笑聲50122476開關門聲5024狗叫聲50816語音 ”1”5048語音 ”2”501293.4語音 ”3”5036語音 ”4”5024語音 ”5”5036
研究表明,當信號為嬰兒哭聲時,識別率為82%,當信號為嬰兒笑聲時,識別率為76%,這兩項關于嬰兒聲音的識別率并不理想。而當信號為非嬰兒聲音時,各種聲音的識別結果有一些差異,狗叫聲的誤報次數最高,經計算得出所有非嬰兒聲音樣本正確識別率為93.4%??梢悦黠@看出,該系統嬰兒聲音正確識別率偏低,非嬰兒聲音比嬰兒聲音的正確識別率略高。
實驗二:使用布萊克曼窗提取線性預測系數和動態時間規整識別算法,將所有樣本從系統的輸入端輸入,查看輸出端顯示的結果,實驗結果見表2。
表2改進的線性系數提取算法識別率
Table2Improvedlinearcoefficientextractionalgorithmrecognitionrate

樣本數告警數告警率(%)識別率(%)嬰兒哭聲50489696嬰兒笑聲503694開關門聲5012狗叫聲5024語音 ”1”5012語音 ”2”500097.7語音 ”3”5012語音 ”4”5024語音 ”5”5012
研究表明,當信號為嬰兒哭聲時,識別率為96%,當信號為嬰兒笑聲時,識別率為94%,這兩項識別率達到理想的效果。而當信號為非嬰兒聲音時,各種聲音的誤報次數普遍較低,非嬰兒聲音樣本正確識別率可達97.7%??傮w來說,該系統嬰兒聲音和非嬰兒聲音的正確識別率差距相差不大,都達到較高的水平。
綜上,將布萊克曼窗提取線性預測系數和動態時間規整識別算法相結合,嬰兒聲音和非嬰兒聲音的識別率均得到了提高,其中,嬰兒哭聲和笑聲識別率得到了明顯的提高,系統性能整體得到提升且運行良好,系統識別時間為大約500 ms左右,完全滿足育嬰箱的要求。
本研究設計了一套針對嬰兒哭聲的監護系統,通過改進的自相關函數算法提取音頻線性預測系數特征參數,使用動態規整算法進行識別,提高了對嬰兒哭聲識別的精確度;另外,本研究介紹了系統的硬件構成和軟件設計架構,驗證了平臺的性能有效性。該系統實時性好,分辨率高,操作簡單,想法新穎,在實際生活中有廣闊的應用前景。