{"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/2408-00473","title":"Towards Explainable and Interpretable Musical Difficulty Estimation: A Parameter-efficient Approach","arxiv_id":"2408.00473","date":"2024-08-01","proceeding":null,"authors":["Pedro Ramoneda","Vsevolod Eremenko","Alexandre D'Hooge","Emilia Parada-Cabaleiro","Xavier Serra"],"abstract":"Estimating music piece difficulty is important for organizing educational music collections. This process could be partially automatized to facilitate the educator's role. Nevertheless, the decisions performed by prevalent deep-learning models are hardly understandable, which may impair the acceptance of such a technology in music education curricula. Our work employs explainable descriptors for difficulty estimation in symbolic music representations. Furthermore, through a novel parameter-efficient white-box model, we outperform previous efforts while delivering interpretable results. These comprehensible outcomes emulate the functionality of a rubric, a tool widely used in music education. Our approach, evaluated in piano repertoire categorized in 9 classes, achieved 41.4% accuracy independently, with a mean squared error (MSE) of 1.7, showing precise difficulty estimation. Through our baseline, we illustrate how building on top of past research can offer alternatives for music difficulty assessment which are explainable and interpretable. With this, we aim to promote a more effective communication between the Music Information Retrieval (MIR) community and the music education one.","url_abs":"https://arxiv.org/abs/2408.00473v1","url_pdf":"https://arxiv.org/pdf/2408.00473v1.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":"2408-00473","repo_url":"https://github.com/pramoneda/rubricnet","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"information-retrieval","task_name":"Information Retrieval"},{"task_slug":"music-information-retrieval","task_name":"Music Information Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.00473","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.00473"}},"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/pramoneda/rubricnet","reach":null}],"summary":{"ran_draft_wrong":4},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":"32abb4f7c57d1de9","entry":"all_subsets","repo":"pramoneda/rubricnet","repo_kind":"official","path":"rubricnet/interpretability.py","file_url":"https://github.com/pramoneda/rubricnet/blob/HEAD/rubricnet/interpretability.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32abb4f7c57d1de9"}},{"code_sha256_prefix":"318508d7453dcd87","entry":"get_acc1_macro","repo":"pramoneda/rubricnet","repo_kind":"official","path":"rubricnet/interpretability.py","file_url":"https://github.com/pramoneda/rubricnet/blob/HEAD/rubricnet/interpretability.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"318508d7453dcd87"}},{"code_sha256_prefix":"77029604086c3d49","entry":"get_mse_macro","repo":"pramoneda/rubricnet","repo_kind":"official","path":"rubricnet/rubricnet.py","file_url":"https://github.com/pramoneda/rubricnet/blob/HEAD/rubricnet/rubricnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"77029604086c3d49"}},{"code_sha256_prefix":"cbcc2f210febaa9b","entry":"get_mse_macro","repo":"pramoneda/rubricnet","repo_kind":"official","path":"rubricnet/interpretability.py","file_url":"https://github.com/pramoneda/rubricnet/blob/HEAD/rubricnet/interpretability.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cbcc2f210febaa9b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}