Skip to content

Code and MIDI demo for paper: Zhao et al., AccoMontage: Accompaniment Arrangement via Phrase Selection and Style Transfer, ISMIR 2021

License

Notifications You must be signed in to change notification settings

itsbrex/AccoMontage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AccoMontage

arXiv GitHub Colab

AccoMontage is a piano accompaniment arrangement system. It introduces a novel hybrid pathway, in which rule-based optimization (for high-level structure) and learning-based style transfer (for fine-grained coherency) are both leveraged to complement each other for high-quality generation. Our paper AccoMontage: Accompaniment Arrangement via Phrase Selection and Style Transfer is accepted by ISMIR 2021. This repository stores codes and demos of our work.

New Features

AccoMontage now supports a few new features as follows:

  • Generation with MIDI velocity and pedal control messages.
  • Transitions among phrases of any length (1-bar, 2-bar, ..., 16-bar).
  • Input of general MIDI with arbituary tracks (besides melody) and arbituarily complex chords (e.g., 9th chords). Yet, we still quantize the chord sequence at 1-beat granularity. If the melody is not on the first track, then the melody track index is also requested.
  • Whole pieces piano arrangement with intro, interlude, and outro.
  • Spotlight on specific reference pieces as the donor of piano textures. Currently supported spotlight options include POP909 song index (e.g., 905), song name (e.g., '小城故事'), and/or artist name (e.g., '邓丽君'). For complete supported options, refer to checktable ./checkpoints/pop909_quadraple_meters_index.xlsx.

Run

  • Data and checkpoints required to run AccoMontage can be downloaded here (updated Feb 27, 2024). After extraction, you should have a ./checkpoints/ folder with relevant pt and npz files inside.
  • Our code is now arranged in a portable manner. You can follow the guidance in ./AccoMontage_inference.ipynb and run AccoMontage.
  • Alternatively, AccoMontage is now accessible on Google Colab, where you can quickly test it online.

Demos

Generated demos are listed in ./demo. AccoMontage was applied as the backbones to rearrange the Alma Mater Music of East China Normal University (ECNU). Performance demos can be accessed here.

Acknowledgement

Thanks to Prof. Gus Xia, Yixiao Zhang, Liwei Lin, Junyan Jiang, Ziyu Wang, and Shuqi Dai for their generous help to this work. Thanks to all NYUSH Music X Lab citizens for their encouragement and companion. The following repositories are referred to by this work:

Cite Our Work

If you find our paper and this repository helpful, please consider citing our work:

@inproceedings{zhao2021accomontage,
  author    = {Jingwei Zhao and Gus Xia},
  title     = {AccoMontage: Accompaniment Arrangement via Phrase Selection and Style Transfer},
  booktitle = {Proceedings of the 22nd International Society for Music Information Retrieval Conference ({ISMIR} 2021)},
  pages     = {833--840},
  year      = {2021},
}

For inquries about our work, feel free to contact me at jzhao@u.nus.edu.

Jingwei Zhao (Ph.D. Student in Data Science, NUS Graduate School)

May 29, 2023

About

Code and MIDI demo for paper: Zhao et al., AccoMontage: Accompaniment Arrangement via Phrase Selection and Style Transfer, ISMIR 2021

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.2%
  • Jupyter Notebook 6.8%