{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/accomontage-accompaniment-arrangement-via","title":"AccoMontage: Accompaniment Arrangement via Phrase Selection and Style Transfer","arxiv_id":"2108.11213","date":"2021-08-25","proceeding":null,"authors":["Jingwei Zhao","Gus Xia"],"abstract":"Accompaniment arrangement is a difficult music generation task involving intertwined constraints of melody, harmony, texture, and music structure. Existing models are not yet able to capture all these constraints effectively, especially for long-term music generation. To address this problem, we propose AccoMontage, an accompaniment arrangement system for whole pieces of music through unifying phrase selection and neural style transfer. We focus on generating piano accompaniments for folk/pop songs based on a lead sheet (i.e., melody with chord progression). Specifically, AccoMontage first retrieves phrase montages from a database while recombining them structurally using dynamic programming. Second, chords of the retrieved phrases are manipulated to match the lead sheet via style transfer. Lastly, the system offers controls over the generation process. In contrast to pure learning-based approaches, AccoMontage introduces a novel hybrid pathway, in which rule-based optimization and deep learning are both leveraged to complement each other for high-quality generation. Experiments show that our model generates well-structured accompaniment with delicate texture, significantly outperforming the baselines.","url_abs":"https://arxiv.org/abs/2108.11213v1","url_pdf":"https://arxiv.org/pdf/2108.11213v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"accomontage-accompaniment-arrangement-via","repo_url":"https://github.com/zhaojw1998/accomontage","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"music-generation","task_name":"Music Generation"},{"task_slug":"style-transfer","task_name":"Style Transfer"}],"methods":[{"method_slug":"accomontage","method_name":"AccoMontage"}],"datasets_introduced":[],"methods_introduced":[{"slug":"accomontage","name":"AccoMontage","full_name":"AccoMontage"}],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.11213","atlas_url":"https://app.syntology.ai/?focus=2108.11213","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.11213"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhaojw1998/accomontage","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"4efe4efd91b6073e","entry":"load_lead_sheet","repo":"zhaojw1998/accomontage","repo_kind":"official","path":"AccoMontage/AccoMontage.py","file_url":"https://github.com/zhaojw1998/accomontage/blob/HEAD/AccoMontage/AccoMontage.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4efe4efd91b6073e"}},{"code_sha256_prefix":"be7b4276b903f020","entry":"phrase_selection","repo":"zhaojw1998/accomontage","repo_kind":"official","path":"AccoMontage/AccoMontage.py","file_url":"https://github.com/zhaojw1998/accomontage/blob/HEAD/AccoMontage/AccoMontage.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be7b4276b903f020"}},{"code_sha256_prefix":"12474652ed2e74df","entry":"set_premises","repo":"zhaojw1998/accomontage","repo_kind":"official","path":"AccoMontage/AccoMontage.py","file_url":"https://github.com/zhaojw1998/accomontage/blob/HEAD/AccoMontage/AccoMontage.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12474652ed2e74df"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}