Unifying Symbolic Music Arrangement: Track-Aware Reconstruction and Structured Tokenization
Longshen Ou, Jingwei Zhao, Ziyu Wang, Gus Xia, Qihao Liang, Torin Hopkins, and Ye Wang
Fine-tuned decoder only Transformer
What is Music Arrangement?
Original music
Acoustic cover
Strings trio
Orchestra
What is Music Arrangement?
Original music
Acoustic cover
Strings trio
Orchestra
Problem Definition
Original music
Music with new instrument combination
Solo instrument
Music with added parts
Reinterpret
Simplify
Add tracks
Methodology
Version 1
Version 2
Model
Methodology
Music
Original Music
Model
What is played
By whom it is played
Music
Arranged Music
Model
What is played
By whom we want it to be played
User
(Content)
(Style)
Training
Inference
(Ori. Content)
(New Style)
Unsupervised Reconstruction Objective
REMI-z: Alleviate Content Fragmentation
REMI-z (Ours)
REMI+
Preserve track continuity to easier learning of idiomatic instrument behavior
Time-ordered tokenization interleave content of different instruments
o-X: onset time, i-X: instrument, p-X: pitch, d-X: duration, b-1: end of bar
Contents of same instruments are in same color
Tasks
Key Findings
Demos
Original
Arrangement for string trio
Example: Band → String Trio
Takeaways
Unified pipeline
No task-specific model design
Unsupervised training
Learn interpretation by reconstruction
Effective tokenization
Track continuity facilitate learning music structure
Bonus
REMI-z simplify note-level modeling
with lower uncertainty
Arrangement -> General generation tasks
MIDI
Piano Roll
Tab*
REMI-z seq
MultiTrack
A Hierarchical data structure
(a bar seq)
Melody
Chord
Key normalize
Manipulation
pip install REMI-z
*Ongoing work
Bar
Bar
Bar
Track
Track
Note
Note
Note
github.com/Sonata165/REMI-z
REMI-z simplify note-level modeling
with lower uncertainty
Arrangement -> General generation tasks
MIDI
Piano Roll
Tab*
REMI-z seq
MultiTrack
A Hierarchical data structure
(a bar seq)
Melody
Chord
Key normalize
Manipulation
pip install REMI-z
*Ongoing work
Bar
Bar
Bar
Track
Track
Note
Note
Note
github.com/Sonata165/REMI-z
Thanks
Demo, code, and model available online.
www.oulongshen.xyz/automatic_arrangement