Press "Enter" to skip to content

Meta的AI如何根据参考旋律生成音乐

分析MusicGen

图片由作者提供。

Meta的MusicGen

2023年6月13日,Meta(前身为Facebook)发布了他们的生成式音乐模型MusicGen,引起了音乐和人工智能社区的轰动。该模型不仅在能力方面超越了谷歌的MusicLM,而且还是在许可的音乐数据上训练并开放源代码供非商业用途。

这意味着你不仅可以阅读研究论文或听演示,还可以从GitHub复制他们的代码或在HuggingFace的Web应用程序中尝试该模型。

除了从文本提示生成音频外,MusicGen还可以根据给定的参考旋律生成音乐,这个功能被称为旋律调节。在本文中,我将演示Meta如何将这个有用且迷人的功能实现到他们的模型中。但在深入了解旋律调节的实践之前,让我们先了解一下它是如何工作的。

展示

基础曲目

以下是我为本文制作的短篇电子音乐片段。它包括电子鼓,两个占主导地位的808低音和两个交错的合成器。当听它时,请尝试识别出曲目的“主旋律”。

使用MusicGen,我现在可以生成其他音乐类型的音乐,这些音乐坚持相同的主旋律。我所需要的就是我的基础曲目和描述新曲目应该如何听起来的文本提示。

管弦乐变奏曲

一首宏大的管弦乐曲,雷鸣般的打击乐,史诗般的铜管乐,和高昂的弦乐,创造出适合英雄战斗的电影氛围。

雷鬼变奏曲

一个带有电吉他独奏的经典雷鬼曲目

爵士变奏曲

平滑的爵士,有萨克斯独奏,钢琴和鼓满满的节奏

结果如何?

虽然MusicGen没有严格遵循我的文本提示,生成的音乐与我的要求略有不同,但生成的作品仍然准确反映了请求的流派,更重要的是,每个作品展示了它自己对基础曲目的主旋律的诠释。

虽然结果并不完美,但我发现这个模型的能力相当令人印象深刻。自发布以来,MusicGen一直是HuggingFace上最受欢迎的模型之一,这进一步强调了它的重要性。话虽如此,让我们深入探讨旋律调节的技术方面。

如何训练文本到音乐模型

作者使用的三个文本-音乐对,用于训练MusicLM或MusicGen等模型的方式。图像由作者提供。

几乎所有当前的生成式音乐模型在训练过程中都遵循相同的程序。它们提供了一个大型的音乐数据库,其中包括相应的文本描述。模型学习了单词和声音之间的关系,以及如何将给定的文本提示转换为一首连贯和令人愉悦的音乐作品。在训练过程中,模型通过将自己的作品与数据集中的真实音乐曲目进行比较来优化。这使模型能够确定其优势和需要改进的领域。

问题在于,一旦机器学习模型针对特定任务进行了训练,例如文本到音乐生成,它就限制于该特定任务。虽然可以让MusicGen执行它没有明确训练的某些任务,例如继续播放给定的音乐片段,但不能期望它解决每个音乐生成请求。例如,它不能简单地将旋律转化为不同的音乐类型。这就像把土豆放进烤面包机里,期望出来的是薯条一样。相反,必须训练一个单独的模型来实现这个功能。

对训练方法的简单调整

让我们探讨Meta是如何调整模型训练程序以使MusicGen能够基于文本提示生成给定旋律的变化。但是,这种方法存在几个挑战。其中一个主要障碍是在识别一首歌的“旋律”并以计算意义的方式表示它方面的模糊性。尽管如此,为了更广泛地了解新的训练程序,假设我们就“旋律”的构成达成共识以及它如何被轻松提取并馈入模型。在这种情况下,可以概述调整后的训练方法如下:

Three text-music-melody pairs as they were used for teaching MusicGen melody-conditioned generation.

对于数据库中的每个音轨,第一步是提取其旋律。随后,模型将同时接收音轨的文本描述和其对应的旋律,促使模型重新创建原始音轨。本质上,这种方法简化了原始的训练目标,其中模型的任务仅是基于文本重新创建音轨。

为了理解为什么要这样做,让我们问一下自己在这个训练过程中AI模型学到了什么。实质上,它学会了如何基于文本描述将旋律转化为一首完整的音乐作品。这意味着在训练后,我们可以提供旋律并要求模型以任何流派、情绪或乐器创作一首音乐作品。对于模型来说,这是同样的“半盲”生成任务,在训练期间成功完成了无数次。

了解了Meta教授模型旋律条件音乐生成的技术后,我们仍然需要解决精确定义什么是“旋律”的挑战。

什么是“旋律”?

事实是,在多声部的音乐作品中,没有客观的方法来确定或提取“旋律”,除非所有乐器都在同一时间演奏。虽然通常有一个突出的乐器,如人声、吉他或小提琴,但这并不一定意味着其他乐器不是“旋律”的一部分。以Queen的“Bohemian Rhapsody”为例。当你想到这首歌时,你可能首先想起Freddie Mercury的主唱旋律。然而,这是否意味着引言部分的钢琴、中间的背景歌手和“所以你认为你能石头我[…]”之前的电吉他不是“旋律”的一部分?

