|
import os |
|
import gradio as gr |
|
from scipy.io.wavfile import write |
|
import subprocess |
|
|
|
def inference(audio): |
|
os.makedirs("out", exist_ok=True) |
|
write('test.wav', audio[0], audio[1]) |
|
|
|
command = "python3 -m demucs.separate -n htdemucs_ft -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_ft -d cpu test.wav -o out") |
|
print(f"Demucs script result: {result}") |
|
|
|
|
|
files = ["./out/htdemucs_ft/test/vocals.wav", |
|
"./out/htdemucs_ft/test/bass.wav", |
|
"./out/htdemucs_ft/test/drums.wav", |
|
"./out/htdemucs_ft/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 = "Demucs Very Slow" |
|
description = "" |
|
article = "<p style='text-align: center'><a href='' target='_blank'>Music Separation Very Slow</a> <a href='' target='_blank'></a></p>" |
|
|
|
examples=[['test.mp3']] |
|
gr.Interface( |
|
inference, |
|
gr.components.Audio(type="numpy", label="Input"), |
|
[gr.components.Audio(type="filepath", label="Vocals"), |
|
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, |
|
article=article |
|
).launch(enable_queue=True) |