MusicLM:从文本生成音乐 MusicLM: Generating Music From Text

https://arxiv.org/pdf/2301.11325

摘要

我们介绍了 MusicLM ,这是一种可以从文本描述(例如“一段平静的小提琴旋律,伴以失真吉他音轨”)生成高保真音乐的模型。MusicLM 将条件音乐生成的过程建模为一个层次化的序列到序列任务,并能够生成 24kHz 音质、持续数分钟且保持一致性的音乐。

我们的实验表明,MusicLM 在音频质量和对文本描述的贴合度方面均优于之前的系统。此外,我们还展示了 MusicLM 可以同时基于文本和旋律进行条件控制,例如它可以根据文本描述的风格将吹口哨或哼唱的旋律转换成相应风格的音乐。

为了支持未来的研究,我们公开发布了 MusicCaps ——一个由 5.5 千个音乐-文本配对数据组成的高质量数据集,其中的文本描述由人类专家提供。

网址:google-research.github.io/seanet/musiclm/examples

1. 引言

条件神经音频生成 涵盖广泛的应用场景,从文本到语音(Zen 等,2013;van den Oord 等,2016),到歌词驱动的音乐生成(Dhariwal 等,2020),以及从 MIDI 序列生成音频(Hawthorne 等,2022b)。这些任务通常依赖于输入条件信号与输出音频之间在时间上的某种对齐关系。

相比之下,受文本到图像生成领域进展的启发(Ramesh 等,2021;2022;Saharia 等,2022;Yu 等,2022),最近一些研究开始探索基于整体序列级、高层次文本描述生成音频(Yang 等,2022;Kreuk 等,2022),如“风声中的口哨声”。

尽管从这种粗粒度文本生成音频代表了一项突破,但目前这些模型仍局限于简单的声学场景,仅能生成少量声学事件。如何从文本生成具有长期结构、丰富多轨(stems)的复杂音频(如一段完整的音乐剪辑)仍然是一个开放性挑战。

AudioLM (Borsos 等,2022)最近被提出作为一种音频生成框架。它将音频合成视为在一个离散表示空间中的语言建模任务,并利用从粗到细的离散音频单元(或称为 token)的层级结构,在数十秒的时间尺度上实现了高保真度和长期一致性。

更重要的是,由于不假设音频内容的具体形式,AudioLM 能够仅通过无标注的纯音频语料库(无论是语音还是钢琴音乐)学习生成逼真的音频。这种对多样音频信号的建模能力表明,只要训练数据合适,这样的系统可以生成更丰富的输出。

除了合成高质量、连贯音频本身所具有的难度之外,另一个阻碍因素是成对的音频-文本数据稀缺 。这与图像领域形成鲜明对比,在图像领域中,大规模数据集的存在显著推动了近年来图像生成质量的飞跃(Ramesh 等,2021;2022;Saharia 等,2022;Yu 等,2022)。

此外,创建通用音频的文本描述比描述图像要困难得多:

  1. 首先,很难用几个词准确地捕捉声音场景(例如火车站或森林中的声音)或音乐(如旋律、节奏、人声和伴奏乐器的音色)的关键特征;

  2. 其次,音频具有时间维度结构,使得整体序列级别的描述远不如图像描述那样具有信息量。

在本研究中,我们提出了 MusicLM ,一种能够从文本描述生成高保真音乐的模型。MusicLM 借鉴 AudioLM 的多阶段自回归建模作为生成核心,并在此基础上扩展了文本条件机制。

为了解决成对数据稀缺这一主要问题,我们引入了 MuLan (Huang 等,2022)——这是一个联合的音乐-文本模型,它被训练用于将音乐及其对应的文本描述映射到嵌入空间中相近的位置。

这种共享的嵌入空间完全消除了训练过程中对文本描述的需求,使我们可以在大规模纯音频语料库上进行训练。在训练时,我们使用 MuLan 根据音频计算出的嵌入向量作为条件输入;而在推理阶段,则使用 MuLan 根据文本输入计算出的嵌入向量作为条件。

当在大量未标记音乐数据上训练后,MusicLM 能够根据复杂的文本描述(如“一首迷人的爵士歌曲,配有令人难忘的萨克斯独奏和独唱歌手”或“柏林90年代科技舞曲,低沉贝斯与强劲底鼓”)生成长达数分钟、一致性良好的 24kHz 高保真音乐。

为了弥补该任务缺乏评估数据的问题,我们引入了 MusicCaps ——一个由专业音乐家精心制作的、包含 5.5 千个示例的高质量音乐描述数据集,并已公开发布,以支持未来的研究。

我们的实验结果表明,无论是在客观指标还是人工评价中,MusicLM 在生成质量和对描述的贴合度方面均优于此前的系统,如 Mubert(Mubert-Inc, 2022)和 Riffusion(Forsgren & Martiros, 2022)。

