1. 程式人生 > >Audio Bit Depth Super-Resolution with Neural Networks

Audio Bit Depth Super-Resolution with Neural Networks

Audio Bit Depth Super-Resolution with Neural Networks

作者:Thomas Liu、Taylor Lundy、William Qi

摘要

        Audio Bit Depth Super-Resolution是一個尚未通過深度學習的視角來研究的問題,目前使用的有效方法很少。在本文中,我們提出了一種基於WavaNet結構來實現低解析度8位音訊輸入的升級,從而產生高保真16位輸出,(將語音從8kHz音訊,轉化為16kHz音訊)。消除了過程中的噪聲和artifacts(偽影)。我們還探索了幾種不同的方法來提高該問題的計算可操作性,並對每種方法的優缺點進行了深入的分析。

1 引言

       在語音訊號處理領域,存在著大量的上取樣和超解析度問題,有待於通過深度學習的視角來研究。與視覺領域相比,語音訊號處理相對缺乏進展的一個主要原因是處理高維音訊資料的固有困難。為了減輕這種高維的詛咒所帶來的計算負擔,以前許多基於學習的訊號處理方法都將重點放在使用time-frequency(時頻)音訊表示(如頻譜圖)作為輸入[15,1,16]。

       近年來,基於WaveNet的[12]方法的結果表明,在合理的記憶體約束下,確實可以直接對原始音訊輸入進行操作。通過改進對資料中時間資訊的訪問,這些產生式[8,7]和判別式[9]方法已經能夠利用有價值的時間相關特徵,例如訊號相位,擴充套件了機器學習技術可以解決的音訊任務的範圍。

      Audio Bit Depth Super-Resolution任務中從時間資訊的可用性中受益。本文中使用的Bit-Depth是指用於表示音訊訊號中每個取樣的位數。重要的是,該變數控制音訊訊號能夠表示的音量範圍(動態範圍),在判斷音訊質量方面起著重要作用。由於更大動態範圍的精度表示需要在每個取樣點使用更多的bit,因此通常必須在音訊檔案的大小和保真度之間進行權衡。通常執行的下采樣操作包括從24位錄音室質量輸入下采樣到16位CD質量輸出,以及從16位縮小到8位音訊。

      由於許多壓縮音訊編碼都是有失真壓縮的[2],從低解析度音訊輸入中恢復高保真音訊是一個定義不清且很難解決的問題。為了減輕解析度降低的負面影響,人們已經提出了許多技術。一種方法,oversampling,犧牲音訊bit-rate(位元率)和訊號噪聲,以換取更高的模擬音訊位元深度。另一種方法,dithering,在下采樣步驟引入噪聲,以增加低解析度(lr)訊號的感知動態範圍。到目前為止,我們還沒有發現任何利用深度網路通過學習lr輸入和hr源音訊之間的關係,來提高音訊位元深度的方法。

      即使應用了這些降噪技術,源音訊訊號和壓縮音訊訊號之間在數量和質量上仍然存在顯著差異。我們假設通過利用原始音訊格式固有的時間依賴性,我們可以通過超分辨lr訊號的bit-depth來進一步減小訊號質量的差異。這種從8位輸入到16位輸出的對映可以使用我們稱之為DBSR的WaveNet架構的改進版本以有監督的方式學習。

       這種方法的成功依賴於音訊訊號中語義結構的存在,而語義結構在不同的音訊源之間可能存在差異。為了探究這個問題,我們對我們的模型進行了評估,評估物件是兩種不同的常見的音訊、音樂和語音類別。

