把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

視頻演示了這一通用的音樂遷移網絡的轉換效果。視頻中演示了莫扎特的交響曲、海頓的絃樂四重奏,以及巴赫演奏的各種樂器,除了古典的音樂,甚至還包含了合唱團的聲音、非洲音樂和吹口哨的聲音。

你可以輸入海頓的絃樂四重奏,然後輸出莫扎特的交響樂曲、巴赫的清唱劇,亦或者是管風琴以及貝多芬的鋼琴等風格多樣的曲風。

視頻裡總共展示了21個樣本,對樂器、人聲、鼓聲、交響、歌劇等各種風格的音樂進行了輸入,輸出的音樂有時候確實出乎你的意料。

這裡用到的神奇魔法我們之前在圖像領域已經使用過了。不久前,文摘菌剛剛介紹了英偉達發佈的一篇很有趣的論文,通過遷移學習,將貓咪的圖片轉換生成獅子,老虎甚至汪星人的圖像(點擊查看報道)。

這次的小魔法依然是使用遷移網絡進行的,和英偉達的研究不同,這次,風格遷移被用在了音樂界——不同曲風之間的轉換上。

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

Facebook AI研究院的最新論文:一種通用的音樂遷移網絡

在大數據文摘後臺回覆“音樂”可下載論文~

不想啃生肉的同學,以下是論文精華內容:

本文提出了一種能在不同樂器,流派和風格之間實現音樂曲風遷移的方法。該方法基於一個多域WaveNet自編碼器(注:WaveNet,谷歌公佈的一種原始音頻波形深度生成模型),一個共享編碼器和一個經過訓練的、端到端的隱式波形解碼空間。

採用不同的訓練數據集和大容量的網絡,獨立域的編碼器甚至可以實現未經訓練的音樂域內的曲風遷移。該方法具有無監督性,並且訓練過程不依賴有監督訓練中,目標域音頻與輸入音頻之間的樣本匹配。我們用NSynth數據集和一個由專業音樂家收集的數據集上評估了該方法,效果良好。

相關工作

域遷移

本文中,首先利用大量真實數據對自迴歸模型進行了訓練(即teacher forcing算法),然後由該模型生成輸出結果。我們僅在測試過程中進行了自迴歸推理,為了訓練GAN網絡,在實際生成音頻時(機器輸出的“假”音頻),並沒有使用自迴歸模型。

音頻合成

在本文的編碼-解碼結構中,使用WaveNet 模型作為解碼器的輸出,並通過該模型將輸出結果反向傳播至編碼器中。

與之間的研究結果不同,本文中的輸入數據收集於消費類媒體,並且沒有經過預先處理。我們的總體結構中增加了多解碼器和用於訓練退相干的輔助網絡,並增加了重要的數據增強步驟。在前期工作中,為選擇編碼器和解碼器選擇相同的超參數,進一步增加了該方法的輸出效果。

風格遷移

風格遷移的本質是,在輸入和輸出過程中,音頻的“內容”保持不變,但音頻的“風格”進行了改變。

本文中採用了目前較為成熟的經典分類方法,但是該方法仍不適用於單聲道樂器(每次採集一個音符)。此類方法都是基於綜合框架進行分析。首先,通過分析音頻信號使用和聲追蹤方法提取出音調和音色,然後通過一個已知的音色模型,將其轉換成另一種單聲道樂器的音頻。

論文方法

WaveNet 自編碼器

模型中的編碼器是一個完整的卷積網絡,可以計算任意的長度的序列。該網絡有三個區域,每個區域有10個殘差層。每個殘差層包含一個RELU非線性函數,一個隨著核的尺寸而增加的卷積矩陣,進行二次計算的RELU函數,和一個1×1卷積矩陣,該矩陣用來表示第一次RELU函數計算之前激活函數的殘差和。

該模型有128個固定寬度的通道,除了上面提到的三個區域,還有一個階數是1×1附加區域。殘差層下面是一個核大小為50毫秒(800個樣本)的平均池,用來獲得R64中的編碼,並通過乘以12.5實現短時降採樣。

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

模型結構

在編碼過程中使用最近鄰插值實現短時上採樣,將音頻調整到到原始比率,並作為WaveNet解碼器的限制條件,通過對每個WaveNet層增加不同的階數為1×1的附加層進行限制。

輸入和輸出的音頻分別量化為8個比特的文件,然後利用mu-law法則進行編碼,這也導致了一些音頻質量的損失。該WaveNet解碼器具有4個區域,每個區域都由10個殘差層構成,因此該解碼器一次可接收4093個樣本,或者說時間步為250毫秒。

增強輸入音頻

為了提高編碼器的泛化能力,並使它保留高級信息,我們使用專門的增強程序來改變音調。由此生成的音頻,質量和源音頻相差無幾,只是略微有點跑調。具體來講,我們將音頻分割成長度為1秒的片段進行訓練。在增強程序中,統一選擇音頻長度在0.25到0.5秒之間的片段,並使用Python中的librosa工具包生成-0.5到0.5之間的隨機數,對音調進行調製。

