ferraus resample

Change the sample rate with a high-quality sinc resampler

Synopsis

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

What it does

Converts to a new sample rate with a windowed-sinc (Kaiser) resampler that keeps the audible band intact and removes everything above the new Nyquist frequency. Rates accept 48000, 48k, or 44.1kHz.

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

Examples

Convert to 48 kHz for video

ferraus resample voice.wav --to 48k -o voice48.wav

Down-convert a 96 kHz master for CD

ferraus resample master96.flac --to 44.1kHz -o master44.flac

Quickly convert a folder of takes to 44.1 kHz for a rough mix

ferraus resample takes/*.wav --to 44.1k --quality fast --outdir takes44/

Bring a 22.05 kHz file into a 48 kHz, 24-bit session (no new high frequencies are created)

ferraus resample old22k.wav --to 48000 --bit-depth 24 -o old48.wav

Options

FlagTypeDefaultMeaning
--tofrequency48000Target sample rate in Hz: 48000, 48k, 44.1kHz
--qualityhigh | medium | fasthighFilter length: high (best, slowest), medium, fast

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.

For models

  • MCP tool: ferraus_resample
  • Schema: ferraus schema resample
  • Pipeline: { op: resample, args: { ... } } (flag names with _ instead of -)
  • fx stage: yes
{"command": "resample", "defaults": {"to": "48000", "quality": "high"}}