2 相關工作

       音訊生成已經在不同但相關的任務上進行了探索,如文字到語音、音訊去噪和頻寬擴充套件。WaveNet架構[12]是與PixelCNN[13]等效的音訊域。Wavenet已經演示了高質量的音訊生成,使用一個dilated(擴張)的CNN結構來保留一個大的接收域,同時仍然保持每秒包含16,000個樣本的原始音訊波形的計算可處理性。WaveNet最初的論文關注的是文字到語音的合成,而派生工作已經在諸如音樂生成[3]和音訊去噪[9]等任務上嘗試使用該架構。

       與我們的任務最相關的衍生工作是Rethage等人所做的語音去噪工作。與位深超解析度相似,語音去噪需要輸入和輸出樣本之間一對一對應的判別模型,而不是原始Wavenet結構的自迴歸性質。此外,由於問題的判別性質,在預測過程中有可能放鬆WaveNet的因果約束,以及對未來時間步長的輸入樣本的條件。與自迴歸生成不同的是,在測試期間,未來的樣本根本不存在,而我們的鑑別位深超解析度問題,來自過去和未來的樣本都可能提供有價值的上下文資訊。

       基於RNNs的網路結構,傳統上是序列資料的自然擬合,也得到了探索。值得注意的是,SampleRNN[6]提出了一個分層的GRU模型,在使用更簡單的網路和提供更快的推理的同時,生成與wavenet質量相當的音訊。這種層次結構試圖解決經驗表明的接收能力較差的RNNs領域,否則,在幾秒鐘的音訊中包含數萬個樣本,就會出現問題。

       需要注意的一個問題是,由於評估16位以上的softmax分佈(每個樣本的概率為65536)是困難的,原始WaveNet和SampleRNN都產生8位音訊作為輸出,將輸出降低到每個樣本只有256個概率。由於大多數現代音訊都是16位編碼的,並且在傳統的8位音軌(如視訊遊戲音樂)上存在一個有趣的探索位深度超解析度的用例,因此我們尋求一種可處理性產生16位輸出的方法。PixelCNN++[10]中針對類似的過畫素影象生成任務,提出了一種潛在的解決方案,即使用離散邏輯混合對256路(本例中為65536路)分類分佈進行建模。在並行化WaveNet優化[13]中,採用該技術進行音訊生成,生成高保真的16位語音剪輯,目前部署在谷歌Assistant中。

 

 圖1 WaveNet架構的高階概覽

3 Bit-Depth Super Resolution

3.1 設定

       給出一個低解析度訊號x,bit depth b1,我們的模型的目標是重建一個高解析度版本的y,位深b2 > b1。例如,如果x是壓縮到8位深度的音樂樣本,發出可聽到的嘶嘶聲,動態範圍減小;y將是一個高解析度的16位重建的原始音軌。

       為了恢復未定義的訊號,我們嘗試學習高解析度訊號y的一個模型p(yjx),條件是它的低解析度輸入x。由於我們的模型是完全卷積的,所以它能夠放大任意長度的音訊樣本。

3.2 結構

       我們的模型結構與Rethage等人使用的用於音訊去噪的修改過的WaveNet在結構上類似,兩個模型都是由包含多層擴張卷積塊構建的。這些擴張的卷積通過跳過某些頻率的輸入樣本來增加接受域。從第一層的擴張量為1開始(相當於標準卷積),並在每一層將擴張係數加倍,只使用線性增長的層數,模型的接受域就可以呈指數增長。這與CNNs中的池化層類似,但保留了輸入維度,這一點很重要,因為音訊的輸出長度必須與輸入匹配。我們詳細介紹了對WaveNet所做的修改,以使該問題適應位深超解析度。

3.2.1 判別預測

       與原WaveNet的自迴歸性質不同,原WaveNet學習在給定所有先前樣本的情況下預測下一個樣本,而位深超解析度問題需要一個判別模型,在該模型中,訓練每個輸入樣本輸出一個樣本。在這種情況下,預測僅以輸入樣本為條件,並進一步影響網路的變化,包括非因果性和更大的卷積核。

3.2.2 非因果擴張

       來自Rethage [9]語音去噪模型的BDSR中包含的WaveNet修改之一是消除了因果關係。 由於因果卷積迫使每個時間步的預測僅依賴於前一時間步的輸入,我們發現這對於bit depth向上縮放任務來說是不必要的。 與wavenet最初設計的音訊生成任務不同,從一開始就可以獲得整個輸入音訊訊號。 這是在模型中通過將感知區域的時間向前移動一半大小來實現的,將過去樣本的輸入源僅改變為過去和未來的50/50混合樣本。

