README.md

July 21, 2026 · View on GitHub

Pymss Studio

Pymss Studio

A polished desktop workspace for music source separation, model management, batch jobs, and stem editing.

Platform Windows Platform macOS Platform Linux

简体中文 · Download · pymss core

Tauri 2 Vue 3 TypeScript License: AGPL-3.0

Pymss Studio light home screen

Why Pymss Studio

Pymss Studio turns the pymss source-separation engine into a complete desktop experience. It gives producers, researchers, and power users a single place to prepare models, import audio, monitor long-running separation tasks, review results, and export edited stems without dropping into command-line workflows.

The desktop app is a wrapper around the external pymss package. Core separation algorithms and model behavior live in pymss; this repository focuses on the desktop product, frontend workflow, Tauri orchestration, and release packaging.

Install

Download the latest Windows, Linux, or macOS package from the Pymss Studio releases page.

On macOS, clear the quarantine attribute after installing the app:

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

Then open Pymss Studio from /Applications.

Advantages

Pymss Studio focuses on practical desktop performance across more machines:

  • Faster inference workflows through a packaged desktop runtime around pymss.
  • Lower memory pressure for day-to-day source separation and batch jobs.
  • Broader platform coverage across Windows, Linux, and macOS.

Preview

LightDark
Light theme interface preview collageDark theme interface preview collage

Highlights

AreaWhat it does
Workspace dashboardShows runtime health, local model status, running jobs, completed results, and the recommended workflow.
Separation setupImports audio/video files or folders, chooses a downloaded model, configures output format, runtime device, TTA, debug logging, and advanced inference parameters.
Task queueTracks queued and running jobs with stage-level progress, logs, retry/cancel actions, and history management.
Model libraryBrowses available models, downloads and resumes model files, deletes local models, and manages storage cleanup.
Results and projectsKeeps generated outputs and editor projects organized for review and later editing.
Stem editorProvides waveform preview, transport controls, asset panels, mix controls, project persistence, missing-asset relinking, and export.
Desktop packagingUses Tauri v2 with a Python worker and release scripts for portable Python runtimes.

Roadmap

Near-term work:

  • Intel GPU and AMD GPU adaptation. Developers with Intel or AMD GPUs are welcome to join pymss-project and help with validation, packaging, and performance tuning.
  • iOS and Android GPU inference.

Long-term work:

  • iOS and Android NPU inference.

Tech stack

LayerStack
FrontendVue 3, TypeScript, Vite, Pinia, Vue Router, Vue I18n, Naive UI
Desktop shellTauri v2, Rust, Tauri dialog/shell/store plugins
WorkerPython worker protocol in python/worker.py
Core engineExternal pymss package
Packagingpnpm, Tauri CLI, PowerShell runtime staging scripts, GitHub Actions

Prerequisites

  • Node.js with pnpm@10.33.2
  • Rust and Cargo for Tauri development
  • Python for worker development
  • The published pymss package: python -m pip install pymss
  • Platform-specific media/model dependencies required by the pymss core package

The worker imports pymss from the active Python environment. Release bundles install it into the embedded Python runtime.

Development

Install dependencies:

pnpm install

Run the frontend only:

pnpm dev

Run the full desktop app with Tauri:

pnpm tauri dev

Build the frontend:

pnpm build

Build the production desktop app:

pnpm tauri build

Configuration

Runtime data is stored under a single data root. The app derives settings/, models/, outputs/, editor-projects/, logs/, and temp/ from that root.

Data root selection order:

  1. PYMSS_STUDIO_DATA_ROOT, when set.
  2. ./data in development builds.
  3. data next to the executable for Windows release builds that include a pymss-studio.portable marker file next to the executable.
  4. ~/.pymss-studio for regular installed release builds.
VariableDefaultDescription
PYMSS_STUDIO_DATA_ROOTsee aboveExplicit root directory for settings, models, outputs, projects, logs, and temp files.
PYMSS_STUDIO_PYTHONpythonPython interpreter used by the Tauri backend to launch the worker.
PYMSS_STUDIO_DEFAULT_OUTPUT_DIRapp defaultDefault directory for separation outputs.

Project layout

.
├── src/                  # Vue frontend: views, components, stores, i18n, editor UI
├── src-tauri/            # Tauri v2 app, Rust commands, bundle configuration
├── python/               # JSON-based worker protocol and runtime dependency notes
├── scripts/              # Runtime preparation, staging, and cleanup scripts
├── installer/            # Windows installer assets
├── images/               # README screenshots
└── package.json          # Frontend and Tauri commands

Architecture

flowchart LR
  UI[Vue + Naive UI frontend] --> API[Tauri commands]
  API --> Worker[python/worker.py]
  Worker --> Core[pymss core package]
  Core --> Models[Separation models]
  Core --> Output[Separated stems]
  UI --> Store[Pinia stores]
  Store --> UI

The UI owns interaction design and state. Tauri owns desktop integration, process orchestration, file dialogs, and packaged resources. The Python worker exposes model, environment, audio, and inference operations through a JSON protocol while delegating separation logic to pymss.

Release packaging

Windows releases are built in CUDA and CPU variants. The release flow prepares an embedded Python runtime, builds the Tauri executable, stages the portable directory with worker/core assets and tools, then produces archives or installers.

./scripts/prepare-python-runtime.ps1 -Variant cuda
./scripts/prepare-python-runtime.ps1 -Variant default

Staged builds are smoke-tested with worker commands such as env_info and list_models.

Verification

This repository currently has no dedicated automated test suite. Use the existing build and smoke checks before shipping changes:

pnpm build
pnpm tauri build

For packaged Python environments, verify:

python python/worker.py env_info
python python/worker.py list_models

License

Pymss Studio is licensed under the GNU Affero General Public License v3.0. See LICENSE.