Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
import spaces | |
import os, torch, io | |
os.system('python -m unidic download') | |
# print("Make sure you've downloaded unidic (python -m unidic download) for this WebUI to work.") | |
from melo.api import TTS | |
import tempfile | |
def synthesize(text, speed, progress=gr.Progress()): | |
speed = 1.0 | |
device = 'cuda' if torch.cuda.is_available() else 'cpu' | |
models = { | |
'EN': TTS(language='EN', device=device), | |
} | |
speakers=['EN-US','EN-Default'] | |
bio = io.BytesIO() | |
models['EN'].tts_to_file(text, models['EN'].hps.data.spk2id[speakers[1]], bio, speed=speed, pbar=progress.tqdm, format='wav') | |
return bio.getvalue() | |
with gr.Blocks() as demo: | |
gr.Markdown('# Article to Podcast') | |
with gr.Group(): | |
text = gr.Textbox(label="Article Link") | |
btn = gr.Button('Podcasitfy', variant='primary') | |
aud = gr.Audio(interactive=False) | |
btn.click(synthesize, inputs=[text], outputs=[aud]) | |
demo.queue(api_open=True, default_concurrency_limit=10).launch(show_api=True) | |