From a90890f52214350d05fe83f6605845617f93ec34 Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 09:06:48 -0500 Subject: [PATCH 01/21] Add neon ljspeech vits model --- TTS/.models.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index 84a7cd7dba..6727d664e6 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -79,6 +79,14 @@ "license": "apache 2.0", "contact": "egolge@coqui.com" }, + "vits-neon": { + "description": "Vits End2End TTS model trained by Neon AI". + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", + "default_vocoder": null, + "author": "Neon AI", + "license": "bsd-3-clause", + "contact": null + }, "fast_pitch": { "description": "FastPitch model trained on LJSpeech using the Aligner Network", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.6.1_models/tts_models--en--ljspeech--fast_pitch.zip", @@ -512,4 +520,4 @@ } } } -} \ No newline at end of file +} From 92de3f1f47eed036d1d513883ee5961f4ce801a2 Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 10:03:51 -0500 Subject: [PATCH 02/21] Add neon german model --- TTS/.models.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/TTS/.models.json b/TTS/.models.json index 6727d664e6..cec6329fcc 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -224,6 +224,13 @@ "license": "apache 2.0", "commit": "unknown" }, + "vits-neon":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", + "default_vocoder": null, + "author": "Neon AI", + "license": "apache-2.0", + "commit": null + }, "tacotron2-DDC": { "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--thorsten--tacotron2-DDC.zip", "default_vocoder": "vocoder_models/de/thorsten/hifigan_v1", From 2ca4dc6fd97177987d527bca93a3654390589394 Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 10:04:34 -0500 Subject: [PATCH 03/21] Update .models.json --- TTS/.models.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index cec6329fcc..2c62b01a04 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -80,12 +80,13 @@ "contact": "egolge@coqui.com" }, "vits-neon": { - "description": "Vits End2End TTS model trained by Neon AI". + "description": "Vits End2End TTS model trained by Neon AI", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, "author": "Neon AI", "license": "bsd-3-clause", - "contact": null + "contact": null, + "commit": null }, "fast_pitch": { "description": "FastPitch model trained on LJSpeech using the Aligner Network", From c1b1613ac8ea0f32672f4144f459b0021653657e Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 10:56:52 -0500 Subject: [PATCH 04/21] Add neon spanish model --- TTS/.models.json | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index 2c62b01a04..d930122035 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -160,7 +160,15 @@ "license": "MPL", "contact": "egolge@coqui.com" } - } + }, + "css10":{ + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--es--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "Neon AI", + "license": "bsd-3-clause" + } }, "fr": { "mai": { @@ -225,13 +233,6 @@ "license": "apache 2.0", "commit": "unknown" }, - "vits-neon":{ - "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", - "default_vocoder": null, - "author": "Neon AI", - "license": "apache-2.0", - "commit": null - }, "tacotron2-DDC": { "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--thorsten--tacotron2-DDC.zip", "default_vocoder": "vocoder_models/de/thorsten/hifigan_v1", @@ -240,6 +241,15 @@ "license": "apache 2.0", "commit": "unknown" } + }, + "css10": { + "vits-neon":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", + "default_vocoder": null, + "author": "Neon AI", + "license": "apache-2.0", + "commit": null + } } }, "ja": { From 9cdd46ed194e00ae5beecdda00c84afe1a4f0c8d Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 12:07:35 -0500 Subject: [PATCH 05/21] Add french model --- TTS/.models.json | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index d930122035..c2108c9947 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -83,7 +83,7 @@ "description": "Vits End2End TTS model trained by Neon AI", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, - "author": "Neon AI", + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/"", "license": "bsd-3-clause", "contact": null, "commit": null @@ -166,7 +166,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--es--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "Neon AI", + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", "license": "bsd-3-clause" } }, @@ -179,8 +179,18 @@ "author": "Eren Gölge @erogol", "license": "MPL", "contact": "egolge@coqui.com" - } + }, + }, + "css10":{ + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--fr--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "license": "bsd-3-clause" + }, } + } }, "uk":{ "mai": { @@ -246,8 +256,8 @@ "vits-neon":{ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", "default_vocoder": null, - "author": "Neon AI", - "license": "apache-2.0", + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/"", + "license": "bsd-3-clause", "commit": null } } From 0c4b7c899e90c39086ae7728e0efe5b91896405c Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 12:19:01 -0500 Subject: [PATCH 06/21] Add Dutch model --- TTS/.models.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/TTS/.models.json b/TTS/.models.json index c2108c9947..649c58e3c0 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -225,6 +225,15 @@ "stats_file": null, "commit": "540d811" } + }, + "css10":{ + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--nl--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "license": "bsd-3-clause" + }, } }, "de": { From 58597c642af3f5045275d0b2d8b7e2d10eecd53d Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 12:28:53 -0500 Subject: [PATCH 07/21] Add Hungarian model --- TTS/.models.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/TTS/.models.json b/TTS/.models.json index 649c58e3c0..7aecd22bf3 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -405,6 +405,17 @@ } } } + "hu": { + "css10": { + "vits": { + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--hu--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "license": "bsd-3-clause" + } + } + } }, "vocoder_models": { "universal": { From edf227e1e1b30b240c9bfd0d934f4f82ecebefcb Mon Sep 17 00:00:00 2001 From: logan hart Date: Thu, 10 Nov 2022 12:39:13 -0500 Subject: [PATCH 08/21] Add Greek model --- TTS/.models.json | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index 7aecd22bf3..ad64942f4b 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -83,7 +83,7 @@ "description": "Vits End2End TTS model trained by Neon AI", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/"", + "author": "@NeonDeckoCom", "license": "bsd-3-clause", "contact": null, "commit": null @@ -166,7 +166,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--es--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "author": "@NeonDeckoCom", "license": "bsd-3-clause" } }, @@ -186,7 +186,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--fr--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "author": "@NeonDeckoCom", "license": "bsd-3-clause" }, } @@ -231,7 +231,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--nl--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "author": "@NeonDeckoCom", "license": "bsd-3-clause" }, } @@ -265,7 +265,7 @@ "vits-neon":{ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", "default_vocoder": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/"", + "author": "@NeonDeckoCom", "license": "bsd-3-clause", "commit": null } @@ -404,14 +404,25 @@ "commit": "1b22f03" } } - } + }, "hu": { "css10": { "vits": { "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--hu--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "NeonDeckoCom - https://github.com/NeonGeckoCom/", + "author": "@NeonDeckoCom", + "license": "bsd-3-clause" + } + } + }, + "el": { + "cv": { + "vits": { + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--el--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonDeckoCom", "license": "bsd-3-clause" } } From f7c03d97e5492b4821c2104ac0aa9c2e54dabfb3 Mon Sep 17 00:00:00 2001 From: logan hart Date: Fri, 11 Nov 2022 14:18:47 -0500 Subject: [PATCH 09/21] fix typo --- TTS/.models.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index ad64942f4b..8d7c67de57 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -83,7 +83,7 @@ "description": "Vits End2End TTS model trained by Neon AI", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause", "contact": null, "commit": null @@ -166,7 +166,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--es--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause" } }, @@ -186,7 +186,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--fr--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause" }, } @@ -231,7 +231,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--nl--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause" }, } @@ -265,7 +265,7 @@ "vits-neon":{ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--de--css10--vits.zip", "default_vocoder": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause", "commit": null } @@ -411,7 +411,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--hu--css10--vits.zip", "default_vocoder": null, "commit": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause" } } @@ -422,7 +422,7 @@ "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--el--cv--vits.zip", "default_vocoder": null, "commit": null, - "author": "@NeonDeckoCom", + "author": "@NeonGeckoCom", "license": "bsd-3-clause" } } From 173e6856f3af7f0496570b74bfc084530d39ca12 Mon Sep 17 00:00:00 2001 From: logan hart Date: Fri, 11 Nov 2022 14:23:28 -0500 Subject: [PATCH 10/21] Remove uneeded description They just aren't need tbh --- TTS/.models.json | 1 - 1 file changed, 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index 8d7c67de57..5d2d8165e8 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -80,7 +80,6 @@ "contact": "egolge@coqui.com" }, "vits-neon": { - "description": "Vits End2End TTS model trained by Neon AI", "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, "author": "@NeonGeckoCom", From 9127862fa3f9f56acd96698848a146c30c495525 Mon Sep 17 00:00:00 2001 From: logan hart Date: Fri, 11 Nov 2022 14:30:44 -0500 Subject: [PATCH 11/21] Fix typo --- TTS/.models.json | 1 + 1 file changed, 1 insertion(+) diff --git a/TTS/.models.json b/TTS/.models.json index 5d2d8165e8..a8237791c7 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -167,6 +167,7 @@ "commit": null, "author": "@NeonGeckoCom", "license": "bsd-3-clause" + } } }, "fr": { From 31255b554f5b7ca439eca1e89bae9bb0e38aa857 Mon Sep 17 00:00:00 2001 From: logan hart Date: Fri, 11 Nov 2022 14:41:05 -0500 Subject: [PATCH 12/21] Update .models.json --- TTS/.models.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/TTS/.models.json b/TTS/.models.json index a8237791c7..25604dcfa5 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -175,11 +175,11 @@ "tacotron2-DDC": { "github_rls_url": "https://coqui.gateway.scarf.sh/v0.6.1_models/tts_models--fr--mai--tacotron2-DDC.zip", "default_vocoder": "vocoder_models/universal/libri-tts/fullband-melgan", - "commit": "", + "commit": null, "author": "Eren Gölge @erogol", "license": "MPL", "contact": "egolge@coqui.com" - }, + } }, "css10":{ "vits":{ @@ -188,9 +188,8 @@ "commit": null, "author": "@NeonGeckoCom", "license": "bsd-3-clause" - }, + } } - } }, "uk":{ "mai": { From b38ccc26f9e95817b16b8af321f35ed5e5e1e418 Mon Sep 17 00:00:00 2001 From: logan hart Date: Fri, 11 Nov 2022 15:01:56 -0500 Subject: [PATCH 13/21] Update .models.json --- TTS/.models.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index 25604dcfa5..3f4678e90b 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -232,7 +232,7 @@ "commit": null, "author": "@NeonGeckoCom", "license": "bsd-3-clause" - }, + } } }, "de": { From 1b5cf0634e12f99f4d2858663b06d77a997fc16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20G=C3=B6lge?= Date: Mon, 14 Nov 2022 11:49:36 +0100 Subject: [PATCH 14/21] Handling neon models --- TTS/utils/synthesizer.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/TTS/utils/synthesizer.py b/TTS/utils/synthesizer.py index 978d8494e5..bc3fc0aa35 100644 --- a/TTS/utils/synthesizer.py +++ b/TTS/utils/synthesizer.py @@ -213,7 +213,12 @@ def tts( speaker_embedding = None speaker_id = None if self.tts_speakers_file or hasattr(self.tts_model.speaker_manager, "name_to_id"): - if speaker_name and isinstance(speaker_name, str): + + # handle Neon models with single speaker. + if len(self.tts_model.speaker_manager.name_to_id) == 1: + speaker_id = list(self.tts_model.speaker_manager.name_to_id.values())[0] + + elif speaker_name and isinstance(speaker_name, str): if self.tts_config.use_d_vector_file: # get the average speaker embedding from the saved d_vectors. speaker_embedding = self.tts_model.speaker_manager.get_mean_embedding( @@ -243,7 +248,11 @@ def tts( if self.tts_languages_file or ( hasattr(self.tts_model, "language_manager") and self.tts_model.language_manager is not None ): - if language_name and isinstance(language_name, str): + + if len(self.tts_model.language_manager.name_to_id) == 1: + language_id = list(self.tts_model.language_manager.name_to_id.values())[0] + + elif language_name and isinstance(language_name, str): language_id = self.tts_model.language_manager.name_to_id[language_name] elif not language_name: From 9e87af367551ccdf8cf081fd77725e671c9f0f50 Mon Sep 17 00:00:00 2001 From: loganhart420 Date: Tue, 15 Nov 2022 01:05:40 +0000 Subject: [PATCH 15/21] Add all neon models --- TTS/.models.json | 183 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) diff --git a/TTS/.models.json b/TTS/.models.json index 3f4678e90b..e244e44323 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -12,6 +12,61 @@ } } }, + "bg": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--bg--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "cs": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--cs--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "da": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--da--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "et": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--et--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "ga": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--ga--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, "en": { "ek1": { "tacotron2": { @@ -200,6 +255,13 @@ "license": "MIT", "contact": "", "default_vocoder": "vocoder_models/uk/mai/multiband-melgan" + }, + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--uk--mai--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" } } }, @@ -425,6 +487,127 @@ "license": "bsd-3-clause" } } + }, + "fi": { + "css10": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--fi--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "hr": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--hr--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "lt": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--lt--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "lv": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--lv--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "mt": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--mt--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "pl": { + "mai_female": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--pl--mai_female--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "pt": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--pt--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "ro": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--ro--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "sk": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--sk--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "sl": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--f--css10--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } + }, + "sv": { + "cv": { + "vits":{ + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--sv--cv--vits.zip", + "default_vocoder": null, + "commit": null, + "author": "@NeonGeckoCom", + "license": "bsd-3-clause" + } + } } }, "vocoder_models": { From 1a97dfd9cf0ebdfcfb75cff117e33d369c0cd92c Mon Sep 17 00:00:00 2001 From: logan hart Date: Tue, 15 Nov 2022 11:04:03 -0500 Subject: [PATCH 16/21] Fix bad zip --- TTS/.models.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index e244e44323..54f94c0094 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -590,7 +590,7 @@ "sl": { "cv": { "vits":{ - "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--f--css10--vits.zip", + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--sl--css10--vits.zip", "default_vocoder": null, "commit": null, "author": "@NeonGeckoCom", From 345fd2c397a9936219de3c9b322ed5f8dd3f9e80 Mon Sep 17 00:00:00 2001 From: loganhart420 Date: Tue, 15 Nov 2022 16:34:33 +0000 Subject: [PATCH 17/21] fix bad zip --- TTS/.models.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index 54f94c0094..115606aaa6 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -590,7 +590,7 @@ "sl": { "cv": { "vits":{ - "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--sl--css10--vits.zip", + "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--sl--cv--vits.zip", "default_vocoder": null, "commit": null, "author": "@NeonGeckoCom", From 52cdb6562adb636353a14da405dacc1dcdcb8c37 Mon Sep 17 00:00:00 2001 From: logan hart Date: Tue, 15 Nov 2022 16:42:45 -0500 Subject: [PATCH 18/21] Update .models.json --- TTS/.models.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TTS/.models.json b/TTS/.models.json index 115606aaa6..4e2d5e4797 100644 --- a/TTS/.models.json +++ b/TTS/.models.json @@ -134,7 +134,7 @@ "license": "apache 2.0", "contact": "egolge@coqui.com" }, - "vits-neon": { + "vits--neon": { "github_rls_url": "https://coqui.gateway.scarf.sh/v0.8.0_models/tts_models--en--ljspeech--vits.zip", "default_vocoder": null, "author": "@NeonGeckoCom", From c277cfb1ca581b6a8368be6dc9234448a54f7e08 Mon Sep 17 00:00:00 2001 From: Eren G??lge Date: Wed, 16 Nov 2022 13:31:08 +0100 Subject: [PATCH 19/21] Split zoo_tests --- .github/workflows/zoo_tests0.yml | 52 +++++++++++++++++++ .../{zoo_tests.yml => zoo_tests1.yml} | 2 +- .github/workflows/zoo_tests2.yml | 50 ++++++++++++++++++ tests/zoo_tests/test_models.py | 17 ++++-- 4 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/zoo_tests0.yml rename .github/workflows/{zoo_tests.yml => zoo_tests1.yml} (92%) create mode 100644 .github/workflows/zoo_tests2.yml diff --git a/.github/workflows/zoo_tests0.yml b/.github/workflows/zoo_tests0.yml new file mode 100644 index 0000000000..01e1c40093 --- /dev/null +++ b/.github/workflows/zoo_tests0.yml @@ -0,0 +1,52 @@ +name: zoo-tests-0 + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] +jobs: + check_skip: + runs-on: ubuntu-latest + if: "! contains(github.event.head_commit.message, '[ci skip]')" + steps: + - run: echo "${{ github.event.head_commit.message }}" + + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.7, 3.8, 3.9, "3.10"] + experimental: [false] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + cache: 'pip' + cache-dependency-path: 'requirements*' + - name: check OS + run: cat /etc/os-release + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y git make gcc + sudo apt-get install espeak espeak-ng + make system-deps + - name: Install/upgrade Python setup deps + run: python3 -m pip install --upgrade pip setuptools wheel + - name: Replace scarf urls + run: | + sed -i 's/https:\/\/coqui.gateway.scarf.sh\//https:\/\/github.com\/coqui-ai\/TTS\/releases\/download\//g' TTS/.models.json + - name: Install TTS + run: | + python3 -m pip install .[all] + python3 setup.py egg_info + - name: Unit tests + run: | + nose2 -F -v -B TTS tests.zoo_tests.test_models.test_models_offset_0_step_3 + nose2 -F -v -B TTS tests.zoo_tests.test_models.test_voice_conversion diff --git a/.github/workflows/zoo_tests.yml b/.github/workflows/zoo_tests1.yml similarity index 92% rename from .github/workflows/zoo_tests.yml rename to .github/workflows/zoo_tests1.yml index bd9c695ea9..36a2f75fc6 100644 --- a/.github/workflows/zoo_tests.yml +++ b/.github/workflows/zoo_tests1.yml @@ -47,4 +47,4 @@ jobs: python3 -m pip install .[all] python3 setup.py egg_info - name: Unit tests - run: make test_zoo + run: nose2 -F -v -B --with-coverage --coverage TTS tests.zoo_tests.test_models.test_models_offset_1_step_3 diff --git a/.github/workflows/zoo_tests2.yml b/.github/workflows/zoo_tests2.yml new file mode 100644 index 0000000000..e7f0c8f653 --- /dev/null +++ b/.github/workflows/zoo_tests2.yml @@ -0,0 +1,50 @@ +name: zoo-tests + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] +jobs: + check_skip: + runs-on: ubuntu-latest + if: "! contains(github.event.head_commit.message, '[ci skip]')" + steps: + - run: echo "${{ github.event.head_commit.message }}" + + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.7, 3.8, 3.9, "3.10"] + experimental: [false] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + cache: 'pip' + cache-dependency-path: 'requirements*' + - name: check OS + run: cat /etc/os-release + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y git make gcc + sudo apt-get install espeak espeak-ng + make system-deps + - name: Install/upgrade Python setup deps + run: python3 -m pip install --upgrade pip setuptools wheel + - name: Replace scarf urls + run: | + sed -i 's/https:\/\/coqui.gateway.scarf.sh\//https:\/\/github.com\/coqui-ai\/TTS\/releases\/download\//g' TTS/.models.json + - name: Install TTS + run: | + python3 -m pip install .[all] + python3 setup.py egg_info + - name: Unit tests + run: nose2 -F -v -B --with-coverage --coverage TTS tests.zoo_tests.test_models.test_models_offset_2_step_3 diff --git a/tests/zoo_tests/test_models.py b/tests/zoo_tests/test_models.py index 7105edf4e4..8215e84044 100644 --- a/tests/zoo_tests/test_models.py +++ b/tests/zoo_tests/test_models.py @@ -10,14 +10,14 @@ from TTS.utils.manage import ModelManager -def test_run_all_models(): +def run_models(offset=0, step=1): """Check if all the models are downloadable and tts models run correctly.""" print(" > Run synthesizer with all the models.") download_dir = get_user_data_dir("tts") output_path = os.path.join(get_tests_output_path(), "output.wav") manager = ModelManager(output_prefix=get_tests_output_path(), progress_bar=False) model_names = manager.list_models() - for model_name in model_names: + for model_name in model_names[offset::step]: print(f"\n > Run - {model_name}") model_path, _, _ = manager.download_model(model_name) if "tts_models" in model_name: @@ -58,7 +58,18 @@ def test_run_all_models(): folders = glob.glob(os.path.join(manager.output_prefix, "*")) assert len(folders) == len(model_names) - shutil.rmtree(manager.output_prefix) + + +def test_models_offset_0_step_3(): + run_models(offset=0, step=3) + + +def test_models_offset_1_step_3(): + run_models(offset=1, step=3) + + +def test_models_offset_2_step_3(): + run_models(offset=2, step=3) def test_voice_conversion(): From 2cb6b501b8c885ea592342873a8b1eb7cdc17367 Mon Sep 17 00:00:00 2001 From: Eren G??lge Date: Wed, 16 Nov 2022 13:35:49 +0100 Subject: [PATCH 20/21] Update test names --- .github/workflows/zoo_tests1.yml | 2 +- .github/workflows/zoo_tests2.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/zoo_tests1.yml b/.github/workflows/zoo_tests1.yml index 36a2f75fc6..1650aa123f 100644 --- a/.github/workflows/zoo_tests1.yml +++ b/.github/workflows/zoo_tests1.yml @@ -1,4 +1,4 @@ -name: zoo-tests +name: zoo-tests-1 on: push: diff --git a/.github/workflows/zoo_tests2.yml b/.github/workflows/zoo_tests2.yml index e7f0c8f653..f5a155abf1 100644 --- a/.github/workflows/zoo_tests2.yml +++ b/.github/workflows/zoo_tests2.yml @@ -1,4 +1,4 @@ -name: zoo-tests +name: zoo-tests-2 on: push: From 56ba14f2c558ffbdb358cc2aac3f54a8538ab2d5 Mon Sep 17 00:00:00 2001 From: Eren G??lge Date: Wed, 16 Nov 2022 15:25:04 +0100 Subject: [PATCH 21/21] Update model testing --- tests/zoo_tests/test_models.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/zoo_tests/test_models.py b/tests/zoo_tests/test_models.py index 8215e84044..a1f9c536f7 100644 --- a/tests/zoo_tests/test_models.py +++ b/tests/zoo_tests/test_models.py @@ -13,7 +13,6 @@ def run_models(offset=0, step=1): """Check if all the models are downloadable and tts models run correctly.""" print(" > Run synthesizer with all the models.") - download_dir = get_user_data_dir("tts") output_path = os.path.join(get_tests_output_path(), "output.wav") manager = ModelManager(output_prefix=get_tests_output_path(), progress_bar=False) model_names = manager.list_models() @@ -50,14 +49,15 @@ def run_models(offset=0, step=1): f'--text "This is an example." --out_path "{output_path}" --progress_bar False' ) # remove downloaded models - shutil.rmtree(download_dir) + shutil.rmtree(local_download_dir) + shutil.rmtree(get_user_data_dir("tts")) else: # only download the model manager.download_model(model_name) print(f" | > OK: {model_name}") - folders = glob.glob(os.path.join(manager.output_prefix, "*")) - assert len(folders) == len(model_names) + # folders = glob.glob(os.path.join(manager.output_prefix, "*")) + # assert len(folders) == len(model_names) // step def test_models_offset_0_step_3():