ferraus channels mix
Channel mixer: per-output weights and phase invert
Synopsis
ferraus channels mix <input> [options] [-o <output>]
What it does
Builds each output channel from weighted input channels, like Audition's Channel Mixer. Each --out is 'OUT=expression' where the expression sums terms such as 0.5L, -R, 50%C, or -3dB*L (a dB weight's sign is its gain, not a phase flip). Channels are named L, R, C, LFE, Ls, Rs, M, or by number (1, ch2). Outputs not mentioned pass through; --invert flips the phase of output channels.
This command is also an fx stage and a pipeline op: ferraus fx in.wav -o out.wav --fx "channels mix:key=value".
Examples
Fold to mono in both channels
ferraus channels mix in.wav --out "L=0.5L+0.5R" --out "R=0.5L+0.5R" -o mono-in-stereo.wav
Swap the channels and flip the new right channel's phase
ferraus channels mix in.wav --out "L=R" --out "R=L" --invert R -o swapped.wav
Copy the left channel (the host) over the right; the left passes through unchanged
ferraus channels mix interview.wav --out "R=L" -o host_both.wav
Put the side signal (left minus right) in both channels to hear what is out of phase
ferraus channels mix in.wav --out "L=0.5L+-0.5R" --out "R=0.5L+-0.5R" -o side.wav
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
--out | text | — | Output definition, e.g. "L=0.5L+0.5R" (repeatable) Repeatable. |
--invert | list | — | Output channels to phase-invert, e.g. R or L,R |
--mix | percent | 100% | Dry/wet balance: 0% returns the input unchanged, 100% is fully processed |
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_channels_mix - Schema:
ferraus schema channels mix - Pipeline:
{ op: channels mix, args: { ... } }(flag names with_instead of-) - fx stage: yes
{"command": "channels mix", "defaults": {"mix": "100%"}}