Favicon of python-audio-separator

python-audio-separator

Local AI audio separation splits vocals and instruments with UVR models, a Python API, batch processing and CPU or GPU support.

python-audio-separator splits recordings into separate vocal and instrumental tracks on your own hardware. It's a Python package for karaoke creators and developers who want to process audio in scripts or applications.

  • Vocals and instruments: Extract vocals, instrumentals, drums, bass, piano or guitar, depending on the model; some models also remove noise, echo or reverb.
  • Model choice: Use MDX-Net, VR Arch, Demucs and MDXC models from Ultimate Vocal Remover, with stem-specific separation scores available for some models.
  • Combined results: Combine outputs from multiple models, with presets aimed at reducing vocal bleed, preserving instruments or balancing vocal quality.
  • Batch processing and integration: Process collections through the command-line interface or add separation to Python applications, with support for WAV, MP3, FLAC and M4A files.
  • Long recordings: Chunked processing lowers peak memory use by separating shorter sections and joining the results afterward.

The package is open source under the MIT license and accepts pretrained models in PTH or ONNX format. It supports CPU processing, NVIDIA GPUs through CUDA, and Apple Silicon acceleration through CoreML and MPS on macOS Sonoma or later.

Similar to python-audio-separator