KDD 2018 Research Track 最佳学生论文详解:流行音乐的旋律与编曲生成

AI 科技评论消息,KDD 2018 于 2018 年 8 月 19 日至 23 日在英国伦敦举行,开幕式上一系列奖项随之揭晓,由中国科学技术大学、微软人工智能和研究院、苏州大学团队合作的论文 XiaoIce Band: A Melody and Arrangement Generation Framework for Pop Music 获得 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]使用循环神经网络来产生旋律以及伴奏效果,如和弦和鼓。虽然已经对音乐创作进行了广泛的研究,但还没有工作针对流行音乐的特性来进行研究。对于流行音乐的产生,以前的作品不考虑和弦进行和节奏型。而且,和弦进行通常引导旋律生成,节奏型决定该歌曲是否适合于歌唱。此外,流行音乐也应保留乐器特性。最后,和谐在多轨音乐中起着重要作用,但在之前的研究中并未得到很好的解决。

总之,我们将小冰乐队与几个相关模型进行比较,并将结果显示在表 1 中。

多任务学习

多任务学习通常用于共享特征的相关任务,因为从一个任务中学习的特征可能对其他任务有用。在以前的工作中,多任务学习已成功应用于机器学习的所有应用,从自然语言处理[7,21]到计算机视觉[10,33]。

图 2:标有“和弦进行”的歌曲“We Don’t Talk Anymore”的旋律

例如,张等人[34] 提出通过共享相关任务的训练数据来提升整体的生成效果。在[15]中,作者预先定义了由若干 NLP 任务组成的分层架构,并设计了一个简单的正则项来优化所有模型权重,以改善一项任务的损失,而不会在其他任务中表现出灾难性干扰。计算机视觉中的另一项工作[18]通过基于最大化具有任务依赖性不确定性的高斯可能性导出多任务损失函数,来调整每个任务在成本函数中的相对权重。在[22,23,27]中则提出了更多应用于深度学习的多任务学习工作。

问题描述与模型结构

由于每个流行音乐都有特定的和弦进行,我们考虑在给定和弦进行条件下生成流行音乐的场景。因此,音乐生成任务的输入是给定的和弦进行

注意,Ci 是和弦的向量表示,lc 是序列的长度。我们的目标是生成合适的节奏

和旋律

为此,我们提出 CRMCG 用于单轨音乐,以及 MICA 用于多轨音乐来解决这个问题。

图 4 显示了小冰乐队的整体框架,它可以分为四个部分:1)数据处理部分;2)用于旋律生成的 CRMCG 部分(单轨);3)用于编曲生成的MICA 部分(多轨道);4)显示部分。

图 4:小冰乐队的流程图概述

表 2:框架中使用的符号

实验

为了研究 CRMCG 和 MICA 的有效性,我们对收集的数据集进行了两个任务的实验:旋律生成和编曲生成。

数据描述

在本文中,我们在真实世界数据集上进行了实验,该数据集由超过五万个 MIDI(数字分数格式)文件组成,并且为了避免偏差,那些不完整的 MIDI 文件,例如没有声道的音乐都被删除。最后,我们的数据集中保存了 14077个 MIDI 文件。具体来说,每个 MIDI 文件包含各种类型的音轨,如旋律,鼓,贝司和弦乐。

为了保证实验结果的可靠性,我们对数据集进行了如下预处理。首先,我们将所有 MIDI 文件转换为 C 大调或 A 小调,以保持所有音乐在同一曲调上。然后我们将所有音乐的 BPM(每分钟节拍)设置为 60,这确保所有音符都是整数节拍。最后,我们将每 2 个小节并为一个乐段。表 3 总结了修剪数据集的一些基本统计数据。

表 3:数据集描述

训练细节

