nomadkaraoke/python-audio-separator

Easy to use stem (e.g. instrumental/vocals) separation from CLI or as a python package, using a variety of amazing pre-trained models (primarily from UVR)

What it solves

Audio Separator is designed to split a single audio file into multiple separate tracks (stems), such as separating vocals from instruments. This is particularly useful for creating karaoke tracks, removing noise, or isolating specific instruments like drums, bass, piano, and guitar.

How it works

The tool leverages pre-trained AI models from the Ultimate Vocal Remover (UVR) ecosystem, including architectures like MDX-Net, VR Arch, Demucs, and MDXC/RoFormer. It supports multiple hardware acceleration paths to speed up processing, including NVIDIA GPUs (CUDA), Apple Silicon (MPS/CoreML), and Windows AMD/Intel GPUs (DirectML), with a fallback to CPU processing.

Who it’s for

It is intended for music producers, karaoke creators, and developers who want to integrate high-quality audio stem separation into their own Python projects or use it as a standalone command-line tool.

Highlights

  • Multi-Model Support: Uses a wide variety of specialized models for different instruments and audio tasks (e.g., denoising, echo removal).
  • Automatic Model Management: Automatically downloads the required model files upon first use.
  • Broad Hardware Acceleration: Optimized for CUDA, Apple Silicon, and DirectML to ensure fast inference across different operating systems.
  • Flexible Integration: Available as both a CLI tool for batch processing and a Python API for custom software development.
  • Format Support: Works with all common audio formats including WAV, MP3, FLAC, and M4A.

Related

  • Project
  • Project
  • Project
  • Project
  • Project