元峰AI笔记 · AI绘画与视频

什么是 MusicGen?

<titleMeta 的 MusicGen 带你实现背景音乐自由</title

Meta 的 MusicGen 带你实现背景音乐自由

Meta 最近宣布了其新的 AI 音乐生成器,与竞争对手相比,它看起来相当令人印象深刻。

图片展示了Meta MusicGen AI的标志。背景为蓝紫色渐变,带有波浪状线条,营造出科技感。标志主体是一个白色的无限符号,下方文字“Meta MusicGen AI”以白色呈现。该图片位于介绍Meta最近发布的AI音乐生成器MusicGen的文档中,起到直观展示品牌标识的作用,与上下文介绍的Meta MusicGen相呼应。

Meta 最近发布了 MusicGen,这是一种人工智能音乐生成器,可以将文本描述转换为音频。 而且 Meta 大爱,还直接开源了它,尽管谷歌选择了另一种方式。今天,我们就来聊下 Meta 的 MusicGen是什么以及如何使用!
多数艺术活动都受到了 AI 的影响,音乐行业现在也牢牢地受到了它的影响。

图片展示了一位机械人弹钢琴的场景。机械人身体由金属构成,头上有发光的眼睛,双手在黑色钢琴上弹奏。背景是紫色和橙色的梦幻色彩,周围有类似机械装置的物体飞散,营造出一种未来科技与梦幻交织的氛围。该图片与文档中介绍Meta的MusicGen的内容相关,直观呈现了其在音乐创作方面的应用,展示了其生成的AI音乐作品可能的视觉风格。

什么是 MusicGen?

MusicGen 建立在 Transformer 模型之上,就像当今使用的大多数语言模型一样。 MusicGen 以类似于语言模型预测短语中后续字母的方式预测一段音乐的下一段。

研究人员使用 Meta 的 EnCodec 音频分词器将音频数据分解成更小的片段。 MusicGen 是一种快速有效的单阶段方法,可以并行执行令牌处理。

为了训练,Meta 使用了2万小时的授权音乐。他们使用了来自内部数据集的 1万 段高质量录音,尤其是 Shutterstock 和 Pond5 音乐数据。
除了设计的有效性和创作速度之外,MusicGen 在处理文本和音乐提示方面的能力也非常出色。文本确立了音频文件的音乐随后遵循的基本风格。
例如,你无法准确地改变旋律的方向,以便你可以听到各种音乐风格。它并没有完美地反映在输出中,只是作为生成的一般指南。
尽管许多其他模型正在运行文本生成、语音合成、创建的图形,甚至是简短的视频,但向公众提供的音乐生成的高质量实例并不多。

与此相关的研究论文可在 arXiv网站上获得,该论文声称音乐面临的一个关键难题是需要运行完整的频谱,这需要更加密集的采样。更不用说音乐复杂的构成和重叠的乐器。

图片展示了一组音乐制作设备,包括一台带有显示屏的音频设备、一个带有旋钮的控制器、一个带有键盘的耳机、一对扬声器以及一些连接线。这些设备被放置在深色背景的桌面上,灯光从上方照射下来,突出了设备的轮廓和细节。图片与上文提到的Meta的MusicGen音乐生成模型相关,暗示该模型可能与音乐制作设备及音乐创作相关。

如何使用 MusicGen?

通过 Hugging Face API,我们可以测试 MusicGen,但根据同时使用它的用户数量,生成任何音乐速度非常慢。为了更快地获得结果,你可以使用 Hugging Face 网站来创建你自己的模型实例。也可以按照 GitHub 存储库 中的说明,使用自己的 GPU 或 Google Colab。

图片展示的是Hugging Face平台上Meta的MusicGen页面。页面顶部有搜索栏、不同功能选项卡等。中间部分是MusicGen介绍,称其为简单且可控的音乐生成模型。有一个音频播放器,可播放时长0:00 - 0:10的示例音乐。下方有“Generate”按钮,还有示例文本框,如“An 80s driving song with heavy drums and synth pads in the background”等描述,可用于生成音乐。该图片与文档中介绍如何使用MusicGen的内容相关,展示了MusicGen在Hugging Face上的操作界面。

Google Colab 中使用 MusicGen

进入 Colab 链接

https://colab.research.google.com/drive/1-Xe9NCdIs2sCUbiSmwHXozK6AAhMm7_i?usp=sharing

图片展示的是在Google Colab中使用MusicGen的代码运行界面。代码从GitHub仓库clone audiocraft,安装requirements.txt文件中的依赖,运行app.py启动gradio服务。界面中显示了clone仓库、安装依赖、运行代码等操作的进度和结果,如远程压缩、接收对象等信息,以及下载依赖包的进度和大小等。该图片与文档中介绍在Google Colab中使用MusicGen的内容相关,直观呈现了代码运行过程。

选择 GPU

图片展示了Google Colab中选择GPU类型的界面。界面中“运行时类型”为Python 3,“硬件加速器”为GPU,下方有“GPU类型”下拉框,当前选中T4。该图片与文档中“Google Colab中使用MusicGen”部分内容相关,对应“选择GPU”步骤,直观呈现了在Colab中选择GPU类型的操作界面,帮助用户明确如何在Colab中设置GPU类型以运行代码。

运行代码

