{"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/prodiff-progressive-fast-diffusion-model-for","title":"ProDiff: Progressive Fast Diffusion Model For High-Quality Text-to-Speech","arxiv_id":"2207.06389","date":"2022-07-13","proceeding":null,"authors":["Rongjie Huang","Zhou Zhao","Huadai Liu","Jinglin Liu","Chenye Cui","Yi Ren"],"abstract":"Denoising diffusion probabilistic models (DDPMs) have recently achieved leading performances in many generative tasks. However, the inherited iterative sampling process costs hinder their applications to text-to-speech deployment. Through the preliminary study on diffusion model parameterization, we find that previous gradient-based TTS models require hundreds or thousands of iterations to guarantee high sample quality, which poses a challenge for accelerating sampling. In this work, we propose ProDiff, on progressive fast diffusion model for high-quality text-to-speech. Unlike previous work estimating the gradient for data density, ProDiff parameterizes the denoising model by directly predicting clean data to avoid distinct quality degradation in accelerating sampling. To tackle the model convergence challenge with decreased diffusion iterations, ProDiff reduces the data variance in the target site via knowledge distillation. Specifically, the denoising model uses the generated mel-spectrogram from an N-step DDIM teacher as the training target and distills the behavior into a new model with N/2 steps. As such, it allows the TTS model to make sharp predictions and further reduces the sampling time by orders of magnitude. Our evaluation demonstrates that ProDiff needs only 2 iterations to synthesize high-fidelity mel-spectrograms, while it maintains sample quality and diversity competitive with state-of-the-art models using hundreds of steps. ProDiff enables a sampling speed of 24x faster than real-time on a single NVIDIA 2080Ti GPU, making diffusion models practically applicable to text-to-speech synthesis deployment for the first time. Our extensive ablation studies demonstrate that each design in ProDiff is effective, and we further show that ProDiff can be easily extended to the multi-speaker setting. Audio samples are available at \\url{https://ProDiff.github.io/.}","url_abs":"https://arxiv.org/abs/2207.06389v1","url_pdf":"https://arxiv.org/pdf/2207.06389v1.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":"prodiff-progressive-fast-diffusion-model-for","repo_url":"https://github.com/Rongjiehuang/ProDiff","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"prodiff-progressive-fast-diffusion-model-for","repo_url":"https://github.com/Rongjiehuang/FastDiff","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"prodiff-progressive-fast-diffusion-model-for","repo_url":"https://github.com/Text-to-Audio/AudioLCM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"prodiff-progressive-fast-diffusion-model-for","repo_url":"https://github.com/text-to-audio/make-an-audio","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"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":"high","task_name":"Vocal Bursts Intensity Prediction"},{"task_slug":"text-to-speech-1","task_name":"text-to-speech"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.06389","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.06389"}},"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/Text-to-Audio/AudioLCM","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/text-to-audio/make-an-audio","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Rongjiehuang/ProDiff","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Rongjiehuang/FastDiff","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":6,"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":"10865bbb99140edd","entry":"Linear","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/common_layers.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/common_layers.py","link_basis":"harvester_set","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":"10865bbb99140edd"}},{"code_sha256_prefix":"c56b7ef16f309a45","entry":"gaussian","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/ssim.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/ssim.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":"c56b7ef16f309a45"}},{"code_sha256_prefix":"a025408166aaff26","entry":"Embedding","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/common_layers.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/common_layers.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":"a025408166aaff26"}},{"code_sha256_prefix":"75d174a6ffe7ea22","entry":"LayerNorm","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/common_layers.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/common_layers.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":"75d174a6ffe7ea22"}},{"code_sha256_prefix":"02d37efafc1e85c3","entry":"create_window","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/ssim.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/ssim.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":"02d37efafc1e85c3"}},{"code_sha256_prefix":"2e56fb31c5de022f","entry":"ssim","repo":"Rongjiehuang/ProDiff","repo_kind":"official","path":"modules/commons/ssim.py","file_url":"https://github.com/Rongjiehuang/ProDiff/blob/HEAD/modules/commons/ssim.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":"2e56fb31c5de022f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}