from spleeter.separator import Separator import gradio as gr import shutil def spleeter(aud, instrument): separator = Separator('spleeter:2stems') try: shutil.rmtree("output") # return f"./output/audio_example/{instrument}.wav", f"./output/audio_example/{instrument}.wav" except FileNotFoundError: pass separator.separate_to_file(aud.name, "output/", filename_format="audio_example/{instrument}.wav") return f"./output/audio_example/{instrument}.wav", f"./output/audio_example/{instrument}.wav" inputs = [ gr.inputs.Audio(label="Input Audio File", type="file"), gr.inputs.Radio(label="Output", choices=["accompaniment", "vocals"], type="value") ] outputs = [ gr.outputs.Audio(label="Output Audio", type="file"), gr.outputs.File(label="Output File") ] title = "Music Spleeter" description = "Clearing a musical composition of the performer's voice is a common task. It is solved well, for example, by professional audio file editing programs. AI algorithms have also been gaining ground recently." article = "

In this case we use Deezer's Spleeter with ready pretrained models. It can leave as an output both just the music and just the performer's voice.

Sources: Spleeter: a Fast and Efficient Music Source Separation Tool with Pre-Trained Models

StarStat Music: Youtubers Net Worth in category Music

" examples = [ ["audio_example.mp3", "vocals"] ] gr.Interface(spleeter, inputs, outputs, title=title, description=description, article=article, examples=examples).launch()