楊 帆 李祎男 喬 涵 王連祺
(1.31008部隊 北京 100080)(2.32085部隊 北京 100080)(3.陸軍勤務學院 重慶 401331)
周圍環境的聲音干擾是人們在進行語音通信的過程中無法完全避免的,由于這些外界干擾聲的存在,就使得原本的語音信號變得不純凈,最終使得接收者接收到的并不是發送者發出的最原始語音信號,這些干擾都會或多或少會對所需傳輸的語音信號有所影響,也就是所謂的噪音。
目前語音識別處理系統的發展非常迅速,但噪音的干擾卻使得識別的精度極大的降低。在沒有噪音的理想環境中,語音識別系統已經可以達到百分之百的識別率,但處于現實環境中,識別率便會直線下降。正是由于這些原因,語音信號去噪已經成為了目前信號處理領域中的一個熱門話題,而使用人工神經網絡是非常方便且有效的方法。隨著對人工智能的研究不斷深入,語音識別技術[1]一直在不斷創新突破,語音技術在最近三四十年發展迅速,語音信號處理已經對人們的工作生活產生了重要影響,可見語音對現在的社會非常重要[2],為了提高語音信號分析的效果,人們以傅里葉變換作為基礎提出了大量的分析方法,比如Gabor 變換、短時傅立葉變換、小波變換及時頻分析等[3]。1975年,B.Windrow等研究出了智能相互消減去噪算法,隨后該算法得到進一步的發展[4];1978 年,Lim 和Oppenheim 針對語音信號利用維納濾波法來實現去噪效果,通過該方法提高了去噪性能[5];1979年,Boll S F 利用去除噪聲頻譜來獲得原始語音信號的方法來進行語音去噪[6];1980 年,Maulay 和Malpass研究出軟判決法來對噪聲進行去除,有效分離原始語音和噪聲[7];1984 年,Ephraim 與Malah 研究出了基于MMSE的短時譜去噪法,該研究將短時譜去噪技術在信號去噪領域中得到一定的發展[8];1987年,Paliwal研究出了卡爾曼濾波法來進行語音去噪研究,該方法是基于測量方差已知的條件下對帶噪語音進行最優估計[9];1995年,Ephraim 研究出了信號子空間法來進行語音去噪,該方法是基于線性代數理論的知識,其原理是將純凈語音和噪聲分解到不同的兩個空間[10];2004年,Hu Yi和Loizou研究出了通過小波變換閾值函數的方法對語音信號進行去噪,該方法具有多分辨率的特點[11]。2011 年,張君昌等提出了一種基于清濁音分離的動態閾值小波去噪方法[12]。2012 年,謝巍盛等針對語音增強技術中的信號去噪問題,提出了一種非線性小波自適應閾值去噪方法[13]。2013 年,陳曉娟等針對語音信號去噪問題,提出小波熵自適應閾值去噪法[14]。2014 年,李洋等提出一種基于經驗模態分解(EMD)的小波閾值去噪方法[15]。2015 年,靳立燕等提出了一種奇異譜分析(SSA)和維納濾波(WF)相結合的語音去噪算法SSA-WF[16]。2016年,張雪等提出一種基于集合經驗模態分解(EEMD)的聯合能量熵與小波閾值的自適應去噪方法[17]。2017年,唐鵬等研究出一種改進的帶調整參數小波閾值函數,并采用粒子群優化算法尋找改進閾值函數在某一背景噪聲環境中的最優參數值,通過重構處理后得到最優小波系數的語音信號,將改進的小波閾值函數與貝葉斯閾值方法相結合[18]。2018 年,陸振宇等提出一種基于變分模態分解和小波分析去噪的方法[19]。2019 年,陳召全提出了一種基于模糊控制的小波包多閾值語音減噪新算法[20]。
近十幾年來,研究人員在傳統軟硬閾值小波閾值去噪的基礎上,提出了許多新的去噪方法,主要是對小波閾值函數、閾值進行改進。
本實驗使用的語音數據集是來自Mozilla 公共語音數據集網站上下載的漢語數據集。該數據集包含大量48kHz 錄音的主題說短句。使用audio Data store 為cv-valid-train 程序文件夾中的文件創建數據存儲。使用shuffle 可隨機化數據存儲中文件的順序。由于語音通常低于4kHz,因此首先將干凈和嘈雜的音頻信號向下采樣到8kHz,以減少網絡的計算負載。預測器和目標網絡信號分別是噪聲和干凈音頻信號的大小譜。網絡的輸出是去噪信號的幅度譜。回歸網絡使用預測輸入最大限度地減少其輸出和輸入目標之間的均方誤差。去噪音頻使用輸出幅度譜和噪聲信號的相位轉換回時域。
短時傅里葉變換(Short-Time Fourier Transform,STFT)是研究非平穩信號使用最為廣泛的重要方法。因為語音信號通常是非平穩信號,所以使用短時傅立葉變換(STFT)將音頻轉換為頻域,窗口長度為256 個樣本,重疊為75%,并具有Hamming窗口。通過丟棄與負頻率相對應的頻率樣本,可以將光譜矢量的大小減小到129。預測輸入由8個連續的噪聲STFT 向量組成,因此每個STFT 輸出估計都是根據當前噪聲STFT 和前7 個噪聲STFT向量計算的。
從一個訓練文件生成目標和預測信號。首先,定義系統參數:

