{"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/just-label-the-repeats-for-in-the-wild-audio","title":"Just Label the Repeats for In-The-Wild Audio-to-Score Alignment","arxiv_id":"2411.07428","date":"2024-11-11","proceeding":null,"authors":["Irmak Bukey","Michael Feffer","Chris Donahue"],"abstract":"We propose an efficient workflow for high-quality offline alignment of in-the-wild performance audio and corresponding sheet music scans (images). Recent work on audio-to-score alignment extends dynamic time warping (DTW) to be theoretically able to handle jumps in sheet music induced by repeat signs-this method requires no human annotations, but we show that it often yields low-quality alignments. As an alternative, we propose a workflow and interface that allows users to quickly annotate jumps (by clicking on repeat signs), requiring a small amount of human supervision but yielding much higher quality alignments on average. Additionally, we refine audio and score feature representations to improve alignment quality by: (1) integrating measure detection into the score feature representation, and (2) using raw onset prediction probabilities from a music transcription model instead of piano roll. We propose an evaluation protocol for audio-to-score alignment that computes the distance between the estimated and ground truth alignment in units of measures. Under this evaluation, we find that our proposed jump annotation workflow and improved feature representations together improve alignment accuracy by 150% relative to prior work (33% to 82%).","url_abs":"https://arxiv.org/abs/2411.07428v1","url_pdf":"https://arxiv.org/pdf/2411.07428v1.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":"just-label-the-repeats-for-in-the-wild-audio","repo_url":"https://github.com/irmakbky/jltr-alignment","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"dynamic-time-warping","task_name":"Dynamic Time Warping"},{"task_slug":"music-transcription","task_name":"Music Transcription"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2411.07428","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.07428"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/irmakbky/jltr-alignment","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":"fc965e87e24dc01d","entry":"beam_search","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"magenta/common/beam_search.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/magenta/common/beam_search.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":"fc965e87e24dc01d"}},{"code_sha256_prefix":"da4baafdd3caa596","entry":"estimateLineSep","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"mus_align/score/detect_noteheads.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/mus_align/score/detect_noteheads.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":"da4baafdd3caa596"}},{"code_sha256_prefix":"e1f790617a192362","entry":"getPenalizedCombFilter","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"mus_align/score/detect_noteheads.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/mus_align/score/detect_noteheads.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":"e1f790617a192362"}},{"code_sha256_prefix":"8351c90a9428ef34","entry":"get_info_from_key_sig","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"mus_align/score/bootleg.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/mus_align/score/bootleg.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":"8351c90a9428ef34"}},{"code_sha256_prefix":"d9ec0f689a298e7f","entry":"get_scale_notes","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"mus_align/score/bootleg.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/mus_align/score/bootleg.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":"d9ec0f689a298e7f"}},{"code_sha256_prefix":"5c448b3b824597a3","entry":"removeBkgdLighting","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"mus_align/score/detect_noteheads.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/mus_align/score/detect_noteheads.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":"5c448b3b824597a3"}},{"code_sha256_prefix":"51cf513fe9f6c28e","entry":"serialized","repo":"irmakbky/jltr-alignment","repo_kind":"official","path":"magenta/common/concurrency.py","file_url":"https://github.com/irmakbky/jltr-alignment/blob/HEAD/magenta/common/concurrency.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":"51cf513fe9f6c28e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}