摘要系統利用虛擬儀器LabVIEW的圖形化編程功能以及神經網絡算法,最終實現聲信號的智能識別。LabVIEW首先進行聲信號經傅里葉分析和頻譜測量,從頻域波形中提取出隨頻率變化的特征序列。神經網絡算法完成對聲信號的比配與比較,最終利用基于模糊隸屬度的評價方法進行聲頻識別。
關鍵詞LabVIEW 頻譜分析 神經網絡算法
中圖分類號:O42文獻標識碼:A
音頻識別是信息技術領域最重要的科技發展技術之一,一個完整的音頻識別系統可大致分為特征提取、聲學模型與模式匹配(識別算法)、音頻模型與音頻處理三部分。
1 頻譜測量與智能識別系統設計
1.1 基于LabVIEW的頻譜分析
虛擬儀器LabVIEW具有多種處理數據函數以適用于聲音信號的數據采集、處理、對比。對于一段聲頻文件,先利用LabVIEW進行頻譜分析和提取音頻特征序列。下面分析一段音頻信號。首先通過麥克來實現聲音信號到電信號的轉換,通過LabVIEW的配置聲音輸入子vi和寫入聲音文件子vi,以實現聲音信號的采集和錄入。其中配置聲音輸入子vi是用來配置一個聲音輸入設備,采集數據,并將數據發送到緩存,然后通過寫入聲音文件子vi將來自波形或波形數組的數據寫入.wav文件。通過這些子vi便可以實現聲音信號的采集。其次,通過打開聲音文件子vi和配置聲音輸出子vi, 把采集到的聲音信號打開。然后,這里通過頻譜測量控件對其進行FFT分析,這樣就把一個時域的信號轉換為頻域的信號,從而可以得出此聲音信號的頻率特性。最后,通過寫入電子表格文件控件把轉換到的頻域信號數據寫到一個文本文件里面。這樣,音頻的特征序列被提取并且導入到文本文件中。音頻特征序列作為聲信號的特有屬性,是下一步我們進行聲信號識別的主要依據。
1.2 神經網絡算法的智能識別
1.2.1 神經網絡的選取
神經網絡是(ANN)建立以權重描述變量與目標之間特殊的非線性關系模型,對事物的判斷分析必須經過一個學習或訓練過程, Rumelhart將反饋傳播back propagation(BP)算法引入神經網絡中,很好地實現了多層神經網絡的設想。根據文獻[2],本系統設計選用BP神經算法。
1.2.2 匹配度檢測
根據所得音頻特征序列,系統利用神經網絡算法完成該對聲信號的比配與比較,最終利用模糊隸屬度的判別方法進行識別。
首先,采用隸屬函數將特征序列中的各個量表述為模糊集合的特征函數,依據模糊分布進行線性擬合。對于定性指標,可采用評價等級隸屬度的方法確定, 如1、 0.75、0.5、0.25、0, 分別對應很好、一般、較差、差。在本系統中,當我們利用LabVIEW獲得一組標準音頻特征序列Ci(i=1,2,3……)后,這些音頻序列將進行以下處理 :(1)根據具體數據定義序列波動寬度;(2)對于一組待測特征序列Si(i=1,2,3……),通過函數F(Si)實現歸一化:
(3)得到的特征序列的映射集f(Si)(i=1,2,……)作為下面神經網絡算法的輸入量。
然后,我們選取輸入數據的最大值、最小值和平均值組成神經網絡學習樣本的輸入值,對應的期望輸出為1、0、0.5,列入表1中用p1、p2、p3表示。將p1、p2、p3作為ANN學習樣本模式,ANN網絡的拓撲結構為3層,輸入層n個輸入神經元代表特征序列的隸屬函數值,一個輸出神經元代表綜合評價的網絡輸出。利用MATLAB構建的BP網絡主要程序如下:
p=[1,0.5,0;1,0.5,0;1,0.5,0;1,0.5,0;……;1,0.5,0;];%訓練集輸入
pr=minmax(p);
goal=[0,0.5,1];%目標集
net=newff(pr,[3,2,1],{'logsig','logsig','logsig'},'traingdm');%構建BP網絡
net.trainParam.show = 40;
net.trainParam.lr = 0.1;
net.trainParam.mc=0.9;
net.trainParam.epochs = 30000;
net.trainParam.goal = 0.0001;
net = train(net,p,goal);%網絡訓練
x=[……]';%矩陣x表示音頻特征序列經過歸一化函數處理后的f(Sn)的值
y0=sim(net,p);
y=sim(net,x)%輸出最終評價結果
由以上程序我們可知BP網絡的具體參數設置。用訓練好的ANN多指標綜合評價模型對表1數據(Px行)進行計算(其中f(Sn)即構成程序中的矩陣x),一旦建成網絡模型,評價方案更具有快捷準確的特點。
選定一組特征量為標準量(比如可以對應實際中最優聲信號的一組特征量),待測量經過歸一化處理后作為神經網絡的輸入量。神經算法輸出量(對應程序中的y值)越接近0,則表明該組待測訓練集與標準集越匹配;反之,(下轉第49頁)(上接第45頁)越接近1則表明該組量的匹配程度越差。
表1神經網絡評價因子表
2 系統應用
系統可用于語音識別、音律分析、材料等級指示等。該技術如果與視覺測量技術相結合,可以進行待測量的綜合識別。例如有經驗的專家可以通過聽某些材料或工藝品的音質或音調來判斷其優劣,此時我們就可把優質品的音頻信號錄制作為我們的標準量(對應上述變量Ci)去檢測其他材料或工藝品(待測材料的音頻對應上述變量Si)。過程如下:(1)構建智能識別系統。通過LabVIEW提取優質材料的音頻序列,作為標準量Ci;根據材料的音頻性質確定合適的值,由Ci與便可確定歸一化函數,通過上述LabVIEW和MATLAB程序聯接就可最終建立適合材料優劣評判的智能識別系統。(2)進行待測材料的識別。只要把通過敲擊或碰撞材料等方式獲得的聲音信號直接送入該系統的LabVIEW的采集器便可以實現該材料優劣的識別。系統的最終輸出值(對應上述程序的y值)結果越接近0則表明該材料的優良性越好。
3 結語
LabVIEW所分析的聲信號的頻域信息作為聲信號的特有屬性,神經網絡算法結合模糊隸屬度方法充當了識別“專家”的角色。處理過程主要包括聲信號的采集、FFT對聲音信號的處理、提取音頻特征序列、結果的輸出等。該系統基于可靠的軟件與先進算法完成了聲頻分析與智能識別,具有廣泛的應用價值。
參考文獻
[1]聞新,周露.MATLAB神經網絡應用設計[M].北京:北京科學出版社,2001
[2]潘大豐,李群.神經網絡多指標綜合評價方法研究[J].現代管理科學,2006(3).
[3]胡守仁,沈青等.神經網絡應用技術[M].長沙:國防科技大學出版,1993.