定義用于將48kHz 音頻轉換為8kHz 的采樣率轉換器。使用read 從數據存儲獲取音頻文件的內容。確保音頻長度是采樣率轉換器抽取系數的倍數。將音頻信號轉換為8kHz。從洗衣機噪聲矢量創建隨機噪聲段。向語音信號添加噪聲,使信噪比為0dB。使用stft 從原始和嘈雜的音頻信號生成大小stft 矢量。從嘈雜的STFT 生成8 段訓練預測信號。連續預測值之間的重疊為7 段。設置目標和預測值。這兩個變量的最后一個維度對應于音頻文件生成的不同預測目標對的數量。每個預測值是129×8,每個目標是129×1。
如圖1 去噪模型流程圖所示,去除噪音的大概流程是分別把干凈的聲音和加噪處理過的聲音進行短時傅里葉變換,分別作為目標和預測輸入到深度學習網絡,再把得到的結果進行逆短時傅里葉變化得到去噪語音模型。

圖1 去噪模型流程圖
首先,可以考慮由全連接的圖層組成的去噪網絡。將輸入大小指定為大小為為129×8。定義兩個隱藏的完全連接的層,使用ReLU 函數作為激活函數,神經網絡中的激活函數的作用是激活神經元的特征然后保留并映射出來,這是神經網絡能模擬人腦機制,解決非線性問題的關鍵,ReLU函數更是其中的佼佼者[21]。ReLU(Rectified Linear Unit,Re-LU)線性整流函數是一個人工神經網絡常用的分段函數,如果輸入值為正時就保持原來的值不改變,反之則輸出的結果為0。它的定義式:f(x)=max(0,x)。該方法會將某些數據直接修改為0,但同時增強了訓練后網絡的稀疏性,這更加符合神經元信號激勵原理,不僅削弱了參數之間的耦合關系,而且大大降低了發生過擬合問題的概率。
添加一個完全連接的層與129 個神經元,其次是一個回歸層。接下來,指定網絡的培訓選項。將Max Epochs 為3,以便網絡通過訓練數據進行3 次傳遞。將Mini Batch Size 為128,以便網絡一次查看128 個訓練信號。將Plots 為“training-progress”,以生成隨著迭代次數的增加而顯示訓練進度的繪圖。Verbose false,以禁用將與繪圖中顯示的數據相對應的表輸出打印到命令行窗口中。將Shuffle為“every-epoch”,以便在每個時代開始時洗牌訓練序列。指定Learn Rate Schedule 在每次通過“piecewise”一定數量的時間點(1)時將學習速率降低指定因子(0.9)。Validation Data 為驗證預測值和目標。設置Validation Frequency 以便每個世紀計算一次驗證均方誤差。本次實驗使用自適應矩估計(Adam)求解器。Adam 算法通過將Momentum 算法和RMSProp算法相結合使用產生的一種新的算法,來為每一個不同參數設計它們獨立的自適應性學習率。該方法使用偏置校正每一次迭代學習率,可以使得參數趨向于平穩。
二維卷積層將滑動濾波器應用于輸入。該圖層通過沿輸入垂直和水平移動篩選器,計算權重和輸入的點乘積,然后添加偏置項。定義中描述的完全卷積網絡的層,包括16 個卷積層。前15 個卷積層是由3 層組成的組,重復5 次,濾碼寬度分別為9、5 和9,過濾器的數量分別為18、30 和8。最后一個卷積層的過濾寬度為129和1篩選器。在此網絡中,卷積僅在一個方向(沿頻率維度)執行,除第一個圖層外,所有圖層的沿時間維度的濾波器寬度都設置為1。與完全連接的網絡類似,卷積層之后是ReLU和批處理歸一化層。訓練選項與完全連接網絡的選項相同,只是驗證目標信號的維度被修改為與回歸層預期的維度一致。使用trainNetwork 網絡對網絡進行指定的培訓選項和層體系結構培訓。
圖2 表示全連接網絡訓練誤差的降低,雖然誤差已經很低,但仍然存在,不能完全消除。圖3 為卷積網絡訓練誤差的降低。