此外,考虑到有些音乐特征难以甚至无法用语言表达,我们还展示了我们的方法支持除文本外的其他条件输入。具体来说,我们将 MusicLM 扩展为可以接受额外旋律输入(如口哨或哼唱的音频),从而生成符合指定旋律并按文本提示风格渲染的音乐片段。

我们认识到与音乐生成相关的潜在风险,特别是创造性内容可能被滥用的问题。为了遵循负责任的模型开发原则,我们借鉴并扩展了 Carlini 等(2022)为基于文本的大语言模型所提出的方法,对模型是否存在记忆训练数据的问题进行了深入研究。我们的研究结果表明,在将 MuLan 嵌入输入 MusicLM 后,生成的 token 序列与训练集中对应的序列存在显著差异。

本工作的核心贡献如下:

  1. 我们提出了 MusicLM ,这是一种生成模型,能够根据文本条件信号生成高质量(24kHz)、持续数分钟且保持一致性的音乐。

  2. 我们将方法扩展到其他类型的条件输入,例如可以输入一段旋律,并根据文本提示合成相应风格的音乐。此外,我们还展示了长达 5 分钟的连贯音乐生成效果。

  3. 我们发布了首个专门为文本到音乐生成任务构建的评估数据集: MusicCaps ,这是一个由音乐家手工整理、精心策划的高质量音乐-文本配对数据集,包含 5,500 个样本。


2. 背景与相关工作

当前,各领域生成建模的最先进方法主要由两类模型主导:基于 Transformer 的自回归模型 (Vaswani 等,2017)和 基于 U-Net 的扩散模型 (Ho 等,2020)。在本节中,我们将回顾相关工作,重点放在基于离散 token 的自回归生成模型上,这些模型与 MusicLM 具有相似性。

2.1 量化

以自回归方式对离散 token 序列进行建模,已被证明在自然语言处理(Brown 等,2020;Cohen 等,2022)以及图像和视频生成(Esser 等,2021;Ramesh 等,2021;Yu 等,2022;Villegas 等,2022)中是一种非常强大的方法。

对于连续信号(包括图像、视频和音频)的自回归模型来说,量化 是其成功的关键组成部分。量化的目标是提供一种紧凑的离散表示,同时仍能实现高保真度的重建。VQ-VAE(Van Den Oord 等,2017)在多个领域展示了低比特率下的高质量重建效果,并已成为许多方法所依赖的基本量化器。

SoundStream (Zeghidour 等,2022)是一种通用的神经音频编解码器,能够在低比特率下压缩通用音频,同时保持高质量的重建效果。为了实现这一点,SoundStream 使用了残差向量量化 (RVQ),使其在比特率和质量上具有良好的可扩展性,而不会带来显著的计算成本。

更具体地说,RVQ 是一种分层量化方案,由一系列向量量化器组成,目标信号通过量化器输出的总和进行重建。由于量化器是逐层堆叠的,RVQ 避免了在比特率增加时码本规模呈指数级增长的问题。此外,每个量化器拟合的是前一层更粗糙量化器的残差,这使得量化器具有层次结构:越粗糙的层级在高保真重建中越重要。这一特性对生成任务非常有利,因为可以通过仅关注粗略 token 来定义历史上下文。

最近,SoundStream 被 EnCodec (Défossez 等,2022) 扩展到了更高的比特率和立体声音频。在本研究中,我们采用 SoundStream 作为音频 tokenizer,因为它能够在 6kbps 比特率下以高保真度重建 24kHz 的音乐。

2.2 音频生成模型

尽管生成具有长期一致性的高质量音频是一项挑战,但最近已有若干方法在这一问题上取得了一定成果。

例如,Jukebox (Dhariwal 等,2020)提出了一种在不同时间分辨率下的 VQ-VAE 层级结构,以实现较高的时间一致性,但其生成的音乐仍存在明显的伪影(artifacts)。

另一方面,PerceiverAR (Hawthorne 等,2022a)提出对 SoundStream 的 token 序列进行自回归建模,在音频质量方面表现优异,但在长期时间一致性方面有所欠缺。

受这些方法的启发,AudioLM (Borsos 等,2022)通过采用分层的 token 化和生成方案,解决了连贯性与高质量合成之间的权衡问题。具体来说,该方法区分了两种类型的 token:

  1. 语义 token

    :用于建模长期结构,从以掩码语言建模为目标、在音频数据上预训练的模型中提取;

  2. 声学 token

    :由神经音频编解码器提供,用于捕捉精细的声学细节。

这种方法使 AudioLM 能够在不依赖转录文本或符号化音乐表示的情况下,生成连贯且高质量的语音以及钢琴音乐片段。

