This is a GUI for music separation 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.
Currently I'm training some new great models (like 10-stem model) for this project. However as a student I don't have enough money to rent powerful GPUs. With your help, I can train the new models up to 100x faster. I promise I will use the money only for training models and will release the models to the public for free. Currently I'm encountering model not learning issue, I'm still finding a solution.
If you like this project, please consider donating to me.
Note for macOS users
If the application cannot be launched due to the Mac's security protection feature, try the following:
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)
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), Intel Arc & Iris Xe Graphics and Apple MPS are supported. At least 2GB of private memory is required.
At least Python 3.10 is required. Other requirements please refer to Installing binaries.
Binaries for download are available here.
Please refer to history.md.
If you are using released binaries, please refer to usage.md
This part is written for those who want to run the codes themselves
FFmpeg is a supported audio reader of Demucs-GUI. Demucs-GUI will try to use FFmpeg as long as it is found in the PATH
environment variable. Both FFmpeg and FFprobe are required. You can install it from source, use system package manager, download prebuilt binaries or use conda (recommended).
- Install Python and git. It's recommended to use a virtual environment like conda.
- Clone this repository and switch to this branch. You should run
git submodule update --init --recursive
since 1.1a2 version. - Use pip to install all packages in requirements.txt.
note: on Linux, PyTorch with CUDA is the default.
# For pip
pip install -r requirements_cuda.txt
# Conda is not available as this project has dependencies only on PyPI
- Run
GuiMain.py
and separate your song!
- Install Python and git. It's recommended to use a virtual environment like conda.
- Clone this repository and switch to this branch. You should run
git submodule update --init --recursive
since 1.1a2 version. - Skip this step if you don't need to switch the default version of PyTorch. Install torch with cuda under intructions on pyTorch official website. There is no requirement of cuda version, but the version of torch should be 2.0.x (2.1.0 and higher will cause errors sometimes)
- Use pip 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
- Run
GuiMain.py
and separate your song! If your GPU is not listed in the selectordevice
, Please use CPU instead or open an issue to tell us if you think this is a problem.
- Install Python and git. It's recommended to use a virtual environment like conda.
- Clone this repository and switch to this branch. You should run
git submodule update --init --recursive
since 1.1a2 version. - Skip this step if you don't need to switch the default version of PyTorch. Install torch with cuda under intructions on pyTorch official website. There is no requirement of cuda version, but the version of torch should be 2.0.x (2.1.0 and higher will cause errors sometimes)
- Use pip to install all packages in requirements_rocm.txt.
# For pip
pip install -r requirements_rocm.txt
# Conda is not available as this project has dependencies only on PyPI
- Run
GuiMain.py
and separate your song! If your GPU is not listed in the selectordevice
, Please use CPU instead or open an issue to tell us if you think this is a problem.
Make sure that you have discrete Intel graphics card or an Intel CPU that is 11th generation or newer with integrated graphics card (Because we need its driver)
- Install latest Intel graphics driver (Windows link). This accelerator requires Intel® Arc™ & Iris® Xe Graphics driver (which means, Intel® Arc™ A-Series Graphics, Intel® Iris® Xe Graphics, and Intel® Core™ Ultra Processors with Intel® Arc™ Graphics). Though I would discourage you to use this "accelerator" with integrated graphics card as it may even slower than pure CPU sometimes.
- Install Python and git. It's recommended to use a virtual environment like conda.
- Clone this repository and switch to this branch. You should run
git submodule update --init --recursive
since 1.1a2 version. - Use pip to install all packages in requirements_intel_gpu_mkl.txt.
# For pip
pip install -r requirements_intel_gpu_mkl.txt
# Conda is not available as this project has dependencies only on PyPI
- Run
GuiMain.py
and separate your song! If your GPU is not listed in the selectordevice
, Please use CPU instead or open an issue to tell us if you think this is a problem. - If it could not start up and sometimes raises an error like
OSError: [WinError 126] Error loading "***\torch\lib\backend_with_compiler.dll" or one of its dependencies
, you may have to manually download libuv and put it in the foldertorch\lib
under your python site packages installation path. One easier way to solve this if you are using conda environment is to runconda install conda-forge::libuv
.
This project includes code of Demucs under MIT license.