Open-source project
pymss-project/pymss-studio avatar
pymss-project/pymss-studio

Pymss Studio: a local desktop workspace for music source separation

Cross-platform desktop GUI for music source separation

604 stars37 forksPythonAGPL-3.0

At a glance

What is it?
Pymss Studio is a Tauri 2 desktop application that puts the pymss separation engine behind a graphical interface, adding a model library, ensembles, a task queue, a node based workflow editor and a multitrack stem editor. Separation and editing run locally, and the project ships platform specific packages for Windows, macOS on Apple Silicon and CPU inference.
Who is it for?
Adopt Pymss Studio if you separate vocals and instrument stems locally, want to audition and edit them in one place, and need to run the same separation on a batch of files without scripting. Skip it if you need a stable release, since the versions are still in the 0.0.x range and the README warns that current releases include prereleases, and skip it on Intel Macs or on Linux, where there is no dedicated release package.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A GUI wrapped around a separation engine

Pymss Studio brings the pymss music source-separation engine to a desktop workspace, and the division of labour is stated plainly in the README. The engine lives in a separate project, linked from the header as pymss core, and the studio is the application around it. The workflow it supports is described as download models, import audio, run separation jobs, audition results, and edit stems in one application. The stated uses are vocal and instrumental extraction, instrument stems, audio cleanup, batch processing, speech transcription, and vocal-to-MIDI conversion. The privacy line is the one to note, and it is unqualified: separation and editing run locally, and preparing runtimes, models, or optional components requires a network connection, after which downloaded models can process local audio. For a tool that ingests unreleased recordings, that distinction matters, since the alternative is uploading a demo to someone else's server. The project is built with Tauri 2, Vue 3 and TypeScript 5, and it is licensed AGPL-3.0, which for a distributed desktop application is a choice worth examining if you plan to modify it, since the copyleft obligation follows the work you hand to users. The repository is not archived, the last push was on 2026-10-19, and the recent releases v0.0.21, v0.0.20 and v0.0.19 show a project moving quickly but still pre-1.0.

The feature table reads like a studio's own inventory

The features are presented as an area and capability table, and the eleven areas tell you what kind of tool this is. Source separation covers importing audio, video or folders, processing batches, and choosing model outputs, device, format, folder layout and naming rules. Model ensembles let you select multiple models and output stems, configure an ensemble algorithm and weights, and save the combined result. The model library is searchable by name, purpose, architecture or source, with card and list views, favorites, notes, resumable downloads, storage management and default inference parameters. Custom models let you import weights and configurations for supported architectures and use them in the workflow. Workflows come in two forms, a simple editor for arranging separation, audio processing, ensemble and save steps, and an advanced node editor for flexible connections and parameters with import and export. The task queue tracks queued and running jobs with progress and logs, and lets you cancel or retry. Results and projects give you a view of the output stems and the processing parameters, with auditioning and a way to open the output folder. That combination is closer to a small DAW bolted onto a separation engine than to a single-purpose converter, and that is where the value is for anyone doing this regularly.

The stem editor is a real multitrack editor

The stem editor entry is the longest in the table and it lists multitrack waveforms, clip editing, transport, volume and pan, mute and solo, fades, track effects, recording, project persistence, asset relinking, and mix export. That is a feature set you would recognise from a digital audio workstation, which tells you the intended workflow: separate once, then treat the stems as production audio rather than as final output. The details that matter in practice are fades, track effects and asset relinking. Fades are what make a separated stem sit in a mix without a click, track effects are what let you do a mixdown without exporting to another application, and asset relinking is what saves a project when the source files move, which is the failure mode that makes a project directory unusable otherwise. The audio tools row adds a second layer of utilities: format conversion, audio inspection, SDR and SI-SDR measurement, ASR, vocal-to-MIDI conversion, silence slicing and audio merging. The SDR and SI-SDR measurements are the ones a technical user will care about, since they are how you quantify the separation quality rather than judge it by ear, and having them next to the audition controls means the comparison is fast. The README also notes that available stems, parameters and devices vary by model and runtime, and that acceleration depends on the model, hardware, drivers and task configuration, which is an honest disclaimer of what you can expect.

Windows, Apple Silicon and the gaps

