ferraus speed
Change speed and pitch together (varispeed)
Synopsis
ferraus speed <input> [options] [-o <output>]
What it does
Tape-style speed change: --factor 2.0 plays twice as fast, an octave higher, in half the time. Uses windowed-sinc resampling with automatic anti-aliasing. To change only duration or only pitch, use stretch or pitch.
This command is also an fx stage and a pipeline op: ferraus fx in.wav -o out.wav --fx "speed:key=value".
Examples
Faster and higher
ferraus speed loop.wav --factor 1.5 -o fast.wav
Half speed, an octave down
ferraus speed vox.wav --factor 0.5 -o slow.wav
One semitone up and about 6% faster, like tape running fast
ferraus speed song.wav --factor 1.0595 -o song_up.wav
Fix a 45 rpm record that was digitised at 33 1/3 rpm
ferraus speed vinyl_rip.wav --factor 1.35 -o fixed.wav
Options
| Flag | Type | Default | Meaning |
|---|---|---|---|
--factor | number | 1.0 | Playback speed multiplier (0.5 = half speed, an octave down) Range: 0.05..20. |
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_speed - Schema:
ferraus schema speed - Pipeline:
{ op: speed, args: { ... } }(flag names with_instead of-) - fx stage: yes
{"command": "speed", "defaults": {"factor": "1.0"}}