發(fā)布人:Google Research 研究員 Neil Zeghidour 和 Marco Tagliasacchi
音頻編解碼器通??梢杂行У貕嚎s音頻,以此減少對存儲空間的需求或網(wǎng)絡帶寬。理想情況下,音頻編解碼器對最終用戶來說應是透明的,這樣解碼后的音頻在感覺上便可與原始音頻幾無差別,且編碼/解碼過程不會存在感知延遲。
在過去的幾年里,我們已經(jīng)成功開發(fā)出不同的音頻編解碼器,如 Opus 和增強型語音服務 (Enhanced Voice Services,EVS),以此滿足這些要求。Opus 是一種多功能的語音和音頻編解碼器,支持 6 kbps(每秒千比特)到 510 kbps 的比特率。
目前它已被廣泛部署在視頻會議平臺(如 Google Meet)和在線媒體服務(如 YouTube)等各種應用中。EVS 則是由 3GPP 標準化組織開發(fā)、針對移動電話 (Telephony) 的最新編解碼器。與 Opus 一樣,它也是多功能編解碼器,可在 5.9 kbps 至 128 kbps 之間的多個比特率下運行。
這兩種編解碼器,無論使用哪一種,只要是在中低比特率(12 至 20 kbps)下重建的音頻,其質量都很好。但是若在非常低的比特率 (?3 kbps) 下運行時,音頻質量便會急劇下降。雖然這些編解碼器通過利用人類感知方面的專業(yè)知識,以及精心設計的信號處理流水線,能夠最大限度地提高壓縮算法效率,但人們仍希望用機器學習方法來取代這些人工流水線,通過數(shù)據(jù)驅動的方式對音頻進行編碼。
今年早些時候,我們發(fā)布了 Lyra,一個用于低比特率語音的神經(jīng)音頻編解碼器。在“SoundStream:一個端到端神經(jīng)音頻編解碼器”一文中,我們介紹了一個新穎的神經(jīng)音頻編解碼器,它能提供更高質量的音頻,并擴展至編碼不同的聲音類型(包括干凈的語音、噪音和混響的語音、音樂和環(huán)境聲音),這推動了進一步的發(fā)展。
SoundStream 不僅是第一個用于語音和音樂的神經(jīng)網(wǎng)絡編解碼器,還能在智能手機 CPU 上實時運行。此外,它還具備在廣泛比特率范圍內,以單一訓練模型呈現(xiàn)最高質量的能力這代表著可學習編解碼器方面的一個重大進步。
SoundStream:一個端到端神經(jīng)音頻編解碼器
https://arxiv.org/abs/2107.03312
從數(shù)據(jù)中學習音頻編解碼器
雖然人們可以毫不費力地推理如,話題持續(xù)時間、頻率或對話中事件先后順序等日常的時間概念,但這類任務對于對話代理而言則具有較大的挑戰(zhàn)。例如,目前的 NLP 模型在執(zhí)行填空任務時,經(jīng)常會做出糟糕的決定(如下圖所示),因為我們通常會假設其在推理方面僅具備基本的世界知識水平,或者需要理解整個對話回合中時間概念之間顯性和隱性的相互依賴關系。
SoundStream 訓練和推理。在訓練過程中,使用重建和對抗性損失的組合對編碼器、量化器和解碼器參數(shù)進行優(yōu)化,這些損失是由判別器(訓練后用于區(qū)分原始輸入音頻和重建的音頻)計算得出。在推理過程中,發(fā)射器客戶端上的編碼器和量化器將壓縮的比特流發(fā)送到接收器客戶端,然后接收器客戶端就能對音頻信號進行解碼
利用殘差向量,量化學習可
擴容的編解碼器
SoundStream 的編碼器可產(chǎn)生無限多值的向量。為了用有限的比特數(shù)將這些向量傳輸至接收器,需要用一個與有限的集合(稱為碼本)接近的向量來代替它們,這個過程被稱為向量量化 (Vector quantization)。這種方法在比特率為 1 kbps 左右或更低的情況下效果很好,但在使用更高的比特率時,很快就會達到極限。例如,即使比特率低至 3 kbps,且假設編碼器每秒產(chǎn)生 100 個向量,也需要存儲一個包含超過 10 億向量的碼本,這在實踐中并不可行。
在 SoundStream 中,我們提出一個新的殘差向量量化器 (RVQ) 來解決這個問題,該量化器由多層組成(在我們的實驗中多達 80 層)。第一層以中等分辨率對代碼向量進行量化,接下來的每一層都對前一層的殘差錯誤進行處理。通過將量化過程分為幾層,可以讓碼本的大小縮減很多。舉例來說,在比特率為 3 kbps、每秒產(chǎn)生 100 個向量的情況下,如果使用 5 個量化器層,碼本大小會從 10 億變成 320。此外,通過增加或刪除量化器層,我們可以輕松地分別提高或降低比特率。
由于網(wǎng)絡條件在傳輸音頻時可能會發(fā)生變化,理想情況下,編解碼器應是“可擴容的”,這樣它就可以根據(jù)網(wǎng)絡狀態(tài)提高其比特率。雖然大多數(shù)傳統(tǒng)的編解碼器都是可擴容的,但以前的可學習編解碼器需要針對每個比特率專門進行訓練和部署。
為了規(guī)避這一限制,我們利用 SoundStream 中量化層的數(shù)量來控制比特率,并提出了一種稱為“量化器丟棄”的新方法。在訓練期間,我們隨機丟棄一些量化層來模擬不同的比特率。這能夠讓解碼器在任何比特率的輸入音頻流中展現(xiàn)出良好的性能,從而幫助 SoundStream 形成“可擴容性”。如此一來,單一的訓練模型可以在任何比特率下運行,并且與針對這些比特率專門訓練的模型具有同樣好的性能。
SoundStream 模型之間的比較(越高越好):在 18 kbps 下對這些模型進行訓練,分為采用量化器丟棄(比特率可擴容)、不借助量化器丟棄(比特率不可擴容)并用可變數(shù)量的量化器評估,或在固定比特率下訓練和評估(特定比特率)。與特定比特率的模型(每個比特率都有不同的模型)相比,由于采用量化器丟棄,可擴容比特率模型(針對所有比特率使用單一模型)并沒有損失任何質量
最先進的音頻編解碼器
3 kbps 下的 SoundStream 優(yōu)于 12 kbps 下的 Opus,且在 9.6 kbps 下與 EVS 的質量接近,而且使用的比特少了 3.2 倍至 4 倍。這意味著用 SoundStream 編碼的音頻可以提供相似的質量,而使用的帶寬卻大大降低。此外,在相同的比特率下,SoundStream 的性能優(yōu)于當前版本的 Lyra(基于自回歸網(wǎng)絡)。Lyra 已針對生產(chǎn)使用進行部署和優(yōu)化,與之不同的是,SoundStream 仍然處于實驗階段。在未來,Lyra 將整合 SoundStream 的組件,以提供更高的音頻質量并降低復雜性。
SoundStream 與 Opus、EVS 和原始的 Lyra 編解碼器相比,性能的優(yōu)越性在這些音頻實例中得到了體現(xiàn),以下是其中的一部分。
音頻實例
https://google-research.github.io/seanet/soundstream/examples
聯(lián)合音頻壓縮和增強
在傳統(tǒng)的音頻處理流水線中,壓縮和增強(去除背景噪音)通常由不同的模塊執(zhí)行。例如,可以在音頻壓縮之前,在發(fā)射器端應用音頻增強算法,或者在音頻解碼之后,在接收器端應用此算法。在這樣的設置中,每個處理步驟都會造成端到端的延遲。
與之相反,我們采用獨特的方式設計 SoundStream,使得壓縮和增強可以由同一個模型聯(lián)合執(zhí)行,而不增加整體延遲。在下面的例子中,我們證明,通過動態(tài)地啟用和停用去噪(5 秒不去噪,5 秒去噪,5 秒不去噪,以此類推),可以將壓縮和背景噪音抑制結合起來。
原始的有噪音音頻
https://www.gstatic.com/soundstream_examples/ai_blog/soundstream_controllable_enhancement_noisy.wav
去噪輸出*
https://www.gstatic.com/soundstream_examples/ai_blog/soundstream_controllable_enhancement_denoised.wav
*通過間隔 5 秒啟用和停用去噪功能來演示
結論
在需要傳輸音頻時,無論是在線播放視頻,還是在電話會議期間,都需要高效的壓縮。對于改善機器學習驅動的音頻編解碼器來說,SoundStream 是非常重要的一步。它的性能優(yōu)于最先進的編解碼器(如 Opus 和 EVS),可以按需增強音頻,并且只需部署一個可擴容的模型,而不需要部署很多。
SoundStream 將作為下一次改進版 Lyra 的一部分發(fā)布。通過集成 SoundStream 和 Lyra,開發(fā)者可以利用現(xiàn)有的 Lyra API 和工具進行開發(fā)工作,既獲享靈活性,也擁有更好的音質。我們也會將其作為一個單獨的 TensorFlow 模型發(fā)布,供實驗使用。
致謝
TimeDial 研究是 Lianhui Qi、Luheng He、Yenjin Choi、Manaal Faruqui 和本文作者共同努力的結果。Disfl-QA 研究是 Jiacheng Xu、Diyi Yang 和 Manaal Faruqui 的合作成果。
編輯:jq
-
解碼器
+關注
關注
9文章
1152瀏覽量
40953 -
噪音
+關注
關注
1文章
170瀏覽量
23951 -
機器學習
+關注
關注
66文章
8442瀏覽量
133103
原文標題:SoundStream 神經(jīng)音頻編解碼器,無損音樂頃刻入耳
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
TLV320AIC28音頻編解碼器評估模塊
![TLV320AIC28<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>評估模塊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TMS320F2833x與AIC23B立體聲音頻編解碼器的接口
![TMS320F2833x與AIC23B立體聲<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>的接口](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Linux上的編解碼器移植TMS320DM365預覽版
![Linux上的<b class='flag-5'>編解碼器</b>移植TMS320DM365預覽版](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TMS320DM365中的智能編解碼器功能
![TMS320DM365中的智能<b class='flag-5'>編解碼器</b>功能](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶你探索HiFi智能編解碼器的奇妙世界
![帶你探索HiFi智能<b class='flag-5'>編解碼器</b>的奇妙世界](https://file1.elecfans.com/web2/M00/ED/15/wKgaomZhZsGATWlPAACeAbvhQWM794.png)
音頻編解碼器AC'97電壓轉換收發(fā)器數(shù)據(jù)表
![<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>AC'97電壓轉換收發(fā)<b class='flag-5'>器</b>數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
集成電源管理和音頻編解碼器TPS65950數(shù)據(jù)表
![集成電源管理和<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>TPS65950數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TPS65920和TPS65930集成電源管理/音頻編解碼器數(shù)據(jù)表
![TPS65920和TPS65930集成電源管理/<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
高性能立體聲編解碼器DA7400 數(shù)據(jù)表
![高性能立體聲<b class='flag-5'>編解碼器</b>DA7400 數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論