|
import gradio as gr |
|
import os |
|
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 htdemucs_ft test.wav -o out") |
|
return "./out/htdemucs_ft/test/vocals.wav","./out/htdemucs_ft/test/bass.wav",\ |
|
"./out/htdemucs_ft/test/drums.wav","./out/htdemucs_ft/test/other.wav" |
|
|
|
title = "Demucs" |
|
description = "Demucs: Music Source Separation" |
|
article = "<p style='text-align: center'><a href='' target='_blank'></a> | <a href='https://github.com/facebookresearch/demucs' target='_blank'>Github</a></p>" |
|
|
|
examples=[['test.mp3']] |
|
|
|
iface = 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 |
|
) |
|
|
|
iface.launch(enable_queue=True) |
|
|