3.2.3 平滑卷積核

       由於我們的模型不再是自迴歸的,預測也不再依賴於以前的輸出,因此可能會在輸出中引入不連續,從而導致對音訊偽影的感知。為了防止這種情況發生,我們將跳過連線輸出上的1x1卷積更改為3x1卷積[9],這樣可以使輸出更加平滑。核心大小的這種變化是圖2中所示的WaveNet模型的高階概述的唯一變化。


圖2 擴大的因果卷積層的一個例子,其步長呈指數增長

3.2.4 非線性啟用

       我們模型架構的其餘元件類似於WaveNet的原始實現。我們使用的是由PixelCNN[13]首次引入的非線性啟用函式,其效能優於通常的校正線性啟用(ReLU)函式。BDSR中使用的啟用函式定義為

$$z=tanh(W_{f,k}*x)*\sigma (W_{g,k}*x)$$

其中x為輸入,w為一組學習引數;k表示當前層的索引,f和g表示濾波器或門。我們還利用引數化的skip(跳過)連線,通過將在較低層學習到的表示直接傳播到輸出[9]來訓練更深層次的模型。

3.3 高解析度生成和損失

       在音訊的許多領域中,16位深度通常是準確再現沒有偽影和缺陷的聲音所需的最小深度。然而,由於在每個時間步上都有大量可能的值,使用16位音訊通常會非常昂貴。原始的WaveNet模型通過使用u-law壓縮的預處理步驟將輸入量子化到8位來解決這個問題。相反,BDSR直接操作低質量的8位音訊輸入,並試圖學習到HR 16位音訊的對映。

       在過去,直接從8位或更低的音訊輸入生成16位音訊在計算上是困難的,因為這需要將65536-way分類分佈作為輸出。包含 個可能amplitudes(振幅)中的每一個的概率,每秒鐘需要產生16000個音訊分佈,每個樣本一個。這給執行在16位音訊上的模型帶來了巨大的計算負擔,影響了訓練和推理。我們探討了兩種實際預測16位音訊輸出的方法。

3.3.1 Logistic混合近似

       第一種方法是通過近似表示具有低維混合分佈的振幅範圍的65536-way分類分佈來表示縮放問題。我們早期的實驗使用了離散的logistic混合似然損失(PixelCNN++[10]引入)。這將模擬16位音訊的完整分類分佈,只包含10個邏輯分佈(每個分佈包含u、pi、s,總共30個輸出通道,而不是65536)。在以前的工作中,這種型別的損失已被證明在建模3通道可視輸出和16位音訊輸出時都是有效的,後者被用於google的WaveNet並行實現中[7]。在實踐中,儘管節省了大量記憶體,但是很難實現輸出乾淨的訓練,我們最終將注意力轉移到下一個方法上,該方法顯示了更好的結果。

3.3.2 Delta預測

       產生16位預測的另一種方法的一個觀察結果是,在16位音訊序列h到8位序列 l 的最合理的下采樣過程中,時間t處振幅的資訊丟失受到限制,使得$h_t=l_t*256\pm d$,其中$d<\frac{2^{16}}{2^8}$。當我們校準8位和16位音訊並檢查振幅差異的範圍時,這是直觀的真實情況,並經經驗驗證。如果我們將此問題建模為學習此約束下的下采樣過程的逆對映,我們可以簡化預測任務,只預測低解析度8位序列和16位高解析度序列之間的增量。我們的目標是儘可能準確地預測-256到255之間512個振幅增量中的一個。

3.3.3 真實值預測

  作為delta預測的擴充套件,我們將輸出直接建模為-256到255之間的實值,而不是離散的512-way分類分佈,從而獲得了更好的效能。該方法對訊號的去噪效果良好[9]。除了略微減小模型大小外,使用實值預測還可以增強輸出分佈的平滑性,因為相鄰的振幅值意味著音訊質量的相似性。我們通過實驗驗證了背景噪聲的大小與預測與源音訊之間增量的均方誤差密切相關。

