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
| Flag | Type | Default | Meaning |
|---|---|---|---|
--fx | text | — | One stage, e.g. "fade:in=1s,out=2s"; repeat for more stages Repeatable. |
--chain | text | — | 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
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Processing failed |
| 2 | Usage or parameter error |
| 3 | Input missing or unreadable |
| 4 | Unsupported format or codec |
| 8 | Cancelled |
| 70 | Internal error (bug) |
Common mistakes
- Forgetting that outputs are never overwritten: pass
--overwriteor a new-opath 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": {}}