Spaces:
Runtime error
Runtime error
File size: 1,766 Bytes
2595db2 7b26bef 720b94c 7b26bef 2595db2 4c3d27d 7b26bef 4c3d27d 7b26bef 4c3d27d 7b26bef 4c3d27d 7b26bef 4c3d27d 720b94c 4c3d27d 7b26bef 720b94c 4c3d27d 720b94c 4c3d27d 720b94c 4c3d27d 91ec1ca 4c3d27d ce3b6b4 91ec1ca 4c3d27d 2595db2 4c3d27d |
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 |
import gradio as gr
import os
import random
import subprocess
def separate_audio(audio_path, stem_count):
print(f"{audio_path=}")
head, tail = os.path.split(audio_path)
gradio_temp_path = head
audio_filename = tail.split('.')[0]
print(f"{gradio_temp_path=}")
print(f"{audio_filename=}")
print(f"{stem_count=}")
command = f"spleeter separate -p spleeter:{stem_count}stems {audio_path}"
command = command.split()
print(f"{command=}")
result = subprocess.run(command)
print(result)
randomnumber = str(random.randint(111111111, 999999999))
paths = []
if stem_count == 2:
paths.append(('Accompaniment', f"{gradio_temp_path}/separated_audio/{randomnumber}/accompaniment.wav"))
paths.append(('Vocals', f"{gradio_temp_path}/separated_audio/{randomnumber}/vocals.wav"))
elif stem_count == 4 or stem_count == 5:
paths.append(('Vocals', f"{gradio_temp_path}/separated_audio/{randomnumber}/vocals.wav"))
paths.append(('Drums', f"{gradio_temp_path}/separated_audio/{randomnumber}/drums.wav"))
paths.append(('Bass', f"{gradio_temp_path}/separated_audio/{randomnumber}/bass.wav"))
paths.append(('Other', f"{gradio_temp_path}/separated_audio/{randomnumber}/other.wav"))
if stem_count == 5:
paths.append(('Piano', f"{gradio_temp_path}/separated_audio/{randomnumber}/piano.wav"))
audio_outputs = []
for label, filepath in paths:
audio_outputs.append(gr.outputs.Audio(filepath, label=label))
return audio_outputs
iface = gr.Interface(
fn=separate_audio,
inputs=[gr.Audio(type="filepath"), gr.Radio([2, 4, 5], label="Number of Stems")],
outputs="text", # Changed to "text" temporarily for testing
)
iface.launch()
|