想象一下在機(jī)場(chǎng)等你的航班。突然,一個(gè)重要的商務(wù)電話與一個(gè)高姿態(tài)的客戶點(diǎn)亮了你的手機(jī)。大量的背景噪音使你周?chē)穆曇糇兊秒s亂無(wú)章——背景嘈雜,飛機(jī)起飛,也許是飛行通告。你必須接電話,而且你要聽(tīng)清楚。
我們都曾處于這種尷尬、不理想的境地。這只是現(xiàn)代商業(yè)的一部分。
背景噪音無(wú)處不在。這很煩人。
現(xiàn)在想象一下,當(dāng)你接電話說(shuō)話時(shí),噪音神奇地消失了,而另一端所有人能聽(tīng)到的都是你的聲音。沒(méi)有聲音的低語(yǔ)穿過(guò)。
我們的激情代表著我們的愿景。讓我們聽(tīng)聽(tīng)好的降噪效果。
兩年前,我們坐下來(lái),決定開(kāi)發(fā)一種技術(shù),可以完全消除人與人之間交流中的背景噪音,使之更加愉悅和易懂。從那時(shí)起,這個(gè)問(wèn)題就成了我們的困擾。
讓我們看看是什么讓噪聲抑制如此困難,構(gòu)建實(shí)時(shí)低延遲噪聲抑制系統(tǒng)需要什么,以及深度學(xué)習(xí)如何幫助我們將質(zhì)量提升到一個(gè)新的水平。
噪聲抑制技術(shù)的現(xiàn)狀
讓我們弄清楚什么是噪音抑制。乍一看,這似乎令人困惑。
本文中的噪聲抑制是指抑制從 你的 背景到您正在通話的人的噪聲,以及來(lái)自 他們的 背景的噪聲。
這與 有源噪聲消除 相反, VZX23 指的是抑制來(lái)自周?chē)h(huán)境的不必要的噪音。主動(dòng)噪聲消除通常需要多麥克風(fēng)耳機(jī)(如 BoseQuiteComfort )。
這篇文章的重點(diǎn)是噪聲抑制, 不主動(dòng)噪聲消除。
傳統(tǒng)的噪聲抑制方法
傳統(tǒng)的噪聲抑制已經(jīng)在邊緣設(shè)備上得到了有效的實(shí)現(xiàn),如電話、筆記本電腦、會(huì)議系統(tǒng)等。這似乎是一種直觀的方法,因?yàn)樗沁吘壴O(shè)備,首先捕捉用戶的聲音。一旦捕獲,設(shè)備過(guò)濾掉噪音,并將結(jié)果發(fā)送到呼叫的另一端。
10 年前的手機(jī)通話體驗(yàn)相當(dāng)糟糕。一些移動(dòng)電話仍然如此;然而,更現(xiàn)代的手機(jī)配備了多個(gè)麥克風(fēng)( mic ),這有助于在通話時(shí)抑制環(huán)境噪音。
當(dāng)前一代手機(jī)包括兩個(gè)或兩個(gè)以上的麥克風(fēng),最新的 iPhone 有 4 個(gè)。第一個(gè)麥克風(fēng)放在手機(jī)的前底部,最靠近用戶說(shuō)話時(shí)的嘴,直接捕捉用戶的聲音。手機(jī)設(shè)計(jì)師將第二個(gè)麥克風(fēng)放置在離第一個(gè)麥克風(fēng)盡可能遠(yuǎn)的地方,通常放在手機(jī)的上背部。
兩個(gè)麥克風(fēng)都能捕捉周?chē)穆曇?。靠近嘴的麥克風(fēng)捕捉到更多的聲音能量;第二個(gè)麥克風(fēng)捕捉的聲音更少。軟件有效地將這些信息相互抵消,產(chǎn)生(幾乎)干凈的聲音。
這聽(tīng)起來(lái)很簡(jiǎn)單,但很多情況下都存在這種技術(shù)失敗的情況。想象一下,當(dāng)這個(gè)人不說(shuō)話,而麥克風(fēng)聽(tīng)到的只是噪音?;蛘呦胂筮@個(gè)人在說(shuō)話的時(shí)候,比如跑步的時(shí)候,正在積極地?fù)u晃/轉(zhuǎn)動(dòng)手機(jī)。處理這些情況很棘手。
對(duì)于設(shè)備原始設(shè)備制造商和 ODM 來(lái)說(shuō),兩個(gè)或更多的麥克風(fēng)也使得音頻路徑和聲學(xué)設(shè)計(jì)變得相當(dāng)困難和昂貴。音頻/硬件/軟件工程師必須實(shí)施次優(yōu)權(quán)衡,以支持工業(yè)設(shè)計(jì)和語(yǔ)音質(zhì)量要求…
考慮到這些困難,今天的手機(jī)在中等噪音的環(huán)境中表現(xiàn)得相當(dāng)好?,F(xiàn)有的噪聲抑制解決方案并不完美,但確實(shí)提供了改進(jìn)的用戶體驗(yàn)。
使用分離式話筒時(shí),外形因素會(huì)起作用。第一個(gè)和第二個(gè)麥克風(fēng)之間的距離必須滿足最低要求。當(dāng)用戶把手機(jī)放在耳朵和嘴上說(shuō)話時(shí),效果很好。
然而,現(xiàn)代手機(jī)的“棒棒糖”外形可能不會(huì)長(zhǎng)期存在。可穿戴設(shè)備(智能手表、胸前的麥克風(fēng))、筆記本電腦、平板電腦和 Alexa 等智能語(yǔ)音助手顛覆了平板手機(jī)的外形。用戶從不同的角度和不同的距離與他們的設(shè)備交談。在大多數(shù)情況下,沒(méi)有可行的解決辦法。噪音抑制只是失敗了。
從多話筒設(shè)計(jì)轉(zhuǎn)向單話筒設(shè)計(jì)
多麥克風(fēng)設(shè)計(jì)有幾個(gè)重要的缺點(diǎn)。
它們需要一定的外形尺寸,使其僅適用于特定的使用場(chǎng)合,例如帶有粘性麥克風(fēng)的電話或耳機(jī)(專為呼叫中心或入耳式監(jiān)聽(tīng)器設(shè)計(jì))。
多麥克風(fēng)設(shè)計(jì)使得音頻路徑變得復(fù)雜,需要更多的硬件和代碼。此外,為二次麥克風(fēng)鉆孔帶來(lái)了工業(yè) ID 質(zhì)量和產(chǎn)量問(wèn)題。
只能在邊緣或設(shè)備側(cè)處理音頻。因此,由于低功耗和計(jì)算需求,支持它的算法并不十分復(fù)雜。
現(xiàn)在想象一個(gè)解決方案,你只需要一個(gè)麥克風(fēng),所有的后處理都由軟件處理。這使得硬件設(shè)計(jì)更加簡(jiǎn)單和高效。
事實(shí)證明,在音頻流中分離噪聲和人類(lèi)語(yǔ)言是一個(gè)具有挑戰(zhàn)性的問(wèn)題。此函數(shù)不存在高性能算法。
傳統(tǒng)的數(shù)字信號(hào)處理( DSP )算法通過(guò)逐幀處理音頻信號(hào),不斷地尋找噪聲模式并加以適應(yīng)。這些算法在某些用例中運(yùn)行良好。然而,它們并不能適應(yīng)我們?nèi)粘-h(huán)境中存在的噪音的多樣性和可變性。
存在兩種基本噪聲類(lèi)型: 固定的 和 非靜止 ,如圖 4 所示。
圖 4 。白噪聲(平穩(wěn))和啁啾噪聲(非平穩(wěn))的 SpeCTR 圖
把靜止的噪音想象成一種可重復(fù)但又不同于人聲的聲音。傳統(tǒng)的 DSP 算法(自適應(yīng)濾波器)可以很有效地濾除這些噪聲。
非平穩(wěn)噪聲具有復(fù)雜的模式,很難與人的聲音區(qū)分開(kāi)來(lái)。信號(hào)可能很短,來(lái)去非??欤ɡ珂I盤(pán)輸入或警報(bào)器)。有關(guān)技術(shù)上更正確的定義,請(qǐng)參閱此 Quora 文章 。
如果你想同時(shí)戰(zhàn)勝靜止和非靜止噪聲,你需要超越傳統(tǒng)的 DSP 。在 2Hz ,我們相信深度學(xué)習(xí)可以成為處理這些困難應(yīng)用的重要工具。
用深度學(xué)習(xí)分離背景噪聲
關(guān)于將深度學(xué)習(xí)應(yīng)用于噪聲抑制的一篇基礎(chǔ)論文似乎是 2015 年徐勇著 。
Yong 提出了一種回歸方法來(lái)學(xué)習(xí)為每個(gè)音頻頻率生成一個(gè)比率掩碼。所產(chǎn)生的比率掩??梢允谷说穆曇舯3滞暾h除外來(lái)噪音。雖然遠(yuǎn)不是完美的,但這是一個(gè)很好的早期方法。
在隨后的幾年里,許多不同的方法被采用;高級(jí)方法幾乎總是相同的,包括三個(gè)步驟,如圖 5 所示:
數(shù)據(jù)收集 :將干凈語(yǔ)音與噪聲混合生成大數(shù)據(jù)集
培訓(xùn) :在輸入時(shí)將此數(shù)據(jù)集饋送給 DNN ,在輸出時(shí)向 DNN 提供干凈的語(yǔ)音
推論 :生成一個(gè)掩模(二進(jìn)制、比率或復(fù)合),它將離開(kāi)人聲并過(guò)濾掉噪聲
圖 5 。數(shù)據(jù)收集和培訓(xùn)管道
在 2Hz 頻率下,我們用不同的 DNN 進(jìn)行了實(shí)驗(yàn),并提出了我們獨(dú)特的 DNN 架構(gòu),可以對(duì)各種噪聲產(chǎn)生顯著的效果。在嘈雜的演講中,平均 MOS 評(píng)分 (平均意見(jiàn)得分)提高了 1 。 4 分,這是我們看到的最好的結(jié)果。這一結(jié)果令人印象深刻,因?yàn)樵趩蝹€(gè)麥克風(fēng)上運(yùn)行的傳統(tǒng) DSP 算法通常 減少 的 MOS 分?jǐn)?shù)。
語(yǔ)音延遲。實(shí)時(shí) DNN 可能嗎?
低延遲是語(yǔ)音通信的關(guān)鍵。人類(lèi)在交談時(shí)可以忍受長(zhǎng)達(dá) 200 毫秒的端到端延遲,否則我們會(huì)在通話中互相交談。潛伏期越長(zhǎng),我們就越注意到它,也就越惱火。
有三個(gè)因素會(huì)影響端到端延遲:網(wǎng)絡(luò)、計(jì)算和編解碼器。通常網(wǎng)絡(luò)延遲的影響最大。編解碼器的延遲在 5-80ms 之間,這取決于編解碼器及其模式,但現(xiàn)代編解碼器已經(jīng)變得相當(dāng)高效。計(jì)算延遲實(shí)際上取決于很多因素。
計(jì)算延遲使 dnn 具有挑戰(zhàn)性。如果你想用 DNN 來(lái)處理每一幀,你就有可能引入大的計(jì)算延遲,這在現(xiàn)實(shí)的部署中是不可接受的。
根據(jù)不同的延遲因素計(jì)算:
計(jì)算平臺(tái)能力
在耳機(jī)里運(yùn)行一個(gè)大的 DNN 不是你想做的事情。有 CPU 和功率限制。實(shí)現(xiàn)實(shí)時(shí)處理速度是非常具有挑戰(zhàn)性的,除非平臺(tái)有一個(gè)加速器,它可以使矩陣乘法更快、更低的功耗。
DNN 體系結(jié)構(gòu)
DNN 的速度取決于你有多少個(gè)超參數(shù)和 DNN 層,以及你的節(jié)點(diǎn)運(yùn)行什么操作。如果你想用最小的噪聲產(chǎn)生高質(zhì)量的音頻,你的 DNN 不能很小。
例如, Mozilla rnnoise 非??欤?也或許可以放入耳機(jī)中。然而,它的質(zhì)量并不令人印象深刻的非平穩(wěn)噪聲。
音頻采樣率
DNN 的性能取決于音頻采樣率。采樣率越高,需要提供給 DNN 的超參數(shù)就越多。
相比之下, Mozilla rnnoise 使用分組頻率的頻帶,因此性能對(duì)采樣率的依賴最小。雖然這是一個(gè)有趣的想法,但這對(duì)最終質(zhì)量有不利影響。
窄帶 音頻信號(hào)( 8kHz 采樣率)質(zhì)量較低,但我們的大多數(shù)通信仍在窄帶中進(jìn)行。這是因?yàn)榇蠖鄶?shù)移動(dòng)運(yùn)營(yíng)商的網(wǎng)絡(luò)基礎(chǔ)設(shè)施仍然使用窄帶編解碼器對(duì)音頻進(jìn)行編碼和解碼。
由于窄帶每個(gè)頻率需要較少的數(shù)據(jù),因此它可以成為實(shí)時(shí) DNN 的一個(gè)良好的起始目標(biāo)。但是當(dāng)你需要增加對(duì)寬帶或超寬帶( 16kHz 或 22kHz )和全頻段( 44 。 1 或 48kHz )的支持時(shí),事情變得非常困難。如今,許多基于 VoIP 的應(yīng)用都在使用寬帶,有時(shí)甚至使用全頻段編解碼器(開(kāi)源的 Opus 編解碼器支持所有模式)。
在一個(gè)天真的設(shè)計(jì)中,你的 DNNMIG ht 要求它增長(zhǎng) 64 倍,因此要支持全頻段,就要慢 64 倍。
如何測(cè)試噪聲抑制算法?
測(cè)試語(yǔ)音增強(qiáng)的質(zhì)量很有挑戰(zhàn)性,因?yàn)槟悴荒芟嘈湃说亩?。由于年齡、訓(xùn)練或其他因素,不同的人有不同的聽(tīng)力能力。不幸的是,沒(méi)有開(kāi)放的和一致的噪聲抑制基準(zhǔn),所以比較結(jié)果是有問(wèn)題的。
大多數(shù)學(xué)術(shù)論文使用 漁業(yè) 、 莫斯 和 表 來(lái)比較結(jié)果。你向算法提供原始語(yǔ)音音頻和失真音頻,它會(huì)生成一個(gè)簡(jiǎn)單的度量分?jǐn)?shù)。例如, PESQ 分?jǐn)?shù)在 -0 。 5-4 。 5 之間,其中 4 。 5 是一個(gè)非常干凈的演講。不過(guò), PESQ 、 MOS 和 STOI 還沒(méi)有被設(shè)計(jì)成額定噪聲級(jí),所以你不能盲目相信它們。在你的過(guò)程中你也必須進(jìn)行主觀測(cè)試。
ETSI 室。
一種更專業(yè)的方法來(lái)進(jìn)行主觀音頻測(cè)試并使其具有可重復(fù)性,就是滿足不同標(biāo)準(zhǔn)機(jī)構(gòu)制定的此類(lèi)測(cè)試標(biāo)準(zhǔn)。
3GPP 電信組織定義了 ETSI 室的概念。如果您打算將您的算法部署到現(xiàn)實(shí)世界中,您必須在您的設(shè)施中有這樣的設(shè)置。 ETSI 室是構(gòu)建可重復(fù)和可靠測(cè)試的良好機(jī)制;圖 6 顯示了一個(gè)示例。
這個(gè)房間隔音效果很好。它通常還包括一個(gè)人造的人體軀干,一個(gè)在軀干內(nèi)模擬聲音的人造嘴(一個(gè)揚(yáng)聲器),以及一個(gè)預(yù)先設(shè)定好的距離的具有麥克風(fēng)功能的目標(biāo)設(shè)備。
這使測(cè)試人員能夠使用周?chē)膿P(yáng)聲器模擬不同的噪音,播放“軀干揚(yáng)聲器”的聲音,并在目標(biāo)設(shè)備上捕獲結(jié)果音頻并應(yīng)用您的算法。所有這些都可以編寫(xiě)腳本來(lái)自動(dòng)化測(cè)試。
出站噪聲與入站噪聲
噪音抑制真的有很多 陰影 。
假設(shè)您正在與您的團(tuán)隊(duì)參加電話會(huì)議。包括你在內(nèi),有四個(gè)參與者在通話中?,F(xiàn)在混音中可能有四種潛在的噪音。每個(gè)人都把背景噪音傳給別人。
傳統(tǒng)上,噪聲抑制是在邊緣設(shè)備上進(jìn)行的,這意味著噪聲抑制與麥克風(fēng)有關(guān)。你從麥克風(fēng)那里得到信號(hào),抑制噪音,然后把信號(hào)傳送到上游。
由于單個(gè) mic DNN 方法只需要一個(gè)源流,所以您可以將它放在任何地方。現(xiàn)在,假設(shè)您希望抑制所有參與者發(fā)出的麥克風(fēng)信號(hào)( 出站噪聲 )和揚(yáng)聲器信號(hào)( 進(jìn)站噪聲 )。
我們構(gòu)建了我們的應(yīng)用程序 克里斯普。 ,明確地處理入站和出站噪聲。
下面的視頻演示如何使用 DNN 完全消除非平穩(wěn)噪聲。
對(duì)于入站噪聲抑制,問(wèn)題變得更加復(fù)雜。
你需要處理聲音和聲音的變化,這不是噪聲抑制算法的典型特征。例如,您的團(tuán)隊(duì) MIG 可能正在使用會(huì)議設(shè)備,并且坐在遠(yuǎn)離該設(shè)備的地方。這意味著到達(dá)設(shè)備 MIG 的語(yǔ)音能量更低?;蛘咚麄?cè)谲?chē)上用 iPhone 在儀表板上給你打電話,這是一個(gè)固有的高噪音環(huán)境,由于與揚(yáng)聲器的距離較遠(yuǎn),聲音很低。在另一種情況下,多人同時(shí)講話,你希望保留所有的聲音,而不是將其中的一些聲音作為噪音加以抑制。
當(dāng)您撥打 Skype 電話時(shí),您會(huì)聽(tīng)到揚(yáng)聲器中的來(lái)電鈴聲。那響聲是不是噪音?或者說(shuō)“保留音樂(lè)”是不是一種噪音?我把它留給你。
向云端移動(dòng)
到目前為止,您應(yīng)該已經(jīng)對(duì)噪聲抑制的最新技術(shù)有了一個(gè)堅(jiān)實(shí)的概念,以及為此目的而使用的實(shí)時(shí)深度學(xué)習(xí)算法所面臨的挑戰(zhàn)。您還了解了關(guān)鍵的延遲要求,這些要求使問(wèn)題更具挑戰(zhàn)性。你的噪聲抑制算法所增加的總延遲不能超過(guò) 20 毫秒,這確實(shí)是一個(gè)上限。
由于該算法完全基于軟件,它是否可以遷移到云端,如圖 8 所示?
答案是肯定的。首先,基于云的噪聲抑制適用于所有設(shè)備。其次,它可以在兩條線路(或電話會(huì)議中的多條線路)上執(zhí)行。我們認(rèn)為噪音抑制和其他語(yǔ)音增強(qiáng)技術(shù)可以轉(zhuǎn)移到云端。這在過(guò)去是不可能的,因?yàn)槎帑溈孙L(fēng)的要求。移動(dòng)運(yùn)營(yíng)商已經(jīng)制定了各種質(zhì)量標(biāo)準(zhǔn),設(shè)備原始設(shè)備制造商必須執(zhí)行這些標(biāo)準(zhǔn)才能提供正確的質(zhì)量水平,迄今為止的解決方案是多個(gè)麥克風(fēng)。然而,深度學(xué)習(xí)使得在支持單麥克風(fēng)硬件的同時(shí),能夠在云端抑制噪聲。
最大的挑戰(zhàn)是算法的可擴(kuò)展性。
使用 NVIDIA GPUs 縮放 20 倍
如果我們希望這些算法能夠擴(kuò)展到足以服務(wù)于真實(shí)的 VoIP 負(fù)載,我們需要了解它們的性能。
大型 VoIP 基礎(chǔ)設(shè)施可同時(shí)服務(wù)于 10K-100K 流。我們認(rèn)識(shí)的一家 VoIP 服務(wù)提供商在一臺(tái)裸機(jī)媒體服務(wù)器上提供 3000 個(gè) G.711 呼叫流,這是相當(dāng)令人印象深刻的。
有許多因素影響媒體服務(wù)器(如 FreeSWITCH )可以同時(shí)提供多少音頻流。一個(gè)明顯的因素是服務(wù)器平臺(tái)。與裸機(jī)優(yōu)化部署相比,云部署的媒體服務(wù)器提供的性能要低得多,如圖 9 所示。
圖 9 。云托管媒體服務(wù)器與裸機(jī)媒體服務(wù)器的平均流并發(fā)性
服務(wù)器端噪聲抑制必須是經(jīng)濟(jì)高效的,否則沒(méi)有客戶想要部署它。
我們?cè)?2Hz 下的第一個(gè)實(shí)驗(yàn)是從 CPU s 開(kāi)始的。一個(gè) CPU 核心可以處理多達(dá) 10 個(gè)并行流。這不是一個(gè)非常劃算的解決方案。
然后我們?cè)?GPUs 上進(jìn)行了實(shí)驗(yàn),結(jié)果令人吃驚。單個(gè) NVIDIA 1080ti 可以在沒(méi)有任何優(yōu)化的情況下擴(kuò)展到 1000 個(gè)流(圖 10 )。在正確的優(yōu)化之后,我們看到了擴(kuò)展到 3000 個(gè)流;更多的可能是可能的。
圖 10 。 DNN 算法在 NVIDIA 1080ti 上具有很好的可伸縮性
原始媒體服務(wù)器加載,包括處理流和編解碼器解碼仍然發(fā)生在 CPU 上。使用 GPUs 的另一個(gè)好處是,只需將一個(gè)外部 GPU 連接到您的媒體服務(wù)器盒,并將噪聲抑制處理完全卸載到它身上,而不會(huì)影響標(biāo)準(zhǔn)音頻處理管道。
用 CUDA 配料
讓我們來(lái)看看為什么 GPU 比 CPU 更好地?cái)U(kuò)展這類(lèi)應(yīng)用程序。
CPU 傳統(tǒng)上,供應(yīng)商在優(yōu)化和加速單線程體系結(jié)構(gòu)方面花費(fèi)了更多的時(shí)間和精力。他們實(shí)現(xiàn)了算法、過(guò)程和技術(shù),盡可能地從單個(gè)線程中壓縮速度。由于過(guò)去大多數(shù)應(yīng)用程序只需要一個(gè)線程, CPU 制造商有充分的理由開(kāi)發(fā)架構(gòu)來(lái)最大化單線程應(yīng)用程序。
另一方面, GPU 供應(yīng)商針對(duì)需要并行性的操作進(jìn)行了優(yōu)化。這源于三維圖形處理的大規(guī)模并行需求。 GPUs 的設(shè)計(jì)使其成千上萬(wàn)的小內(nèi)核在高度并行的應(yīng)用程序中工作良好,包括矩陣乘法。
批處理是允許并行化 GPU 的概念。您將成批的數(shù)據(jù)和操作發(fā)送到 GPU ,它并行地處理它們并發(fā)送回。這是處理并發(fā)音頻流的完美工具,如圖 11 所示。
圖 11 。這個(gè)簡(jiǎn)化的圖表顯示了如何使用批處理在 GPU 上同時(shí)處理多個(gè)音頻幀
我們使用了 NVIDIA 的 CUDA 庫(kù) 直接在 NVIDIA GPUs 上運(yùn)行應(yīng)用程序并執(zhí)行批處理。下面的代碼片段使用 CUDA 執(zhí)行矩陣乘法。
void kernelVectorMul(RealPtr dst, ConstRealPtr src1, ConstRealPtr src2, const size_t n) { const size_t i = threadIdx.x + blockIdx.x * blockDim.x; if (i < n) dst[i] = src1[i] * src2[i]; } void Utils::vectorMul(RealPtr dst, ConstRealPtr src1, ConstRealPtr src2, const size_t n) { dim3 gridSize(n / getDeviceMaxThreadsX() + 1, 1, 1); dim3 blockSize(getDeviceMaxThreadsX(), 1, 1); kernelVectorMul <<< gridSize, blockSize >>> (dst, src1, src2, n); } void Utils::vectorMul(Vector& dst, const Vector& src1, const Vector& src2) { vectorMul(dst.getData(), src1.getData(), src2.getData(), dst.getSize()); } void Utils::matrixMulRowByRow(Matrix& dst, const Matrix& src1, const Matrix& src2) { vectorMul(dst.getData(), src1.getData(), src2.getData(), dst.getSize()); }
下面的代碼使用 CUDA 執(zhí)行 快速傅里葉變換 。
FFT::StatusType FFT::computeBackwardBatched(ComplexTypePtr src, RealTypePtr dst) { StatusType s = cufftExecC2R(backward_handle_, reinterpret_cast(src), dst); dim3 gridSize((getBatchSize() * getForwardDataSize()) / thr_max_ + 1, 1, 1); dim3 blockSize(thr_max_, 1, 1); float val = getForwardDataSize(); kernelDivide <<< gridSize, blockSize >>> (dst, val, getBatchSize() * getForwardDataSize()); return s; } FFT::StatusType FFT::computeBackwardBatched(ComplexVector& src, Vector& dst) { return computeBackwardBatched(src.getData(), dst.getData()); }
下載用于 Mac 的 Krisp
如果你想在你的 Mac 上嘗試基于深度學(xué)習(xí)的噪音抑制——你可以用 Crisp 應(yīng)用程序 來(lái)做。
下一步是什么?
音頻是一個(gè)令人興奮的領(lǐng)域,而噪聲抑制只是我們?cè)谔罩锌吹降膯?wèn)題之一。深度學(xué)習(xí)將帶來(lái)新的音頻體驗(yàn),在 2Hz 頻率下,我們堅(jiān)信深度學(xué)習(xí)將改善我們的日常音頻體驗(yàn)。在 修復(fù)語(yǔ)音中斷 和 高清語(yǔ)音播放 的博客文章中可以找到這樣的體驗(yàn)。
關(guān)于作者
Davit Baghdasaryan 是 2Hz.ai 的首席執(zhí)行官兼聯(lián)合創(chuàng)始人赫茲人工智能這是一家人工智能初創(chuàng)公司,在與伯克利和埃里溫的辦公室進(jìn)行實(shí)時(shí)通信時(shí)改善語(yǔ)音音頻質(zhì)量。
審核編輯:郭婷
-
gpu
+關(guān)注
關(guān)注
28文章
4930瀏覽量
130991 -
CUDA
+關(guān)注
關(guān)注
0文章
122瀏覽量
14101 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5557瀏覽量
122685
發(fā)布評(píng)論請(qǐng)先 登錄
如何抑制電子電路中的噪聲
差分信號(hào)傳輸中的噪聲抑制
NPU在深度學(xué)習(xí)中的應(yīng)用
深度學(xué)習(xí)模型的魯棒性優(yōu)化
GPU深度學(xué)習(xí)應(yīng)用案例
AI大模型與深度學(xué)習(xí)的關(guān)系
AI深度噪音抑制技術(shù)

評(píng)論