ferraus center

Extract or remove centre-panned material (vocals, dialogue)

Synopsis

ferraus center <input> [options] [-o <output>]

What it does

Compares the left and right spectra bin by bin: bins whose level balance matches --pan within --width and whose inter-channel phase is within --phase-tolerance are treated as centre material. 'extract' keeps them, 'remove' takes them out (the quick karaoke tool). Only --freq is affected. separate is the higher-quality path.

This command is also an fx stage and a pipeline op: ferraus fx in.wav -o out.wav --fx "center:key=value".

Examples

Quick karaoke: remove the centre vocal

ferraus center song.wav --mode remove -o karaoke.wav

Pull out the centre vocal band

ferraus center song.wav --mode extract --freq 200Hz..6kHz -o vocal.wav

Turn the lead vocal down instead of removing it completely

ferraus center song.wav --mode remove --mix 70% -o vocal_down.wav

Extract an instrument panned 40% left

ferraus center song.wav --mode extract --pan -40 --width 15% -o left_gtr.wav

Options

FlagTypeDefaultMeaning
--modeextract | removeextractKeep the centre (extract) or remove it
--pannumber0Position of the material to target (-100 left .. 0 centre .. 100 right) Range: -100..100.
--phase-tolerancetext5degInter-channel phase difference still counted as centre (degrees)
--widthpercent20%Pan tolerance around --pan, in percent of the full left-right range
--freqtext120Hz..8kHzFrequency range to act on (low..high)
--mixpercent100%Dry/wet balance: 0% returns the input unchanged

Global options

Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.

Exit codes

CodeMeaning
0Success
1Processing failed
2Usage or parameter error
3Input missing or unreadable
4Unsupported format or codec
8Cancelled
70Internal error (bug)

Common mistakes

  • Forgetting that outputs are never overwritten: pass --overwrite or a new -o path when re-running.
  • Percentages accept 80% or the fraction 0.8; a bare 80 means 80x, not 80%.

For models

  • MCP tool: ferraus_center
  • Schema: ferraus schema center
  • Pipeline: { op: center, args: { ... } } (flag names with _ instead of -)
  • fx stage: yes
{"command": "center", "defaults": {"mode": "extract", "pan": "0", "phase_tolerance": "5deg", "width": "20%", "freq": "120Hz..8kHz", "mix": "100%"}}