MusicLM 在 AudioLM 的基础上做出了三个重要的扩展性贡献:

  1. 我们将生成过程基于描述性文本进行条件控制;

  2. 我们展示了该条件机制可以扩展到其他信号输入,如旋律;

  3. 我们建模了除钢琴音乐外更为多样的长时音乐序列(从鼓打贝斯到爵士乐再到古典音乐)。

2.3 条件音频生成

近年来,已有研究尝试从文本描述(如“背景中有笑声的口哨声”)生成音频。

DiffSound (Yang 等,2022)使用 CLIP (Radford 等,2021)作为文本编码器,并应用扩散模型根据文本嵌入预测目标音频的量化梅尔频谱特征。

AudioGen (Kreuk 等,2022)则使用 T5 (Raffel 等,2020)编码器来嵌入文本,并使用一个自回归 Transformer 解码器来预测由 EnCodec (Défossez 等,2022)生成的目标音频编码。

这两种方法都依赖于少量的成对训练数据,如 AudioSet(Gemmeke 等,2017)和 AudioCaps(Kim 等,2019),在过滤后总共不到 5,000 小时的数据。

更接近 MusicLM 的是那些专注于基于文本的音乐生成 的研究工作。

Mubert (Mubert-Inc, 2022)中,文本提示首先由一个 Transformer 进行嵌入,随后选择与该嵌入相近的音乐标签,并用这些标签调用歌曲生成 API。基于所选标签,Mubert 会生成一组声音组合,而这些声音是由音乐家和音效设计师预先创作的。

相比之下,Riffusion (Forsgren & Martiros, 2022)则是在配对的音乐-文本数据集上的音乐片段梅尔频谱图上微调了一个 Stable Diffusion 模型 (Rombach 等,2022a)。

我们将 Mubert 和 Riffusion 作为本工作的基线方法,并证明我们在音频生成质量和对文本描述的贴合度方面均有显著提升。

音乐的符号化表示(例如 MIDI)也可以作为一种强条件信号,用于驱动生成过程,这一方法已被 Huang 等(2019)、Hawthorne 等(2019)和 Engel 等(2020)所验证。

MusicLM 提供了一种更自然且直观的方式来提供条件信号,例如可以通过哼唱的旋律来实现,并且该旋律还可以与文本描述相结合使用。

2.4 基于文本的图像生成

文本驱动音频合成的前身是基于文本的图像生成模型。由于架构的改进以及大规模、高质量配对训练数据的可用,这类模型在生成质量上取得了显著进展。

具有代表性的基于 Transformer 的自回归方法包括 Ramesh 等(2021)和 Yu 等(2022)的工作;而 Nichol 等(2022)、Rombach 等(2022b)和 Saharia 等(2022)则提出了基于扩散模型的方法。

文本到图像的方法已被扩展至从文本提示生成视频的任务(Wu 等,2022a;Hong 等,2022;Villegas 等,2022;Ho 等,2022)。

在这些工作中,与我们方法最接近的是 DALL·E 2 (Ramesh 等,2022)。特别是,正如 DALL·E 2 依赖 CLIP (Radford 等,2021)进行文本编码一样,我们也使用了一个联合的音乐-文本嵌入模型来实现相同的目的。

与 DALL·E 2 不同的是,DALL·E 2 使用扩散模型作为解码器,而我们的解码器基于 AudioLM 。此外,我们省略了将文本嵌入映射到音乐嵌入的先验模型,使得基于 AudioLM 的解码器可以在纯音频数据集上进行训练,而在推理阶段只需将文本嵌入简单地替换为音乐嵌入即可。

2.5 音乐与文本的联合嵌入模型

MuLan (Huang 等,2022)是一个音乐-文本联合嵌入模型,它由两个嵌入塔组成,分别对应音乐和文本两种模态。这两个嵌入塔通过对比学习的方式将两种模态映射到一个 128 维的共享嵌入空间中,其训练方式与 Radford 等(2021)和 Wu 等(2022b)中提出的模型类似。

文本嵌入网络是一个在大规模纯文本语料库上预训练的 BERT (Devlin 等,2019)模型,而我们在音频塔中使用了 ResNet-50 的变体。

MuLan 在音乐片段与其对应的文本注释配对数据上进行训练。重要的是,MuLan 对训练数据质量的要求较低,即使音乐与文本之间的关联较弱,它也能学习跨模态的对应关系。

这种将音乐与无约束自然语言描述进行关联的能力,使得 MuLan 可用于音乐检索或零样本音乐标签任务。在本研究中,我们使用的是 Huang 等(2022)预训练并冻结的模型。

3. 方法

在本节中,我们介绍 MusicLM 及其组成部分。

第 3.1 节描述了用于提供音频表示的模型;随后在第 3.2 节中展示如何利用这些表示进行基于文本条件的音乐生成。

3.1 音频与文本的表示与离散化

