Spaces:
Build error
Build error
File size: 1,983 Bytes
8d910b7 28a1377 8d910b7 e7dae75 8d910b7 6cd3aee 8d910b7 6cd3aee 8d910b7 e7dae75 8d910b7 e7dae75 137f174 3d3ba6d 137f174 8d910b7 e7dae75 137f174 8d910b7 137f174 3d3ba6d 137f174 8d910b7 28a1377 8d910b7 137f174 8d910b7 28a1377 a5bab0f 8d910b7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import tempfile ,os
from TTS.config import load_config
import gradio as gr
from TTS.utils.manage import ModelManager
from TTS.utils.synthesizer import Synthesizer
MAX_TXT_LEN = 800
model_path = os.getcwd() + "/best_model.pth"
config_path = os.getcwd() + "/config.json"
synthesizer = Synthesizer(
model_path, config_path
)
def tts(text: str):
if len(text) > MAX_TXT_LEN:
text = text[:MAX_TXT_LEN]
print(f"Input text was cutoff since it went over the {MAX_TXT_LEN} character limit.")
print(text)
# synthesize
if synthesizer is None:
raise NameError("model not found")
wavs = synthesizer.tts(text)
# return output
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp:
synthesizer.save_wav(wavs, fp)
return fp.name
description="""
This is a demo of persian text to speech model.
Model can be found here: https://huggingface.co/Kamtera/persian-tts-female-glow_tts
Model trained on this dataset : https://www.kaggle.com/datasets/magnoliasis/persian-tts-dataset-famale
"""
article= ""
examples=[
["شیش سیخ جیگر سیخی شیش هزار"],
["سه شیشه شیر ، سه سیر سرشیر"],
["دزدی دزدید ز بز دزدی بزی ، عجب دزدی که دزدید ز بز دزدی بزی"],
["مثنوی یکی از قالب های شعری است ک هر بیت قافیه ی جداگانه دارد"],
["در گلو ماند خس او سالها، چیست آن خس مهر جاه و مالها"],
]
iface = gr.Interface(
fn=tts,
inputs=[
gr.Textbox(
label="Text",
value="زندگی فقط یک بار است؛ از آن به خوبی استفاده کن",
)
],
outputs=gr.Audio(label="Output",type='filepath'),
examples=examples,
title="🗣️Persian ttt - glow_tts 🗣️",
description=description,
article=article,
live=False
)
iface.launch(share=False)
|