
摘要
音乐在构建结构和意义时大量依赖重复。自我引用发生在多个时间尺度上,从动机到乐句再到整个音乐段落的重复使用,例如具有ABA结构的作品。基于自注意力机制的Transformer模型(Vaswani等人,2017年)在许多需要保持长距离连贯性的生成任务中取得了令人信服的结果。这表明自注意力机制也可能适合于音乐建模。然而,在音乐创作和表演中,相对时间至关重要。现有的在Transformer中表示相对位置信息的方法通过基于成对距离来调节注意力(Shaw等人,2018年)。对于像音乐作品这样的长序列而言,这种方法由于中间相对信息的记忆复杂度与序列长度呈二次关系而变得不切实际。我们提出了一种算法,将中间记忆需求降低到与序列长度呈线性关系。这使我们能够证明,使用我们改进的相对注意力机制的Transformer可以生成长达数分钟的乐曲(数千步,比Oore等人(2018年)所建模的长度长四倍),并且能够连贯地扩展给定的动机,在序列到序列(seq2seq)设置下根据旋律生成伴奏。我们在两个数据集JSB Chorales和Piano-e-Competition上评估了带有我们相对注意力机制的Transformer,并在后者上获得了最先进的结果。
代码仓库
jason9693/musictransformer-tensorflow2.0
tf
GitHub 中提及
harryboos/Auto-Music-Generation
tf
GitHub 中提及
scpark20/Music-GPT-2
tf
GitHub 中提及
VasanthManiVasi/MusicTransformer.jl
tf
GitHub 中提及
dvruette/figaro
pytorch
GitHub 中提及
jason9693/musictransformer-pytorch
pytorch
GitHub 中提及
vvvm23/TchAIkovsky-Legacy
pytorch
GitHub 中提及
ololo123321/maestro
tf
GitHub 中提及
Natooz/MidiTok
pytorch
Chatha-Sphere/pno-ai
pytorch
GitHub 中提及
Jesplar/LSTM-MusicGenerator
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| music-modeling-on-jsb-chorales | Music Transformer | NLL: 0.335 |