Commit
·
e5753d7
1
Parent(s):
d559922
use v1.1 model for now
Browse files
app.py
CHANGED
|
@@ -44,10 +44,10 @@ st = os.stat("ffmpeg")
|
|
| 44 |
os.chmod("ffmpeg", st.st_mode | stat.S_IEXEC)
|
| 45 |
|
| 46 |
# This will trigger downloading model
|
| 47 |
-
print("Downloading if not downloaded Coqui XTTS
|
| 48 |
from TTS.utils.manage import ModelManager
|
| 49 |
|
| 50 |
-
model_name = "tts_models/multilingual/multi-dataset/
|
| 51 |
ModelManager().download_model(model_name)
|
| 52 |
model_path = os.path.join(get_user_data_dir("tts"), model_name.replace("/", "--"))
|
| 53 |
print("XTTS downloaded")
|
|
@@ -55,6 +55,10 @@ print("XTTS downloaded")
|
|
| 55 |
config = XttsConfig()
|
| 56 |
config.load_json(os.path.join(model_path, "config.json"))
|
| 57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
model = Xtts.init_from_config(config)
|
| 59 |
model.load_checkpoint(
|
| 60 |
config,
|
|
@@ -70,8 +74,11 @@ DEVICE_ASSERT_DETECTED = 0
|
|
| 70 |
DEVICE_ASSERT_PROMPT = None
|
| 71 |
DEVICE_ASSERT_LANG = None
|
| 72 |
|
|
|
|
|
|
|
| 73 |
supported_languages = config.languages
|
| 74 |
|
|
|
|
| 75 |
def predict(
|
| 76 |
prompt,
|
| 77 |
language,
|
|
@@ -247,7 +254,8 @@ def predict(
|
|
| 247 |
language,
|
| 248 |
gpt_cond_latent,
|
| 249 |
speaker_embedding,
|
| 250 |
-
diffusion_conditioning
|
|
|
|
| 251 |
)
|
| 252 |
inference_time = time.time() - t0
|
| 253 |
print(f"I: Time to generate audio: {round(inference_time*1000)} milliseconds")
|
|
@@ -264,7 +272,8 @@ def predict(
|
|
| 264 |
prompt,
|
| 265 |
language,
|
| 266 |
gpt_cond_latent,
|
| 267 |
-
speaker_embedding
|
|
|
|
| 268 |
)
|
| 269 |
|
| 270 |
first_chunk = True
|
|
@@ -394,7 +403,7 @@ description = """
|
|
| 394 |
<img style="margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a>
|
| 395 |
</div>
|
| 396 |
|
| 397 |
-
<a href="https://huggingface.co/coqui/XTTS-
|
| 398 |
<br/>
|
| 399 |
XTTS is built on previous research, like Tortoise, with additional architectural innovations and training to make cross-language voice cloning and multilingual speech generation possible.
|
| 400 |
<br/>
|
|
@@ -406,8 +415,9 @@ Leave a star on the Github <a href="https://github.com/coqui-ai/TTS">🐸TTS</a>
|
|
| 406 |
<br/>
|
| 407 |
</p>
|
| 408 |
<p>Language Selectors:
|
| 409 |
-
Arabic: ar, Brazilian Portuguese: pt , Chinese: zh-cn, Czech: cs
|
| 410 |
-
|
|
|
|
| 411 |
</p>
|
| 412 |
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=0d00920c-8cc9-4bf3-90f2-a615797e5f59" />
|
| 413 |
"""
|
|
@@ -549,26 +559,6 @@ examples = [
|
|
| 549 |
False,
|
| 550 |
True,
|
| 551 |
],
|
| 552 |
-
[
|
| 553 |
-
"한번은 내가 여섯 살이었을 때 멋진 그림을 보았습니다.",
|
| 554 |
-
"ko",
|
| 555 |
-
"examples/female.wav",
|
| 556 |
-
None,
|
| 557 |
-
False,
|
| 558 |
-
True,
|
| 559 |
-
False,
|
| 560 |
-
True,
|
| 561 |
-
],
|
| 562 |
-
[
|
| 563 |
-
"Egyszer hat éves koromban láttam egy csodálatos képet",
|
| 564 |
-
"hu",
|
| 565 |
-
"examples/male.wav",
|
| 566 |
-
None,
|
| 567 |
-
False,
|
| 568 |
-
True,
|
| 569 |
-
False,
|
| 570 |
-
True,
|
| 571 |
-
],
|
| 572 |
]
|
| 573 |
|
| 574 |
|
|
@@ -598,8 +588,6 @@ gr.Interface(
|
|
| 598 |
"ar",
|
| 599 |
"zh-cn",
|
| 600 |
"ja",
|
| 601 |
-
"ko",
|
| 602 |
-
"hu"
|
| 603 |
],
|
| 604 |
max_choices=1,
|
| 605 |
value="en",
|
|
@@ -648,4 +636,3 @@ gr.Interface(
|
|
| 648 |
article=article,
|
| 649 |
examples=examples,
|
| 650 |
).queue().launch(debug=True, show_api=True)
|
| 651 |
-
|
|
|
|
| 44 |
os.chmod("ffmpeg", st.st_mode | stat.S_IEXEC)
|
| 45 |
|
| 46 |
# This will trigger downloading model
|
| 47 |
+
print("Downloading if not downloaded Coqui XTTS V1.1")
|
| 48 |
from TTS.utils.manage import ModelManager
|
| 49 |
|
| 50 |
+
model_name = "tts_models/multilingual/multi-dataset/xtts_v1.1"
|
| 51 |
ModelManager().download_model(model_name)
|
| 52 |
model_path = os.path.join(get_user_data_dir("tts"), model_name.replace("/", "--"))
|
| 53 |
print("XTTS downloaded")
|
|
|
|
| 55 |
config = XttsConfig()
|
| 56 |
config.load_json(os.path.join(model_path, "config.json"))
|
| 57 |
|
| 58 |
+
# it should be there just to be sure
|
| 59 |
+
if "ja" not in config.languages:
|
| 60 |
+
config.languages.append("ja")
|
| 61 |
+
|
| 62 |
model = Xtts.init_from_config(config)
|
| 63 |
model.load_checkpoint(
|
| 64 |
config,
|
|
|
|
| 74 |
DEVICE_ASSERT_PROMPT = None
|
| 75 |
DEVICE_ASSERT_LANG = None
|
| 76 |
|
| 77 |
+
|
| 78 |
+
# supported_languages=["en","es","fr","de","it","pt","pl","tr","ru","nl","cs","ar","zh-cn"]
|
| 79 |
supported_languages = config.languages
|
| 80 |
|
| 81 |
+
|
| 82 |
def predict(
|
| 83 |
prompt,
|
| 84 |
language,
|
|
|
|
| 254 |
language,
|
| 255 |
gpt_cond_latent,
|
| 256 |
speaker_embedding,
|
| 257 |
+
diffusion_conditioning,
|
| 258 |
+
decoder="ne_hifigan",
|
| 259 |
)
|
| 260 |
inference_time = time.time() - t0
|
| 261 |
print(f"I: Time to generate audio: {round(inference_time*1000)} milliseconds")
|
|
|
|
| 272 |
prompt,
|
| 273 |
language,
|
| 274 |
gpt_cond_latent,
|
| 275 |
+
speaker_embedding,
|
| 276 |
+
decoder="ne_hifigan",
|
| 277 |
)
|
| 278 |
|
| 279 |
first_chunk = True
|
|
|
|
| 403 |
<img style="margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a>
|
| 404 |
</div>
|
| 405 |
|
| 406 |
+
<a href="https://huggingface.co/coqui/XTTS-v1">XTTS</a> is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip.
|
| 407 |
<br/>
|
| 408 |
XTTS is built on previous research, like Tortoise, with additional architectural innovations and training to make cross-language voice cloning and multilingual speech generation possible.
|
| 409 |
<br/>
|
|
|
|
| 415 |
<br/>
|
| 416 |
</p>
|
| 417 |
<p>Language Selectors:
|
| 418 |
+
Arabic: ar, Brazilian Portuguese: pt , Chinese: zh-cn, Czech: cs,<br/>
|
| 419 |
+
Dutch: nl, English: en, French: fr, Italian: it, Polish: pl,<br/>
|
| 420 |
+
Russian: ru, Spanish: es, Turkish: tr, Japanese: ja <br/>
|
| 421 |
</p>
|
| 422 |
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=0d00920c-8cc9-4bf3-90f2-a615797e5f59" />
|
| 423 |
"""
|
|
|
|
| 559 |
False,
|
| 560 |
True,
|
| 561 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 562 |
]
|
| 563 |
|
| 564 |
|
|
|
|
| 588 |
"ar",
|
| 589 |
"zh-cn",
|
| 590 |
"ja",
|
|
|
|
|
|
|
| 591 |
],
|
| 592 |
max_choices=1,
|
| 593 |
value="en",
|
|
|
|
| 636 |
article=article,
|
| 637 |
examples=examples,
|
| 638 |
).queue().launch(debug=True, show_api=True)
|
|
|