带金字旁的女孩名字
原标题:KDD 2018 Research Track 最佳学生论文详解:流行音乐的旋律与编曲生成
原标题:KDD 2018 Research Track 最佳学生论文详解:流行音乐的旋律与编曲生成
在本文中,我们提出了小冰乐队,一个用于歌曲生成的端到端旋律和编曲生成框架。具体而言,我们提出基于和弦的节奏和旋律交叉生成模型(CRMCG)来生成给定和弦进行为条件的旋律。然后我们引入多乐器联合编曲模型(MICA)用于多轨音乐。在这里,两个信息共享策略,注意力(Attention)单元和多层机(MLP)单元,旨在捕获其他任务的有用信息。前一模型利用和弦进行来指导基于音乐知识的乐段之间的音程关系。后者在不同轨道之间共享信息,以确保编曲的和谐,提高歌曲的质量。对现实世界数据集的广泛实验证明了我们的模型相对于单轨和多轨音乐生成的基线模型的优势。具体来说,我们的模型[30]创造了许多流行歌曲并通过了 CCTV14 的图灵测试。本文的贡献总结如下。
基于音乐知识,我们提出用和弦进行来指导旋律和通过节奏型来学习歌曲的结构。然后,我们使用节奏和旋律交叉生成方法进行音乐生成。
我们在解码器层的每一步使用其他任务状态开发多任务联合生成网络,这提高了生成质量并确保了多轨音乐的和谐。
表 1:音乐生成模型比较(G:生成,Mt:多轨,M:旋律,Cp:和弦进行,Ar:编曲,Sa:可歌唱性)
在过去几十年中,音乐生成一直是一项具有挑战性的任务。已经提出了各种方法。典型的数据驱动统计方法通常采用 N 元文法和马尔可夫模型[5,26,31]。此外,在[2]中使用了用于音乐生成的单元选择方法,使用排序方法拼接音乐单元。此外,[25]也提出了类似的想法,它使用和弦来选择旋律。但是,传统方法需要大量的人力和领域知识。
最近,深度神经网络已经通过端到端方法被应用于音乐生成,解决了上述问题。其中,约翰逊等人[17]结合一个循环神经网络和一个非循环神经网络来同时表示多个音符的可能性。在[13]中提出了一种基于循环神经网络的生成模型,该模型能够通过使用类似吉布斯采样过程产生四部合唱。与基于循环神经网络的模型相反,塞巴斯等[28]使用 VAE [19]来学习音乐作品的分布。此外,杨和莫格伦等人[24,32]采用 GAN [11]来生成音乐,将随机噪声视为从头开始生成旋律的输入。与单轨音乐不同,Chu 等人[6]使用循环神经网络来产生旋律以及伴奏效果,如和弦和鼓。虽然已经对音乐创作进行了广泛的研究,但还没有工作针对流行音乐的特性来进行研究。对于流行音乐的产生,以前的作品不考虑和弦进行和节奏型。而且,和弦进行通常引导旋律生成,节奏型决定该歌曲是否适合于歌唱。此外,流行音乐也应保留乐器特性。最后,和谐在多轨音乐中起着重要作用,但在之前的研究中并未得到很好的解决。
多任务学习通常用于共享特征的相关任务,因为从一个任务中学习的特征可能对其他任务有用。在以前的工作中,多任务学习已成功应用于机器学习的所有应用,从自然语言处理[7,21]到计算机视觉[10,33]。
例如,张等人[34] 提出通过共享相关任务的训练数据来提升整体的生成效果。在[15]中,作者预先定义了由若干 NLP 任务组成的分层架构,并设计了一个简单的正则项来优化所有模型权重,以改善一项任务的损失,而不会在其他任务中表现出灾难性干扰。计算机视觉中的另一项工作[18]通过基于最大化具有任务依赖性不确定性的高斯可能性导出多任务损失函数,来调整每个任务在成本函数中的相对权重。在[22,23,27]中则提出了更多应用于深度学习的多任务学习工作。
由于每个流行音乐都有特定的和弦进行,我们考虑在给定和弦进行条件成流行音乐的场景。因此,音乐生成任务的输入是给定的和弦进行
图 4 显示了小冰乐队的整体框架,它可以分为四个部分:1)数据处理部分;2)用于旋律生成的 CRMCG 部分(单轨);3)用于编曲生成的MICA 部分(多轨道);4)显示部分。
为了研究 CRMCG 和 MICA 的有效性,我们对收集的数据集进行了两个任务的实验:旋律生成和编曲生成。
在本文中,我们在真实世界数据集上进行了实验,该数据集由超过五万个 MIDI(数字分数格式)文件组成,并且为了避免偏差,那些不完整的 MIDI 文件,例如没有声道的音乐都被删除。最后,我们的数据集中保存了 14077个 MIDI 文件。具体来说,每个 MIDI 文件包含各种类型的音轨,如旋律,鼓,贝司和弦乐。
为了保验结果的可靠性,我们对数据集进行了如下预处理。首先,我们将所有 MIDI 文件转换为 C 大调或 A 小调,以保持所有音乐在同一曲调上。然后我们将所有音乐的 BPM(每分钟节拍)设置为 60,这确保所有音符都是整数节拍。最后,我们将每 2 个小节并为一个乐段。表 3 总结了修剪数据集的一些基本统计数据。
我们从数据集中随机选择 9855 个实例作为训练数据,另外 2815 个用于调整参数,最后 1407 个作为测试数据来验证性能以及更多生成的音乐。在我们的模型中,对于编码器和解码器中的每个 GRU 层,循环隐藏单元的数量设置为 256。用于计算注意力单元和 MLP 单元中的隐藏向量的参数的维度被设置为 256。使用随机梯度下降[1]算法更新模型,其中批量大小设置为 64,并且根据验证集上的交叉熵损失选择最终模型。
在本小节中,我们进行旋律生成任务以验证我们的 CRMCG 模型的性能。 也就是说,我们仅使用从原始 MIDI 音乐中提取的旋律轨迹来训练模型并评估旋律轨迹生成结果的美学质量。
GANMidi(GAN)一种新颖的基于对抗网络(GAN)的模型[32],它使用条件机制来开发音乐的多种先验知识。
除了提出的 CRMCG 模型,我们还评估了模型的两个变体,以验证和弦进行和交叉训练方法对旋律生成的重要性:
CRMCG(有/无交叉训练)基于 CRMCG(完整),我们在训练过程中分别根据 Lm 和 Lr 训练旋律和节奏型。
考虑到音乐生成的独特性,没有合适的量化度量来评估旋律生成结果。因此,我们验证了基于人类研究的模型的性能。根据[29]中的一些观点概念,我们使用列出的指标:
我们邀请了 8 名音乐欣赏专家志愿者来评估各种方法的结果。志愿者根据上述评估指标对每个生成的音乐进行评分,评分为 1 到 5。表 4 显示了性能。根据结果,我们发现 CRMCG 模型在所有指标上都优于所有基线, 显著提高了我们的 CRMCG 模型对旋律生成的有效性。特别是,CRMCG(完整)比 CRMCG(有/无和弦)表现更好,它可以验证和弦信息,提高旋律的质量。此外,我们还发现交叉训练平均可以提高 6.9% 的质量, 这证明了我们的交叉训练算法对旋律生成的有效性。
同时,我们发现基于 RNN 的基线优于基于 GAN 的模型,该模型使用卷积神经网络来生成旋律。这种现象表明基于 RNN 的模型更适合于旋律生成,这就是我们设计基于 RNN 的 CRMCG 的原因。
在本小节中,我们进行多轨音乐生成以验证我们的 MICA 模型的性能。在这里,我们选择多轨音乐生成中的五个最重要的任务,即旋律,鼓,贝斯,弦乐和吉他。
为了验证我们的两个 MICA 模型的性能,选择相关模型 HRNN[6]作为基线方法。具体来说,我们将比较方法设置如下:
HRNN: 基于分层 RNN 的模型[6],用于生成多轨音乐。特别是,它使用低层结构来生成旋律,使用更高层级的结构产生不同乐器的轨道。
性能如表 5 所示。根据结果,我们发现,我们的 MICA模型在单轨和多轨上的性能优于当前方法 HRNN,这意味着 MICA 在多轨音乐生成任务上有显著改进。特别地,我们发现多轨道具有更高的分数, 这表明多轨道音乐听起来比单轨音乐更好并且了编曲的重要性。同时,我们观察到鼓的轨道与其他单轨道相比性能最差,这是因为鼓的轨道仅在一段多轨道音乐中起辅助作用。此外,我们基于 MLP 单元的 MICA 模型比基于注意单元的 MICA 模型表现更好,似乎我们的 MLP 单元机制可以更好地利用多个轨道之间的信息。
在本文中,我们提出了一种基于音乐知识的旋律和编曲生成框架,称为小冰乐队,它生成了同时伴随的几种乐器的旋律。对于旋律生成,我们设计了基于和弦的节奏和旋律交叉生成模型(CRMCG),其利用和弦进行来指导旋律进行,以及通过节奏型来学习歌曲的结构。对于编曲生成,在多任务学习的推动下,我们提出了一种用于多音轨音乐编曲的多乐器联合编曲模型(MICA),它在解码器层的每一步使用其他任务状态来提高整个的性能并确保多轨音乐的和谐。通过大量实验,无论是会自动指标还是人工评估,我们的系统与其他模型相比均表现出更好的性能,并且我们已经完成了图灵测试并取得了良好的效果。此外,我们在互联网上制作了流行音乐示例,展示了我们模型的应用价值。
本文由来源于财鼎国际