中央音乐学院、牛津大学和清华大学研究者提出首个无规则约束的基于深度学习的交响乐生成模型,探究了多轨道多乐器复杂音乐的自动创作与交互。
交响乐是人类音乐史上最复杂的音乐类型,其复杂多样的乐器组合与宏大的编制,常常被使用在影视配乐之中,好的配乐能营造气氛和情绪,推动电影情节发展,并影响观众对故事的解读。
一部好的电影,其音乐一定令人回味无穷。
还记得 2014 年上映的科幻电影《星际穿越》吗?主角一行人决定冒险登陆的第一颗星球,这颗星球的一小时等于地球的七年,但是在紧张的着陆后才发现大量散落的信标残骸,正当众人疑惑不已的时候,主角 Cooper 才终于意识到远处的山并不是山,而是巨浪!
那令人紧张到窒息的电影画面与极强压迫感的音乐,想必是记忆深刻。那你有没有想过,将这部电影换一种配乐,又会呈现一种怎样的场景,还能有原来一样的压迫感吗?
现在来自中央音乐学院、牛津大学和清华大学的研究者用 AI 做到了,效果如何呢?我们先来听听下面的这段配乐:
DNA 动了有没有?自己的心灵是不是为之一颤,这妥妥的就是大制作电影的配乐标准。最重要的是,它是 AI 生成的。
这项研究一经发布,就受到众多研究者的讨论,reddit 热度快突破 500:
有网友不禁为 Hans Zimmer 捏了一把汗。你可能会问 Hans Zimmer 是谁?Hans Zimmer 是一位很有名的音乐家、电影配乐作曲大师,盗梦空间、星际穿越、王者荣耀的背景音乐都是他的作品。
专门介绍这项研究的 Youtube 视频,也颇受关注:
更有网友在看完视频后表示:自己想成为一名作曲家,但是这个时代不合适。言外之意就是,AI 创作音乐的能力已经快威胁到人类。
那么这项研究是如何做到的呢?
基于符号的交响乐生成解决方案—SymphonyNet
音乐生成是近年的一个热门研究方向,但以交响乐为代表的复杂多轨道符号音乐生成,目前还面临诸多挑战。本文提出了一个基于符号的交响乐生成解决方案—SymphonyNet,此外本文还开源了首个大规模交响乐 MIDI 数据集!相信不久之后大家都可以训练自己的交响乐生成 AI 了。
- 论文地址:https://arxiv.org/abs/2205.05448
- Github 地址:https://symphonynet.github.io/
研究思路与技术细节
多轨道音乐是一种最为复杂的音乐组织形态,其中以交响乐为代表。作为人类历史上最复杂、最辉煌的音乐创作形式之一,大量乐器同时演奏,表达了丰富的人类情感。因此我们需要引入同时学习多轨道信息的深度学习模型。
1. 音乐的分类与建模考虑
在此之前,我们需要按轨道、声部角度对不同的音乐进行分类。
最后一种类型是多轨道多声部有重复乐器类型,是多轨道音乐最复杂的类型(如交响乐),同时也是本文的研究重点,需要从三个维度同时考虑其音乐符号之间的组织关系:
- 单轨道中横向的音符组合关系,如旋律性(红色方框)
- 纵向多轨道的音符组合关系,如和弦、和声等(蓝色方框)
- 纵向多轨道的乐器配合,如配器(黄色方框)
值得注意的是,本文提出的方法适用于以上所有形式的音乐生成。
2. 多轨道序列的半排列顺序不相关性
与一维的自然语言相比,符号音乐的序列是二维的,如同一个乐器可能会在同一时刻演奏多个音,或者不同的乐器在同一时刻演奏多个音。同时语法体现在语言的顺序中,例如 “我吃了烤鸭” 与“烤鸭吃了我”,同样的五个字,改变语序后意思产生了极大的变化,音乐序列中的 “同时性” 带来了另外一个重要的性质,就是改变序列中一些符号的排列顺序,不会造成序列所表达的内容的变化,本文定义音乐这样的二维序列是满足半排列顺序无关的(Semi-Permutation Invariant)。
- 蓝色方框表示乐器音轨,上下交换乐器轨道并不会改变音乐本身(排列顺序无关)
- 红色方框内的音符是同一时刻共同演奏的,没有顺序属性(排列顺序无关)
- 黄色方框(小)内,改变音符的演奏顺序会改变音乐本身所表达的内容(排列顺序相关)
- 黄色方框(大)包含红框是一种更加复杂的情况,只有红框可以交换顺序(半排列顺序无关)
当前大行其道的 Transformer 的 Self-attention 模块,其基本设计原理是排列顺序无关的,如果不加入位置编码,打乱输入的顺序仍会得到相同的输出,因为 Transformer 模型在计算自注意力时把输入当作一个集合,纯粹的注意力模块是无法捕捉输入顺序的。本文巧妙的利用了 Transformer 的特性,提出了一种新颖的符号音乐表征方法,多轨道多乐器的表征方法 MMR(Multi-track Multi-instrument Repeatable)和三维位置编码(3-D Positional Embedding),来表示这样一个半排列顺序不相关的特征,如图所示。
3. Music BPE
对于符号音乐的序列,音符是最小的不可切分的单位,类似于自然语言中的“字”,而多个音符所组成的音程或者和弦,可以在纵向维度上,理解成自然语言中的“词”,如下图所示:
受标准的 BPE 启发,本章提出了一种针对音乐序列的新颖算法—— Music BPE,用于音乐序列的符号化和预处理,这种词表聚合的算法不仅可以充分利用音乐事件其本身所组合出的复杂语义,也可以在表示的角度上减少整体输入音乐序列的长度。结合 MMR 表征,一个简单的例子如下图所示。
4.SymphoyNet 完整架构
基于多轨道音乐的特点,本文设计了一种基于线性自注意力的纯解码器结构,由于音乐序列的多维特性,本文为音乐事件的四个属性设计了不同的前馈输出头,这些属性是乐器,轨道,音符时长和事件符号。
其中,本文没有明确地将乐器相关信息编码到模型输入中,而是训练模型将每个音符的乐器分类作为一项联合训练任务。首先,本文考虑到另一种乐器也可以演奏由特定乐器演奏的音轨,例如在某些音乐作品中,用钢琴代替马林巴琴是可以接受的。其次,为音符预先分配的乐器缩小了训练数据的多样性,同时希望该模型能从输出端学习到如何自动配器,完整结构如下图所示:
实验结果与训练细节
本文设置了一组客观对比实验和一组主观对比实验,实验的对象分别是基线模型、使用了 Music BPE 的模型和同时使用了 Music BPE 和三维位置编码的模型。主观实验设置了 50 位具有各种音乐背景的参与者,被试者要求在听到的音乐中的五个方面进行评分,其中包括 Coherence (连贯性)、Diversity (多样性)、Harmoniousness (和谐性)、Structureness (结构性)、Orchestration (配器合理性)和 Overall Preference (整体偏好),每一个指标均采用 5 分的 Likert 评分法,其中各类指标采用首字母代替。
从主、客观结果可以观察到,使用了上述 Music BPE 和三维位置编码的模型在人类听感上的得分有较为明显的提升,从主观实验角度表明了该方法对符号音乐序列的建模有更好的效果,SymphoyNet 可以产生和谐的、有较强音乐性的多轨道音乐。
作者简介
刘家丰,中央音乐学院首届音乐人工智能博士生,师从中央音乐学院俞峰教授、清华大学孙茂松教授,硕士毕业于美国斯蒂文森理工学院,曾任校交响乐团首席钢琴,研究方向为基于深度学习的多轨道音乐生成。
董原良,中央音乐学院音乐人工智能博士二年级学生,师从中央音乐学院俞峰教授、清华大学孙茂松教授,研究兴趣为音乐表示学习及符号音乐的结构化生成。
程泽华,牛津大学计算机科学博士生,曾获 2019 年 ACM. MM Grand Challenge 冠军,研究方向为多模态深度学习。