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