Right-click an audio clip in Ableton Live → Separate Stems with MVSEP → pick any MVSEP model → the stems come back as new, group-styled tracks. It mirrors Live's built-in Stem Separation workflow, but exposes MVSEP's model catalog (100+ models) instead of one fixed algorithm.
- Separate an Arrangement audio clip or a Session clip slot into stems.
- Smart model picker: search 100+ MVSEP models by name or category, sorted by popularity, with community ★ ratings and each model's variant options.
- Premium-aware: live credit-cost estimates, gating for premium-only models and output formats, an in-app premium-usage toggle, and pre-upload checks against your plan's limits.
- Stems land as new adjacent tracks named
<clip> - <stem>, each in its own track color for easy visual separation, with the original muted (press ⌘G to fold them into a group). - Cancellable progress; your API token and last-used model are remembered.
When you run a separation, AbleVSEP captures the clip's audio, sends it to MVSEP for separation, and brings the stems back into your set. For an Arrangement clip it renders exactly what plays (pre-FX, trimmed, and warped); for a Session clip it reads the source file directly. The audio is uploaded with the model you chose, and AbleVSEP polls the job until it finishes, showing progress you can cancel at any point. When the stems are ready, it downloads them and places each on its own new track beside the original.
All MVSEP-facing logic lives in pure, unit-tested modules; the Ableton SDK is touched only at a thin orchestration edge.
To install and use AbleVSEP you need only Ableton Live Suite 12.4.5+ with Extensions
(Extensions are a Suite-only feature, currently in the Live 12 beta; tested on 12.4.5b3) and
an MVSEP API token (get one). The .ablx is self-contained
and runs inside Live's Extension Host, so you do not need Node.js or the SDK installed to
use it. Separations run on your MVSEP account, and premium models spend your MVSEP credits.
Download the latest .ablx from the
Releases page (or build
one, see Build from source), then:
- In Ableton Live, open Preferences → Extensions (with Developer Mode off, so Live manages the extension).
- Drag the
.ablxonto that page.
- Right-click an audio clip (Arrangement) or a Session clip slot → Separate Stems with MVSEP.
- Search/select a model, set its options + output format, paste your MVSEP API token (optionally "remember as default"), click Separate.
- Stems arrive as new tracks named
<clip> - <stem>, each in its own track color, with the original muted. - To group them: select the new tracks and press ⌘G (Live's extension API can't create a group track programmatically).
AbleVSEP talks only to MVSEP. Your API token is stored locally in the extension's private storage folder (managed by Live's Extension Host) and is sent only to MVSEP's API over HTTPS to run separations. AbleVSEP has no analytics or telemetry and makes no other network calls. To replace a saved token, click Replace in the picker; to revoke it entirely, regenerate it on MVSEP.
Building from source needs Node.js ≥ 24 and the Ableton Extensions SDK (beta), which is distributed by Ableton, not published to npm, and not bundled here. Obtain the SDK, then:
- Download and unpack the Extensions SDK (e.g.
extensions-sdk-1.0.0-beta.0). - Tell the project where it is and install:
cp .env.example .env # set ABLETON_SDK_PATH to your unpacked SDK, e.g. /path/to/extensions-sdk-1.0.0-beta.0 npm run setupnpm run setupcopies the SDK tarballs into./vendor/(git-ignored) and installs all dependencies. Set the path once and you never editpackage.json.
The fastest loop uses Live's Developer Mode and an externally-launched Extension Host:
- In your
.env, setEXTENSION_HOST_PATHto your Live app, pointed at the Beta for live iteration, e.g./Applications/Ableton Live 12 Beta.app. - In Live: Preferences → Extensions → enable Developer Mode (Live releases its managed host so the externally-launched one can connect).
- Build and launch the host (leave it running):
npm start
npm startbuilds in dev mode and runsextensions-cli run, pointing storage/temp at./.dev/(git-ignored) so your token and catalog cache persist between runs. - Right-click an audio clip → Separate Stems with MVSEP.
npm run build # production bundle → dist/extension.js
npm run package # build + package the installable → release/<name>-<version>.ablx
npm run package -- --reveal # same, then reveal the .ablx in Finder (macOS)npm run package writes the installable to release/ (git-ignored), clearing any older
.ablx first so there's only ever the current one. Install it by dropping the .ablx onto
Live's Extensions preferences (with Developer Mode off).
npm test # unit tests (Vitest) for the SDK-independent modules
npm run typecheck # type-check the extensionMIT. See LICENSE.
Disclaimer. AbleVSEP is an independent, unofficial client of MVSEP's public API, not an Ableton or MVSEP product. "Ableton" and "MVSEP" are trademarks of their respective owners. You bring your own MVSEP account and API token, and separations consume your MVSEP credits.
Disclosure. MVSEP's creator provided complimentary premium credits to support AbleVSEP's development, with no conditions attached. The project is built and maintained independently.