提取一首歌的“旋律”的一种方法是将最突出的旋律视为最显著的旋律,通常被认为是混音中最响亮的旋律。色谱图是一种广泛使用的表示方法,它在视觉上显示了整个音轨中最突出的音符。下面,您可以找到参考音轨的色谱图,初始包含所有乐器,然后排除鼓和贝斯。在左侧,突出显示了旋律(B、F#、G)中最相关的音符。

Meta的AI如何根据参考旋律生成音乐 数据科学 第4张

两个色谱图准确地描绘了主要旋律音符,没有鼓和贝斯的版本提供了更清晰的旋律可视化。Meta的研究也揭示了同样的观察结果,这导致他们利用他们的源分离工具(DEMUCS)去除任何干扰的节奏元素。这个过程会产生一个足够代表性的“旋律”版本,然后可以馈入模型。

总之,我们现在可以将这些部分联系起来,了解当要求MusicGen执行旋律条件生成时的基本过程。下面是工作流程的可视化表示:

How MusicGen produces a melody-conditioned music output. Image by author.

限制

Xavier von Erlach在Unsplash上的照片

虽然MusicGen在旋律调节方面显示出了很有前途的进展,但重要的是要认识到这项技术仍处于不断发展中的状态。即使去除鼓和贝斯,色谱图(chromagrams)也提供了一种不完美的曲目旋律表现形式。其中一个局限性是,色谱图将所有音符分类为12个西方音高类别,这意味着它们捕捉到了两个音高类别之间的转换,但却无法捕捉旋律的方向(上升或下降)。

例如,从C4到G4(一个纯五度)的旋律间隔与从C4到G3(一个纯四度)的间隔有很大的不同。然而,在色谱图中,这两个间隔看起来是一样的。这个问题在八度跳跃时变得更加严重,因为色谱图会表明旋律停留在同一个音符上。考虑一下色谱图是如何误解Celine Dion在“My Heart Will Go On”中表演的情感八度跳跃,即“where-e-ver you are”这句歌词中的稳定旋律运动。为了证明这一点,只需查看下面A-ha的“Take on Me”合唱部分的色谱图。这能反映出你对这首歌旋律的理解吗?

“Take on Me”(A-ha)合唱部分的色谱图,去掉低音和鼓。作者提供的图像。

另一个挑战是色谱图本身的固有偏差。它在捕捉一些歌曲的旋律方面表现良好,而在其他歌曲中则完全没有取得成果。这种偏差是系统性的,而不是随机的。与跨多个乐器演奏和具有大幅度间隔跳跃的复杂旋律的歌曲相比,具有主导旋律、最小间隔跳跃和单调演奏的歌曲在色谱图上的表现更好。

此外,生成AI模型本身的限制也值得注意。输出的音频仍然表现出与人工制作的音乐明显的差异,而在六秒的时间间隔内保持一致的风格仍然是一个挑战。此外,MusicGen在忠实地捕捉文本提示的更复杂方面方面上有所不足,这在之前提供的例子中已有所体现。要想将旋律调节生成提升到不仅仅用于娱乐和灵感,而且能够生成适合最终用户的音乐水平,还需要进一步的技术进步。

未来展望

Marc Sendra Martorell在Unsplash上的照片

我们该如何提高AI的水平?

从我的角度来看,关于旋律调节音乐生成的未来研究应该解决的主要问题之一是从曲目中提取和表现“旋律”。虽然色谱图是一种成熟且简单的信号处理方法,但有许多新的和实验性的方法利用深度学习来实现这个目的。看到像Meta这样的公司从这些进展中汲取灵感将会令人兴奋,其中许多进展在Reddy等人的综合72页回顾中都有涉及。

关于模型本身的质量,通过扩大模型和训练数据的规模以及开发更有效的算法来解决这个特定任务,可以提高音频质量和文本输入的理解能力。在我看来,2023年1月MusicLM的发布类似于“GPT-2时刻”。我们开始见识到这些模型的能力,但仍需要在各个方面进行重大改进。如果这个比喻是正确的,我们可以预计在不久的将来会发布类似于GPT-3的音乐生成模型。

这对音乐家有何影响?

通常情况下,生成音乐AI会引发有关音乐创作者工作和生计的潜在负面影响的担忧。我预计,在未来,通过创作现有旋律的变化来谋生将越来越具有挑战性。这在广告音乐制作等场景中尤为明显,公司可以轻松地为新的广告活动或个性化广告生成数不清的特征音乐旋律变化,成本极低。毫无疑问,这对于依靠此类活动作为主要收入来源的音乐家构成了威胁。我再次呼吁从事生产具有客观音乐特征而非主观人类特征(如库存音乐或广告音乐)的创意人员探索替代收入来源,以应对未来。

从正面来看,以旋律为条件的音乐生成为提升人类创造力提供了难以置信的工具。如果有人创作出了有吸引力和难以忘怀的旋律,他们可以迅速生成该旋律在各种流派中的演奏例子。这个过程可以帮助确定将音乐带入生活的理想流派和风格。此外,它提供了一个机会,重新审视自己音乐目录中的过去项目,探索将它们转化为不同流派或风格时的潜力。最后,该技术降低了有创造力的个人进入领域的门槛,即使没有正式的音乐训练,任何人都可以想出一个旋律,哼唱到智能手机麦克风中,并与朋友、家人分享他们想法的出色安排,甚至尝试吸引更广泛的观众。

关于AI音乐生成是否有益于我们的社会的问题仍有待辩论。然而,我坚信以旋律为条件的音乐生成是这项技术中真正增强专业和有抱负的创意工作者工作的用例之一。它通过提供新的探索途径增加了价值。我非常期待在不久的将来见证这个领域的进一步发展。

如果你对音乐和人工智能的交叉点感到着迷,你也会喜欢我关于这个主题的其他一些文章:

  1. 谷歌如何使用虚假数据集来训练生成音乐的AI
  2. 聊天机器人即将颠覆音乐搜索
  3. MusicLM – 谷歌解决了AI音乐生成吗?
Leave a Reply

Your email address will not be published. Required fields are marked *