File size: 1,256 Bytes
ba6b59e
2dce12e
d341a19
2dce12e
 
9a141af
45b9477
d341a19
0be0c2f
 
2dce12e
0be0c2f
 
 
2dce12e
b9595a2
2dce12e
 
d341a19
0be0c2f
2dce12e
 
0be0c2f
 
 
2dce12e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 demucs48_hq -d cpu test.wav -o out")
  return "./out/demucs48_hq/test/vocals.wav","./out/demucs48_hq/test/bass.wav",
  "./out/demucs48_hq/test/drums.wav","./out/demucs48_hq/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'>Music Source Separation in the Waveform Domain</a> | <a href='https://github.com/facebookresearch/demucs'>Github Repo</a></p>"

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,
    enable_queue=True
    ).launch(debug=True)