katrihiovain commited on
Commit
b90fe64
·
1 Parent(s): ea84dab

add application file

Browse files
Files changed (1) hide show
  1. app.py +74 -0
app.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import syn_hifigan as syn
3
+ #import syn_k_univnet_multi as syn
4
+ import os, tempfile
5
+
6
+ languages = {"South Sámi":0,
7
+ "North Sámi":1,
8
+ "Lule Sámi":2}
9
+
10
+ speakers={"aj0": 0,
11
+ "aj1": 1,
12
+ "am": 2,
13
+ "bi": 3,
14
+ "kd": 4,
15
+ "ln": 5,
16
+ "lo": 6,
17
+ "ms": 7,
18
+ "mu": 8,
19
+ "sa": 9
20
+ }
21
+ public=True
22
+
23
+ tempdir = tempfile.gettempdir()
24
+
25
+ tts = syn.Synthesizer()
26
+
27
+
28
+
29
+ def speak(text, language,speaker,l_weight, s_weight, pace, postfilter): #pitch_shift,pitch_std):
30
+
31
+
32
+
33
+ # text frontend not implemented...
34
+ text = text.replace("...", "…")
35
+ print(speakers[speaker])
36
+ audio = tts.speak(text, output_file=f'{tempdir}/tmp', lang=languages[language],
37
+ spkr=speakers[speaker], l_weight=l_weight, s_weight=s_weight,
38
+ pace=pace, clarity=postfilter)
39
+
40
+ if not public:
41
+ try:
42
+ os.system("play "+tempdir+"/tmp.wav &")
43
+ except:
44
+ pass
45
+
46
+ return (22050, audio)
47
+
48
+
49
+
50
+ controls = []
51
+ controls.append(gr.Textbox(label="text", value="Suohtas duinna deaivvadit."))
52
+ controls.append(gr.Dropdown(list(languages.keys()), label="language", value="North Sámi"))
53
+ controls.append(gr.Dropdown(list(speakers.keys()), label="speaker", value="ms"))
54
+
55
+ controls.append(gr.Slider(minimum=0.5, maximum=1.5, step=0.05, value=1, label="language weight"))
56
+ controls.append(gr.Slider(minimum=0.5, maximum=1.5, step=0.05, value=1, label="speaker weight"))
57
+
58
+ controls.append(gr.Slider(minimum=0.5, maximum=1.5, step=0.05, value=1.0, label="speech rate"))
59
+ controls.append(gr.Slider(minimum=0., maximum=2, step=0.05, value=1.0, label="post-processing"))
60
+
61
+
62
+
63
+
64
+ tts_gui = gr.Interface(
65
+ fn=speak,
66
+ inputs=controls,
67
+ outputs= gr.Audio(label="output"),
68
+ live=False
69
+
70
+ )
71
+
72
+
73
+ if __name__ == "__main__":
74
+ tts_gui.launch(share=public)