Spaces:
Runtime error
Runtime error
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 = "<p style='text-align: center'><a href='https://arxiv.org/abs/1911.13254' target='_blank'>Music Source Separation in the Waveform Domain</a> | <a href='https://github.com/facebookresearch/demucs' target='_blank'>Github Repo</a></p>" | |
examples = [['test.mp3']] | |
with gr.Blocks() as demo: | |
gr.Markdown(f"## {title}") | |
gr.Markdown(description) | |
gr.Markdown(article) | |
with gr.Row(): | |
with gr.Column(): | |
audio_input = gr.Audio(label="Input Audio", type="numpy") | |
example_input = gr.Examples(examples=examples, inputs=audio_input) | |
submit_btn = gr.Button("Separate") | |
with gr.Column(): | |
vocals_output = gr.Audio(label="Vocals") | |
bass_output = gr.Audio(label="Bass") | |
drums_output = gr.Audio(label="Drums") | |
other_output = gr.Audio(label="Other") | |
submit_btn.click(inference, inputs=audio_input, outputs=[vocals_output, bass_output, drums_output, other_output]) | |
demo.launch() | |