亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

火山引擎 RTC 音頻 AI 降噪的應(yīng)用與實(shí)踐 原創(chuàng)
2022-08-20   字節(jié)跳動(dòng)技術(shù)團(tuán)隊(duì)

作者|陳力

從視頻會(huì)議到遠(yuǎn)程醫(yī)療,從連麥開黑到陪伴社交,疫情常態(tài)化加速了線下活動(dòng)線上化,逐漸改變了人們的生產(chǎn)生活方式。其中,音頻質(zhì)量很大程度上影響著通話體驗(yàn),而噪聲又很大程度決定音頻質(zhì)量。比如,居家辦公場(chǎng)景,就流傳著“居家辦公,必有鄰居裝修”的定律。也是因?yàn)檠b修聲會(huì)很大程度影響參與效率,所以對(duì)居家辦公的同學(xué)帶來(lái)了很大的影響。火山引擎 RTC,集成了自研的深度學(xué)習(xí)降噪方案,來(lái)應(yīng)對(duì)游戲、互娛、會(huì)議等實(shí)時(shí)音視頻溝通場(chǎng)景下的噪聲影響。

讓我們看一下 RTC AI 降噪在會(huì)議、游戲、居家場(chǎng)景下的降噪效果對(duì)比。

會(huì)議場(chǎng)景

游戲場(chǎng)景

居家場(chǎng)景

通過上面的對(duì)比效果可以明顯看到不同噪聲對(duì)線上生產(chǎn)、生活場(chǎng)景的影響,以及通過 AI 降噪達(dá)到的降噪效果。RTC AI 音頻降噪采用了經(jīng)典的CRN網(wǎng)絡(luò)結(jié)構(gòu)【參考文獻(xiàn) 1】作為降噪框架。CRN 網(wǎng)絡(luò)結(jié)構(gòu)由 Encoder、Recurrent Layer 和 Decoder 三部分組成。這種結(jié)構(gòu)兼具了 CNN 的深層特征抽取能力和遞歸網(wǎng)絡(luò)的記憶能力,表現(xiàn)出了比純 CNN 網(wǎng)絡(luò)或者純 GRU 網(wǎng)絡(luò)更好的降噪能力。

圖片

CRN網(wǎng)絡(luò)結(jié)構(gòu)

在具體落地到產(chǎn)品的過程中,我們?cè)谏鲜龌A(chǔ)模型中,解決了實(shí)際場(chǎng)景中出現(xiàn)的五大問題:

  • 如何應(yīng)對(duì)各種復(fù)雜的設(shè)備,多樣的環(huán)境
  • 如何在滿足低延時(shí)條件下,提升模型效果
  • 如何在滿足低計(jì)算量條件下,提升模型效果
  • 如何平衡強(qiáng)降噪和高保真
  • 如何應(yīng)對(duì)對(duì)音樂的損傷

通過解決上述問題,可以有效提升算法的速度、實(shí)時(shí)性和穩(wěn)定性,保證在語(yǔ)音無(wú)損傷的情況下最大程度地實(shí)現(xiàn)噪聲抑制,提升實(shí)時(shí)音視頻場(chǎng)景,特別是會(huì)議、音樂等復(fù)雜場(chǎng)景下的互動(dòng)體驗(yàn)。下面具體展開講下我們是分別如何解決上述五大問題的。

一、訓(xùn)練數(shù)據(jù)增廣

在我們實(shí)際生活中,降噪算法所需要面臨的場(chǎng)景是非常復(fù)雜多樣的。

