今天小編分享的科技經驗:音樂也逃不過AIGC:國風搖滾都來得(内藏ikun彩蛋),歡迎閱讀。
" 再多看一眼就會爆炸,再靠近點就快被融化 " 到底是個什麼感覺?
(這是一句《只因你太美》中的歌詞)
下面的音樂或許能讓你體會到這種 " 從來未有 " 的 feel,坤坤聽了都會直呼内行。
這段音樂來自 Meta 最新推出的文生音樂工具 MusicGen。
只需要輸入一段文字,點擊生成按鈕就能得到一段最長 30 秒的音樂,而且支持中文。
不懂樂理也沒關系,MusicGen 還可以上傳已有的音樂作為參照。
比如上面這段音樂就是結合了原曲旋律重新生成的。
如果你實在不知道怎麼 prompt,也可以像這位網友一樣問問 ChatGPT:
無論是國風還是搖滾風都能輕松駕馭,甚至是兩者結合。
哪怕國風伴奏也難不倒 MusicGen。
測試結果顯示,MusicGen 的綜合評分比谷歌的 MusicLM 高出了 5.36%。
有網友給出了詳細的測評體驗:
這個模型似乎沒有專門針對樂隊名稱進行訓練,但用已有的風格生成音樂時表現非常好。
……
盡管(項目)網站中的示例是(開發者)挑選過的,但這并不能否定它可以生成好的作品。
如何實現
音樂的合成涉及多段旋律以及多種音色(樂器)之間的協調。
而不同于語音合成,人類對音樂之中的不和諧因素更為敏感。
那麼 MusicGen 是如何完成這一復雜任務的呢?
我們先來看看它的訓練數據。
Meta 團隊一共使用了兩萬小時的音樂。
這之中包括一萬條内部搜集的高質量音軌以及 ShutterStock 和 Pond5 素材庫中的數據。
來自後兩者的數據量分别為 2.5 萬和 36.5 萬。
這些音樂數據在 32kHz 下被重新采樣,都配有流派、BPM 等基本信息和復雜一些的文字說明。
除了上述訓練數據,Meta 團隊還準備了評價數據集 MusicCaps。
MusicCaps 由 5500 條專業作曲家譜寫的 10 秒長的音樂構成,其中包括一千條平衡各個音樂流派的子集。
說完訓練數據,我們來具體看看 MusicGen 的工作流程。
第一步是将聲音信息轉化為 token。
這一步使用的是 Meta 去年研發的卷積網絡編碼器 EnCodec。
至于編碼方式,Meta 團隊通過實驗對四種不同的方式進行了測試。
最終,團隊選擇了延時模式(下圖右下)并進行了精準建模。
最核心的 Transformer 部分,團隊訓練了 300M、1.5B、3.3B 三個不同參數量的自回歸式 Transformer。
在混合精度下,訓練上述三個參數量的 Transformer 分别使用了 32、64 和 96 塊 GPU。
對于文字處理,在評估了多個前人成果後 Meta 團隊最終選用了 Google 團隊 2020 年提出的 T5 模型。
對于音樂旋律的調整,團隊選用了無監督的方式進行,規避了監督數據不佳導致的過拟合問題。
最終,Transformer 輸出的數據被轉換為對數形式,然後根據編碼本生成最終的成品。
體驗方式
目前,想要體驗 MusicGen,一共有三種方式。
第一種方式是直接用官方在 Hugging Face 發布的 DEMO。
(傳送門見文末)
這種方法操作最為簡單,點進鏈接就能用。
缺點是得排隊,有時候還會趕上伺服器被擠爆、重新 building 等情況。
第二種是通過谷歌 Colab搭建。
比第一種多了個一鍵部署的步驟,不過也比較簡單,官方已經把部署要用的代碼準備好了。
進入之後,點擊左上角的運行按鈕即可完成一鍵部署,然後會得到一個專屬鏈接,點進去就可以體驗了。
不過這種操作方式需要谷歌賬号才能用。
第三種方式則是自行部署。
你需要有足夠性能的 GPU,且已經安裝了 PyTorch2.0 或以上版本。
使用下面的命令即可完成安裝:
# Best to make sure you have torch installed first, in particular before installing xformers.
# Don't run this if you already have PyTorch installed.
pip install 'torch>=2.0'
# Then proceed to one of the following
pip install -U audiocraft # stable release
pip install -U git+https://[email protected]/facebookresearch/audiocraft#egg=audiocraft # bleeding edge
pip install -e . # or if you cloned the repo locally
安裝好後,使用【python app.py】命令即可運行。
傳送門
Hugging Face:
https://huggingface.co/spaces/facebook/MusicGen
谷歌 Colab:
https://colab.research.google.com/drive/1-Xe9NCdIs2sCUbiSmwHXozK6AAhMm7_i?usp=sharing
論文地址:
https://arxiv.org/abs/2306.05284
GitHub 頁面:
https://github.com/facebookresearch/audiocraft
參考鏈接:
[ 1 ] https://twitter.com/dr_cintas/status/1667597176145313793
[ 2 ] https://twitter.com/nikhilaravi/status/1667692767534006273
[ 3 ] https://news.ycombinator.com/item?id=36271926