skillfed

audio-separator

Easy to use audio stem separation, using various models from UVR trained primarily by @Anjok07

audio-separator v0.44.5 363.6K downloads/30d#7,219 on PyPI1,314
Permissive license MIT Active released

What it is and what it does

Audio Separator is a Python package that uses pre-trained deep learning models to decompose audio files into separate stems—such as vocals, drums, bass, and other instruments. It wraps models from Ultimate Vocal Remover (UVR) trained by @Anjok07, making them accessible both as a command-line tool and as a library for batch processing or integration into larger audio workflows. The package supports multiple model architectures (MDX-Net, VR Arch, Demucs, MDXC/RoFormer) and can run on CPU or accelerated hardware (NVIDIA CUDA, Apple Silicon CoreML, or experimental Windows DirectML).

The most common use case is separating a song into instrumental and vocal stems for karaoke production, but the underlying models support more granular decomposition into drums, bass, piano, guitar, and other sources. The package also handles audio preprocessing and format conversion via FFmpeg, making it straightforward to process diverse input files. With 22 runtime dependencies including torch, librosa, and ONNX tooling, it trades installation complexity for a complete, batteries-included audio processing pipeline.

Use it for:

  • Generate karaoke tracks by separating vocals from instrumental stems in music files.
  • Extract individual instrument stems (drums, bass, guitar) from recordings for remixing or music production.
  • Denoise or remove echo/reverb from audio recordings using specialized UVR models.
  • Batch process large music libraries to create stem versions for archival or reuse.
  • Integrate stem separation into a larger audio analysis or music information retrieval pipeline.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Separates audio files into multiple stems (vocals, instruments, drums, bass, etc.) using pre-trained deep learning models, available as a CLI tool or Python library.

Yes, if you need audio stem separation and can accommodate the dependency footprint. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and offers both CLI and library interfaces. Install friction is low despite 22 dependencies. The main gotcha is the separate FFmpeg system requirement and the need to choose an appropriate hardware acceleration path (CUDA, CoreML, CPU, or experimental DirectML). Recommended for music production, karaoke generation, and audio research workflows.

Install

audio-separator on PyPI

pip

pip install audio-separator

uv

uv add audio-separator

poetry

poetry add audio-separator

Installing audio-separator

Before you install

Low friction install with a pure-Python wheel. Requires torch and 22 runtime dependencies including audio libraries (librosa, soundfile, pydub) and ONNX tooling. Active maintenance with recent releases.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license but face no copyleft obligations.

Quickstart

pip install audio-separator

from audio_separator.separator import Separator

separator = Separator(model_name="bs_roformer")
separator.separate("input.wav")

Requires FFmpeg to be installed separately on the system; torch and ONNX runtime must be available; GPU acceleration (CUDA 11.8 or 12.2, CoreML, or DirectML) is optional but recommended for performance.

Verify before relying

  • Whether the package handles all common audio formats (WAV, MP3, FLAC, M4A) as claimed in the description.
  • Performance characteristics and typical separation quality across different model architectures (MDX-Net, VR Arch, Demucs, MDXC).
  • Memory requirements for inference on typical consumer hardware.
  • Compatibility and stability of DirectML acceleration on AMD and Intel GPUs.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 22 — audioop-lts, beartype, diffq, diffq-fixed, einops, julius, librosa, ml_collections, numpy, onnx-weekly, onnx2torch-py313, pydub, pyyaml, requests, resampy, rotary-embedding-torch, samplerate, scipy, six, soundfile, torch, tqdm
Maintenance actively maintained — 25 days since the last release
Last repo commit
First released
Downloads 363,613/month — #7,219 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: audio_separator-0.44.5-py3-none-any.whl

Keywords: audio, sound, karaoke

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Multimedia :: Sound/AudioTopic :: Multimedia :: Sound/Audio :: Mixers

Tags

audio stem separationvocal extraction from audiomusic source separationaudio demixingseparate vocals from instrumentalaudio decompositionkaraoke track generation
audio-processingmachine-learningmusic-production

More Sound/Audio packages