{"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/bddm-bilateral-denoising-diffusion-models-for-1","title":"BDDM: Bilateral Denoising Diffusion Models for Fast and High-Quality Speech Synthesis","arxiv_id":"2203.13508","date":"2022-03-25","proceeding":"ICLR 2022 4","authors":["Max W. Y. Lam","Jun Wang","Dan Su","Dong Yu"],"abstract":"Diffusion probabilistic models (DPMs) and their extensions have emerged as competitive generative models yet confront challenges of efficient sampling. We propose a new bilateral denoising diffusion model (BDDM) that parameterizes both the forward and reverse processes with a schedule network and a score network, which can train with a novel bilateral modeling objective. We show that the new surrogate objective can achieve a lower bound of the log marginal likelihood tighter than a conventional surrogate. We also find that BDDM allows inheriting pre-trained score network parameters from any DPMs and consequently enables speedy and stable learning of the schedule network and optimization of a noise schedule for sampling. Our experiments demonstrate that BDDMs can generate high-fidelity audio samples with as few as three sampling steps. Moreover, compared to other state-of-the-art diffusion-based neural vocoders, BDDMs produce comparable or higher quality samples indistinguishable from human speech, notably with only seven sampling steps (143x faster than WaveGrad and 28.6x faster than DiffWave). We release our code at https://github.com/tencent-ailab/bddm.","url_abs":"https://arxiv.org/abs/2203.13508v1","url_pdf":"https://arxiv.org/pdf/2203.13508v1.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":"bddm-bilateral-denoising-diffusion-models-for-1","repo_url":"https://github.com/tencent-ailab/bddm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"speech-synthesis","task_name":"Speech Synthesis"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"film-module","method_name":"FiLM Module"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"wavegrad","method_name":"WaveGrad"},{"method_slug":"wavegrad-dblock","method_name":"WaveGrad DBlock"},{"method_slug":"wavegrad-ublock","method_name":"WaveGrad UBlock"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/speech-synthesis-on-ljspeech","task":"Speech Synthesis","dataset":"LJSpeech","model":"BDDM vocoder","rank_in_archive_order":1,"of":4,"metrics":{"Mean Opinion Score":"4.48"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.13508","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.13508"}},"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":"deterministic:regex_extraction","url":"https://github.com/tencent-ailab/bddm","reach":null}],"summary":{"ran":4,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":"267f77d579ddc806","entry":"Conv","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"267f77d579ddc806"}},{"code_sha256_prefix":"89aa6ba469c9b212","entry":"ResidualBlock","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"89aa6ba469c9b212"}},{"code_sha256_prefix":"6d233604940eb9a9","entry":"ResidualGroup","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6d233604940eb9a9"}},{"code_sha256_prefix":"8b0344849f5e7286","entry":"ZeroConv1d","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8b0344849f5e7286"}},{"code_sha256_prefix":"245e52e17e9f2c94","entry":"calc_diffusion_step_embedding","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"245e52e17e9f2c94"}},{"code_sha256_prefix":"7753e841ff7b7dea","entry":"DiffWave","repo":"tencent-ailab/bddm","repo_kind":"official","path":"bddm/models/diffwave.py","file_url":"https://github.com/tencent-ailab/bddm/blob/HEAD/bddm/models/diffwave.py","link_basis":"first_harvest_node","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":"7753e841ff7b7dea"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}