ferraus autopan

Cyclic automatic panning

Synopsis

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

What it does

Moves the source left and right with an LFO. Mono sources are panned with the pan law; stereo sources are balanced so their image is kept. --rate accepts Hz or beat values (1/2 = one cycle per half note) with --bpm.

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

Examples

Slow sine autopan

ferraus autopan keys.wav -o keys_auto.wav

Tempo-synced triangle autopan

ferraus autopan hats.wav --rate 1/4 --bpm 124 --shape triangle --depth 60% -o hats_auto.wav

Slow, narrow drift for a pad that never lands hard left or right

ferraus autopan pad.wav --rate 0.1Hz --depth 40% -o pad_drift.wav

Hard eighth-note ping-pong that starts on the right

ferraus autopan gtr.wav --rate 1/8 --bpm 100 --shape square --phase 90deg -o gtr_pingpong.wav

Options

FlagTypeDefaultMeaning
--ratetext0.5HzCycle rate in Hz, or a beat value such as 1/2
--depthpercent100%Swing width (100% = hard left to hard right)
--shapesine | triangle | squaresineLFO waveform
--phasetext0degStarting phase in degrees (90deg starts hard right)
--law-3dB | -4.5dB | -6dB | linear-3dBPan law
--mixpercent100%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

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_autopan
  • Schema: ferraus schema autopan
  • Pipeline: { op: autopan, args: { ... } } (flag names with _ instead of -)
  • fx stage: yes
{"command": "autopan", "defaults": {"rate": "0.5Hz", "depth": "100%", "shape": "sine", "phase": "0deg", "law": "-3dB", "mix": "100%"}}