我们从数据集中随机选择 9855 个实例作为训练数据,另外 2815 个用于调整参数,最后 1407 个作为测试数据来验证性能以及更多生成的音乐。在我们的模型中,对于编码器和解码器中的每个 GRU 层,循环隐藏单元的数量设置为 256。用于计算注意力单元和 MLP 单元中的隐藏向量的参数的维度被设置为 256。使用随机梯度下降[1]算法更新模型,其中批量大小设置为 64,并且根据验证集上的交叉熵损失选择最终模型。

旋律生成

在本小节中,我们进行旋律生成任务以验证我们的 CRMCG 模型的性能。 也就是说,我们仅使用从原始 MIDI 音乐中提取的旋律轨迹来训练模型并评估旋律轨迹生成结果的美学质量。

基线方法

由于音乐生成任务通常可以被视为序列生成问题,我们选择两个最先进的模型作为基线生成序列:

马真塔(RNN) 基于 RNN 的模型[3],旨在模拟具有表现力时间和动态的复音音乐。

GANMidi(GAN) 一种新颖的基于对抗网络(GAN)的模型[32],它使用条件机制来开发音乐的多种先验知识。

除了提出的 CRMCG 模型,我们还评估了模型的两个变体,以验证和弦进行和交叉训练方法对旋律生成的重要性:

CRMCG(完整版) 提出的模型,用和弦信息交叉产生旋律和节奏。

CRMCG(有/无和弦进行) 基于 CRMCG(完整),和弦信息被删除。

CRMCG(有/无交叉训练) 基于 CRMCG(完整),我们在训练过程中分别根据 Lm 和 Lr 训练旋律和节奏型。

整体表现

考虑到音乐生成的独特性,没有合适的量化度量来评估旋律生成结果。因此,我们验证了基于人类研究的模型的性能。根据[29]中的一些观点概念,我们使用列出的指标:

表 4:人类对旋律生成的评估

韵律:音乐听起来流畅而适当暂停吗?

旋律:音乐识别关系是否自然而和谐?

完整:音乐结构是否完整而不是突然中断?

可唱性:音乐适合用歌词唱歌吗?

我们邀请了 8 名音乐欣赏专家志愿者来评估各种方法的结果。志愿者根据上述评估指标对每个生成的音乐进行评分,评分为 1 到 5。表 4 显示了性能。根据结果,我们发现 CRMCG 模型在所有指标上都优于所有基线, 显著提高了我们的 CRMCG 模型对旋律生成的有效性。特别是,CRMCG(完整)比 CRMCG(有/无和弦)表现更好,它可以验证和弦信息,提高旋律的质量。此外,我们还发现交叉训练平均可以提高 6.9% 的质量, 这证明了我们的交叉训练算法对旋律生成的有效性。

同时,我们发现基于 RNN 的基线优于基于 GAN 的模型,该模型使用卷积神经网络来生成旋律。这种现象表明基于 RNN 的模型更适合于旋律生成,这就是我们设计基于 RNN 的 CRMCG 的原因。

编曲生成

在本小节中,我们进行多轨音乐生成以验证我们的 MICA 模型的性能。在这里,我们选择多轨音乐生成中的五个最重要的任务,即旋律,鼓,贝斯,弦乐和吉他。

基线方法

为了验证我们的两个 MICA 模型的性能,选择相关模型 HRNN[6]作为基线方法。具体来说,我们将比较方法设置如下:

HRNN: 基于分层 RNN 的模型[6],用于生成多轨音乐。特别是,它使用低层结构来生成旋律,使用更高层级的结构产生不同乐器的轨道。

MICA 使用注意单元:提出的模型,使用注意单元在不同轨道之间共享信息。

MICA 使用 MLP 单元:提出的模型,使用 MLP 单元在不同轨道之间共享信息。

整体性能

与旋律生成任务不同,我们要求志愿者从整体上评估所生成音乐的质量。

表 5:人类对编曲生成的评价

