Spaces:
Runtime error
Runtime error
File size: 2,449 Bytes
e568d17 57c6cf0 e568d17 232d8ce e568d17 232d8ce e568d17 232d8ce e568d17 57c6cf0 e568d17 39f9418 |
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import os
import gradio as gr
from scipy.io.wavfile import write
import subprocess
from audio_separator import Separator
def inference(audio):
os.makedirs("out", exist_ok=True)
write('test.wav', audio[0], audio[1])
command = "python3 -m demucs.separate -n htdemucs_6s -d cpu test.wav -o out"
process = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print("Demucs script output:", process.stdout.decode())
os.makedirs("out", exist_ok=True)
write('test.wav', audio[0], audio[1])
result = os.system("python3 -m demucs.separate -n htdemucs_6s -d cpu test.wav -o out")
print(f"Demucs script result: {result}")
# Initialize the Separator with the audio file and model name
separator = Separator("./out/mdx_extra_q/test/vocals.wav", model_name='UVR_MDXNET_KARA_2',use_cuda=False,output_format='mp3')
primary_stem_path, secondary_stem_path = separator.separate()
print(f'Primary stem saved at {primary_stem_path}')
print(f'Secondary stem saved at {secondary_stem_path}')
# Check if files exist before returning
files = ["./out/htdemucs_6s/test/vocals.wav",
secondary_stem_path,
primary_stem_path,
"./out/htdemucs_6s/test/bass.wav",
"./out/htdemucs_6s/test/drums.wav",
"./out/htdemucs_6s/test/other.wav",
"./out/htdemucs_6s/test/piano.wav",
"./out/htdemucs_6s/test/guitar.wav",
]
for file in files:
if not os.path.isfile(file):
print(f"File not found: {file}")
else:
print(f"File exists: {file}")
return files
title = "Source Sepration Demo"
description = "Music Source Separation in the Waveform Domain. To use it, simply upload your audio"
gr.Interface(
inference,
gr.components.Audio(type="numpy", label="Input"),
[gr.components.Audio(type="filepath", label="Full Vocals"),
gr.components.Audio(type="filepath", label="Lead Vocals"),
gr.components.Audio(type="filepath", label="Chorus"),
gr.components.Audio(type="filepath", label="Bass"),
gr.components.Audio(type="filepath", label="Drums"),
gr.components.Audio(type="filepath", label="Other"),
gr.components.Audio(type="filepath", label="Piano"),
gr.components.Audio(type="filepath", label="Guitar"),
],
title=title,
description=description,
).launch(share=True) |