import os import spaces import gradio as gr from scipy.io.wavfile import write @spaces.GPU() def inference(audio): os.makedirs("out", exist_ok=True) write('test.wav', audio[0], audio[1]) os.system("python3 -m demucs.separate -n htdemucs --two-stems=vocals -d cpu test.wav -o out") return "./out/htdemucs/test/vocals.wav","./out/htdemucs/test/no_vocals.wav" title = "# Ilaria UVR 💖" description = "Drag and drop an audio file to easily separate it! [Join AI Hub Discord Server](https://discord.gg/aihub).

" article = "Made with 💖 by Ilaria" examples = [['test.mp3']] with gr.Blocks(title="Ilaria UVR 💖") as demo: gr.Markdown(f"# {title}") gr.Markdown(description) with gr.Row(): audio_input = gr.Audio(type="numpy", label="Song") with gr.Row(): vocals_output = gr.Audio(type="filepath", label="Vocals") with gr.Row(): instrumentals_output = gr.Audio(type="filepath", label="Instrumentals") with gr.Row(): gr.Examples(examples, inputs=audio_input) with gr.Row(): btn = gr.Button("Separate Vocals") with gr.Row(): gr.Markdown(article) btn.click( inference, inputs=[ audio_input, ], outputs=[ vocals_output, instrumentals_output, ], ) demo.launch()