性能如表 5 所示。根据结果,我们发现,我们的 MICA模型在单轨和多轨上的性能优于当前方法 HRNN,这意味着 MICA 在多轨音乐生成任务上有显著改进。特别地,我们发现多轨道具有更高的分数, 这表明多轨道音乐听起来比单轨音乐更好并且证实了编曲的重要性。同时,我们观察到鼓的轨道与其他单轨道相比性能最差,这是因为鼓的轨道仅在一段多轨道音乐中起辅助作用。此外,我们基于 MLP 单元的 MICA 模型比基于注意单元的 MICA 模型表现更好,似乎我们的 MLP 单元机制可以更好地利用多个轨道之间的信息。

结论

在本文中,我们提出了一种基于音乐知识的旋律和编曲生成框架,称为小冰乐队,它生成了同时伴随的几种乐器的旋律。对于旋律生成,我们设计了基于和弦的节奏和旋律交叉生成模型(CRMCG),其利用和弦进行来指导旋律进行,以及通过节奏型来学习歌曲的结构。对于编曲生成,在多任务学习的推动下,我们提出了一种用于多音轨音乐编曲的多乐器联合编曲模型(MICA),它在解码器层的每一步使用其他任务状态来提高整个的性能并确保多轨音乐的和谐。通过大量实验,无论是会自动指标还是人工评估,我们的系统与其他模型相比均表现出更好的性能,并且我们已经完成了图灵测试并取得了良好的效果。此外,我们在互联网上制作了流行音乐示例,展示了我们模型的应用价值。

论文地址:https://dl.acm.org/authorize.cfm?key=N665888

References

[1] Léon Bottou. 2010. Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT’2010. Springer, 177–186.

[2] Mason Bretan, Gil Weinberg, and Larry Heck. 2016. A Unit Selection Methodology for Music Generation Using Deep Neural Networks. arXiv preprint arXiv:1612.03789 (2016).

[3] PietroCasellaandAnaPaiva.2001.Magenta:Anarchitectureforrealtimeautomatic composition of background music. In International Workshop on Intelligent Virtual Agents. Springer, 224–232.

[4] Kyunghyun Cho, Bart Van Merriënboer, Dzmitry Bahdanau, and Yoshua Bengio. 2014. On the properties of neural machine translation: Encoder-decoder approaches. arXiv preprint arXiv:1409.1259 (2014).

[5] Parag Chordia, Avinash Sastry, and Sertan Şentürk. 2011. Predictive tabla modelling using variable-length markov and hidden markov models. Journal of New Music Research 40, 2 (2011), 105–118.

[6] Hang Chu, Raquel Urtasun, and Sanja Fidler. 2016. Song from pi: A musically plausible network for pop music generation. arXiv preprint arXiv:1611.03477(2016).

[7] Ronan Collobert and Jason Weston. 2008. A unified architecture for natural language processing: Deep neural networks with multitask learning. In Proceedings of the 25th international conference on Machine learning. ACM, 160–167.

[8] Darrell Conklin. 2003. Music generation from statistical models. In Proceedings of the AISB 2003 Symposium on Artificial Intelligence and Creativity in the Arts and Sciences. Citeseer, 30–35.

[9] Daxiang Dong, Hua Wu, Wei He, Dianhai Yu, and Haifeng Wang. 2015. Multi-Task Learning for Multiple Language Translation.. In ACL (1). 1723–1732.

[10] RossGirshick.2015.Fastr-cnn.InProceedingsoftheIEEEinternationalconference on computer vision. 1440–1448.

[11] Ian Goodfellow, Jean Pouget Abadie, Mehdi Mirza, Bing Xu, David Warde Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. 2014. Generative adversarial nets. In Advances in neural information processing systems. 2672–2680.

[12] Alex Graves, Abdel-rahman Mohamed, and Geoffrey Hinton. 2013. Speech recognition with deep recurrent neural networks. In Acoustics, speech and signal processing (icassp), 2013 ieee international conference on. IEEE, 6645–6649.

[13] Gaëtan Hadjeres and François Pachet. 2016. DeepBach: a Steerable Model for Bach chorales generation. arXiv preprint arXiv:1612.01010 (2016).

