ilariauvrtest / app.py
Hev832's picture
Create app.py
03466f0 verified
import os
import spaces
import gradio as gr
from scipy.io.wavfile import write
@spaces.GPU()
def inference(audio):
os.makedirs("out", exist_ok=True)
write('test.wav', audio[0], audio[1])
os.system("python3 -m demucs.separate -n htdemucs --two-stems=vocals -d cpu test.wav -o out")
return "./out/htdemucs/test/vocals.wav","./out/htdemucs/test/no_vocals.wav"
title = "# Ilaria UVR πŸ’–"
description = "Drag and drop an audio file to easily separate it! [Join AI Hub Discord Server](https://discord.gg/aihub).</p>"
article = "Made with πŸ’– by Ilaria"
examples = [['test.mp3']]
with gr.Blocks(title="Ilaria UVR πŸ’–") as demo:
gr.Markdown(f"# {title}")
gr.Markdown(description)
with gr.Row():
audio_input = gr.Audio(type="numpy", label="Song")
with gr.Row():
vocals_output = gr.Audio(type="filepath", label="Vocals")
with gr.Row():
instrumentals_output = gr.Audio(type="filepath", label="Instrumentals")
with gr.Row():
gr.Examples(examples, inputs=audio_input)
with gr.Row():
btn = gr.Button("Separate Vocals")
with gr.Row():
gr.Markdown(article)
btn.click(
inference,
inputs=[
audio_input,
],
outputs=[
vocals_output,
instrumentals_output,
],
)
demo.launch()