Command-line interface for MVSEP music separation API
Project description
MVSEP CLI
A command-line interface for MVSEP music separation API.
Features
- Upload audio files and create separation tasks
- Monitor task status in real-time
- Download separated tracks automatically
- Support for multiple separation algorithms and models (dynamically fetched from API)
- Configurable default settings
- Support for mirror sites (China)
- Retry mechanism for rate limits and server errors
- Debug mode for troubleshooting
Installation
Requirements
- Python 3.8+
- pip
From PyPI (Recommended)
pip install mvsep-cli
From Source
# Clone repository
git clone https://github.com/mvsep/mvsep-cli.git
cd mvsep-cli
# Install
pip install -e .
Verify Installation
mvsep --help
mvsep config show
Mirror Sites
MVSEP provides mirror sites for better access in different regions:
| Mirror | URL |
|---|---|
| main | https://mvsep.com |
| mirror | https://mirror.mvsep.com (China) |
Set your preferred mirror:
mvsep config set-mirror mirror # Use China mirror
mvsep config set-mirror main # Use main site
Quick Start
- Set your API token:
mvsep config set-token```
Get your API YOUR_API_TOKEN
token from https://mvsep.com/user-api
**Test token (for testing only, please don't abuse)**:
0VZENEq6t0FMsoF6NYRXD021KZHKBg
2. Find available algorithms:
```bash
# List all algorithms
mvsep list
# Search for specific algorithm
mvsep list -s karaoke
# Show models for a specific algorithm
mvsep list --models 49
# Or use the algorithms command
mvsep algorithms
mvsep algorithms -i 20
- Run a separation task:
mvsep run audio.wav -t 49 --add-opt1 5
- Or upload and wait manually:
mvsep upload audio.wav -t 49 --add-opt1 5 --wait
Configuration
# Show current config
mvsep config show
# Set API token
mvsep config set-token YOUR_TOKEN
# Set default output directory
mvsep config set-output-dir /path/to/output
# Set default output format (1 = wav 16bit)
mvsep config set-output-format 1
# Set polling interval in seconds
mvsep config set-interval 5
Commands
| Command | Description |
|---|---|
mvsep run <file> |
Full workflow: upload + wait + download |
mvsep upload <file> |
Upload and create task |
mvsep status <hash> |
Check task status |
mvsep wait <hash> |
Wait for task completion |
mvsep download <hash> |
Download results |
mvsep list |
List available algorithms (from API) |
mvsep list --models <type> |
Show models for a separation type |
mvsep list --search <keyword> |
Search algorithms by keyword |
mvsep list --popular |
Show popular algorithms |
mvsep algorithms |
List all algorithms with detailed options |
mvsep algorithms -i <id> |
Show detailed options for specific algorithm |
mvsep history |
Show task history |
mvsep config |
Manage configuration |
Options
Common options for upload and run:
-t, --sep-type- Separation type (usemvsep listto see available types)-f, --output-format- Output format (default: 1 = wav 16bit)--add-opt1- Model option 1--add-opt2- Model option 2--add-opt3- Model option 3-o, --output-dir- Output directory-i, --interval- Polling interval in seconds--wait- Wait for completion after upload--timeout- Maximum wait time in seconds--demo- Publish to demo page
Examples
# List popular separation types
mvsep list --popular
# Search for karaoke models
mvsep list -s karaoke
# Show models for MVSep Karaoke (type 49)
mvsep list --models 49
mvsep algorithms -i 49
# Show models for Demucs4 HT (type 20)
mvsep list --models 20
# Upload with specific model (type 49, model 5 = BS Roformer by frazer and becruily)
mvsep upload song.wav -t 49 --add-opt1 5 --wait
# Run full workflow with custom output
mvsep run song.wav -t 49 --add-opt1 5 -f 2 -o ./output
# Download previous results
mvsep download 20260227153708-abc123-vocals.wav -o ./output
# Check task status
mvsep status 20260227153708-abc123-vocals.wav
# Show task history
mvsep history
Output Formats
| Value | Format |
|---|---|
| 0 | mp3 (320 kbps) |
| 1 | wav (16 bit) |
| 2 | flac (16 bit) |
| 3 | m4a (lossy) |
| 4 | wav (32 bit) |
| 5 | flac (24 bit) |
Advanced Usage
Using Remote URLs
You can process audio from remote URLs (requires API support):
from mvsep_cli.api import MVSEP_API
api = MVSEP_API("YOUR_TOKEN")
result = api.create_task(
remote_url="https://example.com/audio.wav",
sep_type=49,
add_opt1="5"
)
Debug Mode
Enable debug logging for troubleshooting:
api = MVSEP_API("YOUR_TOKEN", debug=True)
Custom Retry Settings
Adjust retry behavior for rate limits:
api = MVSEP_API("YOUR_TOKEN", retries=30, retry_interval=20)
License
Apache License 2.0
FAQ
Q: How to upgrade?
pip install --upgrade mvsep-cli
Q: Where is the config file?
- Linux/macOS:
~/.mvsep_cli_config - Windows:
%USERPROFILE%\.mvsep_cli_config
Q: Where is task history?
- Linux/macOS:
~/.mvsep_tasks.json - Windows:
%USERPROFILE%\.mvsep_tasks.json
Q: How to find the right model?
-
Search for your desired algorithm type:
mvsep list -s demucs
-
Check available models for that algorithm:
mvsep list --models 20 # For Demucs4 HT
-
The model with highest SDR (Signal to Distortion Ratio) is generally better
Q: How to uninstall?
pip uninstall mvsep-cli
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mvsep_cli-1.1.0.tar.gz.
File metadata
- Download URL: mvsep_cli-1.1.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c8ad57d5295a65ba57bd3a8388d0c489c9f6f31859697709b3de665c2df6179
|
|
| MD5 |
9a34678953179897b9f72edfe1b95a8a
|
|
| BLAKE2b-256 |
7f8ccc739b05a8a63ce5ad40a88d8532df01fd58712e78dcf77272ec651b9680
|
File details
Details for the file mvsep_cli-1.1.0-py3-none-any.whl.
File metadata
- Download URL: mvsep_cli-1.1.0-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49f7f3b6964517ca350c325c1d08d0a38fd778d42d5b6ae5f9e581480691aacb
|
|
| MD5 |
6be2749a4471fec18c1b3bd75e1a9393
|
|
| BLAKE2b-256 |
8b8aeb47ef7b597a8b3f19f7597b5b363c2137077e409d52b180c29f09924321
|