A polished desktop workspace for music source separation, model management, batch jobs, and stem editing.
简体中文 · Download · pymss core
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
pymsspackage. Core separation algorithms and model behavior live inpymss; this repository focuses on the desktop product, frontend workflow, Tauri orchestration, and release packaging.
Download the latest Windows, Linux, or macOS package from the Pymss Studio releases page.
Choose the package variant that matches your machine:
| Use case | Recommended package |
|---|---|
| NVIDIA GPU | Windows CUDA |
| No discrete GPU, integrated graphics only, or you prefer CPU inference | Windows CPU |
| Stable network, and you want the smallest download | Windows Online |
| Windows AMD GPU | Windows ROCm |
| Apple Silicon Mac, including M1/M2/M3/M4 | macOS MLX |
| Intel Mac | No dedicated release package currently |
On macOS, clear the quarantine attribute after installing the app:
xattr -cr '/Applications/Pymss Studio.app'Then open Pymss Studio from /Applications.
For Chinese users, a QQ group is available for beta testing, bug reports, and community discussion: Pymss Studio testing group.
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.
| Light | Dark |
|---|---|
![]() |
![]() |
| Area | What it does |
|---|---|
| Workspace dashboard | Shows runtime health, local model status, running jobs, completed results, and the recommended workflow. |
| Separation setup | Imports audio/video files or folders, chooses a downloaded model, configures output format, runtime device, TTA, debug logging, and advanced inference parameters. |
| Task queue | Tracks queued and running jobs with stage-level progress, logs, retry/cancel actions, and history management. |
| Model library | Browses available models, downloads and resumes model files, deletes local models, and manages storage cleanup. |
| Results and projects | Keeps generated outputs and editor projects organized for review and later editing. |
| Stem editor | Provides waveform preview, transport controls, asset panels, mix controls, project persistence, missing-asset relinking, and export. |
| Desktop packaging | Uses Tauri v2 with a Python worker and release scripts for portable Python runtimes. |
Near-term work:
- Intel GPU and AMD GPU adaptation. Developers with Intel or AMD GPUs are welcome to join
pymss-projectand help with validation, packaging, and performance tuning. - iOS and Android GPU inference.
Long-term work:
- iOS and Android NPU inference.
| Layer | Stack |
|---|---|
| Frontend | Vue 3, TypeScript, Vite, Pinia, Vue Router, Vue I18n, Naive UI |
| Desktop shell | Tauri v2, Rust, Tauri dialog/shell/store plugins |
| Worker | Python worker protocol in python/worker.py |
| Core engine | External pymss package |
| Packaging | pnpm, Tauri CLI, PowerShell runtime staging scripts, GitHub Actions |
- Node.js with
pnpm@10.33.2 - Rust and Cargo for Tauri development
- Python for worker development
- The published
pymsspackage:python -m pip install pymss - Platform-specific media/model dependencies required by the
pymsscore package
The worker imports pymss from the active Python environment. Release bundles
install it into the embedded Python runtime.
Install dependencies:
pnpm installRun the frontend only:
pnpm devRun the full desktop app with Tauri:
pnpm tauri devBuild the frontend:
pnpm buildBuild the production desktop app:
pnpm tauri buildRuntime 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:
PYMSS_STUDIO_DATA_ROOT, when set../datain development builds.datanext to the executable for Windows release builds that include apymss-studio.portablemarker file next to the executable.~/.pymss-studiofor regular installed release builds.
| Variable | Default | Description |
|---|---|---|
PYMSS_STUDIO_DATA_ROOT |
see above | Explicit root directory for settings, models, outputs, projects, logs, and temp files. |
PYMSS_STUDIO_PYTHON |
python |
Python interpreter used by the Tauri backend to launch the worker. |
PYMSS_STUDIO_DEFAULT_OUTPUT_DIR |
app default | Default directory for separation outputs. |
.
├── 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
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.
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 defaultStaged builds are smoke-tested with worker commands such as env_info and list_models.
This repository currently has no dedicated automated test suite. Use the existing build and smoke checks before shipping changes:
pnpm build
pnpm tauri buildFor packaged Python environments, verify:
python python/worker.py env_info
python python/worker.py list_modelsPymss Studio is licensed under the GNU Affero General Public License v3.0. See LICENSE.