拿“會(huì)議”場(chǎng)景舉例,開會(huì)環(huán)境的多樣性給降噪算法帶來(lái)了不少挑戰(zhàn):在座位上開會(huì),設(shè)備會(huì)采集到鄰座工位上的說(shuō)話聲,此時(shí)我們期望算法能去除一定的背景說(shuō)話人聲;在會(huì)議室中開會(huì),由于說(shuō)話人離麥克風(fēng)的距離各不相同,此時(shí)降噪算法面臨著多人聲、遠(yuǎn)距離拾音、混響的難題;如果是在公交、地鐵、高鐵上開會(huì),除了人聲,還會(huì)引入車輛信號(hào)、報(bào)站等聲音。還有比如在室內(nèi)玩游戲使用游戲語(yǔ)音的例子,此時(shí),場(chǎng)景中的噪聲除了環(huán)境噪聲,還有敲擊屏幕或鍵盤、拍桌子等各類噪聲,此時(shí)就需要降噪算法能夠盡量抑制足夠多類別的噪聲。

圖片

不僅如此,在不同環(huán)境下常用的設(shè)備也是不盡相同的。常用設(shè)備主要可以歸類為以下幾類:

圖片

除了使用場(chǎng)所有所差別,另外一個(gè)主要差異點(diǎn)在于不同設(shè)備的采集特性不同,并且自帶了不同的音頻前處理算法,以現(xiàn)在主流的安卓手機(jī)為例,往往出廠就自帶了強(qiáng)抑制降噪算法,但在實(shí)際體驗(yàn)中仍然存在噪聲較多以及人聲損傷問題,那么就需要我們的降噪算法去適配這一類“二手”音頻數(shù)據(jù),包括需要去覆蓋殘留形態(tài)的噪聲數(shù)據(jù),以及損傷形態(tài)的人聲數(shù)據(jù)。

除此之外,個(gè)人外接設(shè)備也需要特別小心,比如有線耳機(jī)可能會(huì)帶來(lái)高頻噪聲,而藍(lán)牙耳機(jī)可能引入連接不穩(wěn)定的問題,并且降噪耳機(jī)還攜帶有額外的音頻處理能力。

我們將在數(shù)據(jù)增廣過程中著重應(yīng)對(duì)這類問題。將增廣中噪聲的類型打上標(biāo)簽、對(duì)不同的場(chǎng)景使用不同的增廣配置文件即可配置不同的訓(xùn)練增廣方案。下面簡(jiǎn)單說(shuō)明一下我們常用的訓(xùn)練數(shù)據(jù)增廣手段。

基本增廣手段包括:

  • 音量調(diào)整:現(xiàn)實(shí)生活中采集到的音量大小往往不同,用于模擬不同采集音量的情況;
  • 高低通濾波:不同設(shè)備的有效頻率不同,如藍(lán)牙耳機(jī)往往只有 4k 的有效頻段;
  • 削波模擬:模擬爆音之后的音頻效果;
  • 房間沖擊響應(yīng):模擬不同房間下的混響場(chǎng)景;
  • 破音信號(hào)模擬:增加對(duì)丟幀信號(hào)的模擬
  • 模擬噪聲變化:模擬不同噪聲環(huán)境,如常見場(chǎng)景的噪聲疊加和變化;?

我們近期針對(duì)語(yǔ)音中的嘯叫信號(hào)著重進(jìn)行了模擬和處理。通過線下采集,以及線上仿真模擬的方式生成了大量的不同嘯叫周期、頻率范圍的嘯叫語(yǔ)音,并以較低的信噪比融合進(jìn)原始語(yǔ)音中。

圖片

嘯叫語(yǔ)音線上模擬

在增加了上述嘯叫數(shù)據(jù)的基礎(chǔ)上,我們又單獨(dú)對(duì)嘯叫語(yǔ)音施加強(qiáng)抑制的損失函數(shù),消除了大部分的嘯叫語(yǔ)音。

我們測(cè)試了各種設(shè)備、各種場(chǎng)景下的 500+ 種噪聲,均能實(shí)現(xiàn)理想的消除效果。

二、壓縮模型計(jì)算量

實(shí)時(shí)率 (Real Time Factor) 是衡量算法的 CPU 消耗的指標(biāo)。實(shí)時(shí)通信下場(chǎng)景,對(duì)模型算力要求極為苛刻。為了讓模型在移動(dòng)端可流暢運(yùn)行,我們主要在特征壓縮、模型精簡(jiǎn)和引擎加速三個(gè)方面進(jìn)行了改進(jìn)。

