File size: 1,451 Bytes
9156a46
 
3c6e55b
9156a46
 
 
 
 
 
 
 
 
 
3c6e55b
 
 
 
 
 
9156a46
 
 
 
 
63bc826
 
 
 
 
9156a46
 
 
 
 
 
 
 
 
 
 
 
 
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
import tempfile ,os
import gradio as gr
import subprocess

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:
    try:
        subprocess.run(f'mimic3 --voice fa/haaniye_low "{text}" > {fp.name}', shell=True, check=True, stderr=subprocess.PIPE)
    except subprocess.CalledProcessError as e:
        print("Command failed with code", e.returncode)
        print("Output:", e.stderr.decode())
    return fp.name



article= ""
examples=[
    "شیش سیخ جیگر سیخی شیش هزار",
    "سه شیشه شیر ، سه سیر سرشیر",
    "دزدی دزدید ز بز دزدی بزی ، عجب دزدی که دزدید ز بز دزدی بزی",
    "مثنوی یکی از قالب های شعری است ک هر بیت قافیه ی جداگانه دارد",
    "در گلو ماند خس او سالها، چیست آن خس مهر جاه و مالها",
]
iface = gr.Interface(
    fn=tts,
    inputs=[
        gr.Textbox(
            label="Text",
            value="زندگی فقط یک بار است؛ از آن به خوبی استفاده کن",
        )
    ],
    outputs=gr.Audio(label="Output",type='filepath'),
    examples=examples
)
iface.launch(share=False)