猜你喜欢
深度学习与音乐生成

深度学习与音乐生成

书籍作者:让·皮埃尔·布赖特(Jean-Pierre ISBN:9787302627234
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4888
创建日期:2024-03-31 发布日期:2024-03-31
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

一、大致内容:本书主要讲述了深度学习在音乐生成领域的研究意义、具体方法、方向目标、表现力、挑战策略、框架融合等,对于表现力与框架融合方面作了更详细的描述;表现力部分讲了深度学习与音乐生成相结合的方式策略、该领域研究结果的评判标准以及交叉知识的具体体现,是本书籍新颖立意的重要部分。二:特色:将音乐生成和深度学习相融合,是一个新颖研究方向,而本书没有拘泥于使用哪种框架进行实现,而是对比了多种实现方式,提供了多方面的思路,对于后续学者的探究有很强的引导作用。三:读者对象:本书对于对音乐感兴趣的人以及对深度学习前沿方向的学者有好的学习价值,能够开拓他们的视野,对广大的音乐和计算机爱好者均有较大的参考价值。

前言

这本书是对使用深度学习(深度人工神经网络)生成音乐内容的不同方法的一个综述。我们提出了以下基于五个维度的分析方法。

1. 目标

(1) 要生成什么内容的音乐?例如,生成单旋律、复调、伴奏或对位。

(2) 针对什么目的?有什么用途?例如,由人(按乐谱软件(musical score)上的谱子)来演奏,还是由机器(打开音频文件)来演奏。

2. 表示

(1) 需要知道什么样的数据?例如,波形数据、光谱图数据、音符数据、和弦数据、节拍和拍子表示。

(2)要使用什么样的数据格式?例如,MIDI文件、钢琴打孔卷文件、文本格式文件的表示。

(3) 如何进行数据的编码表示?例如,采用标量编码、独热(onehot)编码或多热(manyhot)编码的数据编码表示。

3. 架构

要使用哪种类型的深度神经网络?例如,前馈神经网络、递归神经网络、自编码器或生成对抗网络。

4. 挑战

面临的限制性和开放性的挑战是什么?例如,要能生成有一定变化的音乐,系统要具有一定的人机交互能力,要能生成具有一定创新性的音乐。

5. 策略

如何建模和控制音乐的生成过程?例如,采用单步前馈、迭代前馈算法,对数据如何进行采样或进行输入操控,等等。

对于上面提到的这五个维度,我们对各种模型和技术进行了比较分析,并尝试着把它们划分到相应的多维度类别中。本书采用的是“自下而上”的分析方法,即对许多现有的相关文献中提到的基于深度学习的音乐生成系统进行分析。本书中描述了这些提到的系统,并举例说明上面提到的五种维度(即目标、表示、架构、挑战和策略)的具体实现。本书最后部分包括一些讨论和对未来发展的展望,以及书中涉及的目录、表格、图示、缩略词表、参考书目、词汇表和索引等。


JeanPierre Briot 于巴黎和里约热内卢Gatan Hadjeres 于巴黎FranoisDavid Pachet 于巴黎译者序随着音乐大数据技术的发展,在通过相关工具完成对数字音乐数据的提取与处理后,可以基于人工智能算法完成音乐内容自动生成工作。在人工智能和大数据时代,让算法与乐理携手、代码与音符合作、模型与旋律交互,并在此基础上探索基于深度学习的音乐生成,是十分有趣且必要的。这不仅能为音乐人提供创作思路,也能在个性化音乐作品推荐等方面发挥作用。它不仅在音乐创作、提高艺术素养方面具有重要应用价值,也可为人机交互的深入研究奠定坚实基础,并促使基础研究成果走向应用。但目前这项工作仍面临一些挑战。首先,是生成旋律的风格。音乐旋律生成的风格类型可大致分为单音主旋律、复调或伴奏等,每种生成风格的规则都存在差异,如巴赫的复调音乐与肖邦的浪漫主义风格音乐在表现力上有诸多不同,而最终生成的音乐作品风格与原始参与训练的音乐大数据音乐语料有很大关系。第二,是生成旋律的方式。生成旋律的方式可以是在制定好的一些音乐规则下干预神经网络的训练与预测过程,也可以完全通过神经网络自动生成旋律。但我们认为,音乐创作是一种艺术的创作,而艺术是不能完全由机器来替代的。未来的音乐内容自动生成系统不应该是流程化的全自动作曲,而应该在“以人为本”的前提下,发挥人工智能算法的辅助能力,帮助音乐制作人完成编曲,而不是完全取代音乐家的人工创作。第三,是生成的音乐表现力。编曲是一个复杂的过程,它不仅要考虑音乐的旋律、节奏、情感,还要考虑不同音轨间的和谐性、不同乐器间的协调性。基于人工智能技术训练的音乐可能会比较“完美”地定制量化,生成速度、节奏、风格等相对一致但比较机械的声音,却缺乏像组曲“黄河颂”、奏鸣曲“悲怆”等强烈的感染力,可能生成的音乐信息过于机械化且响度变化小,最终缺失音乐表现力。第四,生成旋律的和声、复调与变奏效果。和声体现了音乐的主体,它包括和弦与和声进行,目前有的工具软件已能够对常见和弦进行提取。但基于神经网络学习的方式,往往着眼于局部细节,对作品旋律缺乏整体把控。计算机在进行横向序列学习时还要考虑到纵向的对位与旋律和声的复调特性。以钢琴音乐为例,左右手既存在差异,又必须相互联系(如对位等),这是音乐内容自动生成的难点。虽然存在上述困难,但我们认为,智能音乐的发展无疑简化了繁杂的音乐创作流程,但作曲仍是一种艺术创作,音乐内容自动生成并不会完全取代传统的音乐创作过程,未来基于人工智能算法的音乐内容自动生成的发展方向将是以深度学习和音乐规则有机结合的方法,而更专业的作曲要求也使人为规则在整个创作过程中仍占有比较重要的地位,二者的有机融合,对自动作曲的健康发展是大有益处的。

原著团队也拥有音乐与数据分析工作的丰富经验。这部跨人工智能算法与音乐创作的交叉性学科著作从实践角度出发,以神经网络与音乐数据表示为基础,以音乐内容生成与处理为应用,介绍了如何有效地构建基于深度学习模型的智能音乐生成的解决方案,并结合一些具体实例,介绍了部分关键技术。本书由浅入深地介绍了有关的基础知识,讨论了相关的方法(如从五个维度来描述应用深度学习技术生成音乐内容的不同方式)、目标(如类型、应用、模式、风格)、表示(如符号化数据表示、音频格式、编码等)、架构(如前馈神经网络、自动编码器、受限玻尔兹曼机、递归神经网络等)、面临的挑战与策略(如生成长度及内容可变的旋律、提高音乐表现力的方法等)、分析(如各系统对比、相关性分析)等,并就相关问题进行了探讨和展望。

我们认为,无论对深度学习算法的研究者还是从事电子音乐创作的专业音乐人,本书都是很有参考价值的。它不仅内容全面、强调实践,而且表达比较通俗易懂。由于本书涉及很多机器学习、音乐理论等诸多交叉学科的内容,为方便具有不同专业背景的读者理解本书的内容,原著最后列出了术语解释。为了便于读者理解,在本译文中,以英文方式保留了在原文中采用斜体标注的重要术语,在译著最后的术语中也保留了术语对应的原文。由于译著与原著页码无法一一对应,因此略去原著最后的索引(Index)部分。

本书由高凯、仇元喆、刘一贺等合作翻译,最后由高凯完成了全书的审校工作。本书得到2022年河北省自然科学基金(编号: F2022208006)的支持。译者团队研究方向为自然语言处理、多模态智能信息处理、实体关系抽取与发现、智能音乐生成、信息检索等;译者团队中的主要人员均有一定的乐理基础和一定的钢琴弹奏能力。因此,在翻译过程中,我们也适当地添加了部分计算机专业和乐理方面的标注,以期能为具有不同专业背景的读者理解这部跨学科著作带来便利。在本书翻译及出版过程中,也得到了其他多方面的支持与帮助,清华大学出版社给予了大力的支持与协助,在此一并表示衷心感谢。

“信、达、雅”是我们翻译此书所追求的目标。尽管我们竭尽全力,但毕竟水平有限,且这部跨学科的著作涉及面广,译文中对部分音乐术语、算法描述等方面的翻译难免有不足和有待商榷之处,敬请广大读者批评指正。


译者

2023年1月


目录

第1章引言1

1.1动机2

1.1.1基于计算机的音乐系统2

1.1.2自主创作与辅助创作3

1.1.3符号化人工智能与次符号化人工智能4

1.1.4深度学习4

1.1.5现状和未来5

1.2这本书是讲什么的5

1.2.1其他书籍和资料来源5

1.2.2其他模型6

1.2.3深度学习与马尔可夫模型6

1.2.4学习需求和路线图7

1.2.5本书涉及的范围8第2章方法9

2.1五个维度9

2.1.1目标9

2.1.2表示9

2.1.3架构9

2.1.4挑战10

2.1.5策略10

2.2讨论10第3章目标11

3.1属性11

3.1.1音乐类型11

3.1.2目标与应用12

3.1.3生成模式12

3.1.4音乐风格13第4章表示14

4.1数据的阶段和类型14

4.2音频数据与符号化数据15

4.3基于音频的表示16

4.3.1波形表示16

4.3.2转换表示17

4.3.3声音频谱图17

4.3.4声色谱图17

4.4符号化表示18

4.5主要概念19

4.5.1音符19

4.5.2休止符19

4.5.3音程20

4.5.4和弦20

4.5.5节奏21

4.6多声部/多轨道22

4.7音乐格式22

4.7.1MIDI格式22

4.7.2钢琴打孔纸卷格式23

4.7.3文本格式24

4.7.4标记语言26

4.7.5领谱26

4.8时间范围和粒度28

4.8.1时间范围28

4.8.2时间粒度29

4.9元数据29

4.9.1音符保持/结束30

4.9.2音名表示(与异名同音)31

4.9.3特征提取31

4.10音乐表现力32

4.10.1时间节奏32

4.10.2音乐力度32

4.10.3音频33

4.11编码33

4.11.1编码策略33

4.11.2OneHot、ManyHot及MultiOneHot编码34

4.11.3编码小结34

4.11.4Binning35

4.11.5优缺点35

4.11.6和弦36

4.11.7特殊的音符保持与休止符36

4.11.8鼓和打击乐器37

4.12数据集37

4.12.1移调和对齐37

4.12.2音乐数据集和语料库38第5章架构39

5.1神经网络简介40

5.1.1线性回归40

5.1.2符号41

5.1.3模型训练41

5.1.4梯度下降训练算法42

5.1.5从模型到体系架构43

5.1.6从模型到线性代数表示43

5.1.7从简单模型到多元模型44

5.1.8激活函数45

5.2基本组件47

5.2.1前馈计算47

5.2.2同时计算多个输入数据48

5.3机器学习48

5.3.1定义48

5.3.2机器学习分类49

5.3.3组成50

5.3.4优化50

5.4体系架构50

5.5多层神经网络50

5.5.1抽象表示法51

5.5.2深度52

5.5.3输出激活函数54

5.5.4代价函数54

5.5.5解释55

5.5.6熵与交叉熵58

5.5.7前馈传播60

5.5.8训练61

5.5.9过拟合61

5.5.10正则化62

5.5.11超参数62

5.5.12平台和库63

5.6自动编码器63

5.6.1稀疏自动编码器64

5.6.2变分自动编码器65

5.6.3堆栈式自动编码器69

5.7受限玻尔兹曼机69

5.7.1训练70

5.7.2采样70

5.7.3变量的类型71

5.8递归神经网络71

5.8.1可视表示73

5.8.2训练73

5.8.3长短时记忆(LSTM)74

5.8.4注意力机制75

5.9卷积架构模式76

5.9.1原理76

5.9.2卷积的阶段77

5.9.3池化77

5.9.4多层卷积结构77

5.9.5基于时变的卷积78

5.10基于调控的架构模式78

5.11生成对抗网络(GAN)体系架构模式80

5.12强化学习82

5.13复合架构83

5.13.1复合的类型83

5.13.2双向RNN84

5.13.3RNN编码器解码器85

5.13.4变分RNN编码器解码器86

5.13.5面向复调的循环网络87

5.13.6进一步的复合架构87

5.13.7组合的局限性87第6章挑战及策略88

6.1架构和表示维度的符号88

6.2入门示例89

6.2.1单步前馈策略89

6.2.2示例: MiniBach——《圣咏曲》对位伴奏符号音乐生成系统89

6.2.3第一个分析91

6.3局限性及挑战92

6.4基于Ex Nihilo的生成92

6.4.1解码器前馈93

6.4.2采样95

6.5音乐长度的可变性97

6.6音乐内容的可变性101

6.7音乐表现力106

6.8RNN与迭代前馈的再探讨108

6.8.1#1示例: TimeWindowed——旋律符号音乐生成系统108

6.8.2#2示例: Sequential——旋律符号音乐生成系统109

6.8.3#3示例: BLSTM——和弦伴奏符号音乐生成系统111

6.8.4总结114

6.9旋律和弦交互114

6.9.1#1示例: RNNRBM——面向复调的符号音乐生成系统114

6.9.2#2示例: Hexahedria——面向复调的符号音乐生成架构117

6.9.3#3示例: BiAxial LSTM——面向复调的符号音乐生成架构119

6.10控制121

6.10.1控制策略的维度121

6.10.2采样122

6.10.3调控127

6.10.4输入操纵139

6.10.5输入操控和采样146

6.10.6强化学习149

6.10.7Unit Selection152

6.11风格迁移155

6.11.1作曲风格转移155

6.11.2音色风格迁移156

6.11.3演奏风格迁移157

6.11.4示例: FlowComposer——作曲支持环境158

6.12架构160

6.12.1示例: MusicVAE——面向多声道层次符号音乐生成系统160

6.12.2其他时间架构层次164

6.13原创性165

6.13.1调控165

6.13.2创新对抗网络165

6.14渐进性167

6.14.1音符实例化策略167

6.14.2示例: DeepBach——面向多声部《圣咏曲》的符号音乐

生成系统168

6.15交互性171

6.15.1#1示例: deepAutoController——音频音乐生成系统171

6.15.2#2示例: DeepBach——面向《圣咏曲》的符号音乐生成系统172

6.15.3接口定义172

6.16适应性173

6.17可解释性173

6.17.1#1示例: BachBot——面向复调《圣咏曲》的符号音乐

生成系统174

6.17.2#2示例: deepAutoController——音频音乐生成系统176

6.17.3自动分析176

6.18讨论177第7章分析178

7.1引用和缩略语178

7.2系统分析183

7.3相关分析191第8章讨论与结论197

8.1全局与时值步长197

8.2卷积与递归198

8.3风格迁移与迁移学习199

8.4协作199

8.5专业化200

8.6评价与创造力200

8.7结论202参考文献203术语215