(1) 特征壓縮

在原始的 CRN 的文章中,使用的是短時(shí)傅里葉 (STFT) 特征,如 WebRTC 中默認(rèn)使用的 257 維的 STFT 特征。但是 STFT 在高頻處包含的信息量已經(jīng)較少,根據(jù)人耳聽覺特性進(jìn)行頻譜壓縮已經(jīng)是常見的方案,如 RNNoise 中使用 ERB 方案。我們采用根據(jù)梅爾聽覺特性設(shè)計(jì)的濾波器進(jìn)行頻譜壓縮的方案。

圖片

通過將高維特征壓縮到低維,能將計(jì)算量壓縮為原來(lái)的 1/3。

(2) 模型精簡(jiǎn)

?如前文所述,我們使用了 CRN 結(jié)構(gòu)作為主要的結(jié)構(gòu)。為了將整體的模型的計(jì)算量進(jìn)行進(jìn)一步的壓縮,我們嘗試了很多的策略,主要包括:

  • 將其中的卷積或者轉(zhuǎn)置卷積模塊替換為深度可分離卷積或者可分離轉(zhuǎn)置卷積
  • 使用空洞卷積,使用更少層數(shù)能夠獲得更長(zhǎng)的感受野
  • 將 GRU 模塊替換為分組 GRU 模塊
  • 使用稀疏化工具,進(jìn)一步壓縮通道數(shù)的大小

通過上述一系列優(yōu)化,模型的計(jì)算量被壓縮到數(shù)十兆 MACS 的計(jì)算量級(jí),模型的參數(shù)量在 100K 以內(nèi)。

(3) 引擎加速

最后我們?cè)谧止?jié)跳動(dòng)的推理引擎 ByteNN 上,與智創(chuàng)語(yǔ)音團(tuán)隊(duì)和 AI 平臺(tái)團(tuán)隊(duì)合作,新增了適配音頻算法的流式推理能力,來(lái)提升設(shè)備上的計(jì)算效率。主要包括:

  • 架構(gòu)支持子圖推理 / 提前退出等流式推理能力節(jié)省算力
  • 包括卷積 / GRU 等流式算子的支持
  • ARM / X86 等平臺(tái)匯編級(jí)別優(yōu)化加速

通過上述手段,目前將端到端的 48K 降噪模型的 RTF 指標(biāo)在各端機(jī)型上都控制在 1% 以內(nèi)。

三、降低延時(shí)

為了保證端到端延時(shí)在較低水平,AINR 直接使用 AEC 輸出的頻域特征作為輸入,減少了一次 ISTFT 和一次 STFT 的計(jì)算時(shí)間以及引入的(窗長(zhǎng)-步長(zhǎng))的延時(shí)(一般在 20ms 左右)。然而在實(shí)驗(yàn)中我們發(fā)現(xiàn),由于 AEC 的非線性處理的操作是直接在頻譜的操作,導(dǎo)致了 STFT 的不一致性,即原始的 STFT 經(jīng)過 ISTFT 后再做 STFT 的值與原始值不一致。所以直接使用 AEC 的頻域輸出(頻域特征 1 )作為模型的輸入和使用頻域特征 2 作為模型輸入的處理結(jié)果略有不同,前者在個(gè)別場(chǎng)景會(huì)出現(xiàn)語(yǔ)音損傷。

圖片

我們通過一系列的工程手段,解決了這種不一致性,使得處理過程可以繞過上述的 ISTFT 和 STFT 過程,節(jié)省了 20 毫秒以上的時(shí)間。如此節(jié)省下來(lái)的時(shí)間,可用于增加模型的延時(shí),但保證系統(tǒng)的總體延時(shí)不會(huì)增加。增加模型的延時(shí)對(duì)區(qū)分清輔音和噪音有很大的幫助。如左、中例子所示,清輔音在頻譜和聽感上和噪聲十分接近,在不知道下文的情況下模型很難做出準(zhǔn)確的判斷。于是我們引入 20~40ms 不等的較短延時(shí),利用未來(lái)的信息幫助模型做當(dāng)前幀的判斷,如右例子所示,加入延時(shí)后的非語(yǔ)音段要明顯比優(yōu)化前干凈。