代码很少,直接运行即可。正常执行之后,会有下面这个公网链接,点击跳转到 MusicGen 操作页面。

图片展示了Meta的MusicGen在Gradio Demo.ipynb脚本中的运行界面。界面中显示了安装和运行相关代码的输出信息,包括成功安装的包版本、TensorFlow相关配置等。关键信息是红框突出显示的“Running on public URL”及后续的URL链接,表明当前运行在公共URL上,该链接有效期为72小时,可永久托管和GPU升级时使用gradio deploy命令部署到Spaces。此图与文档中介绍如何使用MusicGen生成音乐的内容相关,展示了生成音乐时的运行状态。

开始生成音乐

图片展示了Meta的MusicGen音乐生成界面。左侧有“Input Text”文本框,示例输入“a light and cheery EDM track, with syncopated drums, sexy pads, and strong bass”;下方有“Model”模型选择区域,选中“melody”;“Duration”音乐时长滑块设为120秒。右侧是“Or Generated Music”区域,显示生成的音乐波形,下方有“点击下载”按钮。该图与上下文介绍的使用MusicGen生成音乐流程相关,直观呈现了操作界面及关键设置。

输入生成音乐的描述词,选择模型,需要的音乐时长,等待完成即可。

这里提供4种模型变体:

  1. Melody - 一种音乐生成模型,能够根据文本和旋律输入生成音乐。请注意,你也可以仅使用文本。
  2. Small - 一个300M的transformer解码器,仅基于文本进行条件编码。
  3. Medium - 一个1.5B的transformer解码器,仅基于文本进行条件编码。
  4. Large - 一个3.3B的transformer解码器,仅基于文本进行条件编码(可能会在最长序列上OOM)。

使用melody 时,你可以选择提供参考音频,从中提取宽泛的旋律。然后模型将尝试遵循提供的描述和旋律。

今天用 HeyGen 做了一个短视频,就用了我刚刚生成的AI音乐做背景音乐。

上面这条视频

文案,ChatGPT 辅助写的 我的数字人,Midjourney 画的 视频里面有些素材,PS AI 修的 让数字人开口讲话,HeyGen 实现的 背景音乐,Meta AI 的大模型 MusicGen 生成的

熟练使用这些 AI 工具流,短视频创作难度降低不止一个数量级。

MusicGen:简单可控的音乐生成

https://ai.honu.io/papers/musicgen/

图片展示了MusicGen 3.38与论文中详细工作的其他模型(MusicLM、Riffusion、Musai)的对比示例。每行包含描述、MusicGen、MusicLM、Riffusion、Musai的音频播放按钮及时长。如“Pop dance track with catchy melodies, upbeat rhythms, perfect for the beach”等,MusicGen的音频时长多为0:30,其他模型时长多为0:19。该图与上下文对比MusicGen与谷歌MusicLM等模型的输出结果相呼应,直观呈现了MusicGen的音频生成效果。

它是如何工作的?

MusicGen 模型使用你的描述生成 12 秒的音频。还可以提供用于创建复杂旋律的参考音频文件。通过使用参考音频,该模型将努力通过坚持描述和提供的旋律来创作更好地反映用户品味的音乐。

MusicGen 对比谷歌 MusicLM

MusicGen 似乎产生了稍微好一点的结果。研究人员通过在示例网站上将 MusicGen 的输出与 MusicLM、Riffusion 和 Musai 的输出进行对比来证明这一点。它有四种模型尺寸,从微小(3 亿个参数)到大型(33 亿个参数),后者最有可能制作复杂的音乐。它可以在本地运行(建议使用至少 16GB RAM 的 GPU)。

图片展示了MusicCaps Test Set中不同模型的评估指标对比。模型包括Riffusion、Mousai、MusicLM、Noise2Music及MusicGEN等,分别在FAD、KL、CLAP、OVL、REL五个指标上进行评估。其中,Noise2Music在FAD指标上表现最优,为2.1;MusicGEN w/o melody (3.3B)在OVL指标上表现最佳,为84.81。该图与上下文介绍的MusicGEN模型相关,直观呈现其在音乐生成方面的性能表现。

MusicGen 是 Meta 如何使用 AI 为其消费者构建身临其境且引人入胜的体验的众多实例之一。 Meta 的目标是创建一个共享的元宇宙世界,用户可以在其中交互、协作并在许多平台和设备上获得乐趣。多亏了 MusicGen,元宇宙将变得更具娱乐性和音乐性。

图片展示了一个充满活力的夜场场景。画面中人群密集,许多人举手欢呼,气氛热烈。背景是一个大型舞台,舞台上方有火焰状的装饰,周围环绕着五彩斑斓的灯光,包括蓝色、红色、紫色等。舞台前方有透明的玻璃结构,上方悬挂着一些装饰物。整个场景色彩鲜艳,灯光效果绚丽,营造出一种热闹非凡的氛围,与文档中介绍Meta的MusicGen能为元宇宙带来娱乐性和音乐性的内容相契合。

探索 Meta 的 MusicGen,一种强大的 AI 大模型音乐生成器,让你能够自由创作音乐。无论你是专业音乐人,还是音乐爱好者,MusicGen 都能帮你轻松实现音乐创作。了解 MusicGen 如何基于你的描述生成音乐,以及如何利用参考音频创建复杂旋律。