Spaces:
Sleeping
Sleeping
| 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[language].tts_to_file(text, models['EN'].hps.data.spk2id[speakers[0]], 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) | |