再多看一眼就会爆炸,是个什么感觉?

克雷西 发自 凹非寺

量子位 | 公众号 QbitAI

“再多看一眼就会爆炸,再靠近点就快被融化”到底是个什么感觉?

(这是一句《只因你太美》中的歌词)

下面的音乐或许能让你体会到这种“从来未有”的feel,坤坤听了都会直呼内行。

【音频效果请移步公众号文章】

这段音乐来自Meta最新推出的文生音乐工具MusicGen。

只需要输入一段文字,点击生成按钮就能得到一段最长30秒的音乐,而且支持中文。

不懂乐理也没关系,MusicGen还可以上传已有的音乐作为参照。

【音频效果请移步公众号文章】

比如上面这段音乐就是结合了原曲旋律重新生成的。

如果你实在不知道怎么prompt,也可以像这位网友一样问问ChatGPT:

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

无论是国风还是摇滚风都能轻松驾驭,甚至是两者结合。

【音频效果请移步公众号文章】

哪怕国风伴奏也难不倒MusicGen。

【音频效果请移步公众号文章】

测试结果显示,MusicGen的综合评分比谷歌的MusicLM高出了5.36%。

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

有网友给出了详细的测评体验:

这个模型似乎没有专门针对乐队名称进行训练,但用已有的风格生成音乐时表现非常好。
……
尽管(项目)网站中的示例是(开发者)挑选过的,但这并不能否定它可以生成好的作品。

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

如何实现

音乐的合成涉及多段旋律以及多种音色(乐器)之间的协调。

而不同于语音合成,人类对音乐之中的不和谐因素更为敏感。

那么MusicGen是如何完成这一复杂任务的呢?

我们先来看看它的训练数据。

Meta团队一共使用了两万小时的音乐。

这之中包括一万条内部搜集的高质量音轨以及ShutterStock和Pond5素材库中的数据。

来自后两者的数据量分别为2.5万和36.5万。

这些音乐数据在32kHz下被重新采样,都配有流派、BPM等基本信息和复杂一些的文字说明。

除了上述训练数据,Meta团队还准备了评价数据集MusicCaps。

MusicCaps由5500条专业作曲家谱写的10秒长的音乐构成,其中包括一千条平衡各个音乐流派的子集。

说完训练数据,我们来具体看看MusicGen的工作流程。

第一步是将声音信息转化为token。

这一步使用的是Meta去年研发的卷积网络编码器EnCodec。

至于编码方式,Meta团队通过实验对四种不同的方式进行了测试。

最终,团队选择了延时模式(下图右下)并进行了精准建模。

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

最核心的Transformer部分,团队训练了300M、1.5B、3.3B三个不同参数量的自回归式Transformer。

在混合精度下,训练上述三个参数量的Transformer分别使用了32、64和96块GPU。

对于文字处理,在评估了多个前人成果后Meta团队最终选用了Google团队2020年提出的T5模型。

对于音乐旋律的调整,团队选用了无监督的方式进行,规避了监督数据不佳导致的过拟合问题。

最终,Transformer输出的数据被转换为对数形式,然后根据编码本生成最终的成品。

体验方式

目前,想要体验MusicGen,一共有三种方式。

第一种方式是直接用官方在Hugging Face发布的DEMO

(传送门见文末)

这种方法操作最为简单,点进链接就能用。

缺点是得排队,有时候还会赶上服务器被挤爆、重新building等情况。

第二种是通过谷歌Colab搭建。

比第一种多了个一键部署的步骤,不过也比较简单,官方已经把部署要用的代码准备好了。

(传送门见文末)

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

进入之后,点击左上角的运行按钮即可完成一键部署,然后会得到一个专属链接,点进去就可以体验了。

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

不过这种操作方式需要谷歌账号才能用。

第三种方式则是自行部署

你需要有足够性能的GPU,且已经安装了PyTorch2.0或以上版本。

使用下面的命令即可完成安装:

音乐也逃不过AIGC:国风摇滚都来得(内藏ikun彩蛋)

安装好后,使用【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