{"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/natural-tts-synthesis-by-conditioning-wavenet","title":"Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions","arxiv_id":"1712.05884","date":"2017-12-16","proceeding":null,"authors":["Jonathan Shen","Ruoming Pang","Ron J. Weiss","Mike Schuster","Navdeep Jaitly","Zongheng Yang","Zhifeng Chen","Yu Zhang","Yuxuan Wang","RJ Skerry-Ryan","Rif A. Saurous","Yannis Agiomyrgiannakis","Yonghui Wu"],"abstract":"This paper describes Tacotron 2, a neural network architecture for speech\nsynthesis directly from text. The system is composed of a recurrent\nsequence-to-sequence feature prediction network that maps character embeddings\nto mel-scale spectrograms, followed by a modified WaveNet model acting as a\nvocoder to synthesize timedomain waveforms from those spectrograms. Our model\nachieves a mean opinion score (MOS) of $4.53$ comparable to a MOS of $4.58$ for\nprofessionally recorded speech. To validate our design choices, we present\nablation studies of key components of our system and evaluate the impact of\nusing mel spectrograms as the input to WaveNet instead of linguistic, duration,\nand $F_0$ features. We further demonstrate that using a compact acoustic\nintermediate representation enables significant simplification of the WaveNet\narchitecture.","url_abs":"http://arxiv.org/abs/1712.05884v2","url_pdf":"http://arxiv.org/pdf/1712.05884v2.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":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/BogiHsu/Tacotron2-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/Jeevesh8/Cross-Lingual-Voice-Cloning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/NVIDIA/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/OlaWod/my-tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/Rayhane-mamah/Tacotron-2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/TensorSpeech/TensorflowTTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/alpharol/Taco_Collection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/anandaswarup/TTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/anandaswarup/rnn-tts","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/bfs18/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/choiHkk/Transformer-TTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/codetendolkar/tacotron-2-explained","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/coqui-ai/TTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MPL-2.0"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/creotiv/RussianTTS-Tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/dathudeptrai/TensorflowTTS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/dipjyoti92/SC-WaveRNN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/dipjyoti92/TTS-Style-Transfer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/izzajalandoni/tts_models","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/kaiidams/voice100","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/kaiidams/voice100-tts","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/keonlee9420/Comprehensive-Tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/martinlenglet/avtacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/rosinality/melgan-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/s3nh/pytorch-tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/thepowerfuldeez/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/thuhcsi/tacotron","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/vincenzo-scotti/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/xcmyz/FastSpeech","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/xinshengwang/Tacotron-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/MindSpore-paper-code-2/code400/tree/main/Tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/PaddlePaddle/PaddleSpeech","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/jiean001/models_m/tree/main/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"natural-tts-synthesis-by-conditioning-wavenet","repo_url":"https://github.com/mindspore-ai/models/tree/master/research/audio/tacotron2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"speech-synthesis","task_name":"Speech Synthesis"}],"methods":[{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bilstm","method_name":"BiLSTM"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dilated-causal-convolution","method_name":"Dilated Causal Convolution"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"exponential-decay","method_name":"Exponential Decay"},{"method_slug":"lstm","method_name":"LSTM"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"location-sensitive-attention","method_name":"Location Sensitive Attention"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"mixture-of-logistic-distributions","method_name":"Mixture of Logistic Distributions"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"tacotron-2","method_name":"Tacotron 2"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"},{"method_slug":"wavenet","method_name":"WaveNet"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"zoneout","method_name":"Zoneout"}],"datasets_introduced":[],"methods_introduced":[{"slug":"tacotron-2","name":"Tacotron 2","full_name":"Tacotron2"}],"results":[{"leaderboard":"/sota/speech-synthesis-on-north-american-english","task":"Speech Synthesis","dataset":"North American English","model":"Tacotron 2","rank_in_archive_order":1,"of":7,"metrics":{"Mean Opinion Score":"4.526"},"uses_additional_data":false},{"leaderboard":"/sota/speech-synthesis-on-north-american-english","task":"Speech Synthesis","dataset":"North American English","model":"WaveNet (Linguistic)","rank_in_archive_order":2,"of":7,"metrics":{"Mean Opinion Score":"4.341"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1712.05884","atlas_url":"https://app.syntology.ai/?focus=1712.05884","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1712.05884"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/NVIDIA/tacotron2","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dipjyoti92/SC-WaveRNN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xinshengwang/Tacotron-pytorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleSpeech","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TensorSpeech/TensorflowTTS","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/OlaWod/my-tacotron2","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/anandaswarup/rnn-tts","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/thepowerfuldeez/tacotron2","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BogiHsu/Tacotron2-PyTorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/keonlee9420/Comprehensive-Tacotron2","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kaiidams/voice100-tts","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dathudeptrai/TensorflowTTS","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xcmyz/FastSpeech","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/codetendolkar/tacotron-2-explained","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vincenzo-scotti/tacotron2","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/s3nh/pytorch-tacotron2","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/anandaswarup/TTS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bfs18/tacotron2","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/izzajalandoni/tts_models","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rosinality/melgan-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/martinlenglet/avtacotron2","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Rayhane-mamah/Tacotron-2","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mindspore-ai/models/tree/master/research/audio/tacotron2","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/coqui-ai/TTS","reach":{"status":"ok","spdx":"MPL-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/creotiv/RussianTTS-Tacotron2","reach":{"status":"unanswered"}}],"summary":{"ran_honours":2,"ran_draft_wrong":5},"by_repo_kind":{"listed":{"samples":6,"ran":6,"repositories":5}},"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":2,"samples":[{"code_sha256_prefix":"f1cba67eb6d6e4ad","entry":"get_param_num","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"f1cba67eb6d6e4ad"}},{"code_sha256_prefix":"02ce0b07ac0aa7e2","entry":"length_to_mask","repo":"rosinality/melgan-pytorch","repo_kind":"listed","path":"tacotron2.py","file_url":"https://github.com/rosinality/melgan-pytorch/blob/HEAD/tacotron2.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02ce0b07ac0aa7e2"}},{"code_sha256_prefix":"669fcedc80c2fee3","entry":"load_checkpoint","repo":"anandaswarup/rnn-tts","repo_kind":"listed","path":"train_Tacotron2.py","file_url":"https://github.com/anandaswarup/rnn-tts/blob/HEAD/train_Tacotron2.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"669fcedc80c2fee3"}},{"code_sha256_prefix":"91be03213654f639","entry":"load_trained_model","repo":"anandaswarup/rnn-tts","repo_kind":"listed","path":"tts_Synthesis.py","file_url":"https://github.com/anandaswarup/rnn-tts/blob/HEAD/tts_Synthesis.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":"91be03213654f639"}},{"code_sha256_prefix":"2af6a131384db5c8","entry":"np_now","repo":"dipjyoti92/SC-WaveRNN","repo_kind":"listed","path":"train_tacotron.py","file_url":"https://github.com/dipjyoti92/SC-WaveRNN/blob/HEAD/train_tacotron.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2af6a131384db5c8"}},{"code_sha256_prefix":"33ee8256742bf42c","entry":"run_shell_command","repo":"martinlenglet/avtacotron2","repo_kind":"listed","path":"do_syn.py","file_url":"https://github.com/martinlenglet/avtacotron2/blob/HEAD/do_syn.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":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"33ee8256742bf42c"}},{"code_sha256_prefix":"b1491d3c2e709fdc","entry":"split_func","repo":"Rayhane-mamah/Tacotron-2","repo_kind":"listed","path":"tacotron/models/tacotron.py","file_url":"https://github.com/Rayhane-mamah/Tacotron-2/blob/HEAD/tacotron/models/tacotron.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1491d3c2e709fdc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}