Spaces:
Sleeping
Sleeping
app.py
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# print('= ='*8)
|
2 |
+
# print('[io] :: coqui-tts')
|
3 |
+
# !pip install -q coqui-tts
|
4 |
+
# print('= ='*8)
|
5 |
+
# print('[io] :: gradio')
|
6 |
+
# !pip install -q gradio
|
7 |
+
# print('= ='*8)
|
8 |
+
|
9 |
+
import torch
|
10 |
+
import gradio as gr
|
11 |
+
from TTS.api import TTS
|
12 |
+
|
13 |
+
gcPU = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
14 |
+
|
15 |
+
def func__vcTTS(*ip):
|
16 |
+
try:
|
17 |
+
vc_tts = TTS(model_name=ip[0], progress_bar=True).to(gcPU)
|
18 |
+
op = vc_tts.tts(text=ip[1],speaker_wav=ip[2],language='en')
|
19 |
+
return 'vcTTS',op
|
20 |
+
except Exception as expn:
|
21 |
+
return expn,gr.Audio()
|
22 |
+
|
23 |
+
io = gr.Blocks()
|
24 |
+
with gr.Blocks() as io:
|
25 |
+
ip0 = gr.Dropdown(choices=sorted(TTS.list_models()), label="TTS model",value='tts_models/multilingual/multi-dataset/xtts_v2')
|
26 |
+
gr.Markdown('<center>[ip] :: text</center>')
|
27 |
+
ip1 = gr.Textbox()
|
28 |
+
gr.Markdown('<center>[ip] :: audio</center>')
|
29 |
+
ip2 = gr.Audio(type='filepath')
|
30 |
+
gr.Markdown("<hr>")
|
31 |
+
p = gr.Button('vcTTS') # voice clone - TTS
|
32 |
+
gr.Markdown("<hr>")
|
33 |
+
gr.Markdown('<center>[op] :: text-audio</center>')
|
34 |
+
op0 = gr.Textbox()
|
35 |
+
op1 = gr.Audio()
|
36 |
+
|
37 |
+
p.click(func__vcTTS, inputs=[ip0,ip1,ip2], outputs=[op0,op1])
|
38 |
+
|
39 |
+
io.launch(share=False,debug=False)
|