Categories
程式開發

谷歌開源框架FUSS,讓聲音分離不再成為難題


近日,谷歌研究團隊在其開源博客上發布了一個免費的通用聲音分離數據集,即FUSS。這個數據集將被當作IEEE聲音事件檢測和分離任務網絡挑戰競賽的基準,並有助於將來自其他機器學習領域的新技術快速迭代和應用到對聲音分離的科研上。

近日,我們很高興地宣布發布FUSS——即免費的通用聲音分離數據集(Free Universal Sound Separation)。

通常錄製的音頻可能會包含多種不同的聲源。通用聲音分離能力是指,無論音頻中包含何種類型的聲音,都可以將這樣的混合音頻按其組成分解為不同聲音。在此方法問世之前,聲音分離的工作更多關注於把混合音頻分解成少量指定類型的聲音,如“語音”與“非語音”,或分解成同一類型聲音的不同實例,如1號發言者與2號發言者。而且,通常在這樣的聲音分解工作中,混合音頻中的聲音數量也是被假定為先驗的,即事先知曉的。然而,這次發布的FUSS數據集將關注點轉移到解決更通用的問題上,即將數量可變的任意聲音從混合音頻中逐一分離。

在這個領域,訓練模型一個需要克服的主要障礙是,即使有高質量的混合音頻錄音,用基準真相(ground truth)來對這些錄音進行數據標註也並不是一件容易的事情。高質量的仿真是克服這一限制的一種解決方法。為了獲得良好的仿真效果,需要一組多樣化的各式各樣的聲音、一個逼真的房間模擬器,以及將這些元素混合在一起的代碼,以求實現逼真的、多源的、多種類型的音頻,並將之用基準真相進行標註。使用新發布的FUSS數據集,我們就能實現擁有這三個特徵的音頻仿真。

FUSS依靠的是來自freesound.org網站的具有知識共享(Creatuve Cinnibs)許可的音頻剪輯。我們團隊根據許可類型將這些聲音過濾搜索出來,然後使用FSD50k的預發布版本,進一步過濾掉那些混合在一起時無法被分離的聲音。經過這些過濾之後,有大約23個小時的音頻,包括12377種聲音,可以用於混合聲音的機器學習。在我們的研究中,其中有7237種聲音用於訓練;2883種用於驗證;2257種用於評估。使用這些音頻剪輯,我們創建了2萬個訓練混合音頻、1000個驗證混合音頻和1000個評估混合音頻。

在開源機器學習平台TensorFlow上,我們開發出了自己的房間模擬器。在給定聲源位置和麥克風位置的條件下,該房間模擬器能夠生成一個箱形房間的脈衝響應,且該箱型房間帶有頻率相關的聲音反射特性。作為FUSS數據集發布的一部分,我們為每個音頻樣本都提供了預先計算出來的房間脈衝響應以及混合代碼,因此音頻方面的研究社區可以直接用這個數據集來模擬新的音頻,而無需去運行房間模擬器所要求的海量計算。接下來,我們還將繼續的工作可能會包括發布房間模擬器的代碼,和擴展房間模擬器功能以處理更豐富的聲學特性,比如不同反射性能的材料、非規則的房間形狀等等。

最後,我們還發布了一個基於掩碼的分離模型,該模型基於一個改進的時域卷積網絡(TDCN++)。在評估數據集上,該模型處理2 ~ 4個信號源的混合音頻時,成功實現了12.5 dB的尺度不變信噪比改善(SI-SNRi),同時重建了具有37.6 dB絕對尺度不變信噪比的單源混合音頻。

可以在這裡找到源音頻、混響脈衝響應、迴響混合音頻和由混合代碼創建的聲音來源,和一個基線模型檢查程序的下載。還可以在我們的github頁面上找到迴響、混合音頻數據以及用於發布模型訓練的所有相關代碼(地址:https://github.com/google-research/sound-separation)。

該數據集作為聲音事件檢測和分離任務的功能組件,還將用於IEEE發起的DCASE挑戰。我們發布的模型將被當作本次IEEE網絡競賽的基準,並作為標準檢查程序在未來實驗中對進展進行展示。

我們希望這個數據集將幫助大家清除新研究的障礙,尤其是有助於未來其他機器學習領域新技術的快速迭代和應對聲音分離科研上的挑戰上。

原文鏈接:

https://opensource.googleblog.com/2020/04/free-universal-sound-separation.html