{"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/singing-voice-graph-modeling-for-singfake","title":"Singing Voice Graph Modeling for SingFake Detection","arxiv_id":"2406.03111","date":"2024-06-05","proceeding":null,"authors":["Xuanjun Chen","Haibin Wu","Jyh-Shing Roger Jang","Hung-Yi Lee"],"abstract":"Detecting singing voice deepfakes, or SingFake, involves determining the authenticity and copyright of a singing voice. Existing models for speech deepfake detection have struggled to adapt to unseen attacks in this unique singing voice domain of human vocalization. To bridge the gap, we present a groundbreaking SingGraph model. The model synergizes the capabilities of the MERT acoustic music understanding model for pitch and rhythm analysis with the wav2vec2.0 model for linguistic analysis of lyrics. Additionally, we advocate for using RawBoost and beat matching techniques grounded in music domain knowledge for singing voice augmentation, thereby enhancing SingFake detection performance. Our proposed method achieves new state-of-the-art (SOTA) results within the SingFake dataset, surpassing the previous SOTA model across three distinct scenarios: it improves EER relatively for seen singers by 13.2%, for unseen singers by 24.3%, and unseen singers using different codecs by 37.1%.","url_abs":"https://arxiv.org/abs/2406.03111v2","url_pdf":"https://arxiv.org/pdf/2406.03111v2.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":"singing-voice-graph-modeling-for-singfake","repo_url":"https://github.com/xjchengit/singgraph","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"deepfake-detection","task_name":"DeepFake Detection"},{"task_slug":"face-swapping","task_name":"Face Swapping"},{"task_slug":"rhythm","task_name":"Rhythm"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.03111","atlas_url":"https://app.syntology.ai/?focus=2406.03111","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.03111"}},"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/xjchengit/singgraph","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"e777c41d2a9e0d9f","entry":"compute_det_curve","repo":"xjchengit/singgraph","repo_kind":"official","path":"utils/eval_metrics.py","file_url":"https://github.com/xjchengit/singgraph/blob/HEAD/utils/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e777c41d2a9e0d9f"}},{"code_sha256_prefix":"8042ce3c5ec2c9e5","entry":"compute_eer","repo":"xjchengit/singgraph","repo_kind":"official","path":"utils/eval_metrics.py","file_url":"https://github.com/xjchengit/singgraph/blob/HEAD/utils/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8042ce3c5ec2c9e5"}},{"code_sha256_prefix":"4a9fc5f1de58c879","entry":"obtain_asv_error_rates","repo":"xjchengit/singgraph","repo_kind":"official","path":"utils/eval_metrics.py","file_url":"https://github.com/xjchengit/singgraph/blob/HEAD/utils/eval_metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4a9fc5f1de58c879"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}