四、降噪與保真的平衡

降噪效果中,強(qiáng)降噪和高保真往往是天平的兩端,尤其是針對(duì)小模型。強(qiáng)力的降噪往往會(huì)帶來(lái)部分語(yǔ)音的損傷,對(duì)語(yǔ)音高保真往往會(huì)殘留部分的小噪聲。比如,在針對(duì) babble 的降噪實(shí)驗(yàn)過程中發(fā)現(xiàn),如果采用強(qiáng)力降噪模型,能夠把辦公室的 babble 類噪聲都消除的很干凈,但是針對(duì)會(huì)議室的遠(yuǎn)場(chǎng)語(yǔ)音就會(huì)帶來(lái)?yè)p傷。為了平衡這兩者,我們主要采取了如下的一些策略來(lái)改進(jìn):

  1. 剔除噪聲臟樣本:去掉包含“說(shuō)話聲”的噪聲樣本,避免噪聲中包含內(nèi)容清晰的語(yǔ)音,導(dǎo)致推理時(shí)將遠(yuǎn)場(chǎng)人聲誤判為噪聲。
  2. 輸入特征進(jìn)行幅度規(guī)整:保證不同幅度的語(yǔ)音提取的特征值是非常接近的,剔除幅度的影響。
  3. 在靜音段部分使用抑制力度大的損失函數(shù),而在人聲部分使用保護(hù)力度更大的損失函數(shù)。來(lái)保證非語(yǔ)音段強(qiáng)降噪、而語(yǔ)音段高保真的目的。
  4. 針對(duì)小語(yǔ)音段,在計(jì)算損失函數(shù)時(shí)提升對(duì)于語(yǔ)音有損的懲罰力度。

我們以輕微帶噪語(yǔ)音的 PESQ 指標(biāo)作為語(yǔ)音保真的指標(biāo)。以純?cè)氩糠值臍埩粼肼暺骄重愖鳛樵肼曇种频闹笜?biāo)。下表列出了幾次迭代在會(huì)議場(chǎng)景下的指標(biāo)改進(jìn)。

 

第一版

第二版

第三版

語(yǔ)音保留

3.72

3.76

3.85

噪聲殘留(dB)

-75.88

-105.99

-111.03

從幾個(gè)版本降噪模型的客觀指標(biāo)來(lái)看,語(yǔ)音保護(hù)指標(biāo)在較小的范圍內(nèi)波動(dòng),噪聲殘留則不斷減少。可以看出 RTC AI 降噪模型在較大程度保護(hù)語(yǔ)音的前提下,噪聲抑制力度不斷提升。

五、實(shí)時(shí)音樂識(shí)別

在互娛場(chǎng)景,往往有較多的音樂場(chǎng)景。由于部分音樂元素和噪聲的特點(diǎn)非常接近,如果直接應(yīng)用深度學(xué)習(xí)降噪模型,音樂會(huì)被壓制得很卡頓。如果把音樂保護(hù)加入模型訓(xùn)練,其他語(yǔ)料中的噪聲壓制的效果會(huì)受到影響。因此,準(zhǔn)確識(shí)別出聲音是音樂還是噪聲就變得非常重要,能在識(shí)別出音樂之后關(guān)閉降噪,同時(shí)也不會(huì)影響正常場(chǎng)景下的降噪力度。

