{"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/diffrhythm-blazingly-fast-and-embarrassingly","title":"DiffRhythm: Blazingly Fast and Embarrassingly Simple End-to-End Full-Length Song Generation with Latent Diffusion","arxiv_id":"2503.01183","date":"2025-03-03","proceeding":null,"authors":["Ziqian Ning","Huakang Chen","Yuepeng Jiang","Chunbo Hao","Guobin Ma","Shuai Wang","Jixun Yao","Lei Xie"],"abstract":"Recent advancements in music generation have garnered significant attention, yet existing approaches face critical limitations. Some current generative models can only synthesize either the vocal track or the accompaniment track. While some models can generate combined vocal and accompaniment, they typically rely on meticulously designed multi-stage cascading architectures and intricate data pipelines, hindering scalability. Additionally, most systems are restricted to generating short musical segments rather than full-length songs. Furthermore, widely used language model-based methods suffer from slow inference speeds. To address these challenges, we propose DiffRhythm, the first latent diffusion-based song generation model capable of synthesizing complete songs with both vocal and accompaniment for durations of up to 4m45s in only ten seconds, maintaining high musicality and intelligibility. Despite its remarkable capabilities, DiffRhythm is designed to be simple and elegant: it eliminates the need for complex data preparation, employs a straightforward model structure, and requires only lyrics and a style prompt during inference. Additionally, its non-autoregressive structure ensures fast inference speeds. This simplicity guarantees the scalability of DiffRhythm. Moreover, we release the complete training code along with the pre-trained model on large-scale data to promote reproducibility and further research.","url_abs":"https://arxiv.org/abs/2503.01183v1","url_pdf":"https://arxiv.org/pdf/2503.01183v1.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":"diffrhythm-blazingly-fast-and-embarrassingly","repo_url":"https://github.com/aslp-lab/diffrhythm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"music-generation","task_name":"Music Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.01183","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.01183"}},"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/aslp-lab/diffrhythm","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_violates":2,"unverified":7},"by_repo_kind":{"listed":{"samples":9,"ran":2,"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":"99b3563ebc6734ad","entry":"default","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"model/utils.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/model/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"99b3563ebc6734ad"}},{"code_sha256_prefix":"b7c3487f192e31b7","entry":"exists","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"model/utils.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/model/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b7c3487f192e31b7"}},{"code_sha256_prefix":"31389a10319bd444","entry":"expand_abbreviations","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"g2p/g2p/english.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/g2p/g2p/english.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"31389a10319bd444"}},{"code_sha256_prefix":"2c4d963556acadf9","entry":"get_pos_embed_indices","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"model/modules.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/model/modules.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2c4d963556acadf9"}},{"code_sha256_prefix":"1067e52152c1a73b","entry":"is_chinese","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"g2p/g2p_generation.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/g2p/g2p_generation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1067e52152c1a73b"}},{"code_sha256_prefix":"b94472fc6947709f","entry":"normalize_audio","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"infer/infer_utils.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/infer/infer_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b94472fc6947709f"}},{"code_sha256_prefix":"5643293edbb8503b","entry":"precompute_freqs_cis","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"model/modules.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/model/modules.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5643293edbb8503b"}},{"code_sha256_prefix":"23be07efc0fd39c6","entry":"set_audio_channels","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"infer/infer_utils.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/infer/infer_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"23be07efc0fd39c6"}},{"code_sha256_prefix":"d6ef7a425c44a6ae","entry":"vae_sample","repo":"aslp-lab/diffrhythm","repo_kind":"listed","path":"infer/infer_utils.py","file_url":"https://github.com/aslp-lab/diffrhythm/blob/HEAD/infer/infer_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d6ef7a425c44a6ae"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}