4 結果和評估

  我們專案的目標是證明深度神經網路在音訊位深超解析度方面的有效性。我們希望證明我們提出的模型能夠優於現有的使用恆定比例因子將訊號從低解析度域天真地對映到高解析度域的方法,這種方法不會恢復任何額外的音訊細節。

4.1 設定

4.1.1 資料庫

  我們在兩個資料集上對所有模型進行了評估:VCTK資料集[14],其中包含108位不同演講者44小時的資料;Mehri Piano資料集[6],其中包含10小時的貝多芬奏鳴曲。為了從16位原始訊號中產生低解析度音訊訊號,我們在將訊號降級為所需的低頻訊號比之前應用抖動。

  根據文獻[4]中的實驗結構,我們評估了BDSR模型在兩種狀態下的幾種變體。在單說話人任務中,該模型對VCTK說話人1前223段(30分鐘音訊)錄音進行了訓練,並對最後8段錄音進行了測試。在鋼琴任務中,我們使用88%-6%-6%的標準訓練/驗證/測試分割來評估BDSR在不同型別音訊中的泛化能力。

   不幸的是,由於時間限制,另外一項旨在通過對前99名VCTK說話人的樣本進行訓練和對其餘8名演講者進行測試,來評估BDSR在多說話人之間的泛化能力沒有得到評估。不過,這將成為未來探索的一個很好的起點。

4.1.2 方法

  為了對BDSR通過位深超解析度恢復音訊細節的能力進行無偏量化比較,在生成的樣本y和源音訊x之間選擇並計算峰值信噪比(PSNR)度量。

 $$PSNR(x,y)=10\log \frac{MAX_v^2}{||x-y||_2^2}$$

  雖然PSNR是在影象和音訊域內評估超解析度效能的一個廣泛報道的度量標準[11,4],但它在評估感知質量方面已被證明並非完全準確[5]。因此,我們還根據基線手動評估生成樣本的感知質量,以便更好地理解由各種模型學習的對映。

4.2 結果

  我們在Mehri Piano和VCTK語音資料集上測量了位元深度超解析度後的峰值信噪比,詳見表1。較高的PSNR值與較低的均方誤差相關,因此應該對應於更接近源音訊的輸出。在我們的評估中,我們將BDSR變體輸出的PSNR與原始放大的8位音訊基線進行比較。

  如表1所示,使用delta BDSR模型預測分類分佈不會導致基線超過結果。我們假設這個模型的不顯著的效能可以歸因於輸出的不連續性,導致更大的感知噪聲。儘管結果表明該模型對delta的預測相對準確,但人類的感知測試表明,該模型往往無法消除噪聲,只能將其轉化為更結構化的形式。也就是說,與8位輸入音訊的靜態背景噪聲相比,超解析度16位音訊顯示出與聲道的響度相關的動態噪聲。

 

 

表1 在Mehri piano和VCTK資料集上的位深超解析度效能(以PSNR度量)比較。評價方法包括初始上標基線、接受域為12280的delta BDSR、接受域為3080的delta BDSR和實值輸出的BDSR。

  將接受域從3080增加到12280並沒有導致超解析度質量有任何實質性的改善。事實上,具有較大接受域的等效模型在PSNR指標上的表現更差。我們推測,由於向下取樣過程中引入的artifacts (人工製品)的區域性性質,為模型提供更多的長期資料沒有幫助,並且可能會阻礙工件減少中的效能。具有非常大的接受域的模型需要顯著更多的引數,從而在沒有提供更多有用資訊的情況下減少訓練時間。這種差異在Mehri資料集中表現得尤為明顯,12280的接收域覆蓋了幾乎1秒的音訊,比區分鋼琴音符和噪音所需的時間長得多。相比之下,VCTK的語音剪輯具有不太一致的本地音訊特性,長期的關係可能為清除有損噪聲偽影提供更多的好處。

  在我們的實值輸出實驗中,我們觀察到比基線更好的PSNR,並且在8位音訊和超解析度16位音訊之間進行了雙盲聽力測試,背景噪聲的尖銳程度有細微但一致的降低。由於時間和信用的限制,我們提前終止了培訓。然而,觀察到在訓練結束時驗證損失和PSNR評分仍在近似線性地下降,我們相信進一步的訓練(總共大約一週的訓練)將進一步改善結果,使其在人耳中不那麼微妙。

