ferraus midi tempo

Set or scale the tempo

Synopsis

ferraus midi tempo <input> [options] [-o <output>]

What it does

--set replaces the tempo map with one tempo; --scale multiplies every tempo. Notes keep their beat positions, so the part plays faster or slower.

Examples

Play the whole file at 120 BPM

ferraus midi tempo song.mid --set 120 -o at120.mid

Half speed, keeping tempo changes

ferraus midi tempo song.mid --scale 0.5 -o half.mid

Fix a hummed part at 92 BPM to match the song

ferraus midi tempo hum.mid --set 92 -o hum92.mid

Options

FlagTypeDefaultMeaning
--setnumber—New constant tempo in BPM (120) Range: 1..1000.
--scalenumber—Multiply every tempo (1.5 = 50% faster)

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
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_midi_tempo
  • Schema: ferraus schema midi tempo
  • Pipeline: { op: midi tempo, args: { ... } } (flag names with _ instead of -)
  • fx stage: no
{"command": "midi tempo", "defaults": {}}