圖3 卷積網絡訓練誤差降低圖
使用“cvv-vex-vitest”文件夾中的語音信號來測試訓練后的網絡的性能。使用audioDatastore 為“cv-有效性測試”文件夾中的文件創建數據存儲。洗牌數據存儲區中的文件。從數據存儲中讀取文件內容。將音頻信號轉換為8kHz。在這個測試階段,用洗衣機噪音腐蝕語音,而不是在訓練階段使用。從洗衣機噪聲矢量創建隨機噪聲段。向語音信號添加噪聲,使信噪比為0dB。使用STFT 從嘈雜的音頻信號生成向量。從嘈雜的STFT 生成8 段訓練預測信號。連續預測值之間的重疊為7 段。通過在訓練階段計算的平均值和標準偏差來歸一化預測值,利用predict訓練網絡的預測來計算去噪幅度STFT。按訓練階段使用的平均值和標準偏差縮放輸出,計算去噪語音信號,執行逆STFT。利用噪聲STFT向量的相位重建時域信號。
試聽得到的經過去噪處理的音頻,發現不論是經過全連接網絡還是卷積神經網絡處理后的音頻,都有著明顯的去噪效果,但距離最初的干凈的音頻,還是會有一定的噪音存在。
從圖4 中可以看出不論是使用全連接還是卷積方法對語音信號進行去噪,效果都是很明顯的,但兩者之前還是有一定區別,全連接對語音高振幅進行了大量的削弱,而卷積網絡則進行了大量的保留,各有優缺。

圖4 音頻幅度對比圖
通過圖5 中可以明顯地看出卷積網絡對聲音頻率更加還原。這是因為使用的短時傅里葉方法是通過頻率來進行語音去噪,所以從頻域上看,卷積網絡的去噪效果更加明顯。

圖5 光譜對比圖
通過應用全連接網絡和卷積神經網絡對帶有洗衣機噪音的語音信號處理,得出結論為不論是全連接網絡方法還是卷積網絡方法,對語音信號中噪音的去除效果都是十分明顯的,全連接對語音高振幅進行了大量的削弱,而卷積網絡對聲音頻率更加還原,去噪效果更加明顯。