Skip to content

A GUI and CUDA memory optimizing project based on demucs

License

Notifications You must be signed in to change notification settings

kyab/Demucs-Gui

 
 

Repository files navigation

Icon Demucs GUI

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

Everybody is welcomed to help out with the documentation. For more details, please refer to #23

This is a GUI for python project demucs.

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: Any system that can install and run python 3.11 (Because I'll pack the binaries using python 3.11)

Hardware

Memory: About at least 8GB of total memory (physical and swap) would be required. The longer the track you want to separate, the more memory will be required.

GPU: Only NVIDIA GPUs (whose compute capability should be at least 3.5) and Apple MPS are supported. At least 2GB 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

Please refer to history.md.

Usage

If you are using released binaries, please refer to usage.md

This part is written for beta versions

CPU only or Apple MPS

  1. Install Python (and git if you'd like to clone this repository) to your system.
  2. Download zip of this branch and extract it to a folder, or clone this repository and switch to this branch.
  3. Run pip, conda or other package managers to install all packages in requirements.txt.
# For pip
pip install -r requirements.txt
# For conda
conda install --yes --file requirements.txt
  1. Run GuiMain.py and separate your song!

CUDA acceleration

  1. Install Python (and git if you'd like to clone this repository) to your system.
  2. Download zip of this branch and extract it to a folder, or clone this repository and switch to this branch.
  3. Install torch with cuda under intructions on pyTorch official website. There is no requirement of cuda version, but the version of torch should be at least 2.0.0.
  4. Run pip, conda or other package managers to install all packages in requirements_cuda.txt.
# For pip
pip install -r requirements_cuda.txt
# Conda is not available as this project has dependencies only on PyPI
  1. 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.

Acknowledgements

This project includes code of Demucs under MIT license.

About

A GUI and CUDA memory optimizing project based on demucs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%