我們的音樂識(shí)別模型和【參考文獻(xiàn) 2】方法非常相似。都是在 PANNS 【參考文獻(xiàn) 3】的 527 類語(yǔ)音檢測(cè)的基礎(chǔ)上,使用語(yǔ)音、音樂和噪聲三類數(shù)據(jù)進(jìn)行微調(diào)。考慮這類方法的一個(gè)主要原因是利用 CNN 對(duì)長(zhǎng)時(shí)語(yǔ)音(4 秒窗長(zhǎng))進(jìn)行建模,以 0.33 秒為步長(zhǎng)輸出判別結(jié)果,來(lái)代替如 GRU 類模型幀級(jí)別的輸出,從而增強(qiáng)識(shí)別的效果和穩(wěn)定性。相對(duì)于原文,我們進(jìn)一步對(duì)模型進(jìn)行了壓縮和裁剪,達(dá)到了 4M  FLOPS 的計(jì)算量 和 20KB 的參數(shù)量的尺寸,保證在低端的移動(dòng)設(shè)備上可以運(yùn)行。同時(shí),在進(jìn)入音樂時(shí),增加 2 秒延時(shí)的多幀融合判斷以及離開音樂時(shí) 4 秒延時(shí)的多幀融合判斷,進(jìn)一步提升了音樂識(shí)別的穩(wěn)定性。在音樂誤識(shí)別率為 0% 的情況下,召回率達(dá)到了 99.6%。

下圖展示了 SIP 場(chǎng)景下的音樂共享場(chǎng)景的一個(gè)例子。因?yàn)?SIP 場(chǎng)景下,共享音樂和采集信號(hào)是混合后再傳輸?shù)模怨蚕淼男盘?hào)和采集的信號(hào)使用的是同樣的處理通路。在實(shí)際測(cè)試中,我們發(fā)現(xiàn)即使用很輕量級(jí)的傳統(tǒng)降噪方案也會(huì)對(duì)音樂產(chǎn)生損傷。通過使用音樂檢測(cè),保護(hù)相對(duì)應(yīng)的音樂段,可以有效緩解該損傷問題。

圖片

六、效果和指標(biāo)的對(duì)比

通過上述幾點(diǎn)的改進(jìn),目前無(wú)論是主觀聽感,還是客觀指標(biāo),火山引擎 RTC 中的降噪算法已經(jīng)處于行業(yè)領(lǐng)先位置。

我們?cè)诟咧械腿N信噪比條件的白噪聲、鍵盤聲、babble 噪聲、空調(diào)噪聲四種噪聲環(huán)境下以及 Windows 和 MAC 設(shè)備中,測(cè)試了火山引擎 RTC 和行業(yè)同類產(chǎn)品的降噪結(jié)果的 POLQA 分?jǐn)?shù)。從表中可以看出,無(wú)論是在這四種噪聲場(chǎng)景上,還是在不同設(shè)備上,我們的降噪算法均優(yōu)于同類產(chǎn)品。?

圖片

 

展望

在應(yīng)用 AI 降噪之后,我們能夠消除環(huán)境噪聲帶來(lái)的各種影響。但除了噪聲影響之外,影響語(yǔ)音質(zhì)量的還包括采集硬件的損傷、硬件處理算法的損傷、傳輸通道的損傷等等,后續(xù)我們會(huì)進(jìn)一步在軟件算法中緩解這些損傷,以期達(dá)到使用任何硬件均能達(dá)到類似錄音棚的高音質(zhì)效果。

參考文獻(xiàn)

【1】Tan K, Wang D L. A convolutional recurrent neural network for real-time speech enhancement[C]//Interspeech. 2018, 2018: 3229-3233.

【2】Reddy C K A, Gopa V, Dubey H, et al. MusicNet: Compact Convolutional Neural Network for Real-time Background Music Detection[J]. arXiv preprint arXiv:2110.04331, 2021.

【3】Kong Q, Cao Y, Iqbal T, et al. Panns: Large-scale pretrained audio neural networks for audio pattern recognition[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2020, 28: 2880-2894.?

熱詞搜索:火山引擎

上一篇:數(shù)據(jù)血緣圖譜升級(jí)方案設(shè)計(jì)與實(shí)現(xiàn)
下一篇:最后一頁(yè)

分享到: 收藏