《Deep Learning Techniques for Music Generation – A Survey》深度学习用于音乐生成——书籍阅读笔记(四)Chapter 4

Chapter 4 Representation 音乐数据的表示方式

  1. 4.1 三个需要数据表示的阶段
  2. 4.2 Signal 音频信号
  3. 4.3 Symbolic 符号表示
  4. 4.4 Common Issues and Techniques 共同问题及技术

4.1 三个需要数据表示的阶段

  • training input:用于训练的数据集
  • generating input:在生成时可能会用到的输入数据,比如一段旋律输入到系统来生成伴奏;再比如一个起始音符
  • generated output:生成的输出

这些输入和输出的类型可能是一样的也可能是不一样的;比如,生成单旋律音乐时,训练时输入和生成的输出就是一样的,生成时输入一般也都是一个单独的起始音符;在生成伴奏以构成chorale复调音乐时,如在[36]中,训练时输入与生成时输入都是单旋律,生成的输出是一组单旋律。

4.2 Signal 音频信号

音乐的音频表示,即音频信号;可以是原始音频波形,或者是它经傅里叶变换得到的频谱(例如下图)。

在这里插入图片描述

4.3 Symbolic 符号表示

4.3.1 MIDI

MIDI(乐器数字接口)是一种技术标准,它描述了一种协议,一种数字接口和连接,用于各种电子乐器、软件和设备之间的互操作[73]。MIDI包含了一些事件消息,这些消息指定了注释信息(如音高和速度)以及参数的控制信号(如音量、颤音和时钟信号)。有五种类型的消息,这里我们只考虑通道语音类型,它通过一个通道传输实时性能数据。两个重要的(我们关注的)信息是:

  • Note_on:表明音符的开始。它包含一个状态信息(由一个整数在[0 15]内指定的)和两个数据值:一个MIDI音符号(音符的音高,[0 127]内的一个整数)和一个(velocity)速度(这表示音符的音量大小,一个整数在[0 127])。一个例子是,它解释为:“在通道1上,开始播放一个中间C,速度为50”。
  • Note_off: 表示一个音符结束。在这种情况下,(velocity)速度表示音符的释放速度。一个例子是,解释为:“在通道1上,停止播放中央C,速度为20”。
  • Ticks:用来描述音符时值的单位,1 tick=100nm

每个音符事件实际上都被包含在一个轨道块 chunk中,它是一个包含delta-time值并且指定时间信息和事件本身的数据结构。delta-time值表示事件的时间位置,作为事件的绝对值,可以表示为:
a metrical time 节拍时间:在文件头中定义,指定一个四分音符为多少tick。例:
在这里插入图片描述

4.3.2 Piano roll

钢琴的旋律(单音或复印)是由自动钢琴演奏的(见图4.4)。这是一卷连续的纸,上面有孔。每个孔表示一个音符控制信息以触发一个给定的音符。孔的长度相当于一个音符的持续时间。在另一方面,孔的位置与它的音高相一致
在这里插入图片描述

4.3.3 Text

旋律可以用文本表示形式进行编码,并作为文本处理。一个重要的例子是ABC符号[115],这是民间和传统音乐的实际标准。如图4.6和4.7所示,从存储库和讨论平台上的一个名为“一杯茶”的音乐的原始乐谱和它对应的ABC符号[56]

4.3.4 Chord

和弦的一种表示形式可以是延伸,枚举构成它的音符,或指定和弦的根音(例如,C, A…)和和弦的类型(例如,大调,小调,属七和弦…),通常使用一个缩写的jazz符号,例如。C D - E7…9。在大多数情况下选择缩写的符号,如在爵士乐和流行音乐中。

4.3.5 Lead Sheet

Lead sheets是流行音乐(Jazz,pop…)的重要表现形式。Lead sheets在一个或几页的乐谱上用注解指定相应的和弦标签(和声)。也可以添加歌词、一些重要的信息,如作曲家,作者,风格和节奏(民谣,medium swing)。参见图4.9中的lead sheet示例。

在这里插入图片描述

4.3.6 Rhythm

旋律中隐含着节奏。但是对于鼓和打击乐器,可以考虑更多的节奏和不同的鼓和打击乐器。不同的鼓组件,例如,kick,snare(小鼓),toms, hi-hats,钹…可以通过考虑不同的同步声音来指定,在某种程度上类似于复调。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值