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)
 | 
