張 梅
(安徽理工大學,安徽 淮南232001)
語音端點檢測是語音信號處理中一個至關重要的環節,只有準確地確定出語音信號的起止點,才能順利進行語音的后續處理。語音端點檢測算法很多,通常根據噪音和語音的統計特征來判別。這些算法在高信噪比時有較好的檢測效果,但在低信噪比時常產生誤判現象,存在明顯不足[1]。
本文介紹了一種基于小波分析和模糊RBF神經網絡的語音端點檢測算法,該算法采用以TMS320VC5416 DSP為核心的處理電路來實現,具有檢測正確率高、快速及時等優點。
基于模糊RBF神經網絡的語音端點檢測算法的基本思想是:首先利用小波分析對語音信號進行特征量提取,再將這些特征量作為模糊RBF神經網絡的輸入對其進行運算,最后判別出是語音信號還是噪聲信號。
小波分析具有良好的時域和頻域局部特性,可對信號進行精細分析,因此采用小波分析進行語音信號特征量提取[2]。模糊RBF神經網絡是一種品質優良的前饋型神經網絡,它結合了模糊函數與神經網絡的優點,可以以任意精度逼進任意非線性函數,具有結構緊湊、容錯能力強、自學習能力強等優點[3]。本文利用模糊RBF神經網絡對經小波分析處理后的信號進行運算,從而檢測出語音信號的端點。
首先將采集到的語音數據進行分幀處理,得到一組幀數據。再對每幀信號x(n)進行多次小波變換,將其分解為 N 個不同頻段的子帶信號:x1(n)、x2(n)、…、xN(n)。計算每個子帶的平均能量:

其中,Ni為第 i個子帶 xi(n)的長度,i=1,2,…,N。將得到的 E1、E2、…、EN子帶平均能量進行均值和方差計算:

將所得到的能量均值和能量方差作為語音信號的特征量,送入模糊RBF神經網絡進行運算。
用于語音端點檢測的模糊RBF神經網絡結構如圖1所示。

模糊RBF神經網絡由4層構成:
第一層為輸入層。該層有兩個結點,以能量均值和能量方差為輸入,將其傳遞到下一層。
第二層為模糊化層。該層對第一層的輸入量進行模糊化。將輸入量分成{VL(非常低),L(低),M(中),H(高),VH(非常高)}5個論域,故模糊化層有10個結點,隸屬度函數采用高斯徑向基函數[4]。第i個輸入量第j個模糊集的隸屬度函數為:

式中,cj和δj分別表示隸屬度的中心值和基寬,j=1,2,…,10。
第三層為模糊規則層,該層每個結點代表一條模糊規則。共有5×5個結點,用來匹配模糊規則的前件,計算每條規則的合適度。該層每個結點的輸出為:

其中,ωjk為第二層與第三層的連接權,k=1,2,…,25。
第四層為輸出層,用于去模糊。設置一個節點,選用logsig()函數作為傳遞函數,輸出結果為(0,1)之間。該層輸出為:

其中,ωkl為第三層與第四層的連接權。
該網絡采用誤差反傳(BP)學習算法進行訓練。定義目標函數為:

式中,di為期望輸出,yi為實際輸出。


以TMS320VC5416 DSP為核心,并擴展相應的外圍電路來實現該算法,系統的硬件結構如圖2所示。

系統主要由處理器模塊、語音編解碼模塊、存儲模塊和串行通信模塊組成。
(1)處理器模塊:選用 TI公司的 TMS320VC5416 DSP作為系統的核心處理單元,完成語音信號的采集、端點的檢測以及與PC機的通信等工作。TMS320VC5416是TI公司生產的一種低功耗高性能定點DSP,適用于語音處理、有線和無線通信、便攜式信息系統等方面[5]。
(2)語音編解碼模塊:選用TI公司開發的TLV320AIC23芯片作為語音信號的編解碼模塊,將外部模擬語音轉化成數字信號輸入DSP,同時完成內部數字語音的模擬語音輸出工作。TLV320AIC23芯片與TMS320VC5416 DSP的連接電路如圖3所示。

