File size: 1,296 Bytes
077bae7
 
 
 
 
 
 
 
6023e3d
077bae7
 
 
 
27a2aa5
077bae7
 
 
 
 
dc1a3aa
27a2aa5
077bae7
 
 
 
 
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 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 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 = "<p style='text-align: center'>基于波形域的音乐源分离模型,使用它非常简单,只需上传您的音频文件,或者点击其中一个示例以加载它们。</p>"
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']]
gr.Interface(
    inference, 
    gr.inputs.Audio(type="numpy", label="上传"), 
    [gr.outputs.Audio(type="filepath", label="人声"),gr.outputs.Audio(type="filepath", label="低音部分"),gr.outputs.Audio(type="filepath", label="打击乐器"),gr.outputs.Audio(type="filepath", label="其他")],
    title=title,
    description=description,
    article=article,
    examples=examples
    ).launch(enable_queue=True)