{"data":{"slug":"rayhane-mamah-tacotron-2","name":"Tacotron-2","tagline":"DeepMind's Tacotron-2 Tensorflow implementation focused on text-to-speech synthesis.","github_url":"https://github.com/Rayhane-mamah/Tacotron-2","owner":"Rayhane-mamah","repo":"Tacotron-2","owner_avatar_url":"https://avatars.githubusercontent.com/u/34689728?v=4","primary_language":"Python","stars":2321,"forks":897,"topics":["paper","python","speech-synthesis","tacotron","tensorflow","text-to-speech","wavenet"],"archived":false,"github_pushed_at":"2023-07-06T21:18:43+00:00","maintenance_label":"Dormant","stars_delta_30d":-3,"url":"https://www.graphcanon.com/tools/rayhane-mamah-tacotron-2","markdown_url":"https://www.graphcanon.com/tools/rayhane-mamah-tacotron-2.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/rayhane-mamah-tacotron-2","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=rayhane-mamah-tacotron-2","description":"DeepMind's Tacotron-2 Tensorflow implementation","homepage_url":null,"license":"MIT","open_issues":265,"watchers":130,"ai_summary":"A repository implementing DeepMind's Tacotron-2 architecture using TensorFlow for neural network-based speech synthesis from text input.","readme_excerpt":"# Tacotron-2:\nTensorflow implementation of DeepMind's Tacotron-2. A deep neural network architecture described in this paper: [Natural TTS synthesis by conditioning Wavenet on MEL spectogram predictions](https://arxiv.org/pdf/1712.05884.pdf)\n\nThis Repository contains additional improvements and attempts over the paper, we thus propose **paper_hparams.py** file which holds the exact hyperparameters to reproduce the paper results without any additional extras.\n\nSuggested **hparams.py** file which is default in use, contains the hyperparameters with extras that proved to provide better results in most cases. Feel free to toy with the parameters as needed.\n\nDIFFERENCES WILL BE HIGHLIGHTED IN DOCUMENTATION SHORTLY.\n\n\n# Repository Structure:\n\tTacotron-2\n\t├── datasets\n\t├── en_UK\t\t(0)\n\t│   └── by_book\n\t│       └── female\n\t├── en_US\t\t(0)\n\t│   └── by_book\n\t│       ├── female\n\t│       └── male\n\t├── LJSpeech-1.1\t(0)\n\t│   └── wavs\n\t├── logs-Tacotron\t(2)\n\t│   ├── eval_-dir\n\t│   │ \t├── plots\n\t│ \t│ \t└── wavs\n\t│   ├── mel-spectrograms\n\t│   ├── plots\n\t│   ├── taco_pretrained\n\t│   ├── metas\n\t│   └── wavs\n\t├── logs-Wavenet\t(4)\n\t│   ├── eval-dir\n\t│   │ \t├── plots\n\t│ \t│ \t└── wavs\n\t│   ├── plots\n\t│   ├── wave_pretrained\n\t│   ├── metas\n\t│   └── wavs\n\t├── logs-Tacotron-2\t( * )\n\t│   ├── eval-dir\n\t│   │ \t├── plots\n\t│ \t│ \t└── wavs\n\t│   ├── plots\n\t│   ├── taco_pretrained\n\t│   ├── wave_pretrained\n\t│   ├── metas\n\t│   └── wavs\n\t├── papers\n\t├── tacotron\n\t│   ├── models\n\t│   └── utils\n\t├── tacotron_output\t(3)\n\t│   ├── eval\n\t│   ├── gta\n\t│   ├── logs-eval\n\t│   │   ├── plots\n\t│   │   └── wavs\n\t│   └── natural\n\t├── wavenet_output\t(5)\n\t│   ├── plots\n\t│   └── wavs\n\t├── training_data\t(1)\n\t│   ├── audio\n\t│   ├── linear\n\t│\t└── mels\n\t└── wavenet_vocoder\n\t\t└── models\n\n\nThe previous tree shows the current state of the repository (separate training, one step at a time).\n\n- Step **(0)**: Get your dataset, here I have set the examples of **Ljspeech**, **en_US** and **en_UK** (from **M-AILABS**).\n- Step **(1)**: Preprocess your data. This will give you the **training_data** folder.\n- Step **(2)**: Train your Tacotron model. Yields the **logs-Tacotron** folder.\n- Step **(3)**: Synthesize/Evaluate the Tacotron model. Gives the **tacotron_output** folder.\n- Step **(4)**: Train your Wavenet model. Yield the **logs-Wavenet** folder.\n- Step **(5)**: Synthesize audio using the Wavenet model. Gives the **wavenet_output** folder.\n\n- Note: Steps 2, 3, and 4 can be made with a simple run for both Tacotron and WaveNet (Tacotron-2, step ( * )).\n\n\nNote:\n- **Our preprocessing only supports Ljspeech and Ljspeech-like datasets (M-AILABS speech data)!** If running on datasets stored differently, you will probably need to make your own preprocessing script.\n- In the previous tree, files **were not represented** and **max depth was set to 3** for simplicity.\n- If you run training of both **models at the same time**, repository structure will be different.\n\n# Pretrained model and Samples:\nPre-trained models and audio samples will be added at a later date. You can however check some primary insights of the model performance (at early stages of training) [here](https://github.com/Rayhane-mamah/Tacotron-2/issues/4#issuecomment-378741465). THIS IS VERY OUTDATED, I WILL UPDATE THIS SOON\n\n# Model Architecture:\n<p align=\"center\">\n  <img src=\"https://preview.ibb.co/bU8sLS/Tacotron_2_Architecture.png\"/>\n</p>\n\nThe model described by the authors can be divided in two parts:\n- Spectrogram prediction network\n- Wavenet vocoder\n\nTo have an in-depth exploration of the model architecture, training procedure and preprocessing logic, refer to [our wiki](https://github.com/Rayhane-mamah/Tacotron-2/wiki)\n\n# Current state:\n\nTo have an overview of our advance on this project, please refer to [this discussion](https://github.com/Rayhane-mamah/Tacotron-2/issues/4)\n\nsince the two parts of the global model are trained separately, we can start by training the feature prediction model to use his predictions later during the","github_created_at":"2017-12-20T16:08:13+00:00","created_at":"2026-07-11T12:08:57.814028+00:00","updated_at":"2026-09-20T07:09:01.796102+00:00","categories":[{"slug":"speech-audio","name":"Speech & Audio","url":"https://www.graphcanon.com/categories/speech-audio","markdown_url":"https://www.graphcanon.com/categories/speech-audio.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/speech-audio"}],"tags":[{"slug":"paper","name":"paper"},{"slug":"python","name":"python"},{"slug":"speech-synthesis","name":"speech-synthesis"},{"slug":"tacotron","name":"tacotron"},{"slug":"tensorflow","name":"tensorflow"},{"slug":"text-to-speech","name":"text-to-speech"},{"slug":"wavenet","name":"wavenet"}],"trust":{"provenance":{"is_fork":false,"github_id":114906452,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T07:08:58.909Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":1171,"last_release_at":null,"stars_delta_30d":-3,"open_issues_delta_30d":0},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":12,"high_count":0,"last_scan_at":"2026-07-11T12:09:03.824Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T07:09:00.432Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-09-20T07:09:00.432Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T07:09:00.432Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["High speech quality demanded, supports Ljspeech and M-AILABS dataset formats","Flexible hyperparameter tuning for experimentations, reproducibility of paper results available"],"when_not_to_use":["For non-Ljspeech or M-AILABS datasets, custom preprocessing needed; less flexibility","If requiring rapid deployment without extensive model tweaking and training"],"source":"enrich:decision_facts","observed_at":"2026-07-16T22:20:45.080Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Tacotron-2 is TensorFlow-based text-to-speech from DeepMind with Py implementations."},{"label":"License detail","value":"MIT license, free for use and modification without restrictions on commercial projects."}]}}