Anjok07 / ultimatevocalremovergui

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

Is it possible to use UVR via command line? #359

Open czhou opened 1 year ago

czhou commented 1 year ago

like: uvr --model=htdemucs_ft --model=another_model --input=input.mp3 --output-dir=/path/to/ouput

Anjok07 commented 1 year ago

Not yet. It's on my list of things to do. It'll likely be awhile since I've been extremely busy.

techzealot commented 1 year ago

cli will be great!!!

jarredou commented 1 year ago

Yeah, I would also appreciate a command line feature !

derkrasseleo commented 1 year ago

Working on a bash script right now, which downloads any video, splits the stems and transcribes lyrics. As spleeter is not really usable anymore, being able to split stems via cli would be a huge improvement!

crexlight commented 1 year ago

Not yet. It's on my list of things to do. It'll likely be awhile since I've been extremely busy.

Any progress information?

beveradb commented 1 year ago

Hey folks, in case this is helpful to anyone...

I have a simple karaoke creation use case and I already know the MDX models trained by @Anjok07 work for UVR work really well for this (especially UVR_MDXNET_KARA_2), but I wanted to be able to easily run the separation from the command line or from my other python hobby projects.

So, I created this little python package, splitting out the minimal parts from the UVR repo in order to do a simple separation of a WAV file into the primary & secondary stems WAV files.

If your use case is simple or similar to mine (e.g. you don't need any non-MDX models, you don't need more than 2 stems, or secondary processing, advanced settings, etc. - you just need a song to be split into instrumental and vocals - then this may be useful to you!

It can either be installed using pip and run from the CLI, or imported as a python package and used in some other project (example in README).

https://github.com/karaokenerds/python-audio-separator

To use on the CLI, you can simply install it from PyPI:

pip install audio-separator

and run with a single CLI param specifying a WAV file to separate, e.g.

audio-separator input.wav

and it should output 2 WAV files in the current directory after about 20 seconds.

it defaults to using the UVR_MDXNET_KARA_2 model, but you can use any other model just by specifying it by name with the --model_name CLI arg/param.

It downloads both the model metadata and model file itself on demand to /tmp/audio-separator-models, but you can also override this with the --model_file_dir arg/param.

To be clear: what I've created here is really just a refactoring and simplification of one part of Anjok's code - he absolutely deserves credit if this is useful to anyone! (https://www.buymeacoffee.com/uvr5 👀)

and uh, I hope this is ok @Anjok07 😅 - I did consider forking UVR and trying to raise a PR here to add a CLI mode, but I kinda wanted a super minimal thing which just worked without any of the additional dependencies etc. in the full-fat UVR repo.

Oh, and contributions / PRs very much welcome of course!

daswer123 commented 1 year ago

@beveradb Bro thanks, I was just making myself a bot in tg and wanted to add this functionality.

seanghay commented 7 months ago

A simple CLI version of UVR: https://github.com/seanghay/uvr

venkat-sf commented 6 months ago

@Anjok07 Any chance of CLI happening soon?