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
- Remove the `-i`/`--input-file` flag and pass audio files as positional arguments: `spleeter separate -p spleeter:2stems -o output audio_file.mp3`
- Update shell scripts/Makefiles/CI configs that invoke spleeter to the v2 CLI syntax
- 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
- Pin spleeter version in scripts and update CLI invocations when upgrading major versions
- Use `spleeter separate --help` as source of truth for flags
- Wrap legacy commands in a small wrapper script that translates old flags
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.