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 dependencies
pip install -r requirements.txt

# 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.2.0.tar.gz (18.6 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.2.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file mvsep_cli-1.2.0.tar.gz.

File metadata

  • Download URL: mvsep_cli-1.2.0.tar.gz
  • Upload date:
  • Size: 18.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 e46f5fae0002431ba7fa2a7867b606af6f7b73848b88354249eb8db034598151
MD5 b49f34efcb30bb1e52c4214e4257b5b9
BLAKE2b-256 7a60764e075d7059203f89c3c571159f3335ba99467fc6d7164256c776647c02

See more details on using hashes here.

File details

Details for the file mvsep_cli-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: mvsep_cli-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19290d6b7da848efe5aafef7d32d604b86771340e4ba1816fe650c4b4808e746
MD5 41f1d99466f910e34ee79b579f073126
BLAKE2b-256 631d0d720fae9cb61bb1a26d917102278de7ba616ff026dce37c2e82a9c095d4

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