deezer/spleeter · error · Exit

20

20

Error message

⚠️ -i option is not supported anymore, audio files must be supplied using input argument instead (see spleeter separate --help)

What it means

Spleeter removed the old `-i/--input-file` CLI flag; passing it now aborts with exit code 20. Audio files must instead be supplied as positional arguments to `spleeter separate`. The check runs in `separate()` before any processing, so nothing is separated when the deprecated flag is detected.

Source

Thrown at spleeter/__main__.py:136

    output_path: str = AudioOutputOption,
    filename_format: str = FilenameFormatOption,
    params_filename: str = ModelParametersOption,
    mwf: bool = MWFOption,
    verbose: bool = VerboseOption,
) -> None:
    """
    Separate audio file(s)
    """
    from .audio.adapter import AudioAdapter
    from .separator import Separator

    configure_logger(verbose)
    if deprecated_files is not None:
        logger.error(
            "⚠️ -i option is not supported anymore, audio files must be supplied "
            "using input argument instead (see spleeter separate --help)"
        )
        raise Exit(20)
    audio_adapter: AudioAdapter = AudioAdapter.get(adapter)
    separator: Separator = Separator(params_filename, MWF=mwf)

    for filename in files:
        separator.separate_to_file(
            filename,
            output_path,
            audio_adapter=audio_adapter,
            offset=offset,
            duration=duration,
            codec=codec,
            bitrate=bitrate,
            filename_format=filename_format,
            synchronous=False,
        )
    separator.join()

View on GitHub (pinned to c8854001ac)

Solutions

  1. Remove the `-i`/`--input-file` flag and pass audio files as positional arguments: `spleeter separate -p spleeter:2stems -o output audio_file.mp3`
  2. Update shell scripts/Makefiles/CI configs that invoke spleeter to the v2 CLI syntax
  3. Run `spleeter separate --help` to confirm the current argument layout

Example fix

# before
spleeter separate -i song.mp3 -p spleeter:2stems -o output
# after
spleeter separate -p spleeter:2stems -o output song.mp3
Defensive patterns

Strategy: validation

Validate before calling

import sys
args = sys.argv
if '-i' in args or '--input-file' in args:
    raise SystemExit("Remove -i/--input-file: pass audio files as positional arguments (spleeter >= 2.x)")

Prevention

When it happens

Trigger: Running `spleeter separate -i <file> -p <params> -o <out>` (or with `--input-file`/deprecated_files set) on the new CLI.

Common situations: Older scripts, tutorials, or CI pipelines written against spleeter v1.x that were reused with spleeter v2.x without updating the command line.

Related errors


AI-assisted analysis of deezer/spleeter@c8854001ac (2026-08-28). Data as JSON: /api/errors/5caa4dfb83f10e9b. Report an issue: GitHub.