Spaces:
Runtime error
Runtime error
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 mdx_extra_q -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 mdx_extra_q -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/mdx_extra_q/test/vocals.wav", | |
secondary_stem_path, | |
primary_stem_path, | |
"./out/mdx_extra_q/test/bass.wav", | |
"./out/mdx_extra_q/test/drums.wav", | |
"./out/mdx_extra_q/test/other.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"), | |
], | |
title=title, | |
description=description, | |
).launch() |