我们使用三个模型来提取将用于条件自回归音乐生成的音频表示,如图 1 所示。

具体来说,借鉴 AudioLM 的方法,我们使用 SoundStream (Zeghidour 等,2022)的自监督音频表示作为声学 token,以实现高保真度的合成;同时使用 w2v-BERT (Chung 等,2021)的表示作为语义 token ,以促进长期一致性的生成。

在条件表示方面,我们在训练阶段依赖 MuLan 的音乐嵌入 ,而在推理阶段则使用 MuLan 的文本嵌入

这三个模型都是独立预训练并冻结的,因此它们可以为序列到序列建模提供离散的音频和文本表示。

SoundStream

我们使用一个适用于 24kHz 单声道音频的 SoundStream 模型,其步长因子(striding factor)为 480,从而得到 50Hz 的嵌入表示。这些嵌入的量化过程通过一个包含 12 个量化器的 RVQ 完成,每个量化器的词汇量(vocabulary size)为 1024。这使得比特率达到 6kbps,其中一秒音频由 600 个 token 表示。我们将这些 token 称为声学 token ,记作 A。

w2v-BERT

与 AudioLM 类似,我们使用了一个具有 6 亿参数的 w2v-BERT 模型中的掩码语言建模(MLM)模块的一个中间层。在对该模型进行预训练并冻结后,我们从第 7 层提取嵌入,并使用在一个大规模嵌入集上学习到的 k-means 聚类中心对其进行量化。我们使用 1024 个聚类,采样率为 25Hz,即每秒音频对应 25 个语义 token。我们将这些 token 称为语义 token,记作 S。

MuLan

为了训练 MusicLM,我们从 MuLan 的音频嵌入网络中提取目标音频序列的表示。

需要注意的是,这种表示是连续的,并且可以直接作为基于 Transformer 的自回归模型中的条件信号使用。然而,我们选择对 MuLan 嵌入进行量化处理,使得音频和条件信号都基于离散 token 具有统一的表示形式,这也有助于未来对条件信号进行自回归建模的研究。

由于 MuLan 是在 10 秒的音频输入上运行的,而我们需要处理更长的音频序列,因此我们在 10 秒窗口上以 1 秒步长滑动计算音频嵌入,并对所得嵌入进行平均处理。随后,我们通过一个包含 12 个向量量化器的 RVQ 对这些嵌入进行离散化,每个量化器的词汇量为 1024。这一过程生成了 12 个 MuLan 音频 token,记作 MA

在推理阶段,我们使用从文本提示中提取的 MuLan 文本嵌入作为条件信号,并使用与音频嵌入相同的 RVQ 进行量化,得到 12 个 token,记作 MT

在训练过程中使用 MA 作为条件信号具有两个主要优势:

  1. 首先,它使我们的训练数据更容易扩展,因为我们不再受限于必须拥有文本描述的数据;

  2. 其次,通过利用像 MuLan 这样使用对比损失(contrastive loss)训练的模型,我们增强了对噪声文本描述的鲁棒性。

3.2 音频表示的层次建模

我们将上述离散音频表示与 AudioLM 相结合,以实现基于文本条件的音乐生成。为此,我们提出了一种层次化的序列到序列建模任务,其中每一层都由一个仅解码器的 Transformer 自回归地建模。所提出的方法如图 2 所示。

4. 实验设置 4.1 模型

我们使用仅解码器的 Transformer 来建模 AudioLM 的语义阶段和声学阶段。这些模型具有相同的架构:包含 24 层、16 个注意力头、嵌入维度为 1024、前馈层维度为 4096、dropout 为 0.1,并使用相对位置嵌入(Raffel 等,2020),每个阶段的参数总量为 4.3 亿(430M)。

4.2 训练与推理

在使用预训练并冻结的 MuLan 的前提下,我们仅需要纯音频数据来训练 MusicLM 的其他组件。

我们使用 Free Music Archive (FMA) 数据集(Defferrard 等,2017)来训练 SoundStream 和 w2v-BERT 模型。而用于语义建模和声学建模阶段的 tokenizer 及自回归模型,则是在一个包含五百万个音频片段的数据集上进行训练的,总时长为 280,000 小时、采样率为 24kHz 的音乐数据。

每个阶段都对训练数据进行多次遍历。在语义建模阶段,我们使用目标音频的 30 秒随机裁剪片段;在声学建模阶段则使用 10 秒裁剪片段。AudioLM 的精细声学建模阶段则使用 3 秒裁剪片段进行训练。

在推理阶段,我们利用 MuLan 所学习到的音频与文本之间的联合嵌入空间,即用 MT 替代训练时使用的 MA 。然后我们按照上述阶段依次生成对应的 A (声学 token)。

