Skip to main content

Command-line interface for MVSEP music separation API

Project description

MVSEP CLI

English | 中文

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

  1. 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
  1. Run a separation task:
mvsep run audio.wav -t 49 --add-opt1 5
  1. 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 (use mvsep list to 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?

  1. Search for your desired algorithm type:

    mvsep list -s demucs
    
  2. Check available models for that algorithm:

    mvsep list --models 20  # For Demucs4 HT
    
  3. The model with highest SDR (Signal to Distortion Ratio) is generally better

Q: How to uninstall?

pip uninstall mvsep-cli

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mvsep_cli-1.1.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mvsep_cli-1.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for mvsep_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2c8ad57d5295a65ba57bd3a8388d0c489c9f6f31859697709b3de665c2df6179
MD5 9a34678953179897b9f72edfe1b95a8a
BLAKE2b-256 7f8ccc739b05a8a63ce5ad40a88d8532df01fd58712e78dcf77272ec651b9680

See more details on using hashes here.

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

Hashes for mvsep_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49f7f3b6964517ca350c325c1d08d0a38fd778d42d5b6ae5f9e581480691aacb
MD5 6be2749a4471fec18c1b3bd75e1a9393
BLAKE2b-256 8b8aeb47ef7b597a8b3f19f7597b5b363c2137077e409d52b180c29f09924321

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page