4.3 早期實驗

  在我們演示的早期實驗中,我們遇到了虛假的高PSNR分數,這是因為在從音訊(通常是從曲目開始)生成訓練和驗證片段時沒有過濾出音訊的安靜部分。顯然,這些部分更容易正確預測,並導致過度擬合,當我們試圖使驗證剪輯多樣化時,這種擬合效果並沒有得到很好的推廣。我們已經糾正了這個問題,在我們確定經常包含高活動的軌道中間部分進行訓練。

  由於資料集中的音訊片段足夠多樣化和密集,提案中預測全音訊波形為幅度步長的分類分佈的原始模型在合理的訓練時間內表現不佳。這部分是由於分類輸出分佈的噪聲,部分是由於模型花費大量時間學習簡單地複製輸入的質量,更不用說改進它了。

   這些觀察結果促使我們的實驗轉向實值預測和增量預測,分別解決了這兩個問題。

  實數空間的固有連續性使得模型比分類輸出在更短的時間內產生更好的結果。儘管通常對輸出分佈形狀的假設較少,但事實證明,在對概念上連續的振幅空間建模時,不相交的類別適得其反,而且不直觀(儘管在壓縮計算機表示中進行了離散化)。

   Delta預測減少了輸出引數,並消除了冗餘,這些冗餘導致在匹配標識對映的質量之前花費了大量的訓練時間。

4.4 zero shot音訊超解析度

  受Shocher等人在影象零鏡頭超解析度[11]中的工作啟發,我們還研究了單個音訊樣本中位深尺度內復發的發生率。為此,我們嘗試在沒有任何額外訓練資料或預訓練模型的情況下提高音訊樣本的位深。

  僅使用一個LR輸入樣本,就可以通過向下縮放生成一個增強的訓練資料語料庫。在我們的實驗中,我們通過將原始的低解析度訊號從8位降低到6位和4位來實現這一點。然後對模型進行訓練,將4位訊號重構為6位訊號,將6位訊號重構為8位訊號。這種方法背後的假設是,通過學習如何在較低的尺度上提升位深,經過訓練的網路將能夠推廣和有效地提升輸入LR樣本到所需的輸出保真度。

  不幸的是,零杆訓練方法在實踐中被證明是不成功的。即使在生成的訓練集上訓練超過100個紀元,損失也無法收斂。此外,產生的樣本往往退化,含有大量的可聽噪聲。這表明在單個音訊樣本中沒有跨位深的內部遞迴。

5 總結

  在本文中,我們對WaveNet架構進行了成功的修改,使其能夠通過增加位深來提高音訊的峰值信噪比。膨脹卷積和修正後的損失函式的組合使得模型即使在較大的接收域也能保持計算上的可行性。我們的模型能夠在口語和音樂資料集上產生令人信服的定性和定量結果。該模型可用於多種應用場合,這些場合可以提供記憶體,以換取動態範圍的增加和訊號噪聲的降低。有希望的例子包括重建無損音樂檔案和提高語音識別的錄製質量。

參考文獻