在所有阶段中,我们使用温度采样 (temperature sampling)进行自回归生成。语义建模阶段的温度设为 1.0,粗略和精细声学建模阶段的温度分别设为 0.95 和 0.4。这些温度值是根据主观评估选择的,以在生成音乐的多样性与时间一致性之间取得良好平衡。

4.3 评估数据集

为了评估 MusicLM,我们构建了 MusicCaps —— 一个高质量的音乐描述数据集,并已公开发布。该数据集包含来自 AudioSet(Gemmeke 等,2017)的 5,500 个音乐片段,每个片段都配有由十位专业音乐家撰写的英文文本描述。

对于每个 10 秒的音乐片段,MusicCaps 提供:

  1. 一段自由文本描述,平均包含四句话,用于描述该音乐;

  2. 一个音乐属性列表,描述音乐的流派、情绪、节奏、歌手声音、乐器配置、不和谐度、节奏等。平均每个片段包含 11 个属性。

有关部分描述和属性列表的示例,请参见附录 A。

MusicCaps 作为 AudioCaps(Kim 等,2019)的补充数据集,二者都包含来自 AudioSet 的音频片段及其对应的文本描述。然而,AudioCaps 包含非音乐内容,而 MusicCaps 则专注于音乐 ,并配有由专家提供的高度详细的注释。

这些样本来自 AudioSet 的训练集和评估集划分,涵盖了多种音乐流派,详见附录 A。MusicCaps 还提供了一个流派均衡的数据划分,包含 1,000 个示例。

4.4 评估指标

我们计算了多个指标来评估 MusicLM,主要关注音乐生成的两个重要方面:音频质量 对文本描述的贴合度

Fréchet 音频距离(FAD)

Fréchet 音频距离 (Kilgour 等,2019)是一种无参考的音频质量评估指标 ,其与人类感知具有良好的相关性。模型生成的样本 FAD 分数越低,说明其生成的音频越接近真实音频。然而,FAD 并不能衡量生成音频是否贴合输入的文本描述。

我们基于两个公开可用的音频嵌入模型来计算 FAD:

  1. Trill

    (Shor 等,2020):该模型在语音数据上训练;

  2. VGGish

    (Hershey 等,2017):该模型在 YouTube-8M 音频事件数据集(Abu-El-Haija 等,2016)上训练。

由于训练数据不同,我们预期这两个模型可以分别衡量音频质量中的语音与非语音方面。

KL 散度(KLD)

文本描述与音乐片段之间存在“多对多”的关系。因此,无法直接在波形层面对生成的音乐与参考音频进行比较。为了评估生成音乐对文本描述的贴合度,我们采用了一种代理方法,类似于 Yang 等(2022)和 Kreuk 等(2022)中提出的方法。

具体来说,我们使用一个在 AudioSet 上进行多标签分类训练的 LEAF 分类器 (Zeghidour 等,2021),分别对生成的音乐和参考音乐进行类别预测,并计算它们类别预测概率分布之间的 KL 散度 。当 KL 散度较低时,说明生成的音乐与参考音乐在分类器眼中具有相似的声学特征。

MuLan 循环一致性(MCC)

作为一种联合的音乐-文本嵌入模型,MuLan 可用于量化音乐与文本之间的相似性。我们从 MusicCaps 中的文本描述和基于这些描述生成的音乐中提取 MuLan 嵌入,并将 MCC 指标 定义为这些嵌入之间的平均余弦相似度。

定性评估

最终,我们还依赖主观测试 来评估生成样本与文本描述的贴合度。我们设置了一个 A 与 B 的人类评分任务,评分者会看到一段文本描述以及由两个不同模型生成的两段音乐,或一个模型生成的音乐与参考音乐。

评分选项包括:强烈偏好 A 或 B、轻微偏好 A 或 B、无偏好 。评分者被要求在评分时不考虑音乐质量,因为音频质量已由 FAD 指标覆盖。

我们考虑 n 个不同模型的输出,加上参考音乐,总共有 n + 1 种条件,即 n(n + 1)/2 个对比对。为了汇总这些成对测试结果并对条件进行排序,我们统计“胜出次数”,即某个条件被强烈或轻微偏好的次数。

所有样本均从我们评估数据中“流派均衡”的 1k 子集中选取。

训练数据的记忆性

大语言模型有能力记忆训练数据中的模式(Carlini 等,2020)。我们借鉴 Carlini 等(2022)的方法,研究 MusicLM 是否存在记忆训练音乐片段的情况。

我们重点关注第一阶段(语义建模阶段)。我们从训练集中随机选取 N 个样本。对于每个样本,我们向模型输入一个提示,其中包含 MuLan 音频 token MA,以及前 T 个语义 token S(T ∈ {0, ..., 250},对应最多 10 秒音频)。

我们使用贪心解码生成 125 个语义 token(对应 5 秒音频),并将其与数据集中对应的语义 token 进行比较。我们通过“完全匹配率”来衡量生成结果与目标是否完全一致。