[14] ChristopherHarte,MarkSandler,andMartinGasser.2006.Detectingharmonic change in musical audio. In Proceedings of the 1st ACM workshop on Audio and music computing multimedia. ACM, 21–26.

[15] Kazuma Hashimoto, Caiming Xiong, Yoshimasa Tsuruoka, and Richard Socher. 2016. A joint many-task model: Growing a neural network for multiple NLP tasks. arXiv preprint arXiv:1611.01587 (2016).

[16] Nanzhu Jiang, Peter Grosche, Verena Konz, and Meinard Müller. 2011. Analyzing chroma feature types for automated chord recognition. In Audio Engineering Society Conference: 42nd International Conference: Semantic Audio. Audio Engineering Society.

[17] Daniel Johnson.2015.Composing music with recurrent neural networks.(2015).

[18] Alex Kendall, Yarin Gal, and Roberto Cipolla. 2017. Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics. arXiv preprint arXiv:1705.07115 (2017).

[19] Diederik P Kingma and Max Welling. 2013. Auto-encoding variational bayes.

arXiv preprint arXiv:1312.6114 (2013).

[20] Vladimir I Levenshtein. 1966. Binary codes capable of correcting deletions, insertions, and reversals. In Soviet physics doklady, Vol. 10. 707–710.

[21] Pengfei Liu, Xipeng Qiu, and Xuanjing Huang. 2016. Recurrent neural network for text classification with multi-task learning. arXiv preprint arXiv:1605.05101(2016).

[22] Mingsheng Long and Jianmin Wang. 2015. Learning multiple tasks with deep relationship networks. arXiv preprint arXiv:1506.02117 (2015).

[23] Ishan Misra, Abhinav Shrivastava, Abhinav Gupta, and Martial Hebert. 2016. Cross-stitch networks for multi-task learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 3994–4003.

[24] Olof Mogren. 2016. C-RNN-GAN: Continuous recurrent neural networks with adversarial training. arXiv preprint arXiv:1611.09904 (2016).

[25] François Pachet, Sony CSL Paris, Alexandre Papadopoulos, and Pierre Roy. 2017. Sampling variations of sequences for structured music generation. In Proceedings of the 18th International Society for Music Information Retrieval Conference (ISMIR’2017), Suzhou, China. 167–173.

[26] François Pachet and Pierre Roy. 2011. Markov constraints: steerable generation of Markov sequences. Constraints 16, 2 (2011), 148–172.

[27] Sebastian Ruder, Joachim Bingel, Isabelle Augenstein, and Anders Søgaard. 2017. Sluice networks: Learning what to share between loosely related tasks. arXiv preprint arXiv:1705.08142 (2017).

[28] Romain Sabathé, Eduardo Coutinho, and Björn Schuller. 2017. Deep recurrent music writer: Memory-enhanced variational autoencoder-based musical score composition and an objective measure. In Neural Networks (IJCNN), 2017 International Joint Conference on. IEEE, 3467–3474.

[29] Paul Schmeling. 2011. Berklee Music Theory. Berklee Press.

[30] Heung-Yeung Shum, Xiaodong He, and Di Li. 2018. From Eliza to XiaoIce: Challenges and Opportunities with Social Chatbots. arXiv preprint arXiv:1801.01957(2018).

[31] Andries Van Der Merwe and Walter Schulze. 2011. Music generation with Markov models. IEEE MultiMedia 18, 3 (2011), 78–85.

[32] Li-Chia Yang, Szu-Yu Chou, and Yi-Hsuan Yang. 2017. MidiNet: A convolutional generative adversarial network for symbolic-domain music generation. In Proceedings of the 18th International Society for Music Information Retrieval Conference (ISMIR’2017), Suzhou, China.

[33] Xiaofan Zhang, Feng Zhou, Yuanqing Lin, and Shaoting Zhang. 2016. Embed- ding label structures for fine-grained feature representation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 1114–1123.

[34] Yu Zhang and Qiang Yang. 2017. A survey on multi-task learning. arXiv preprint arXiv:1707.08114 (2017).

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180822A1M29P00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券