Skip to main content

phantom-audio-separation

Demucs-based stem separation plugin for phantom-audio.

Splits a stereo mix into individual stems (vocals, drums, bass, other) using Meta's Hybrid Transformer Demucs model. This package carries the heavyweight PyTorch + Demucs dependency tree (~2.5 GB) so the core phantom-audio analysis library stays lean and independent of PyTorch's release cadence and platform-support matrix.

Install

# Recommended: via the phantom-audio meta-extra
uv tool install "phantom-audio[separation]" --python 3.13

# Or directly
uv pip install phantom-audio-separation

Usage

Once installed, phantom-audio discovers this plugin automatically through the phantom.separation entry-point group -- no configuration needed. The existing APIs keep working unchanged:

from phantom import separate_stems

result = separate_stems("mix.wav", "./stems")
print(result.stems)  # {"vocals": ".../vocals.wav", "drums": ..., ...}

Or from the CLI / MCP server:

phantom separate mix.wav --output ./stems/

phantom doctor reports phantom-audio-separation as OK only when the plugin is installed and importable.

Note: First use downloads the htdemucs model (~80 MB). Subsequent calls use the cached model.

License

AGPL-3.0-or-later, same as phantom-audio. See the repository LICENSE.

Metadata

Release files for phantom-audio-separation 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for phantom-audio-separation 1.5.0
File Size Uploaded
phantom_audio_separation-1.5.0.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for phantom-audio-separation 1.5.0
File Interpreter ABI Platform
phantom_audio_separation-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / phantom_audio_separation-1.5.0.tar.gz

Download URL phantom_audio_separation-1.5.0.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ad126c348e0f3f787da0fe1ec9b00f750b048f3539cff7c16de5251df282e91b
BLAKE2b-256 checksum
How to use checksums
4bdaa191a4be3babc8935a5d2a51618578b1acb18f08e2fbae1fb111f70ee56f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / phantom_audio_separation-1.5.0-py3-none-any.whl

Download URL phantom_audio_separation-1.5.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
95bdf3ca7426b5e0b072c8cb20428aaa619d5e3036e468e7d0a270e483a89b09
BLAKE2b-256 checksum
How to use checksums
d7ef6348ac5a8d9506036428f8980b778df41c07707be71e2f2e7154b95f1412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page