此外,我们还提出了一种检测“近似匹配”的方法。基于观察:看似不同的 token 序列可能生成声学上相似的音频片段 。具体方法如下:

  1. 我们分别从生成和目标 token 中,基于词汇表 {0, ..., 1023} 统计语义 token 的直方图;

  2. 我们构建一个 token 之间的距离矩阵,矩阵中的每个元素是量化 w2v-BERT 的 k-means 聚类中心之间的欧几里得距离(详见第 3.1 节);

  3. 使用 Sinkhorn 算法 (Cuturi, 2013)求解最优传输问题,计算两个直方图之间的匹配代价;

  4. 为了设定判断两个序列是否为“近似匹配”的阈值,我们通过打乱样本与目标 token 的配对关系,构建“负样本对”,并测量它们的匹配代价分布;

  5. 我们将匹配阈值 τ 设为 0.85,此时误报的近似匹配率低于 0.01%。

5 结果
我们通过将 MusicLM 与两个近期基于描述性文本的音乐生成基线模型进行比较来评估其性能,这两个模型分别是 Mubert(Mubert-Inc, 2022)和 Riffusion(Forsgren & Martiros, 2022)。具体而言,我们通过调用 Mubert API4 生成音频,并在 Riffusion 模型上运行推理来生成音频。我们在 MusicCaps 数据集上进行评估,该数据集是我们在发布本文时一并公开的评估数据集。

与基线模型的比较。表 1 报告了本文的主要定量和定性结果。在音频质量方面,通过 FAD 指标衡量,在 FADVGG 指标上,MusicLM 的得分优于 Mubert 和 Riffusion。在 FADTrill 指标上,MusicLM 的得分与 Mubert 相当(0.44 vs. 0.45),优于 Riffusion(0.76)。我们注意到,根据这些指标,MusicLM 能够生成与 Mubert 相当的高质量音乐,而 Mubert 依赖的是由音乐家和音效设计师预先录制的声音。在对输入文本描述的忠实度方面,通过 KLD 和 MCC 指标衡量,MusicLM 获得了最佳得分,这表明它相比基线模型能够从文本描述中捕捉到更多信息。

我们进一步通过人类听觉测试来补充对文本忠实度的评估。参与者被展示两个 10 秒的音频片段和一段文本说明,并被要求根据 5 点李克特量表判断哪一个片段最能被该文本描述。我们共收集了 1200 条评分,每种来源参与了 600 次成对比较。表 1 报告了“胜出”次数的总数,即统计人类评分者在对比中更偏好某个模型的次数。MusicLM 明显优于两个基线模型,但与真实参考音乐之间仍存在可测量的差距。听力研究的完整细节见附录 B。

通过聆听那些真实参考音乐优于 MusicLM 的示例,我们发现以下模式:(1)文本说明非常详细,提到了五种以上的乐器,或描述了非音乐元素,如“风声、人声”;(2)文本描述了音频播放的时间顺序;(3)使用了否定句,而 MuLan 并不能很好地捕捉这类表达。

总体而言,我们得出以下结论:(1)我们的方法能够从 MusicCaps 中丰富的自由文本说明中捕捉到细粒度的信息;(2)KLD 和 MCC 指标为对文本描述的忠实度提供了定量衡量,并与人类评分结果一致。

