Skip to content

autoeq

Optimizes parametric EQ filters to flatten a speaker or headphone frequency response. See the AutoEQ CLI guide for task-oriented examples.

autoeq [OPTIONS]
FlagTypeDefaultDescription
-c / --curvepathInput frequency response CSV (frequency,spl)
-t / --targetpathTarget curve CSV (default: flat 0 dB)
--speakerstringSpeaker name for spinorama.org API lookup
--versionstringMeasurement version (e.g., asr)
--measurementstringMeasurement type (e.g., CEA2034)
--curve-namestringListening WindowCurve within a CEA2034 measurement
--driver1..4pathDriver CSVs for multi-driver mode (--loss drivers-flat)
FlagTypeDefaultDescription
-n / --num-filtersint7Number of IIR biquad filters
--min-dbfloat1.0Minimum filter gain (dB)
--max-dbfloat3.0Maximum filter gain (dB)
--min-qfloat1.0Minimum Q factor
--max-qfloat3.0Maximum Q factor
--min-freqfloat60Minimum filter frequency (Hz)
--max-freqfloat16000Maximum filter frequency (Hz)
-s / --sample-ratefloat48000Output filter sample rate (Hz)
--peq-modelenumpkFilter structure model (see below)
--min-spacing-octfloat0.2Minimum spacing between filters (octaves)
--spacing-weightfloat20.0Penalty weight for filter crowding
FlagTypeDefaultDescription
--algostringnlopt:cobylaOptimizer (use --algo-list to list)
--presetstringNamed preset: quick, balanced, max-quality, score
--lossenumspeaker-flatLoss function (see below)
--maxevalint2000Maximum optimizer evaluations
--populationint300Population size (for population-based algos)
--refineboolfalseLocal refinement pass after global search
--local-algostringcobylaLocal optimizer for refinement
--tolerancefloat1e-3Relative convergence tolerance
--atolerancefloat1e-4Absolute convergence tolerance
--seedintFixed random seed (reproducible results)
--no-parallelflagDisable parallel evaluation
--parallel-threadsint0 (all)Thread count for parallel evaluation
FlagTypeDefaultDescription
--strategystringcurrenttobest1binDE mutation strategy (use --strategy-list)
--recombinationfloat0.9Crossover probability
--adaptive-weight-ffloat0.9Adaptive F weight
--adaptive-weight-crfloat0.9Adaptive CR weight
FlagTypeDefaultDescription
--smoothbooltrueSmooth the inverted target curve
--smooth-nint2Smoothing level (1/N octave)
FlagTypeDefaultDescription
--crossover-typestringlinkwitzriley4Crossover filter type for drivers-flat mode
FlagTypeDefaultDescription
-o / --outputpathSave a result plot PNG
--qafloat?QA mode: suppress output, print one-line summary
FlagDescription
--algo-listPrint all available optimization algorithms and exit
--strategy-listPrint all available DE strategies and exit
--peq-model-listPrint all available PEQ models and exit
ValueDescription
speaker-flatERB-weighted MSE toward flat (default)
speaker-scoreHarman/Olive preference score (bass boost + PIR flatness)
headphone-flatFlatten headphone response toward target
headphone-scoreHarman headphone curve
drivers-flatMulti-driver crossover optimization
ValueStructure
pk (default)All peak/bell filters
hp-pkHighpass + peaks
hp-pk-lpHighpass + peaks + lowpass
ls-pkLow shelf + peaks
ls-pk-hsLow shelf + peaks + high shelf
free-pk-freeAny + peaks + any
freeAll filters unconstrained

RUST_LOG controls log verbosity: error, warn (default), info, debug.