dmft / app.py
Rozinamax's picture
Upload app.py
0b93855
raw
history blame
1.69 kB
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}")
# Check if files exist before returning
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)