The platform table is the part to read before you download anything, because the coverage is uneven. On Windows x64 with an NVIDIA GPU the package is windows-x64-cuda, and CUDA requires a compatible GPU and driver. For CPU inference on Windows x64 the package is windows-x64-cpu, described as a starting point when GPU compatibility is uncertain. For a supported AMD GPU it is windows-x64-rocm, with a note to check the selected release's GPU and driver requirements because ROCm has a narrower support range. The windows-x64-online package is the smaller initial download, since it includes the bootstrap runtime and the required inference environment is installed after first launch. On macOS 14 and later on Apple Silicon the package is macos-arm64-mlx, which uses MLX, and you download the DMG and drag the application into /Applications. Linux has no release package at all, because the current release workflow does not produce Linux installers, so you build from source. Intel Mac has no dedicated release package either, since the existing MLX package targets Apple Silicon, and a source build still requires checking inference dependency compatibility. That last row is a real limitation for anyone on a Mac that is not Apple silicon, and the mitigations are a source build and uncertainty.

Runtimes are managed in the app, and only on Windows

The application ships the Python it needs, which removes the most common reason a desktop Python tool fails to start on a user's machine. Release packages include Python, so end users do not need to install system Python separately, and the macOS DMG includes the fixed Python, PyTorch, MLX and bundled core packages, with first launch not downloading another Python environment. You inspect and update the active runtime through Settings, Runtime, and you can install, switch, reinstall or delete an entire environment from inside the application, but only on Windows. Elsewhere the runtime is fixed by the package you downloaded, which is a reasonable trade for simplicity on the platforms where the package already bundles everything. The runtimes and settings row covers more ground than the runtime picker alone, listing platform-appropriate CPU, CUDA, ROCm and MLX environments, and settings for download sources, proxies, concurrency, paths, language, zoom and themes. The proxy setting is one to note, because the model download step is the only part of the application that needs the network, and a user behind a corporate proxy needs that path to work before anything else does. The README also documents a fallback download mirror linked from the release notes for when GitHub is inaccessible, which is a practical detail for users in restricted networks.

The web search providers, the CORS proxy and the file handling

Two smaller systems are worth understanding because they shape what you can do. The first is web search and fetch, configured in Settings with its own provider credentials. The supported providers are DuckDuckGo for search, which is free but will rate limit easily, Brave for search, Serper for search, and Exa for search and fetch. The README's practical note is that more often than not basic fetch is good enough, but it requires a CORS proxy to be configured, which is the usual consequence of fetching arbitrary pages from a browser context. The second is the file handling, and the macOS quarantine step is the one users hit. If quarantine attributes prevent an application from a trusted source from opening, the documented fix applies to the installed application.

bash
xattr -cr '/Applications/Pymss Studio.app'

That clears the attribute recursively so the application can launch, and the same class of problem is why the online package exists as a smaller download with the inference environment installed after first launch, since a smaller download is less likely to be blocked or truncated by a network policy. The file types table also covers the Windows side, with a setup executable installer where application data defaults to the user directory, a portable 7z archive to extract and run, a macOS dmg image, an update zip for an existing installation rather than a first-time installer, and split files such as part-000 that need every part downloaded and merged following the release's SPLIT-ASSETS-README.txt before extraction. The update package being distinct from the installer is a small but useful distinction for anyone managing a fleet of machines.

Editorial conclusion

Adopt Pymss Studio if you separate vocals and instrument stems locally, want to audition and edit them in one place, and need to run the same separation on a batch of files without scripting. Skip it if you need a stable release, since the versions are still in the 0.0.x range and the README warns that current releases include prereleases, and skip it on Intel Macs or on Linux, where there is no dedicated release package. Verify first which runtime package matches your hardware, since the ROCm option has a narrower support range and the MLX package targets Apple Silicon only, and that you have read the release notes before upgrading existing projects.

Frequently asked questions

What is Pymss Studio and does separation happen locally?

It is a Tauri 2 and Vue 3 desktop application that brings the pymss music source-separation engine to a graphical workspace with a model library, ensembles, workflows, a task queue and a multitrack stem editor. The README states that separation and editing run locally, and that only preparing runtimes, models or optional components needs a network connection.

Which platforms has Pymss Studio release packages for?

Windows x64 has cuda, cpu, rocm and online packages, and macOS 14 or later on Apple Silicon has a macos-arm64-mlx package using MLX. Linux has no release package because the release workflow does not produce Linux installers, and Intel Macs have no dedicated package since the MLX build targets Apple Silicon.

Do I need to install Python to use Pymss Studio?

No. Release packages include Python so end users do not need to install system Python separately, and the macOS DMG includes the fixed Python, PyTorch, MLX and bundled core packages. You inspect and update the active runtime from Settings, with full environment management available in the app on Windows.

Official sources

  1. Issues
  2. License: AGPL-3.0
  3. pymss-project/pymss-studio on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pymss-project-pymss-studio.svg)](https://hysenlabs.com/projects/pymss-project-pymss-studio)

Was this useful?