Anjok07 / ultimatevocalremovergui

GUI for a Vocal Remover that uses Deep Neural Networks.
MIT License
17.52k stars 1.31k forks source link

Is there an API available for this program? #1133

Open ibnYusrat opened 7 months ago

ibnYusrat commented 7 months ago

Hi Guys, I have a strong feeling that I am asking a very silly question because the repo seems to be handling only the GUI part of the software and seems like there must be another repo that does the under-the-hood stuff, but if someone could please guide me in the right direction.

I want to know if its possible to run this program as a service where I could send it the inputs programmatically and receive the output files as a response.

Does such a thing exist for this. Any help in this regard would be highly appreciated.

jocastrocUnal commented 7 months ago

I like that to :)

MohannadEhabBarakat commented 6 months ago

I'm working on one here Now it supports 3 models only.

Planned features:

I plan to release those features around mid of April. I'll keep this list updated

terryops commented 4 months ago

I'm working on one here Now it supports 3 models only.

Planned features:

  • [ ] Better docs
  • [ ] Add rest of UVR_GUI models
  • [ ] Auto testing
  • [ ] Audio tools
  • [ ] Pipelines to cascade models
  • [ ] Ensembles to ensemble pipelines or models

I plan to release those features around mid of April. I'll keep this list updated

Hello! Are you planning on completing this project? I can't see anything working in your repository.

MohannadEhabBarakat commented 4 months ago

I'm working on one here Now it supports 3 models only. Planned features:

  • [ ] Better docs
  • [ ] Add rest of UVR_GUI models
  • [ ] Auto testing
  • [ ] Audio tools
  • [ ] Pipelines to cascade models
  • [ ] Ensembles to ensemble pipelines or models

I plan to release those features around mid of April. I'll keep this list updated

Hello! Are you planning on completing this project? I can't see anything working in your repository.

You can use the models like this

import uvr
from uvr import models
from uvr.utils.get_models import download_all_models
import torch
import audiofile
import json

models_json = json.load(open("/content/ultimatevocalremover_api/src/models_dir/models.json", "r"))
download_all_models(models_json)
name = {name_of_your_audio}
device = "cuda"

demucs = models.Demucs(name="hdemucs_mmi", other_metadata={"segment":2, "split":True}, device=device, logger=None)

# Separating an audio file
res = demucs(name)
seperted_audio = res["separated"]
vocals = seperted_audio["vocals"]
base = seperted_audio["bass"]
drums = seperted_audio["drums"]
other = seperted_audio["other"]

I tested those on three models only but people from the committee tested multiple models and they worked fine (most of the time). I'm planning to test more models and add more functionalities (hopefully soon)

3megabytesofhotram commented 2 months ago

I've been using this https://pypi.org/project/audio-separator/