{"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/grad-tts-a-diffusion-probabilistic-model-for","title":"Grad-TTS: A Diffusion Probabilistic Model for Text-to-Speech","arxiv_id":"2105.06337","date":"2021-05-13","proceeding":null,"authors":["Vadim Popov","Ivan Vovk","Vladimir Gogoryan","Tasnima Sadekova","Mikhail Kudinov"],"abstract":"Recently, denoising diffusion probabilistic models and generative score matching have shown high potential in modelling complex data distributions while stochastic calculus has provided a unified point of view on these techniques allowing for flexible inference schemes. In this paper we introduce Grad-TTS, a novel text-to-speech model with score-based decoder producing mel-spectrograms by gradually transforming noise predicted by encoder and aligned with text input by means of Monotonic Alignment Search. The framework of stochastic differential equations helps us to generalize conventional diffusion probabilistic models to the case of reconstructing data from noise with different parameters and allows to make this reconstruction flexible by explicitly controlling trade-off between sound quality and inference speed. Subjective human evaluation shows that Grad-TTS is competitive with state-of-the-art text-to-speech approaches in terms of Mean Opinion Score. We will make the code publicly available shortly.","url_abs":"https://arxiv.org/abs/2105.06337v2","url_pdf":"https://arxiv.org/pdf/2105.06337v2.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":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/huawei-noah/Speech-Backbones","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/WelkinYang/GradTTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/majidAdibian77/ResGrad","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/playvoice/grad-svc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/keonlee9420/DiffGAN-TTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"grad-tts-a-diffusion-probabilistic-model-for","repo_url":"https://github.com/keonlee9420/DiffSinger","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"speech-synthesis","task_name":"Speech Synthesis"},{"task_slug":"text-to-speech","task_name":"Text to Speech"},{"task_slug":"text-to-speech-synthesis","task_name":"Text-To-Speech Synthesis"},{"task_slug":"text-to-speech-1","task_name":"text-to-speech"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/text-to-speech-synthesis-on-ljspeech","task":"Text-To-Speech Synthesis","dataset":"LJSpeech","model":"Grad-TTS + HiFiGAN (1000 steps)","rank_in_archive_order":3,"of":16,"metrics":{"Audio Quality MOS":"4.37"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2105.06337","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2105.06337"}},"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/huawei-noah/Speech-Backbones","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WelkinYang/GradTTS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/keonlee9420/DiffSinger","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/playvoice/grad-svc","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/majidAdibian77/ResGrad","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/keonlee9420/DiffGAN-TTS","reach":null}],"summary":{"ran_violates":2,"ran_draft_wrong":5,"ran":1,"ran_honours":1,"unverified":9},"by_repo_kind":{"listed":{"samples":17,"ran":8,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"fbf9ec7be545688e","entry":"default","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"unet.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/unet.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fbf9ec7be545688e"}},{"code_sha256_prefix":"83e2c862f7374ac7","entry":"dynamic_range_compression","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"audio_processing.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/audio_processing.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"83e2c862f7374ac7"}},{"code_sha256_prefix":"608e364a9d2376a3","entry":"exists","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"unet.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/unet.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"608e364a9d2376a3"}},{"code_sha256_prefix":"9f9ec26d4cdfdf7d","entry":"griffin_lim","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"audio_processing.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/audio_processing.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9f9ec26d4cdfdf7d"}},{"code_sha256_prefix":"321604dda57bb02d","entry":"latest_checkpoint_path","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"321604dda57bb02d"}},{"code_sha256_prefix":"98cc9f3aed7a8480","entry":"load_bigv_model","repo":"playvoice/grad-svc","repo_kind":"listed","path":"gvc_inference.py","file_url":"https://github.com/playvoice/grad-svc/blob/HEAD/gvc_inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"98cc9f3aed7a8480"}},{"code_sha256_prefix":"051895a532dbea48","entry":"load_gvc_model","repo":"playvoice/grad-svc","repo_kind":"listed","path":"gvc_inference.py","file_url":"https://github.com/playvoice/grad-svc/blob/HEAD/gvc_inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"051895a532dbea48"}},{"code_sha256_prefix":"4f66ae7f14b3b240","entry":"num_to_groups","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"unet.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/unet.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4f66ae7f14b3b240"}},{"code_sha256_prefix":"2b5c06c1ba593c3c","entry":"read_lexicon","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"2b5c06c1ba593c3c"}},{"code_sha256_prefix":"2b6c52ad9b61c287","entry":"duration_loss","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"commons.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/commons.py","link_basis":"harvester_set","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":"2b6c52ad9b61c287"}},{"code_sha256_prefix":"cea1f83e9db28ed8","entry":"expand_abbreviations","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"text/cleaners.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/text/cleaners.py","link_basis":"harvester_set","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":"cea1f83e9db28ed8"}},{"code_sha256_prefix":"4c6716f6a3894fe8","entry":"expand_numbers","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"text/cleaners.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/text/cleaners.py","link_basis":"harvester_set","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":"4c6716f6a3894fe8"}},{"code_sha256_prefix":"c01a3efb274ff778","entry":"intersperse","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"commons.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/commons.py","link_basis":"harvester_set","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":"c01a3efb274ff778"}},{"code_sha256_prefix":"a4324b03a174abb9","entry":"load_checkpoint","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/utils.py","link_basis":"harvester_set","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":"a4324b03a174abb9"}},{"code_sha256_prefix":"296274b940cb0b32","entry":"lowercase","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"text/cleaners.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/text/cleaners.py","link_basis":"harvester_set","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":"296274b940cb0b32"}},{"code_sha256_prefix":"7e3430bd9ded8745","entry":"mle_loss","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"commons.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/commons.py","link_basis":"harvester_set","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":"7e3430bd9ded8745"}},{"code_sha256_prefix":"9dc202f235585e84","entry":"plot_spectrogram_to_numpy","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/utils.py","link_basis":"harvester_set","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":"9dc202f235585e84"}},{"code_sha256_prefix":"22c86725da4140b0","entry":"update_model","repo":"WelkinYang/GradTTS","repo_kind":"listed","path":"waveglow/convert_model.py","file_url":"https://github.com/WelkinYang/GradTTS/blob/HEAD/waveglow/convert_model.py","link_basis":"harvester_set","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":"22c86725da4140b0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}