import tempfile ,os import gradio as gr MAX_TXT_LEN = 800 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) import subprocess with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp: #print(fp) output = subprocess.check_output(f'mimic3 --voice fa/haaniye_low "{text}" > {fp.name}', shell=True, stderr=subprocess.STDOUT) return fp.name description=""" Persian tts work by sanaweb group.""" article= "" #متن زیر فرم # examples=[ # "شیش سیخ جیگر سیخی شیش هزار", # "سه شیشه شیر ، سه سیر سرشیر", # "زندگی فقط یک بار است؛ از آن به خوبی استفاده کن", # "مثنوی یکی از قالب های شعری است ک هر بیت قافیه ی جداگانه دارد", # "در گلو ماند خس او سالها، چیست آن خس مهر جاه و مالها", #] iface = gr.Interface( fn=tts, inputs=[ gr.Textbox( label="متن خود را وارد کنید", value="گروه ثنا وب یک تیم حرفه ای فعال در حوزه علوم کامپیوتر", ) ], outputs=gr.Audio(label="خروجی",type='filepath'), # examples=examples title="🗣️ تبدیل متن فارسی به صدای طبیعی 🗣️", ) iface.launch(share=False)