音樂Geek們昨天可能沒能睡個安穩覺,最能體現他們創造力的一項能力——編曲技能正在被AI獲取。
玩兒音樂的人都知道,編曲這項工作被公認為最能夠體現藝術家創造力的一項能力。而就在昨天,Facebook AI研究院的釋出的最新論文《一種通用的音樂遷移網路》稱,他們已經可以透過遷移網路,實現音色和曲風的自動轉化。
這是什麼概念呢?簡而言之就是,你隨便吹出的一段口哨,已經可以在很短的時間內,被AI轉換成為莫扎特風格的鋼琴曲,又或者貝多芬風格的交響樂。
讓我們先來聽聽下面這段音訊,感受一下,一段有節奏的口哨聲可以在這個神奇的網路中,變成哪些美妙的樂曲。
Facebook還針對這個論文,在youtube上釋出了一段炫酷的影片,引爆了一眾音樂人和科技從業者。文摘菌也把這個影片帶回了牆內,讓我們也來一睹為快這個有趣的轉化過程。
這段影片很好的詮釋了這個網路是如何進行自動音色轉化的
點選檢視影片☟
影片演示了這一通用的音樂遷移網路的轉換效果。影片中演示了莫扎特的交響曲、海頓的絃樂四重奏,以及巴赫演奏的各種樂器,除了古典的音樂,甚至還包含了合唱團的聲音、非洲音樂和吹口哨的聲音。
你可以輸入海頓的絃樂四重奏,然後輸出莫扎特的交響樂曲、巴赫的清唱劇,亦或者是管風琴以及貝多芬的鋼琴等風格多樣的曲風。
影片裡總共展示了21個樣本,對樂器、人聲、鼓聲、交響、歌劇等各種風格的音樂進行了輸入,輸出的音樂有時候確實出乎你的意料。
這裡用到的神奇魔法我們之前在影像領域已經使用過了。不久前,文摘菌剛剛介紹了英偉達釋出的一篇很有趣的論文,透過遷移學習,將貓咪的圖片轉換生成獅子,老虎甚至汪星人的影像(點選檢視報導)。
這次的小魔法依然是使用遷移網路進行的,和英偉達的研究不同,這次,風格遷移被用在了音樂界——不同曲風之間的轉換上。
Facebook AI研究院的最新論文:一種通用的音樂遷移網路
不想啃生肉的同學,以下是論文精華內容:
本文提出了一種能在不同樂器,流派和風格之間實現音樂曲風遷移的方法。該方法基於一個多域WaveNet自編碼器(注:WaveNet,谷歌公佈的一種原始音訊波形深度生成模型),一個共享編碼器和一個經過訓練的、端到端的隱式波形解碼空間。
採用不同的訓練資料集和大容量的網路,獨立域的編碼器甚至可以實現未經訓練的音樂域內的曲風遷移。該方法具有無監督性,並且訓練過程不依賴有監督訓練中,目標域音訊與輸入音訊之間的樣本匹配。我們用NSynth資料集和一個由專業音樂家收集的資料集上評估了該方法,效果良好。
相關工作
域遷移
本文中,首先利用大量真實資料對自迴歸模型進行了訓練(即teacher forcing演算法),然後由該模型生成輸出結果。我們僅在測試過程中進行了自迴歸推理,為了訓練GAN網路,在實際生成音訊時(機器輸出的“假”音訊),並沒有使用自迴歸模型。
音訊合成
在本文的編碼-解碼結構中,使用WaveNet 模型作為解碼器的輸出,並透過該模型將輸出結果反向傳播至編碼器中。
與之間的研究結果不同,本文中的輸入資料收集於消費類媒體,並且沒有經過預先處理。我們的總體結構中增加了多解碼器和用於訓練退相干的輔助網路,並增加了重要的資料增強步驟。在前期工作中,為選擇編碼器和解碼器選擇相同的超引數,進一步增加了該方法的輸出效果。
風格遷移
風格遷移的本質是,在輸入和輸出過程中,音訊的“內容”保持不變,但音訊的“風格”進行了改變。
本文中採用了目前較為成熟的經典分類方法,但是該方法仍不適用於單聲道樂器(每次採集一個音符)。此類方法都是基於綜合框架進行分析。首先,透過分析音訊訊號使用和聲追蹤方法提取出音調和音色,然後透過一個已知的音色模型,將其轉換成另一種單聲道樂器的音訊。
論文方法
WaveNet 自編碼器
模型中的編碼器是一個完整的卷積網路,可以計算任意的長度的序列。該網路有三個區域,每個區域有10個殘差層。每個殘差層包含一個RELU非線性函式,一個隨著核的尺寸而增加的卷積矩陣,進行二次計算的RELU函式,和一個1×1卷積矩陣,該矩陣用來表示第一次RELU函式計算之前啟用函式的殘差和。
該模型有128個固定寬度的通道,除了上面提到的三個區域,還有一個階數是1×1附加區域。殘差層下面是一個核大小為50毫秒(800個樣本)的平均池,用來獲得R64中的編碼,並透過乘以12.5實現短時降取樣。
模型結構
在編碼過程中使用最近鄰插值實現短時上取樣,將音訊調整到到原始比率,並作為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進行調製。
自編碼器基於下列損失函式進行訓練:
其中,L(o,y)是每個輸出元素o與之相對應的目標元素之間的交叉熵損失。解碼器D^j是一個自迴歸模型,根據輸出結果E進行約束。在訓練過程中,透過上一步的目標輸出s^j對自迴歸模型進行調整。透過對分類網路C進行訓練,使得分類損失最小化,其中分類損失為:
實驗過程
訓練過程
我們用六個域的古典音樂資料對網路進行了訓練,分別是:
莫扎特的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評分表
實驗結果如上圖所示。結果表明,模型生成的音訊質量低於由人類演奏的電子鍵盤的音訊質量。
此外,從羽管鍵琴遷移生成的音訊的MOS高於從管絃樂遷移生成的音訊。令人驚喜的是,從混合域遷移生成的音訊,其MOS高於其他任何域的遷移音訊。在所有條件下,人類演奏家的音訊質量均高於我們模型生成的音訊,他們的演奏音訊即將作為一個公共資料集進行公佈。
接著,我們評估了不同條件下,人類演奏音訊和模型生成音訊與源音訊的音色之間歸一化相關性,其結果如下圖所示。
改編音訊的歸一化相關係數
由上圖可以看出,模型生成的音訊的音色與源音訊更接近,並且高於人類演奏家的得分。而且在動態時間規劃(Dynamic Time Warping,DTW)方法評估下,差距將進步一縮小。
結論
我們的研究成果對一些高階任務提供了參考,如由機器實現音樂的改編和自動譜曲。對於第一項任務,通用編碼器應該可以勝任,因為它能夠以某種方式捕獲所需的資訊,正如上面的MOS評分表。對於第二項任務,我們已經得到了初步結果。透過減小隱式解碼空間的大小,解碼器變得更加“富有創造性”,輸出的音訊也會表現出自然而新穎的特性,換句話說,不考慮輸出音訊和原始音訊之間的匹配關係,通用編碼器也有望實現第二項任務。