
Title: MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
Authors: Mingliang Zeng, Xu Tan, Rui Wang, Zeqian Ju, Tao Qin, Tie-Yan Liu
Source: ACL 2021 Findings
Institute: MSRA
Motivation
符号音乐包含更多结构化(比如小节线,或者音符的位置)以及多样化的信息(比如速度,乐器,音高)—>个人理解这是因为音乐与文本不同,这些信息不适合都看成是统一类型的token,所以需要采用与NLP预训练不同的处理技术。
Main Work
- 本文提出了OctupleMIDI编码方式以及bar级别的mask策略,并在旋律补全、伴奏“建议”、体裁识别以及风格识别四个下游任务上进行了测试
- 并提出了大规模的音乐歌曲语料库
OctupleMIDI:
- 拍号(Time Signature):
- 用分数表示,分母范围为[1, 64],表示一个beat的时长,比如2/4拍里,4表示以一个四分音符时长作为单位。
- 分子范围为[1, 128],表示一个小节中的beat数量,比如2/4拍里,2表示一个小节里有两个beat(的时长?)
- 总共有254种不同的拍号(我咋只算得128种?)
- 节奏(Tempo)
- Bar and position
- 小节序号是粗粒度的分层信息,position则是细粒度的。以六十四分音符作为细粒度的位置单位,比如四三拍的一个小节中,position的值的范围从0到47
- 乐器:
- 0-127代表各种常见乐器
- 128则代表一些特殊的打击乐器,比如鼓
- 音高:
- 与MIDI格式类似,使用128个token表示不同的音高
- 持续时间:
- 128个token,前16个token开始是64分音符,之后每16个token,步长加倍。
- 速度:
Masking Strategy
使用bar-level的mask策略:在同一个小节内的相同类型的元素被同时mask,从而能够避免信息的泄露(常规的mask方式是以octuple为单位进行mask,因为音乐本身的连续性非常好,所以很容易由周围的音符预测出缺失的token,难度较低)