CarlGao4 / Demucs-Gui

A GUI and CUDA memory optimizing project based on demucs

Home Page:https://carlgao4.github.io/demucs-gui

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Icon Demucs GUI

GitHub release (latest by date including pre-releases) GitHub all releases GitHub platform

This project is temporarily suspended, development will be resumed when the developers are available

This is a GUI for python project demucs with optimized memory usage in CUDA. The project aims to let users without any coding experience separate tracks without difficulty. If you have any question about usage or the project, please open an issue to tell us. Since the original project Demucs used scientific library torch, the packed binaries with environment is very large, and we will only pack binaries for formal releases.

Note for macOS users

Because of the limitation of Apple, Demucs-GUI need some extra configuration to work properly.

First, we should allow running apps from all of sources. Execute following command in your Terminal (if you do not know where your Terminal.app is, please search your dashboard):

sudo spctl --master-disable

You may need to input your password.

Then, we need to bypass the notarization (replace the path below to where your Demucs-GUI.app is if you did not install to the default location):

sudo xattr -rd com.apple.quarantine /Applications/Demucs-GUI.app

System requirements

Installing binaries

System version

For Windows: At least Windows 8

For Mac: At least macOS 10.15

For Linux: We currently have no intention to pack binaries for linux.

Hardware

Memory: At least 6GB memory, but 8GB swap may be required. The longer the track you want to separate, the more memory will be required.

GPU: Only NVIDIA GPUs are supported. At least 3GB of private memory (not shared memory) is required.

Running the codes yourself

At least Python 3.9 is required. Other requirements please refer to Installing binaries.

Downloads

Binaries for download are available here.

Update History

(For more please see history.md) Versions in italic means that this is a beta version, which does not provide packed binaries.

Usage

If you are using released binaries, please skip this part

This part is written for beta versions

CPU only

  1. Run pip, conda or other package managers to install all packages in requirements.txt. If you are using 0.1a1, please manually add psutil>=5.7.0 into requirements.txt, please add it manually before installing dependencies, because I forgot to add it.
# For pip
pip install -r requirements.txt
# For conda
conda install --yes --file requirements.txt
  1. Download pretrained models and extract it to pretrained folder under GUI folder.
  2. Run GuiMain.py and separate your song!

CUDA acceleration

  1. Install torch with cuda under intructions on pyTorch official website
  2. Run pip, conda or other package managers to install all packages in requirements_cuda.txt. If you are using 0.1a1, please manually add psutil>=5.7.0 into requirements_cuda.txt, please add it manually before installing dependencies, because I forgot to add it.
# For pip
pip install -r requirements_cuda.txt
# For conda
conda install --yes --file requirements_cuda.txt
  1. Download pretrained models and extract it to pretrained folder under GUI folder.
  2. Run GuiMain.py and separate your song! If your GPU is not listed in the device column, or is labeled "not recommended", this means your GPU is not available or the VRAM is not enough. Please use CPU instead or open an issue to tell us if you think this is a problem.

Other steps for Linux users

soundfile uses libsndfile but the wheels for Linux does not include it. Please use your package manager to install it manually.

Acknowledgements

This project includes code of Demucs under MIT license.

About

A GUI and CUDA memory optimizing project based on demucs

https://carlgao4.github.io/demucs-gui

License:GNU General Public License v3.0


Languages

Language:Python 100.0%