import os import gradio as gr from scipy.io.wavfile import write def inference(audio): os.makedirs("out", exist_ok=True) write('test.wav', audio[0], audio[1]) os.system("python3 -m demucs.separate -n mdx_extra_q -d cpu test.wav -o out") return "./out/mdx_extra_q/test/vocals.wav","./out/mdx_extra_q/test/bass.wav",\ "./out/mdx_extra_q/test/drums.wav","./out/mdx_extra_q/test/other.wav" title = "Demucs" description = "Gradio demo for Demucs: Music Source Separation in the Waveform Domain. To use it, simply upload your audio, or click one of the examples to load them. Read more at the links below." article = "
Music Source Separation in the Waveform Domain | Github Repo
" examples=[['test.mp3']] gr.Interface( inference, gr.inputs.Audio(type="numpy", label="Input"), [gr.outputs.Audio(type="file", label="Vocals"),gr.outputs.Audio(type="file", label="Bass"),gr.outputs.Audio(type="file", label="Drums"),gr.outputs.Audio(type="file", label="Other")], title=title, description=description, article=article, examples=examples ).launch(enable_queue=True)