OpenAI研究 点唱机
我们正在推出 Jukebox,这是一种神经网络,可以生成音乐,包括基本的歌唱,作为各种流派和艺术家风格的原始音频。我们将发布模型权重和代码,以及用于探索生成样本的工具。
精选样品
提供流派、艺术家和歌词作为输入,点唱机输出从头开始制作的新音乐样本。下面,我们展示了一些我们最喜欢的示例。
要收听所有未经整理的样本,请查看我们的样本资源管理器。
探索所有示例动机和之前的工作
自动音乐生成可以追溯到半个多世纪以前。1、2、3、4个 一种突出的方法是以钢琴卷的形式象征性地生成音乐,它指定要播放的每个音符的时间、音高、速度和乐器。这导致了令人印象深刻的结果,比如制作巴赫合唱,5、6个 多种乐器的和弦音乐,7、8、9 以及一分钟长的音乐作品。10 ,11 ,12
但符号发生器有局限性——它们无法捕捉人声或许多对音乐至关重要的更微妙的音色、动态和表现力。一种不同的方法A[A]
还可以使用混合方法——首先生成符号音乐,然后使用以钢琴卷为条件的波网将其渲染为原始音频,13 ,14 一个自动编码器,15 或一个 GAN16—或者做音乐风格转换,在古典音乐和爵士音乐之间转换风格,17 生成芯片音乐,18 或解开音乐风格和内容。19 为了更深入地了解原始音频建模,我们推荐这个优秀的 概述。
解决长输入问题的一种方法是使用自动编码器,通过丢弃一些与感知无关的信息位,将原始音频压缩到低维空间。然后我们可以训练一个模型在这个压缩空间中生成音频,然后上采样回到原始音频空间。25 ,24
我们选择从事音乐工作,因为我们想继续突破生成模型的界限。我们之前在 MuseNet上的工作 探索了基于大量 MIDI 数据合成音乐。现在在原始音频中,我们的模型必须学会解决高多样性和超长范围结构,原始音频领域特别不容忍短期、中期或长期时序的错误。