[1] D. Amodei, S. Ananthanarayanan, R. Anubhai, J. Bai, E. Battenberg, C. Case, J. Casper, B. Catanzaro, Q. Cheng, G. Chen, et al. Deep speech 2: End-to-end speech recognition in english and mandarin. In International Conference on Machine Learning, pages 173 182, 2016.
[2] B. D Alessandro and Y. Q. Shi. Mp3 bit rate quality detection through frequency spectrum analysis. In Proceedings of the 11th ACM Workshop on Multimedia and Security, pages 57 62. ACM, 2009.
[3] J. Engel, C. Resnick, A. Roberts, S. Dieleman, D. Eck, K. Simonyan, and M. Norouzi. Neural audio synthesis of musical notes with wavenet autoencoders. arXiv preprint arXiv:1704.01279, 2017.
[4] V. Kuleshov, S. Z. Enam, and S. Ermon. Audio super resolution using neural networks. arXiv preprint arXiv:1708.00853, 2017.
[5] C. Ledig, L. Theis, F. Husz ar, J. Caballero, A. Cunningham, A. Acosta, A. Aitken, A. Tejani, J. Totz, Z. Wang, et al. Photo-realistic single image super-resolution using a generative adversarial network. arXiv preprint, 2016.
[6] S. Mehri, K. Kumar, I. Gulrajani, R. Kumar, S. Jain, J. Sotelo, A. Courville, and Y. Bengio. Samplernn: An unconditional end-to-end neural audio generation model. arXiv preprint arXiv:1612.07837, 2016.
[7] A. v. d. Oord, Y. Li, I. Babuschkin, K. Simonyan, O. Vinyals, K. Kavukcuoglu, G. v. d. Driessche, E. Lockhart, L. C. Cobo, F. Stimberg, et al. Parallel wavenet: Fast high-fidelity speech synthesis. arXiv preprint arXiv:1711.10433, 2017.
[8] T. L. Paine, P. Khorrami, S. Chang, Y. Zhang, P. Ramachandran, M. A. Hasegawa-Johnson, and T. S. Huang. Fast wavenet generation algorithm. arXiv preprint arXiv:1611.09482, 2016.
[9] D. Rethage, J. Pons, and X. Serra. A wavenet for speech denoising. arXiv preprint arXiv:1706.07162, 2017.
[10] T. Salimans, A. Karpathy, X. Chen, and D. P. Kingma. Pixelcnn++: Improving the pixelcnn with discretized logistic mixture likelihood and other modifications. arXiv preprint arXiv:1701.05517, 2017.
[11] A. Shocher, N. Cohen, and M. Irani. zero-shot superresolution using deep internal learning. arXiv preprint arXiv:1712.06087, 2017.
[12] A. Van Den Oord, S. Dieleman, H. Zen, K. Simonyan, O. Vinyals, A. Graves, N. Kalchbrenner, A. Senior, and K. Kavukcuoglu. Wavenet: A generative model for raw audio. arXiv preprint arXiv:1609.03499, 2016.
[13] A. van den Oord, N. Kalchbrenner, L. Espeholt, O. Vinyals, A. Graves, et al. Conditional image generation with pixel-cnn decoders. In Advances in Neural Information Processing Systems, pages 4790 4798, 2016.
[14] C. Veaux, J. Yamagishi, K. MacDonald, et al. Cstr vctk corpus: English multi-speaker corpus for cstr voice cloning toolkit. 2017.
[15] F. Weninger, H. Erdogan, S. Watanabe, E. Vincent, J. Le Roux, J. R. Hershey, and B. Schuller. Speech enhancement with lstm recurrent neural networks and its application to noise-robust asr. In International Conference on Latent Variable Analysis and Signal Separation, pages 91 99. Springer, 2015.
[16] W. Xiong, J. Droppo, X. Huang, F. Seide, M. Seltzer, A. Stolcke, D. Yu, and G. Zweig. The microsoft 2016 conversational speech recognition system. In Acoustics, Speech and Signal Processing (ICASSP), 2017 IEEE International Conference on, pages 5255 5259. IEEE, 2017.
[17] L.-C. Yang, S.-Y. Chou, and Y.-H. Yang. Midinet: A convolutional generative adversarial network for symbolicdomain music generation. In Proceedings of the 18th International Society for Music Information Retrieval Conference (ISMIR2017), Suzhou, China, 2