Spaces:
Running
on
Zero
Running
on
Zero
| import spaces | |
| import gradio as gr | |
| from audiosr import super_resolution, build_model | |
| import torch | |
| import gc # free up memory | |
| def inference(audio_file, model_name, guidance_scale, ddim_steps, seed): | |
| audiosr = build_model(model_name=model_name) | |
| if torch.cuda.is_available(): | |
| torch.cuda.empty_cache() # empty cuda cache | |
| gc.collect() | |
| # set random seed when seed input value is 0 | |
| if seed == 0: | |
| import random | |
| seed = random.randint(1, 2**32-1) | |
| waveform = super_resolution( | |
| audiosr, | |
| audio_file, | |
| seed, | |
| guidance_scale=guidance_scale, | |
| ddim_steps=ddim_steps | |
| ) | |
| if torch.cuda.is_available(): | |
| torch.cuda.empty_cache() | |
| gc.collect() | |
| return (48000, waveform) | |
| iface = gr.Interface( | |
| fn=inference, | |
| inputs=[ | |
| gr.Audio(type="filepath", label="Input Audio"), | |
| gr.Dropdown(["basic", "speech"], value="basic", label="Model"), | |
| gr.Slider(1, 10, value=3.5, step=0.1, label="Guidance Scale", info="Guidance scale (Large => better quality and relavancy to text; Small => better diversity)"), | |
| gr.Slider(1, 100, value=50, step=1, label="DDIM Steps", info="The sampling step for DDIM"), | |
| gr.Number(value=42, precision=0, label="Seed", info="Changing this value (any integer number) will lead to a different generation result, put 0 for a random one.") | |
| ], | |
| outputs=gr.Audio(type="numpy", label="Output Audio"), | |
| title="AudioSR", | |
| description="Audio Super Resolution with AudioSR" | |
| ) | |
| iface.launch(share=False) | |