> 海外 >

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

时间:2023-06-13 16:22:01       来源:ZAKER科技

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


(资料图)

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

下面的音乐或许能让你体会到这种 " 从来未有 " 的 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://git@github.com/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

关键词:
精彩推送