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