訓練過程和損失函數

在訓練過程中,j代表不同的域,且j=1,2,……k。s^j表示輸入樣本,E表示共享編碼器,D^j表示域j中的WaveNet解碼器。C表示分類網絡,O(s,r)表示將隨機種子r用於增強程序中對樣本s進行調製。

自編碼器基於下列損失函數進行訓練:

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

其中,L(o,y)是每個輸出元素o與之相對應的目標元素之間的交叉熵損失。解碼器D^j是一個自迴歸模型,根據輸出結果E進行約束。在訓練過程中,通過上一步的目標輸出s^j對自迴歸模型進行調整。通過對分類網絡C進行訓練,使得分類損失最小化,其中分類損失為:

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

實驗過程

訓練過程

我們用六個域的古典音樂數據對網絡進行了訓練,分別是:

  • 莫扎特的46首交響樂,由卡爾·伯姆(Karl B Hm)指揮;

  • 海頓的27首絃樂四重奏,由Amadedus Quartet演奏;

  • 約翰·塞巴斯蒂安·巴赫(J.S.Bach)的管絃樂隊,合唱團和獨奏曲目;

  • 巴赫的管風琴音樂;

  • 貝多芬的32首鋼琴奏鳴曲,由丹Daniel Barenboim演奏;

  • 巴赫的鍵盤音樂,用羽管鍵琴(Harpsichord)演奏。

通過將音軌(或音頻文件)分為兩個數據集,分別進行了模型的訓練和測試。

遷移質量的評估

E表示由多種演奏背景的三個專業音樂家演奏的作品,他們都是從音樂學院畢業且在音樂理論和鋼琴演奏上都有深厚的背景,同樣也精通音樂改編。M表示由一位在音樂改編方面的專家演奏的作品,同時他也專業的音樂製作人、作曲家、鋼琴家和錄音工程師。A表示由一位音樂製作人演奏的作品,同時也是音樂剪輯師,並能熟練演奏鍵盤和其他樂器。

音樂改編的任務是,將5秒長的音頻分成60個音樂片段,並分別用鋼琴進行彈奏。音樂片段來自不同的數據集。其中20個片段來自巴赫的鍵盤作品,用羽管鍵琴演奏;另外20個片段則來自莫扎特的交響樂,屬於管絃樂作品。

最後20個片段是三個不同領域音樂的組合——搖擺爵士樂,吉他即興演奏音樂和中國樂器演奏的音樂,而且沒有使用該數據集對模型進行訓練。

60個音樂片段由通用編碼器進行編碼,並由經過Daniel Barenboim演奏的由貝多芬鋼琴奏鳴曲訓練的WaveNet進行解碼。

我們使用平均意見值(Mean Opinion Scores (MOS))來評估音頻質量,並通過使用CrowdMOS工具包採集了音頻的MOS。評估過程中考慮兩個標準:

  • 音頻的質量;

  • 改編後的音頻與源音頻的相似度。

改編音頻的MOS評分表

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

實驗結果如上圖所示。結果表明,模型生成的音頻質量低於由人類演奏的電子鍵盤的音頻質量。

此外,從羽管鍵琴遷移生成的音頻的MOS高於從管絃樂遷移生成的音頻。令人驚喜的是,從混合域遷移生成的音頻,其MOS高於其他任何域的遷移音頻。在所有條件下,人類演奏家的音頻質量均高於我們模型生成的音頻,他們的演奏音頻即將作為一個公共數據集進行公佈。

接著,我們評估了不同條件下,人類演奏音頻和模型生成音頻與源音頻的音色之間歸一化相關性,其結果如下圖所示。

改編音頻的歸一化相關係數

把你的口哨變成莫扎特風,Facebook發佈通用音樂遷移網絡

由上圖可以看出,模型生成的音頻的音色與源音頻更接近,並且高於人類演奏家的得分。而且在動態時間規劃(Dynamic Time Warping,DTW)方法評估下,差距將進步一縮小。

結論

我們的研究成果對一些高級任務提供了參考,如由機器實現音樂的改編和自動譜曲。對於第一項任務,通用編碼器應該可以勝任,因為它能夠以某種方式捕獲所需的信息,正如上面的MOS評分表。對於第二項任務,我們已經得到了初步結果。通過減小隱式解碼空間的大小,解碼器變得更加“富有創造性”,輸出的音頻也會表現出自然而新穎的特性,換句話說,不考慮輸出音頻和原始音頻之間的匹配關係,通用編碼器也有望實現第二項任務。

相關報道:

https://www.youtube.com/watch?v=vdxCqNWTpUs&feature=youtu.be

https://arxiv.org/pdf/1805.07848.pdf


分享到:


相關文章: