调研了下 AI 作曲,顺便做了期视频...快进来听歌!
文 | 白鹡鸰
編 | 小軼
視頻 | 白鹡鸰
嗨,大家好!這里是賣萌屋,我是白鹡鸰。今天和大家聊聊人工智能作曲。人工智能在音樂領域的應用已經非常常見了,像聽歌識曲、曲風分類、自動扒譜等等,而 利用機器來替代人類作曲 ?這顯然也不是新想法了。
核心問題只在于:
現在這個任務被做到了什么程度?
用的是什么方法?
Illiac Suite是歷史上第一段在計算機協助下編曲的古典樂,誕生于1956年[1]。
上面這段音樂則來自2020年1月出版的,第一張由神經網絡作曲、人工編輯后發行的音樂專輯Nobody's Song。雖然還達不到讓人印象深刻的程度,但若是將它混在一張輕音樂歌單當中,應該沒有幾個人能夠發現,這首曲子的作者不是人類。
事實上,音樂區的知名 up 主雙琴俠就做過一期視頻,請他們的朋友挑選了人類和人工智能作曲的各6首曲子,測試人類能否區分這些音樂之間的差異。結果,兩名職業小提琴手的錯判率都在50%左右,彈幕中網友的錯判率則更高。可見現在人工智能作曲的最佳成果,確實已經能和人類不相上下了。
原理
既然現在的人工智能作曲的表現已經如此優秀,我們必然要問,這是怎么做到的呢?為了解釋這個問題,需要對音樂的數據特征有初步的了解。
首先是音符的概念。常見的五線譜也好,簡譜也罷,都是用來記錄音符的。音符的要素是音高和音長。音高的本質是指聲音的頻率,音長則是一個聲音持續的時間。顯然,沒有說一個時刻只能有一個音符,因此就有了和弦;也沒有說一個時刻必須至少有一個音符,因此就有了空拍。
▲音高的本質是聲音的頻率第二個概念則是旋律,一串時間序列上的音符,或者是和弦,組成的就是旋律。由多段旋律組成的完整部分則是樂章。
其實,音樂和自然語言、圖像都分別有似與不似之處。拿自然語言作比,音符有點像單字,和弦則像單詞,旋律是一句話,樂章則是段落;不僅如此,音樂同樣也是依賴時序上的變化才能表達完整含義的。但是,自然語言所能傳遞的信息遠比音樂清晰,歧義顯然少了很多。音樂在局部表意的模糊性上,倒是和圖像更為類似。
▲音樂在局部表意的模糊性上,和圖像更為類似當然,我們也可以說,有規律的數據在模式上必然存在一定相似性。總之,在作曲任務上,將NLP、CV領域的學習模型遷移過來使用,可以說是預料之中的事情了。馬爾可夫鏈、遺傳算法、VAE、LSTM,這些算法都被嘗試過。不過我們還是著重介紹一下目前效果最好的幾個模型分別采用的方法吧。
算法
事先聲明,本次討論中,所謂的“效果最好”完全是由個人喜好判斷。如果有不同意見,還請大家自由保留。
Transformer
或許我們不應該感到驚訝,Transformer 又制霸了作曲領域。目前表現最好的谷歌的 Magenta[2],OpenAI 的 Jukebox[3] 都選擇了這條道路。不過呢,兩個模型在細節上差別很大,它們還恰好代表了現在自動作曲研究的兩大風向。
Magenta - Google
Magenta的模型對于Transformer本身沒有任何的改動,直接調用了一個自然語言翻譯的 Transformer 庫 Tensor2Tensor 。它的輸入也是作曲任務當中最常用的"類MIDI"格式編碼:用編號指代音高,通過占位符(音樂標記中一般用下劃線)來表示音長,最下面兩行,第一行是指每個占位符在對應一個四分音符中的第幾個十六分音符,第二行則是布爾數值,用來標明是否存在延音。大概就是長成這樣:
▲‘類MIDI’格式編碼由于目前作曲方面最常用的數據庫Bach Chorale從選曲的時候就保證了只會包含最多同時存在四個音符的旋律片段,因此四行就足夠記錄所有關于音高和音長的信息。這種形式編碼的樂譜在可視化的時候可以轉換成這樣:
確實能夠直觀地讓人知道整首曲子旋律的變化過程,這也可以證明這種編碼方式確實足夠高效,難怪會被廣泛應用了。Magenta就是把這樣一段編碼打包成tensor,塞進Transformer里進行訓練的。忽略模型沒有什么新意的問題,光說效果的話還是不錯的。
Jukebox - OpenAI
與Magenta不同,Jukebox的目標是在給定旋律開頭和歌詞內容后,能夠生成歌曲。Jukebox的創作者們認為,通過編碼音調生成的聲音在單個音符上輸出的音色沒有變化,因此生成的音樂過于死板。為了解決這個問題,他們決定直接從音頻層面對輸入進行編碼。通過VAE對音頻進行多個頻率層級的采樣,然后轉為向量形式的量化特征。根據Jukebox的說法,他們在對不同流派的音樂打上標簽之后,模型成功學會了生成不同風格的曲目。但作為聽眾,我的感受是隨著曲子推進到后期,風格會越來越難以維持。而且,以音頻作為輸入、輸出格式的模型,不可避免地導致了樂曲變成了全損音質。
▲Jukebox處理音頻的過程Deep RNN
DeepBach[4]
DeepBach 可以說是深度神經網絡模型中作曲效果為數不多比較好的。主要理由是,它專注于生成巴赫風格的曲子,而巴赫的曲子總的來說節奏比較規整,在樂理方面也非常守規矩。
DeepBach的編碼方式和現在Magenta的transformer是一樣的,模型當中,使用了兩個RNN網絡,一個用于處理樂譜中過去的旋律,一個用于處理樂譜中將會演奏的旋律,然后和“現在”的音符編碼處理好的特征拼接在一起,再經過神經網絡。比較有意思的是音樂的生成,在學會了“巴赫的規則”之后,模型就基于偽吉布斯隨機采樣,用馬爾可夫鏈蒙特卡洛方法隨機游走出一條旋律。想想現在你聽到的音樂,居然僅僅是基于一些參數由電腦隨機生成的,它還這么和諧,這么巴赫,個人而言,感覺非常奇妙。
▲DeepBach網絡結構其他
順便禮節性地提一句,早年GAN網絡、LSTM在自動作曲方面同樣有所應用,不過就效果而言現在已經完敗于Transformer,所以就不展開了。
「最佳應用」- AIVA
除了以上能夠較為清楚地了解原理的模型之外,我們還必須提一下世界上的第一位人工智能作曲家,AIVA。AIVA由法國的音樂組織SACEM制作,于2016年2月推出,目前已經發行了五張專輯。我在官網上注冊了一個賬號,可以看出,它已經能夠快速地生成多種風格的音樂旋律。比較可惜的是作為商用軟件,在原理方面AIVA并沒有公開。根據我個人的猜測,它在模型設計方面未必特別精巧,但是樂理方面人工編寫的規則和參數調整比上述模型會更多,網絡模型在體量上也會更大。
▲AIVA小結
在大致感受完一圈目前人工智能作曲的水平之后,相信大家內心都有了各自的評判。視頻的最后,還是要老生常談一下:人工智能作曲會取代人類嗎?
我個人對這個問題的回答是:會也不會。
按照現在的進度來看,人工智能作曲可以快速地生成很多聽起來挑不出大錯的旋律,只要稍加編輯,就可以作為日常的背景音樂使用。因此,在一些需要音樂作為調劑,但對音樂本身質量要求不高的場合,人工智能很可能替代人類進行作曲,批量制造氛圍音樂。
然而,人工智能最大的弱點在于,它無法理解情感,而音樂是最純粹地用于傳遞情感的藝術類別。即使同一段旋律,速度、強弱上的變化能夠造成完全不同的效果,更不要說,還有音色的變化,樂器的選擇。因為無法理解情感,人工智能只能簡單地模仿已有的樂曲,創造出包含類似情感的片段,輸出的樂曲中往往有大量的重復,而且旋律到下一段旋律,表達的情感并不一致。
因此,真正能打動人、值得反復欣賞的旋律,恐怕最終還是需要人類來創作。也就是說,人工智能作曲只是拔高了音樂創作的門檻,它的存在將會督促作曲家們不再制造簡單粗糙的聲音,而是去更仔細地審視音樂中的細節,鉆研該如何用這一媒介更好地來傳遞情感。
歡迎各位關注賣萌屋 b 站賬號~賣萌屋今后也將持續(隨緣)更新視頻。
賣萌屋 b 站鏈接:
https://www.bilibili.com/video/BV1XP4y1G7Bt?spm_id_from=333.999.0.0
萌屋作者:白鹡鸰
白鹡鸰(jí líng)是一種候鳥,天性決定了會橫跨很多領域。已在上海交大棲息四年,進入了名為博士的換毛期。目前以圖像語義為食,但私下也對自然語言很感興趣,喜歡在賣萌屋輕松不失嚴謹的氛圍里浪~~形~~飛~~翔~~
知乎ID也是白鹡鸰,歡迎造訪。
作品推薦:
NLP太卷,我去研究蛋白質了~
谷歌40人發表59頁長文:為何真實場景中ML模型表現不好?
學術&工業界大佬聯合打造:ML產品落地流程指南
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Hiller Jr, Lejaren A., and Leonard M. Isaacson. "Musical composition with a high speed digital computer." Audio Engineering Society Convention 9. Audio Engineering Society, 1957.1
[2] Huang, Cheng-Zhi Anna, et al. "Music transformer." arXiv preprint arXiv:1809.04281 (2018). https://magenta.tensorflow.org/music-transformer
[3] Dhariwal, Prafulla, et al. "Jukebox: A generative model for music." arXiv preprint arXiv:2005.00341 (2020). https://www.youtube.com/watch?v=BUIrbZS5eXc
[4] Hadjeres, Ga?tan, Fran?ois Pachet, and Frank Nielsen. "Deepbach: a steerable model for bach chorales generation." International Conference on Machine Learning. PMLR, 2017.
總結
以上是生活随笔為你收集整理的调研了下 AI 作曲,顺便做了期视频...快进来听歌!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在K40小破卡训练50层BERT Lar
- 下一篇: 薪资不逊NLP算法岗,边缘AI火了!