ferraus fx

Apply a chain of effects in order in one pass

Synopsis

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

What it does

Every effect command is also an fx stage with the same parameter names. Stages are written as 'name:key=value,key=value'; a bare key means true ("denoise:auto").

Examples

Denoise, fade, and normalize in one run

ferraus fx take.wav -o clean.wav --fx "denoise:auto" --fx "fade:in=1s,out=2s" --fx "normalize:lufs=-14"

A vocal chain

ferraus fx vox.wav -o vox_fx.wav --fx "compress:preset=vocal" --fx deess --fx "reverb:type=plate,mix=18%"

Plan a drum-bus chain and print the resolved stages without processing

ferraus fx drums.wav -o drums_fx.wav --fx "highpass:freq=40Hz" --fx "compress:ratio=4:1,attack=5ms" --fx "limit:ceiling=-1dBTP" --dry-run --json

Options

FlagTypeDefaultMeaning
--fxtext—One stage, e.g. "fade:in=1s,out=2s"; repeat for more stages Repeatable.
--chaintext—Stages as a JSON array of {op, ...args} objects (used by pipeline files) Repeatable.

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.

For models

  • MCP tool: ferraus_fx
  • Schema: ferraus schema fx
  • Pipeline: { op: fx, args: { ... } } (flag names with _ instead of -)
  • fx stage: no
{"command": "fx", "defaults": {}}