论文翻译:2020_RNNoise:A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement...
網(wǎng)上已經(jīng)有很多人翻譯了,但我做這工作只是想讓自己印象更深刻
文章方向:語音增強
論文地址:基于DSP/深度學(xué)習(xí)的實時全頻帶語音增強方法
博客地址:https://www.cnblogs.com/LXP-Never/p/15144882.html
論文代碼:https://github.com/xiph/rnnoise
主頁:https://jmvalin.ca/demo/rnnoise/
摘要
盡管噪聲抑制已經(jīng)是信號處理中一個成熟的領(lǐng)域,但仍然需要對它的估計算法和參數(shù)進行調(diào)優(yōu)。文章演示了一種融合DSP和深度學(xué)習(xí)的方法來抑制噪聲。該方法在保持盡可能低的計算復(fù)雜度的同時,實現(xiàn)了高質(zhì)量的增強語音。使用具有四個循環(huán)神經(jīng)網(wǎng)絡(luò)來估計理想臨界頻帶增益(ideal critical band gains),并用傳統(tǒng)的pitch濾波器抑制諧波(pitch)之間的噪聲。與傳統(tǒng)的最小均方誤差譜估計器相比,該方法可顯著提高語音質(zhì)量,同時將復(fù)雜度保持在足夠低的水平。
關(guān)鍵詞:噪聲抑制,循環(huán)神經(jīng)網(wǎng)絡(luò)
1? 引言
至少從 70年代開始,噪聲抑制就成為了人們關(guān)注的話題。盡管質(zhì)量有了顯著提升,但算法結(jié)構(gòu)基本保持不變。一些譜估計技術(shù)依賴于噪聲譜估計器,而噪聲譜估計器由語音活動檢測器( VAD)或類似的算法驅(qū)動,如圖1所示。 3個模塊中的每個模塊都需要準(zhǔn)確的估計器,并且很難去調(diào)。盡管研究者們改進了這些估計器,但仍然很難設(shè)計它們,并且該過程需要大量的人工調(diào)優(yōu)。這就是為什么最近深度學(xué)習(xí)技術(shù)上的進展對噪聲抑制具有吸引力的原因。
圖1? 大多數(shù)噪聲抑制算法的高級結(jié)構(gòu)
深度學(xué)習(xí)技術(shù)已被用于噪聲抑制。許多方法都針對不需要低延遲的自動語音識別(ASR)應(yīng)用。而且,在許多情況下,如果沒有GPU,神經(jīng)網(wǎng)絡(luò)的龐大規(guī)模將使得實時變得困難。文章專注于低復(fù)雜度的實時應(yīng)用(例如視頻會議),并且專注于全頻帶(48 kHz)語音。為了實現(xiàn)這些目標(biāo),文章選擇了一種混合的方法,該方法依靠信號處理技術(shù)并使用深度學(xué)習(xí)來替代傳統(tǒng)上難以調(diào)優(yōu)的估計器。該方法與所謂的端到端系統(tǒng)形成鮮明對比,在端到端系統(tǒng)中,大多數(shù)或所有信號處理操作 都被機器學(xué)習(xí)取代。這些端到端系統(tǒng)已經(jīng)明確地展示了深度學(xué)習(xí)的能力,但是它們通常以顯著地增加復(fù)雜度為代價。
??我們提出的方法具有可接受的復(fù)雜性(第4節(jié)),并且它提供了比更傳統(tǒng)的方法更好的質(zhì)量(第5節(jié))。我們在第6節(jié)總結(jié)了進一步改進該方法的方向。
2? 信號模型
我們提出了一種混合的噪聲抑制方法。我們的目標(biāo)是在需要仔細調(diào)整的噪聲抑制方面使用深度學(xué)習(xí),而在不需要調(diào)整的部分使用傳統(tǒng)的信號處理模塊。
??算法使用20ms的幀長,10ms的幀移。分析窗(analysis)和合成窗(synthesis)都使用Vorbis窗,它滿足Princen-Bradley準(zhǔn)則。該窗定義如下:
$$公式1:w(n)=\sin \left[\frac{\pi}{2} \sin ^{2}\left(\frac{\pi n}{N}\right)\right]$$
其中$N$是窗長
系統(tǒng)框圖如圖2所示。大部分的抑制是在低分辨率的譜包絡(luò)上進行的,使用循環(huán)神經(jīng)網(wǎng)絡(luò)計算出頻譜增益(maks,理想比值掩模IRM的平方根)。后面還使用梳狀濾波器(pitch?comb filter)來抑制諧波(pitch harmonics)之間的噪聲以達到更加精細的抑制。
圖2? 框圖
- Pitch analysis:基音追蹤,追蹤得到的基音周期一方面用于Feature extraction作為一個特征,另一方面利用其得到$x(n?pindex)$進而進行后面的基音濾波(pitch filtering)操作。
- feature extration:論文中求取42維特征的部分,將其作為輸入送入RNN,RNN輸出22位數(shù)據(jù)
- band gain interpolation:每一幀的增益為22維,因而為了將其作用于點數(shù)為481(幀長+1)的$X(k)$上,需要對其進行插值,
A? 帶(band)結(jié)構(gòu)
在[5]的方法中,使用神經(jīng)網(wǎng)絡(luò)直接估計頻率Bin的大小,共需要6144個隱藏單元和近1000萬個權(quán)重來處理8 kHz的語音。使用20ms幀擴展到48kHz語音需要400個輸出(0到20kHz)的網(wǎng)絡(luò),這顯然會導(dǎo)致我們無法承受的更高復(fù)雜性。
為了避免產(chǎn)生大量輸出——從而產(chǎn)生大量神經(jīng)元——我們決定不直接處理樣本或頻譜。我們假設(shè)語音和噪聲的頻譜包絡(luò)足夠平坦,使用比頻率bin更粗糙的分辨率——bark scale 頻段,這是一種與人耳對聲音感知相匹配的頻率刻度。我們總共使用 22 個band,而不是我們必須考慮的 480 個(復(fù)數(shù))頻譜值。
Opus 頻帶的布局與實際的 Bark scale,bark有25個頻段,opus有21個頻段。對于 RNNoise,我們使用與 Opus 相同的基本布局。
由于我們重疊了波段,因此 Opus 頻段之間的邊界成為重疊的 RNNoise 波段的中心。因此我們有22個三角濾波器
高頻處頻段更寬,因為耳朵在那里的頻率分辨率較差。
低頻處頻帶更窄,但不像bark scale給出的那么窄,因為那樣我們將沒有足夠的數(shù)據(jù)來做出正確的估計
當(dāng)然,我們不能僅從 22 頻段的能量中重建音頻。不過,我們可以做的是計算一個增益(22維)以應(yīng)用于每個頻段的信號。你可以將其視為使用 22 個頻段均衡器并快速改變每個頻段的 level 以衰減噪聲,只讓信號通過。(這里的增益和mask差不多概念)
使用頻帶增益操作有幾個優(yōu)點:
為了在訓(xùn)練期間更好地優(yōu)化增益,損失函數(shù)是應(yīng)用于增益的均方誤差 (MSE) 的$\alpha$次冪。到目前為止,我們已經(jīng)發(fā)現(xiàn)$\alpha=0.5$在感知上產(chǎn)生了最好的結(jié)果。使用$\alpha=0$將等同于最小化對數(shù)譜距離,這是有問題的,因為最優(yōu)增益可能非常接近于零。
我們使用低分辨率頻帶(22個頻帶)會導(dǎo)致?沒有一個足夠好的分辨率來抑制pitch諧波之間的噪聲。幸運的是,它并不是那么重要,甚至有一個簡單的技巧去做它(見下面的音調(diào)過濾(pitch filtering)部分)。
此外,模型輸出的是 22個[0,1]范圍內(nèi)的 理想的臨界頻帶增益(ideal critical band gains)——應(yīng)該也是基于Mask降噪方法的一種,其顯著優(yōu)點是限制在0和1之間。我們選擇將頻譜劃分為與Opus編解碼器[13]使用的Bark scale[12]相同的近似。也就是說,高頻波段遵循Bark scale,但低頻波段最少有4個頻率bins。并且使用三角頻帶(濾波)而非矩形頻帶,每個三角的峰值和其相鄰三角的邊界點重合。
設(shè)$w_b(k)$為頻帶$b$在頻率$k$處的振幅,有$\sum_bw_b(k)=1$。對于頻域信號$X(k)$,某一個band頻帶中的能量由下式給出
$$公式2:E(b)=\sum_{k} w_{b}(k)|X(k)|^{2}$$
每個頻帶band的增益定義為$g_b$
$$公式3:g_{b}=\sqrt{\frac{E_{s}(b)}{E_{x}(b)}}$$
式中,$E_s(b)$是純凈語音(ground truth)的band能量,$E_x(b)$是輸入(帶噪)語音的band能量。增益g只有22個點,但是頻譜有481個點,因此需要對增益$\hat{g}_b$進行插值,然后應(yīng)用于每個頻點$k$:
$$公式4:r(k)=\sum_{b} w_{b}(k) \hat{g}_{b}$$
B??Pitch濾波器
因為我們神經(jīng)網(wǎng)絡(luò)使用的是bark scale bands,頻帶分辨率很低,丟失了頻譜中很多精細的細節(jié),阻礙pitch harmonics之間的噪聲抑制。因此,我們利用一個梳狀濾波器來抑制諧波之間的噪聲,其方法類似于語音編解碼后置濾波器的作用[14]。由于語音信號的周期性很大程度上依賴于頻率(尤其是48 kHz采樣率),因此基音濾波器在頻域上基于每頻帶濾波系數(shù)$\alpha_b$進行工作。設(shè)$P(k)$為基音延遲信號$x(n-pindex)$進行DFT變換后的信號,通過計算$X(k)+\alpha_bP(k)$進行濾波,然后對得到的信號進行重正化,使其在每個波段的能量與原始信號$X(k)$相同。
頻帶$b$的基音相關(guān)定義為:
$$公式5:p_{b}=\frac{\sum_{k} w_{b}(k) \Re\left[X(k) P^{*}(k)\right]}{\sqrt{\sum_{k} w_{b}(k)|X(k)|^{2} \cdot \sum_{k} w_{b}(k)|P(k)|^{2}}}$$
其中$\Re$表示復(fù)數(shù)值的實部,.* 表示復(fù)共軛。 請注意,對于單個band,公式(5) 將等效于時域上求基音相關(guān)性。
推導(dǎo)濾波器系數(shù)$\alpha_b$的最優(yōu)值是困難的,使均方誤差最小的值在感知上不一定是最優(yōu)的。相反,我們使用基于以下約束和觀察的啟發(fā)式方法。因為噪聲會導(dǎo)致基音相關(guān)度(pitch correlation)的降低,且平均來講?$p_b>g_b$,因而考慮以下幾種情況:
- 對于$p_b \geq g_b$的頻段,說明$x(n)$本身噪聲較大,需要利用pitch延時信號來加強語音,我們使用$\alpha_b=1$。
- 在沒有噪聲的情況下,我們不想使信號失真,所以當(dāng)$g_b = 1$時,我們用$\alpha_b = 0$。
- 當(dāng)$p_b = 0$時,即基音相關(guān)度為0時,我們沒有pitch要增強,所以$\alpha_b = 0$。
可以使用一個式子來包含這些情況:
$$公式6:\alpha_{b}=\min \left(\sqrt{\frac{p_{b}^{2}\left(1-g_{b}^{2}\right)}{\left(1-p_{b}^{2}\right) g_{b}^{2}}}, 1\right)$$
上面提到的濾波器為 FIR pitch濾波器,也可以基于$H(z)=1 /\left(1-\beta z^{-T}\right)$形式的 IIR 音調(diào)濾波器計算$P(k)$,從而以略微增加失真為代價換來諧波之間的更多衰減。
C? 特征提取
只有在網(wǎng)絡(luò)的輸入中包含與輸出相同頻帶的噪聲信號的對數(shù)譜才有意義。
- 22個頻帶能量 做 對數(shù)變換 再做 DCT,得到22個Bark-frequency倒頻譜系數(shù)(BFCC)[0-21]
- 前6個BFCC的一階時間導(dǎo)數(shù)和二階時間導(dǎo)數(shù)[22-33]。
- 前6個基音相關(guān)度[34-39],因為我們已經(jīng)需要計算(公式5)中的pitch,所以我們計算跨頻帶基音相關(guān)的DCT,并將前6個系數(shù)包含在我們的特征集中。
- 1個基音周期[40]($\frac{1}{基頻}$)
- 1個特殊的非平穩(wěn)值[41],可用于檢測語音
我們總共使用了42個輸入特性
與語音識別中通常使用的特征不同,這些特征不使用倒譜均值歸一化,并且包含第一個倒譜系數(shù)。這個選擇是經(jīng)過深思熟慮的,因為我們必須跟蹤噪聲的絕對振幅,但它確實使特征對信號的絕對振幅和信道頻率響應(yīng)敏感。這在第3-A節(jié)中有說明。
3??深度學(xué)習(xí)模型
神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的噪聲抑制算法結(jié)構(gòu)密切相關(guān),如圖3所示。該設(shè)計基于以下假設(shè):三個循環(huán)層分別負責(zé)圖1中的一個基本組件。當(dāng)然,在實踐中,神經(jīng)網(wǎng)絡(luò)可以自由地偏離這個假設(shè)(而且在某種程度上很可能是這樣的)。它總共包含215個單位,4個隱藏層,最大的層有96個單位。我們發(fā)現(xiàn),增加單元數(shù)量并不能顯著改善噪聲抑制的質(zhì)量。然而,損失函數(shù)和我們構(gòu)造訓(xùn)練數(shù)據(jù)的方式對最終質(zhì)量有很大的影響。我們發(fā)現(xiàn)門控循環(huán)單元(GRU)[15]在這個任務(wù)上略優(yōu)于LSTM,同時也更簡單。
循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN) 在這里非常重要,因為它們可以對時間序列進行建模,而不僅僅是獨立考慮輸入和輸出幀。這對于噪聲抑制尤其重要,因為我們需要時間來對噪聲進行良好的估計。長期以來,RNN 的能力受到嚴(yán)重限制,因為它們無法長時間保存信息,并且由于時間反向傳播時涉及的梯度下降過程非常低效(梯度消失問題)。這兩個問題都通過門控單元的發(fā)明解決,例如長短期記憶 (LSTM)、門控循環(huán)單元 (GRU) 及其許多變體。
RNNoise 使用門控循環(huán)單元 (GRU),因為它在此任務(wù)上的性能略好于 LSTM,并且需要更少的資源(用于權(quán)重的 CPU 和內(nèi)存)。與簡單的 循環(huán)單元相比,GRU 有兩個額外的門。該復(fù)位是否狀態(tài)(存儲器)柵極控制在計算新的狀態(tài)下使用,而更新柵極控制狀態(tài)將改變多少基于新的輸入。這個更新門(關(guān)閉時)使 GRU 可以(并且很容易)長時間記住信息,這也是 GRU(和 LSTM)比簡單的循環(huán)單元表現(xiàn)得更好的原因。
網(wǎng)絡(luò)包括一個VAD輸出,盡管事實上它不是嚴(yán)格必需的。額外的復(fù)雜性代價非常小(24個額外權(quán)重),它通過確保相應(yīng)的GRU確實學(xué)會了從噪聲中區(qū)分語音來改進訓(xùn)練。
圖3??神經(jīng)網(wǎng)絡(luò)的架構(gòu),顯示前饋、全連接(密集)層和循環(huán)層,以及每層的激活函數(shù)和單元數(shù)
網(wǎng)絡(luò)的一個輸出是一組應(yīng)用于不同頻率的增益。另一個輸出是語音活動概率,它不用于噪聲抑制,而是網(wǎng)絡(luò)的有用副產(chǎn)品。
A 訓(xùn)練數(shù)據(jù)
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要 帶噪語音 和 純凈語音的,但是我們很少能同時獲得干凈的語音和嘈雜的語音。因此必須通過在干凈的語音數(shù)據(jù)中加入噪聲來人工構(gòu)造訓(xùn)練數(shù)據(jù)。我們還必須確保涵蓋各種錄制條件。例如,當(dāng)音頻以 8 kHz 進行低通濾波時,僅在全頻帶音頻 (0-20 kHz) 上訓(xùn)練的早期版本將失敗。對于語音數(shù)據(jù),我們使用McGill TSP語音數(shù)據(jù)庫?(法語和英語)和 NTT多語言電話語音數(shù)據(jù)庫(21種語言)(使用44.1kHz音頻CD軌道被使用而不是16kHz數(shù)據(jù)文件)。人們使用各種各樣的噪聲源,包括電腦風(fēng)扇、辦公室、人群、飛機、汽車、火車和建筑。噪聲在不同的 level 上混合,以產(chǎn)生廣泛的信噪比,包括干凈的語音和純噪聲段。
由于我們沒有使用倒譜平均歸一化,并保留代表能量的第一個倒譜系數(shù)。我們使用數(shù)據(jù)增強使網(wǎng)絡(luò)對頻率響應(yīng)的變化具有魯棒性。?這是通過使用以下形式的二階濾波器為每個訓(xùn)練示例獨立過濾噪聲和語音信號來實現(xiàn)的
$$公式7:H(z)=\frac{1+r_{1} z^{-1}+r_{2} z^{-2}}{1+r_{3} z^{-1}+r_{4} z^{-2}}$$
其中$r_1 ... r_4$中的每一個都是在$[-\frac{3}{8},\frac{3}{8}]$范圍內(nèi)均勻分布的隨機值。 通過改變混合信號的最終幅值來實現(xiàn)信號幅度的穩(wěn)健性。
我們總共有6小時的語音和4小時的噪聲數(shù)據(jù),我們使用這些數(shù)據(jù)產(chǎn)生140小時的噪聲語音,通過使用各種增益和濾波器的組合,并將數(shù)據(jù)重新采樣到40 kHz和54 kHz之間的頻率。
B?優(yōu)化過程
損失函數(shù)決定了當(dāng)網(wǎng)絡(luò)不能準(zhǔn)確地估計正確增益,網(wǎng)絡(luò)如何權(quán)衡過度衰減和不足衰減。雖然在優(yōu)化[0,1]范圍的值時,通常使用二元交叉熵函數(shù),但這并不會產(chǎn)生良好的結(jié)果,因為它與它們的感知效果不匹配。對于增益估計$\hat{g}_b$和相應(yīng)的ground truth $g_b$,我們用下面的損失函數(shù)訓(xùn)練
$$公式8:L\left(g_{b}, \hat{g}_{b}\right)=\left(g_{b}^{\gamma}-\hat{g}_{b}^{\gamma}\right)^{2}$$
其中$\gamma?$指數(shù)是一個感知參數(shù),用于控制抑制噪聲的積極程度。 由于$lim_{\gamma\rightarrow 0}\frac{x^\gamma-1}{\gamma}=log(x)$,$lim_{\gamma\rightarrow 0}L(g_b,\hat{g}_b)$最小化了對數(shù)能量的均方誤差,鑒于增益沒有下限,這會使抑制過于激進。 實際上,值$\gamma=\frac{1}{2}$提供了一個很好的權(quán)衡,等效于最小化能量的$\frac{1}{4}$次冪的均方誤差。 有時,特定頻段中可能沒有噪音和語音。 這在輸入無聲時或在信號被低通濾波時的高頻時很常見。 當(dāng)發(fā)生這種情況時,ground truth 增益被明確標(biāo)記為未定義,并且該增益的損失函數(shù)被忽略以避免損害訓(xùn)練過程。
對于網(wǎng)絡(luò)的VAD輸出,我們使用標(biāo)準(zhǔn)的交叉熵損失函數(shù)。訓(xùn)練使用Keras庫和Tensorflow后端進行。由于 Python 通常不是實時系統(tǒng)的首選語言,我們必須用 C 實現(xiàn)運行時代碼。幸運的是,運行神經(jīng)網(wǎng)絡(luò)比訓(xùn)練神經(jīng)網(wǎng)絡(luò)容易得多,所以我們所要做的就是實現(xiàn) feed -forward 和 GRU 層。為了更容易地在合理的足跡中擬合權(quán)重,我們在訓(xùn)練期間將權(quán)重的大小限制為 +/- 0.5,這樣可以輕松地使用 8 位值存儲它們。生成的模型僅適合 85 kB(而不是將權(quán)重存儲為 32 位浮點數(shù)所需的 340 kB)。
C 代碼在 BSD 許可下可用。盡管在編寫此演示時,代碼尚未優(yōu)化,但它在 x86 CPU 上的運行速度已經(jīng)比實時快 60 倍。它甚至比在 Raspberry Pi 3 上的實時運行速度快約 7 倍。通過良好的矢量化 (SSE/AVX),應(yīng)該可以使其比當(dāng)前快約 4 倍。
C 增益平滑
當(dāng)使用增益$\hat{g}_b$來抑制噪聲時,輸出信號有時聽起來過于干燥,缺乏最低期望的混響水平。這個問題很容易通過限制$\hat{g}_b$的跨幀衰減來解決。平滑增益$\tilde{g}_b$為
$$\tilde{g}_{b}=\max \left(\lambda \tilde{g}_{b}^{(p r e v)}, \hat{g}_{b}\right)$$
其中$\tilde{g}_b^{prev}$是前一幀的濾波增益,衰減因子$\lambda=0.6$相當(dāng)于 135 ms 的混響時間。
4??復(fù)雜度分析
為了便于部署噪聲抑制算法,需要保持較低的大小和復(fù)雜性。 可執(zhí)行文件的大小由代表神經(jīng)網(wǎng)絡(luò)中 215 個單元所需的 87,503 個權(quán)重決定。 為了保持盡可能小的尺寸,可以將權(quán)重量化為 8 位而不損失性能。 這使得在 CPU 的 L2 緩存中適合所有權(quán)重成為可能。
由于每個權(quán)重在乘加運算中每幀只使用一次,因此神經(jīng)網(wǎng)絡(luò)每幀需要 175,000 次浮點運算(我們將乘加算作兩次運算),因此需要 17.5 Mflops 以供實時使用。 IFFT 和每幀兩個 FFT 需要大約 7.5 Mflops,pitch搜索(以 12 kHz 運行)需要大約 10 Mflops。 該算法的總復(fù)雜度約為 40 Mflops,可與全頻帶語音編碼器相媲美。
該算法的非矢量化 C 實現(xiàn)需要大約 1.3% 的單個 x86 內(nèi)核 (Haswell i7-4800MQ) 來執(zhí)行單個通道的 48 kHz 噪聲抑制。 1.2 GHz ARM Cortex-A53 內(nèi)核(Raspberry Pi 3)上相同浮點代碼的實時復(fù)雜度為 14%。
作為比較,[9] 中的 16 kHz 語音增強方法使用 3 個隱藏層,每個隱藏層有 2048 個單元。 這需要 1250 萬個權(quán)重并導(dǎo)致 1600 Mflops 的復(fù)雜性。 即使量化為 8 位,權(quán)重也不適合大多數(shù) CPU 的緩存,實時操作需要大約 800 MB/s 的內(nèi)存帶寬。
5? 結(jié)果
我們使用訓(xùn)練集中未使用的語音和噪聲數(shù)據(jù)來測試噪聲抑制的質(zhì)量。 我們將其與 SpeexDSP 庫?中基于 MMSE 的噪聲抑制器進行比較。 盡管噪聲抑制在 48 kHz 下運行,但由于寬帶 PESQ [16] 的限制,必須將輸出重新采樣到 16 kHz。 圖 5 中的客觀結(jié)果表明,使用深度學(xué)習(xí)顯著提高了質(zhì)量,尤其是對于非平穩(wěn)噪聲類型。 通過隨意聆聽樣本證實了改進。 圖4顯示了噪聲抑制對示例的影響。
圖4 在15db信噪比下抑制胡言亂語噪聲的例子。噪聲(上)、去噪(中)和干凈(下)語音的聲譜圖。為了清晰起見,只顯示0-12千赫波段
圖5??PESQ MOS-LQO對噪音、汽車噪音和街道噪音的質(zhì)量評估
我們提出來系統(tǒng)的交互式演示可在 https://people.xiph.org/~jm/demo/rnnoise/ 獲得,包括實時 Javascript 實現(xiàn)。 實現(xiàn)提出系統(tǒng)的軟件可以在 https://github.com/xiph/rnnoise/ 的 BSD 許可下獲得,結(jié)果是使用提交哈希 91ef401 生成的。
6? 總結(jié)
本文介紹了一種將基于DSP技術(shù)和深度學(xué)習(xí)相結(jié)合的噪聲抑制方法。通過僅對難以調(diào)諧的噪聲抑制方面使用深度學(xué)習(xí),問題被簡化為僅計算22個理想的臨界頻帶增益,這可以使用很少的單元有效地完成。然后,通過使用簡單的pitch濾波器處理頻帶的粗略分辨率。由此產(chǎn)生的低復(fù)雜性使得該方法適合在移動或嵌入式設(shè)備中使用,并且延遲足夠低,可用于視頻會議系統(tǒng)。我們還證明,質(zhì)量明顯高于基于純信號處理的方法。
我們認為該技術(shù)可以很容易地擴展到殘余回聲抑制,例如通過在輸入特征中加入遠端信號或濾波后的遠端信號的倒頻譜。類似地,它應(yīng)該適用于麥克風(fēng)陣列后置濾波,通過使用 [17] 中的泄漏估計來增強輸入特征。
參考文獻
[1] S. Boll, Suppression of acoustic noise in speech using spectral subtraction, IEEE Transactions on acoustics, speech, and signal processing, vol. 27, no. 2, pp. 113 120, 1979.
[2] H.-G. Hirsch and C. Ehrlicher, Noise estimation techniques for robust speech recognition, in Proc. ICASSP, 1995, vol. 1, pp. 153 156.
[3] T. Gerkmann and R.C. Hendriks, Unbiased MMSE-based noise power estimation with low complexity and low tracking delay, IEEE Transactions on Audio, Speech, and Language Processing, vol. 20, no. 4, pp. 1383 1393, 2012.
[4] Y. Ephraim and D. Malah, Speech enhancement using a minimum mean-square error log-spectral amplitude estimator, IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 33, no. 2, pp. 443 445, 1985.
[5] A. Maas, Q.V. Le, T.M. O Neil, O. Vinyals, P. Nguyen, and A.Y. Ng, Recurrent neural networks for noise reduction in robust ASR, in Proc. INTERSPEECH, 2012.
[6] D. Liu, P. Smaragdis, and M. Kim, Experiments on deep learning for speech denoising, in Proc. Fifteenth Annual Conference of the International Speech Communication Association, 2014.
[7] Y. Xu, J. Du, L.-R. Dai, and C.-H. Lee, A regression approach to speech enhancement based on deep neural networks, IEEE Transactions on Audio, Speech and Language Processing, vol. 23, no. 1, pp. 7 19, 2015.
[8] A. Narayanan and D. Wang, Ideal ratio mask estimation using deep neural networks for robust speech recognition, in Proc. ICASSP, 2013, pp. 7092 7096.
[9] S. Mirsamadi and I. Tashev, Causal speech enhancement combining data-driven learning and suppression rule estimation. , in Proc. INTERSPEECH, 2016, pp. 2870 2874.
[10] C. Montgomery, Vorbis I specification, 2004.
[11] J. Princen and A. Bradley, Analysis/synthesis filter bank design based on time domain aliasing cancellation, IEEE Tran. on Acoustics, Speech, and Signal Processing, vol. 34, no. 5, pp. 1153 1161, 1986.
[12] B.C.J. Moore, An introduction to the psychology of hearing, Brill, 2012.
[13] J.-M. Valin, G. Maxwell, T. B. Terriberry, and K. Vos, High-quality, low-delay music coding in the Opus codec, in Proc. 135th AES Convention, 2013.
[14] Juin-Hwey Chen and Allen Gersho, Adaptive postfiltering for quality enhancement of coded speech, IEEE Transactions on Speech and Audio Processing, vol. 3, no. 1, pp. 59 71, 1995.
[15] K. Cho, B. Van Merri?nboer, D. Bahdanau, and Y. Bengio, On the properties of neural machine translation: Encoder-decoder approaches, in Proc. Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation (SSST-8), 2014.
[16] ITU-T, Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs, 2001.
[17] J.-M. Valin, J. Rouat, and F. Michaud, Microphone array post-filter for separation of simultaneous non-stationary sources, in Proc. ICASSP, 2004.?
【RNNoise】RNNoise: Learning Noise Suppression
【CDDN】RNNoise-對48K音頻推理改為對16K音頻推理
【GitHub】https://github.com/YongyuG/rnnoise_16k
【CSDN】rnnoise 48k采樣率 轉(zhuǎn)16k采樣率有沒有必要?
總結(jié)
以上是生活随笔為你收集整理的论文翻译:2020_RNNoise:A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: McAfee (麦咖啡) 360安全卫士
- 下一篇: linux锐捷代码_Linux下锐捷上网