ZFTurbo/Music-Source-Separation-Training

Repository for training models for music source separation.

What it solves

This project provides a universal training framework for music source separation—the process of isolating individual instruments or vocals from a mixed audio track. It simplifies the process of experimenting with different model architectures to find the best way to separate audio sources.

How it works

The repository contains a unified codebase that allows users to train and run inference on a wide variety of state-of-the-art audio separation models. Users can select a specific model architecture (such as BS-RoFormer, Demucs4HT, or SCNet) via command-line arguments, provide a configuration file, and start the training process using either a single GPU or a multi-GPU setup (DDP).

Who it’s for

It is designed for researchers and developers working on audio signal processing and music source separation who need a flexible, easy-to-modify environment for training and testing various model architectures.

Highlights

  • Extensive Model Support: Includes a large library of architectures including RoFormer, Demucs, SCNet, and Apollo.
  • Flexible Training: Supports both single-GPU and multi-GPU (DDP) training, as well as LoRA training for efficient fine-tuning.
  • Integrated Tooling: Provides scripts for model validation, result ensembling to improve quality, and a graphical user interface (GUI) for those who prefer not to use the command line.
  • Broad Encoder Access: Integrates with the timm module and segmentation_models.pytorch to provide access to hundreds of different encoders.

Related

  • Project
  • Project
  • Project
  • Project
  • Project