v0.1.0
mastacraf

A command-line mastering pipeline for experimental music. Define the standard. Own the process.

Read the docs
Preset-driven
Every mastering decision lives in a .toml file. Repeatable, versioned, yours.
Built in Rust
Powered by FFmpeg. Fast, deterministic, no hidden processing or surprise decisions.
For experimental music
No commercial loudness assumptions. You define the targets — mastacraf applies them.
what it is

mastacraf is a mastering pipeline built for self-produced, self-mixed material where no commercial loudness standard applies. It measures your audio, applies a configurable processing chain, and writes a report documenting exactly what happened.

It does not make aesthetic decisions. You define the loudness target, the dynamics behavior, the filter chain. mastacraf executes it with precision and produces the same result every time.

Designed for music outside genre conventions — experimental, noise, abstract electronic — where the mastering process should serve the work, not constrain it.

technical
languageRust
audio engineFFmpeg
config format.toml
output standardEBU R128
native formatWAV · 24-bit · 96kHz
interfaceCLI
features
Everything you need. Nothing you don't.
Preset system
Define every mastering parameter in a .toml file. Version it, share it, build a library of presets per project or genre.
Loudness targeting
Two-pass EBU R128 loudness normalization. Set your integrated LUFS, loudness range, and true peak ceiling. mastacraf hits them precisely, every run.
Peak limiting
Configurable attack and release on the limiter. Tune it for your material — tight transients for electronic music, slower for low-bass-heavy experimental work.
Deep analysis
Pre and post-master measurements: LUFS, LRA, true peak, RMS, crest factor, phase correlation, spectral balance, DC offset — all written to a JSON report.
Visualization output
Generates before/after spectrograms and waveforms. Stacked comparison images and contrast-amplified diff images for instant visual review.
Mastering report
A JSON report per run documenting every gain delta, the exact FFmpeg filter string applied, all measurements, and input/output comparison. Nothing hidden.
in practice
Write a preset. Run a command. Done.

mastacraf works entirely from the command line. Point it at a WAV file and a preset, and it handles the rest — analysis, normalization, limiting, and export in a single pass.

Every run produces a clean output folder with your mastered file alongside full documentation of exactly what was done to it.

track_master.wav — mastered audio
track_pre / post spectrogram + waveform
track_compare — stacked before/after
track_master_report.json — full audit trail
bash — run
mastacraf master track.wav --preset peakxv
toml — preset example
# presets/peakxv.toml

[meta]
name        = "peakxv"
description = "Experimental noise — wide dynamic, low bass forward"

[target]
lufs      = -16.0
true_peak = -1.0
lra       = 17.0

[limiter]
attack_ms  = 12.0
release_ms = 110.0

[output]
format      = "wav"
bit_depth   = 24
sample_rate = 96000
json — report output (excerpt)
{
  "pre": {
    "integrated_lufs": -21.4,
    "lra": 18.2,
    "true_peak": -3.1
  },
  "post": {
    "integrated_lufs": -16.0,
    "lra": 17.0,
    "true_peak": -1.0
  },
  "delta": { "lufs_change": +5.4 }
}