ferraus tremolo

Tremolo (amplitude modulation)

Synopsis

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

What it does

Modulates the level with an LFO; the gain swings between full and (1 - depth). --rate also accepts beat values like 1/8 with --bpm.

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

Examples

Classic amp tremolo

ferraus tremolo gtr.wav -o gtr_trem.wav

Tempo-synced chop

ferraus tremolo pad.wav --rate 1/8 --bpm 100 --shape square --depth 90% -o chop.wav

Soft, slow electric-piano tremolo

ferraus tremolo keys.wav --rate 4Hz --depth 30% --shape triangle -o keys_trem.wav

Full-depth sixteenth-note stutter at 128 BPM

ferraus tremolo gtr.wav --rate 1/16 --bpm 128 --depth 100% --shape square -o gtr_stutter.wav

Options

FlagTypeDefaultMeaning
--ratetext5HzLFO rate in Hz, or a beat value (1/8)
--depthpercent50%Modulation depth
--shapesine | triangle | squaresineLFO waveform
--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_tremolo
  • Schema: ferraus schema tremolo
  • Pipeline: { op: tremolo, args: { ... } } (flag names with _ instead of -)
  • fx stage: yes
{"command": "tremolo", "defaults": {"rate": "5Hz", "depth": "50%", "shape": "sine", "mix": "100%"}}