(3)存儲模塊:由于語音信號處理需較大的存儲空間,系統外擴了一片SRAM和一片Flash存儲器。SRAM用來存儲語音數據,Flash用來存儲脫機運行程序[6]。SRAM芯片選擇ICS公司的IS61LV6416,容量為64 KB×16 bit;Flash芯片選擇SST公司的SST39VF400A,容量為256 KB×16 bit。
(4)串行通信模塊:由于TMS320VC5416沒有異步串口(UART),系統利用異步串口收發器TL16C550和MAX232實現TMS320VC5416與PC機之間的通信。其中TL16C550完成數據的并/串轉換以及串行傳輸的波特率設定等工作,MAX232完成電平轉換。
系統通過TLV320AIC23采集由MIC或LINE IN輸入的語音信號,將其轉化為數字信號后送入DSP進行端點檢測,主要是提取特征量和完成模糊RBF神經網絡運算,并將DSP處理好的數據通過TL16C550和MAX232與PC機進行串行通信。
系統的軟件分為初始化、模糊RBF神經網絡的訓練、訓練好的網絡的檢驗和語音信號端點檢測四個部分。系統上電后,首先初始化程序,主要有CPU、外部時鐘、外部設備以及設置中斷等。
模糊RBF神經網絡的訓練非常重要,這一過程是告知網絡:輸入為某種形態時是語音信號,為其他形態時是噪聲信號[7]。采用上述學習算法不斷調整隸屬度函數的中心值與基寬以及第二層與第三層、第三層與第四層之間的連接權。設置訓練次數為1 500,最小誤差絕對值為0.001,訓練流程如圖4所示。

檢驗訓練好的模糊RBF神經網絡,仍以訓練樣本為輸入。門限值選為0.5,大于0.5則認為是語音,輸出為1;小于0.5則為噪聲,輸出為0。若正確識別率較低,則重新對網絡進行訓練。
經上述步驟后,模糊RBF神經網絡即可以進行語音端點檢測,語音信號的端點檢測流程如圖5所示。

本文在以TMS320VC5416 DSP為核心的電路板上進行語音端點檢測實驗。利用DSP與相關電路完成數據的采集和處理,并將處理好的數據送入PC機,在PC機上利用Matlab控制串口接收數據,完成識別、仿真等處理。
系統利用TIMIT語音庫中語音作實驗語音,選取200條連續語音,其中100條用于訓練,100條用于測試。訓練用語音為純凈語音,測試用語音為加噪語音,噪聲來自標準噪聲庫,信噪比為 0 dB、5 dB、15 dB、20 dB及25 dB。測試的識別結果見表1。

表1 語音端點檢測的正確率
上述實驗表明,本文所提出的方法檢測正確率很高,即使在信噪比較低時,其檢測正確率也較為理想。
本文提出了一種語音端點檢測算法,它將模糊RBF神經網絡應用于語音端點檢測,提高了檢測的正確率。采用以TMS320VC5416 DSP為核心的電路實現了語音信號的采集、處理及與PC機通信等功能,大大加快了處理速度。實驗結果表明,本文所提出的方案有較高的檢測正確率,具有簡便、可靠、穩定、快速等優點,實用可行。
[1]董力,陳宏欽,馬爭鳴,等.基于小波變換的語音段起止端點檢測算法[J].中山大學學報,2005(5):116-118.
[2]張鐵威.基于小波分析與神經網絡的語音端點檢測研究[D].大連:大連理工大學,2008.
[3]阮慧,黨德鵬.基于RBF模糊神經網絡的信息安全風險評估[J].計算機工程與設計,2011(6):2013-2018.
[4]張振紅,張雪英.基于分形維數和模糊RBF神經網絡的語音端點檢測[J].電腦開發與應用,2008(7):37-39.
[5]任麗香,馬淑芬,李方慧.TMS220600系列DSP的原理與應用[M].北京:電子工業出版社,2000.
[6]許瑞杰.強噪聲環境下語音端點檢測技術的研究及DSP實現[D].北京:北京工業大學,2010.