{"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/sonics-synthetic-or-not-identifying","title":"SONICS: Synthetic Or Not -- Identifying Counterfeit Songs","arxiv_id":"2408.14080","date":"2024-08-26","proceeding":null,"authors":["Md Awsafur Rahman","Zaber Ibn Abdul Hakim","Najibul Haque Sarker","Bishmoy Paul","Shaikh Anowarul Fattah"],"abstract":"The recent surge in AI-generated songs presents exciting possibilities and challenges. These innovations necessitate the ability to distinguish between human-composed and synthetic songs to safeguard artistic integrity and protect human musical artistry. Existing research and datasets in fake song detection only focus on singing voice deepfake detection (SVDD), where the vocals are AI-generated but the instrumental music is sourced from real songs. However, these approaches are inadequate for detecting contemporary end-to-end artificial songs where all components (vocals, music, lyrics, and style) could be AI-generated. Additionally, existing datasets lack music-lyrics diversity, long-duration songs, and open-access fake songs. To address these gaps, we introduce SONICS, a novel dataset for end-to-end Synthetic Song Detection (SSD), comprising over 97k songs (4,751 hours) with over 49k synthetic songs from popular platforms like Suno and Udio. Furthermore, we highlight the importance of modeling long-range temporal dependencies in songs for effective authenticity detection, an aspect entirely overlooked in existing methods. To utilize long-range patterns, we introduce SpecTTTra, a novel architecture that significantly improves time and memory efficiency over conventional CNN and Transformer-based models. For long songs, our top-performing variant outperforms ViT by 8% in F1 score, is 38% faster, and uses 26% less memory, while also surpassing ConvNeXt with a 1% F1 score gain, 20% speed boost, and 67% memory reduction.","url_abs":"https://arxiv.org/abs/2408.14080v4","url_pdf":"https://arxiv.org/pdf/2408.14080v4.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":"sonics-synthetic-or-not-identifying","repo_url":"https://github.com/awsaf49/sonics","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"sonics-synthetic-or-not-identifying","repo_url":"https://github.com/nicksunday/deepfake-music-detector","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"audio-deepfake-detection","task_name":"Audio Deepfake Detection"},{"task_slug":"deepfake-detection","task_name":"DeepFake Detection"},{"task_slug":"fake-song-detection","task_name":"Fake Song Detection"},{"task_slug":"synthetic-song-detection","task_name":"Synthetic Song Detection"},{"task_slug":"synthetic-speech-detection","task_name":"Synthetic Speech Detection"}],"methods":[{"method_slug":"convnext","method_name":"ConvNeXt"},{"method_slug":"focus","method_name":"Focus"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[{"slug":"sonics","name":"SONICS","full_name":"Synthetic Or Not - Identifying Counterfeit Songs"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.14080","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.14080"}},"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/awsaf49/sonics","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nicksunday/deepfake-music-detector","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":1},"by_repo_kind":{"official":{"samples":9,"ran":8,"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":9,"samples":[{"code_sha256_prefix":"c3ac8c3472cc1f67","entry":"Attention","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c3ac8c3472cc1f67"}},{"code_sha256_prefix":"6ca879b9cdcae41d","entry":"LayerScale","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"6ca879b9cdcae41d"}},{"code_sha256_prefix":"5df5299eb94c9cf3","entry":"LearnedPositionalEncoding","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5df5299eb94c9cf3"}},{"code_sha256_prefix":"3a58e944a765fb98","entry":"STTokenizer","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3a58e944a765fb98"}},{"code_sha256_prefix":"8c2091f051088cb6","entry":"SinusoidPositionalEncoding","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8c2091f051088cb6"}},{"code_sha256_prefix":"7974eaa32ee4875e","entry":"Tokenizer1D","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7974eaa32ee4875e"}},{"code_sha256_prefix":"91999fd3aa91b1f3","entry":"Transformer","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"91999fd3aa91b1f3"}},{"code_sha256_prefix":"1a607e9c32d2884d","entry":"TransformerBlock","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1a607e9c32d2884d"}},{"code_sha256_prefix":"3404c15aabeee466","entry":"SpecTTTra","repo":"awsaf49/sonics","repo_kind":"official","path":"sonics/models/spectttra.py","file_url":"https://github.com/awsaf49/sonics/blob/HEAD/sonics/models/spectttra.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3404c15aabeee466"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}