语义标记的重要性。为了理解将语义建模与声学建模分离的有用性,我们训练了一个 Transformer 模型,该模型直接从 MuLan 标记预测粗粒度的声学标记,即建模 p(At|A

音频标记所表示的信息。我们进行了额外的实验来研究语义标记和声学标记所捕捉的信息。在第一项研究中,我们固定 MuLan 文本标记和语义标记,多次运行声学建模阶段以生成多个样本。通过聆听生成的音乐,我们可以观察到样本之间是多样化的,但它们倾向于共享相同的流派、节奏特性(例如鼓点)以及部分主旋律。它们在特定的声学属性(例如混响、失真程度)上有所不同,在某些情况下,不同示例中可以合成出音高范围相似但乐器不同的声音。在第二项研究中,我们仅固定 MuLan 文本标记,生成语义标记和声学标记。在这种情况下,我们观察到旋律和节奏特性方面具有更高程度的多样性,同时仍然与文本描述保持一致。我们在附带材料中提供了这项研究的样本。

记忆分析。图 3 报告了当语义标记提示长度在 0 到 10 秒之间变化时,精确匹配和近似匹配的情况。我们观察到,即使使用 10 秒的提示来生成 5 秒的后续内容,精确匹配的比例始终非常小(< 0.2%)。图 3 还包括使用 τ = 0.85 的近似匹配结果。我们可以看到,使用这种方法检测到的匹配数量更高,即使仅使用 MuLan 标记作为输入(提示长度 T = 0),匹配示例的比例也随着提示长度的增加而上升。我们进一步检查了这些匹配项,发现得分最低的匹配对应于标记多样性较低的序列。具体来说,125 个语义标记样本的平均经验熵为 4.6 比特,而在匹配得分小于 0.5 的近似匹配序列中,该值下降至 1.0 比特。我们在附带材料中提供了 T = 0 时获得的近似匹配样本。请注意,第二阶段进行的声学建模在语义标记完全匹配的情况下,也会在生成的样本中引入额外的多样性。

6 扩展应用

旋律条件控制。我们对 MusicLM 进行扩展,使其能够根据文本描述和一段旋律生成音乐,该旋律可以是以哼唱、歌唱、吹口哨或演奏乐器的形式提供。这需要以某种方式扩展条件信号,以捕捉目标旋律信息。为此,我们创建了一个合成数据集,其中包含旋律相同但音色(acoustics)不同的音频对。为了构建这样的数据对,我们使用同一段音乐剪辑的不同版本,例如翻唱版、纯音乐版或人声版。此外,我们还收集了人们哼唱和唱歌的数据对。随后,我们训练了一个联合嵌入模型,使得当两个音频片段包含相同旋律时,它们的嵌入表示彼此接近。关于实现细节,请参见附录 C。

为了提取用于 MusicLM 的旋律条件信号,我们使用 RVQ 对旋律嵌入进行量化,并将得到的标记序列与 MuLan 的音频标记 MA 进行拼接。在推理阶段,我们从输入音频片段中提取旋律标记,并将其与 MuLan 的文本标记 MT 拼接在一起。基于这种条件设置,MusicLM 能够成功生成既符合输入音频中的旋律,又贴合文本描述的音乐作品。

长序列生成与“故事模式”。在 MusicLM 中,生成过程在时间维度上是自回归的,因此可以生成比训练过程中使用的更长的音频序列。实际上,语义建模阶段是在 30 秒长度的音频序列上训练的。为了生成更长的序列,我们以 15 秒为步长向前推进,以前一个 15 秒作为前缀来生成下一个 15 秒,同时始终以相同的文本描述作为条件。通过这种方法,我们可以生成持续数分钟、整体连贯的长音频序列。

通过一个小的修改,我们还可以在生成长音频的同时随时间改变文本描述。借鉴 Villegas 等人(2022)在视频生成中的做法,我们将这种方法称为“故事模式”(story mode)。具体来说,我们从多个文本描述中计算出 MT,并每 15 秒更换一次条件信号。模型能够生成节奏一致、语义合理且随着文本描述变化而自然过渡的音乐内容。

7 结论

我们提出了 MusicLM,这是一种基于文本条件的生成模型,能够以 24 kHz 的采样率生成高质量、持续数分钟且内容连贯的音乐,并能忠实于输入的文本条件信号。我们在 MusicCaps 数据集上验证了该方法的有效性。MusicCaps 是一个由音乐家精心整理的高质量数据集,包含 5.5 千对音乐-文本样本。实验表明,我们的方法在该数据集上优于基线模型。

我们的方法也存在一些局限性,这些局限性部分继承自 MuLan。例如,模型无法正确理解文本中的否定句,也无法准确捕捉文本中描述的时间顺序。此外,我们的定量评估仍需进一步改进。具体来说,由于 MCC 指标本身依赖于 MuLan,因此 MCC 分数对我们的方法更有利。

未来的研究方向可以包括歌词生成、文本条件建模和人声质量的提升。另一个值得关注的方向是对高层次歌曲结构的建模,如前奏、主歌和副歌等。同时,以更高的采样率建模音乐也是未来的一个目标。

8 更广泛的影响

MusicLM 能够根据文本描述生成高质量音乐,因此它进一步拓展了辅助人类进行创造性音乐工作的工具集。然而,我们的模型及其应用场景也带来了一些潜在风险。生成的音乐样本会反映出训练数据中存在的偏见,这引发了关于训练数据中代表性不足的文化群体是否适合用于音乐生成的问题,同时也引发了对文化挪用(cultural appropriation)的担忧。

我们认识到与该应用场景相关的创意内容被不当使用的潜在风险。为了负责任地开发模型,我们进行了深入的记忆分析研究,借鉴并扩展了基于文本的大语言模型中常用的方法,重点分析了语义建模阶段的表现。我们发现,仅有极小比例的训练样本被完全记忆,而对于 1% 的样本,我们只能识别出近似匹配。

我们强烈强调,在音乐生成领域应对这些相关风险仍需要更多未来的研究工作。目前,我们暂无计划公开发布模型。

A. MusicCaps 数据集

与本文一同,我们发布了 MusicCaps,这是一个高质量的音乐描述数据集。6 该数据集包含来自 AudioSet(Gemmeke 等人,2017)的音乐片段,并配以相应的英文文本描述。整个数据集共包含 5,521 个样本,其中 2,858 个来自 AudioSet 的评估集(eval split),2,663 个来自 AudioSet 的训练集(train split)。我们进一步从中标注了 1,000 个样本作为数据集的“平衡子集”,该子集在音乐风格(genre)上进行了平衡处理。平衡子集中的所有样本均来自 AudioSet 的评估集。

自由文本描述示例:

  • “这首民谣由一位男声演唱主旋律,情绪饱满。背景中有一架手风琴演奏填充旋律,一把小提琴演奏持续的旋律。这首歌中没有打击乐。这首歌可以在中亚古典音乐会中播放。”

  • “这是一段键盘手在电子键盘上演奏十二小节布鲁斯进行的现场录音。演奏者在和弦转换之间加入了装饰音,整首曲子听起来富有律动感、布鲁斯风格和灵魂乐的感觉。”

  • “一个合成器以大量混响演奏着速度起伏的琶音拨奏。另一个合成器演奏着铺底音色和低音线条。整首歌曲充满了合成器音色,营造出一种舒缓而富有冒险感的氛围。这首歌可能在音乐节上两首歌之间的过渡部分播放。”

  • “一个低沉的男声在一段快速节奏的雷鬼顿鼓点和贝斯上进行说唱。类似吉他的乐器在其中演奏旋律。这段录音的音频质量较差。背景中可以听到笑声。这首歌可能在酒吧中播放。”

  • “这首电子音乐每大约两秒重复一次。它由一个底鼓和拍手声组成的节奏构成。一个嗡嗡作响的合成器通过每两拍发声一次来设定音乐的脉动。整首音乐听起来像一个不断循环播放的音轨。在片段的结尾部分,可以听到一个逐渐增强的嗡嗡声,营造出紧张感。”

属性列表(aspect lists)示例:

  • “流行(pop),高频宽泛的踩镲声,柔和的钢琴旋律,高音女声主旋律,持续的脉冲合成器主音,柔和的女声,有力的底鼓,持续的合成器低音,拍手声,情绪化,悲伤,激情”

  • “业余录音,响指声,中频男声演唱,混响”

  • “伴奏轨道,爵士风格,电子鼓,钢琴,电贝斯,小号,原声吉他,数字键盘歌曲,中等节奏”

  • “拉巴布琴(rubab),在不同八度上演奏重复的旋律,无其他乐器,拨奏弦乐器,无人声,纯音乐,快速节奏”

  • “纯音乐,白噪音,女声人声演唱,三段不相关的音轨,电吉他和声,贝斯吉他,键盘和声,女声主唱,键盘和声,流畅的鼓点,浑厚的低音下潜,男声和声”

B. 定性评估

在听觉测试中,参与者会看到两个 10 秒钟的音频片段和一段文本说明,并被要求根据 5 点李克特量表判断哪一个片段最能准确描述该文本。同时,参与者被指示忽略音频质量,仅关注文本与音乐的匹配程度(类似于 MuLan 分数)。图 6 展示了评分者所看到的用户界面。

我们共收集了 1200 条评分,每个来源参与了 600 次成对比较。图 7 和图 8 展示了模型之间成对比较的详细结果。根据使用 Bonferroni 校正的 Wilcoxon 符号秩检验(p < 0.01/15)进行的事后分析,图 8 中所示的评分者给出的排序在统计上均具有显著性差异。

C. 旋律条件控制

以下是用于实现基于旋律条件控制音乐生成模型的详细信息。该模型基于一个小型的 ViT(Dosovitskiy 等人,2021),包含 12 层,6 个注意力头,嵌入维度为 512,前馈层维度为 1024。模型的输入是音频梅尔频谱图的时间帧。

我们使用半硬三元组损失(semi-hard triplet loss,Schroff 等人,2015)来训练旋律嵌入模型,使得每段 4 秒钟的音频生成一个 192 维的嵌入表示。该模型学习生成能够代表旋律的嵌入向量,同时对所演奏乐器的音色等声学特性具有不变性。这种特性特别有利,因为这种表示与 MuLan 嵌入所学习的表示是互补的。因此,我们的旋律嵌入与 MuLan 可以联合且互补地用于对音乐生成过程进行条件控制。

在训练过程中,我们使用的输入音频时长为 10 秒。我们从中提取三个旋律嵌入,跳跃长度(hop length)为 3 秒,然后使用残差向量量化(RVQ)将每个嵌入离散化为标记(token),并将得到的标记序列与 MuLan 的音频标记 MA 进行拼接。我们使用的 RVQ 包含 24 个量化器,每个量化器的词汇表大小为 512。

原文链接:https://arxiv.org/pdf/2301.11325