方法
将音乐压缩为离散代码
Jukebox 的自动编码器模型使用称为 VQ-VAE 的基于量化的方法将音频压缩到离散空间。25 分层 VQ-VAE24 可以从几组乐器中生成短的乐器片段,但是由于使用连续编码器和自回归解码器,它们会遭受层次结构崩溃。称为 VQ-VAE-2 的简化变体26 通过仅使用前馈编码器和解码器避免了这些问题,并且它们在生成高保真图像方面显示出令人印象深刻的结果。
我们从 VQ-VAE-2 中汲取灵感,并将他们的方法应用于音乐。我们修改他们的架构如下:
- 为了减轻 VQ-VAE 模型常见的码本崩溃,我们使用随机重启,每当码本向量的使用低于阈值时,我们随机将码本向量重置为编码的隐藏状态之一。
- 为了最大限度地利用上层,我们使用单独的解码器并独立地从每一层的代码中重建输入。
- 为了让模型轻松重建更高的频率,我们添加了一个频谱损失27 ,28 这会惩罚输入和重建频谱图差异的范数。
我们在 VQ-VAE 中使用三个级别,如下所示,分别将 44kHz 原始音频压缩 8x、32x 和 128x,每个级别的码本大小为 2048。这种下采样丢失了很多音频细节,并且随着我们进一步降低电平,听起来明显嘈杂。但是,它保留了有关音频的音调、音色和音量的基本信息。
每个 VQ-VAE 级别独立地对输入进行编码。底层编码产生最高质量的重建,而顶层编码只保留基本的音乐信息。
使用转换器生成代码
接下来,我们训练先验模型,其目标是学习 VQ-VAE 编码的音乐代码的分布,并在这个压缩的离散空间中生成音乐。与 VQ-VAE 一样,我们有三个级别的先验:生成最多压缩代码的顶级先验,以及生成较少压缩代码的两个上采样先验。
顶级先验模型对音乐的长程结构进行建模,从该级别解码的样本具有较低的音频质量,但可以捕获歌唱和旋律等高级语义。中间和底部的上采样先验添加了音色等局部音乐结构,显着提高了音频质量。
我们使用稀疏变换器的简化变体将它们训练为自回归模型。29 ,30 这些模型中的每一个在 8192 个代码的上下文中都有 72 层分解的自注意力,分别对应于顶层、中层和底层大约 24 秒、6 秒和 1.5 秒的原始音频。
一旦所有先验都经过训练,我们就可以从顶层生成代码,使用上采样器对它们进行上采样,然后使用 VQ-VAE 解码器将它们解码回原始音频空间以对新歌进行采样。
数据集
为了训练这个模型,我们在网络上抓取了一个包含 120 万首歌曲(其中 60 万首是英语)的新数据集,并与来自 LyricWiki 的相应歌词和元数据 配对。元数据包括艺术家、专辑流派和歌曲年份,以及与每首歌曲相关的共同情绪或播放列表关键词。我们在 32 位、44.1 kHz 原始音频上进行训练,并通过随机缩混左右声道以产生单声道音频来执行数据增强。
艺术家和流派调节
顶层转换器接受了预测压缩音频标记任务的训练。我们可以提供额外信息,例如每首歌曲的艺术家和流派。这有两个好处:首先,它降低了音频预测的熵,因此模型能够在任何特定风格下获得更好的质量;其次,在生成时,我们能够引导模型以我们选择的样式生成。
这个 t-SNE31 下面展示了该模型如何以无人监督的方式学习将相似的艺术家和流派聚集在一起,并且还做出了一些令人惊讶的关联,例如 Jennifer Lopez 与 Dolly Parton 如此接近!
歌词调理
除了以艺术家和流派为条件外,我们还可以通过以歌曲歌词为模型条件来在训练时提供更多上下文。一个重大的挑战是缺乏对齐良好的数据集:我们只有歌曲级别的歌词而没有与音乐对齐,因此对于给定的音频块,我们无法准确知道歌词的哪一部分(如果有的话)出现。我们也可能有与歌词版本不匹配的歌曲版本,如果给定歌曲由几位不同的艺术家以略有不同的方式演唱,则可能会出现这种情况。此外,歌手经常重复歌词或以其他方式改变歌词,而这些方式并不总是在书面歌词中体现出来。
为了将音频部分与其相应的歌词相匹配,我们从一个简单的启发式方法开始,该方法将歌词的字符对齐以线性跨越每首歌曲的持续时间,并在训练期间传递以当前片段为中心的固定大小的字符窗口。虽然这种简单的线性对齐策略效果出奇地好,但我们发现它对于某些具有快速歌词的流派来说是失败的,例如嘻哈。为了解决这个问题,我们使用 Spleeter32 从每首歌曲中提取人声并对提取的人声运行 NUS AutoLyricsAlign [ ^reference-33] 以获得歌词的精确词级对齐。我们选择了一个足够大的窗口,这样实际的歌词就有很高的概率在窗口内。
为了关注歌词,我们添加了一个编码器来生成歌词的表示,并添加了使用来自音乐解码器的查询来关注来自歌词编码器的键和值的注意力层。训练后,模型学习更精确的对齐方式。
编码器-解码器注意层学习的歌词-音乐
对齐随着音乐的进行,注意从一个歌词标记进展到下一个,有一些不确定的时刻。
限制
虽然 Jukebox 在音乐质量、连贯性、音频样本长度以及根据艺术家、流派和歌词进行调节的能力方面向前迈进了一步,但这些世代与人类创作的音乐之间存在显着差距。
例如,虽然生成的歌曲显示出当地的音乐连贯性,遵循传统的和弦模式,甚至可以以令人印象深刻的独奏为特色,但我们听不到熟悉的更大的音乐结构,例如重复的合唱。我们的下采样和上采样过程引入了可辨别的噪声。改进 VQ-VAE 使其代码捕获更多音乐信息将有助于减少这种情况。由于抽样的自回归性质,我们的模型抽样速度也很慢。通过我们的模型完全渲染一分钟的音频大约需要 9 个小时,因此它们还不能用于交互式应用程序。使用技巧27 ,33 将模型提取到并行采样器中可以显着加快采样速度。最后,我们目前训练英文歌词和主要是西方音乐,但未来我们希望包括来自其他语言和世界各地的歌曲。
未来发展方向
我们的音频团队正在继续致力于根据不同类型的启动信息生成音频样本。特别是,我们已经看到了对 MIDI 文件和主干文件的早期成功调节。这是一个以MIDI 标记 为条件的 原始音频样本示例 。我们希望这将提高样本的音乐性(以调节歌词改善歌唱的方式),这也是让音乐家对世代有更多控制权的一种方式。我们期望人与模型的合作成为一个越来越令人兴奋的创意空间。如果您对与我们一起解决这些问题感到兴奋, 我们正在招聘.
随着跨各个领域的生成模型的不断发展,我们也在对 偏见 和 知识产权等问题进行研究,并与在我们开发工具的领域工作的人们进行接触。为了更好地了解未来对音乐社区的影响,我们与最初的 10 位来自不同流派的音乐家分享了 Jukebox,以讨论他们对这项工作的反馈。虽然 Jukebox 是一个有趣的研究结果,但这些音乐家并没有发现它立即适用于他们的创作过程,因为它目前存在一些 局限性. 我们正在与更广泛的创意社区建立联系,因为我们认为跨文本、图像和音频的生成工作将继续改进。如果您有兴趣成为一名创造性的合作者来帮助我们在这些领域构建 有用的工具 或新的艺术作品,请 告诉我们!
要与相应的作者联系,请发送电子邮件至 jukebox@openai.com。
时间线
2019
八月我们的第一个原始音频模型,它学习重新创建钢琴和小提琴等乐器。我们尝试了一个摇滚和流行歌曲的数据集,令人惊讶的是它有效。
2019
十月我们收集了更大、更多样化的歌曲数据集,并带有流派和艺术家的标签。模型以多样性更一致地挑选艺术家和流派风格,并且在融合时也可以产生具有长程连贯性的完整歌曲。
2020
一月我们将 VQ-VAE 从 22kHz 扩展到 44kHz,以获得更高质量的音频。我们还将顶层先验从 1B 扩展到 5B 以捕获增加的信息。我们看到了更好的音乐质量、清晰的歌声和远距离的连贯性。我们还对真实歌曲进行新颖的改编。
2020
二月我们开始以歌词为条件训练模型,以纳入更多条件信息。我们只有未对齐的歌词,所以模型必须学习对齐和发音,以及唱歌。
脚注
参考
小希勒,洛杉矶和 LM 艾萨克森。“用高速数字计算机作曲。” 音频工程学会杂志 6.3 (1958):154-160。 ↩︎
贝尔斯,彼得。“元胞自动机的音乐世界。” 国际计算机音乐会议论文集。1989.↩︎ _
Hadjeres、Gaëtan、François Pachet 和 Frank Nielsen。“ Deepbach:巴赫合唱生成的可控模型。” 第 34 届机器学习国际会议论文集 - 第 70 卷。JMLR。组织,2017 年 。↩︎
董浩文等。“ Musegan:用于符号音乐生成和伴奏的多轨顺序生成对抗网络。” 第三十届 AAAI 人工智能会议。2018.
↩︎杨立嘉、周思雨和杨宜轩。“ MidiNet:用于符号域音乐生成的卷积生成对抗网络。” arXiv 预印本 arXiv:1703.10847 (2017)。
↩︎罗伯茨、亚当等。“用于学习音乐长期结构的分层潜在向量模型。” arXiv 预印本 arXiv:1803.05428 (2018)。
↩︎佩恩,克里斯汀。“ MuseNet,2019 年。 ”URL openai.com/blog/musenet(2019 年)。
↩︎吴,健,等。“用于符号旋律生成的分层递归神经网络。” IEEE 控制论交易 (2019)。
↩︎Oord、Aaron van den 等人。“ Wavenet:原始音频的生成模型。” arXiv 预印本 arXiv:1609.03499 (2016)。
↩︎Mehri、Soroush 等人。“ SampleRNN:一种无条件的端到端神经音频生成模型。” arXiv 预印本 arXiv:1612.07837 (2016)。
↩︎山本龙一、宋银宇和金载民。“ Parallel WaveGAN:一种基于具有多分辨率频谱图的生成对抗网络的快速波形生成模型。” ICASSP 2020-2020 IEEE 声学、语音和信号处理国际会议 (ICASSP)。IEEE,2020 年。
↩︎瓦斯奎兹、肖恩和迈克·刘易斯。“ Melnet:频域音频的生成模型。” arXiv 预印本 arXiv:1906.01083 (2019)。
↩︎Dieleman、Sander、Aaron van den Oord 和 Karen Simonyan。“逼真音乐生成的挑战:大规模建模原始音频。” 神经信息处理系统的进展。2018.
↩︎↩︎↩︎ _ _Razavi、Ali、Aaron van den Oord 和 Oriol Vinyals。“使用 VQ-VAE-2 生成多样化的高保真图像。” 神经信息处理系统的进展。2019.
↩︎Arik、Sercan Ö.、Heewoo Jun 和 Gregory Diamos。“使用多头卷积神经网络进行快速频谱图反演。” IEEE 信号处理快报 26.1 (2018):94-98。
↩︎Child、Rewon 等人。“使用稀疏变换器生成长序列。” arXiv 预印本 arXiv:1904.10509 (2019)。
↩︎瓦斯瓦尼、阿希什等。“注意力就是你所需要的。” 神经信息处理系统的进展。2017.
↩︎Maaten、Laurens van der 和 Geoffrey Hinton。“使用 t-SNE 可视化数据。” 机器学习研究杂志 9.Nov (2008): 2579-2605。
↩︎Hennequin、Romain 等人。“ Spleeter:一种快速且最先进的音乐源分离工具,具有预训练模型。” 过程。国际音乐信息检索会议。2019.
↩︎Kingma, Durk P., 等人。“使用逆自回归流改进变分推理。” 神经信息处理系统的进展。2016.
↩︎