DecayCore Modes: AUTO vs BASIC vs ADVANCED

In brief

AUTO searches guarded candidates, BASIC offers conservative manual control, and ADVANCED exposes expert controls. The underlying DSP safety mechanisms remain active in every mode.

DecayCore has three operating modes:

  • AUTO: automatic preset search and target selection
  • BASIC: guarded manual workflow
  • ADVANCED: expert manual workflow

The DSP engine is shared across all three. What changes is how much the program searches for you, which defaults are applied, and whether policy clamps are enforced at runtime.

Across all modes, the correction philosophy stays the same: cuts are the main tool, while boost remains tightly bounded and safety-sensitive.

How modes are applied

  • Startup defaults load AUTO.
  • Selecting a mode does not immediately rewrite every field.
  • The button Apply mode defaults writes that mode’s defaults into the UI.
  • BASIC clamps are re-applied at runtime for safety.
  • AUTO and ADVANCED do not use BASIC-style hard mode clamps.

AUTO (default startup mode)

Goal: let DecayCore search for a good preset automatically.

What AUTO does

  • Runs automatic preset search before final export.
  • Can auto-select the target curve, or respect the selected target if auto_target_mode=selected.
  • Reuses cache hits when the same measurements and relevant settings are seen again.
  • Uses the current UI values as the search baseline and constraints, then reports the winning preset.

Target selection strategy (auto_target_mode)

In AUTO mode, three target strategies are available from the Setup tab:

  • Adaptive: derive target from room acoustics (default) — scores built-in curves to select a base, then adjusts it by at most ±1 dB using broad, stereo-consistent bass evidence. It reduces adaptation when channels disagree, preserves the selected curve above 500 Hz by default, and permits additional bass lift only with reliable stereo RT60 evidence. It skips the full multi-curve candidate search.
  • Auto: search best built-in — evaluates multiple built-in target curves in parallel and picks the best-ranked match. Robust choice when the measurement source is unknown or external.
  • Use selected target curve from Target page — uses the target curve manually selected in the Target tab. Disables automatic target search.

When auto_goal is set to “Prefer Bass”, the mode is locked to selected.


AUTO defaults when applying mode defaults

  • Target strategy: adaptive (Adaptive: derive target from room acoustics)
  • Filter type: Mixed Phase
  • Correction band: 18-230 Hz
  • Max boost / cut: +5 dB / -24 dB
    • Interpretation: cut headroom is intentionally much larger than boost headroom because AUTO is designed to solve more with attenuation than with gain.
  • Phase limit: 320 Hz
  • Filter smoothing: 1/96 oct (filter_smooth=96)
  • FDW cycles: 10
  • Regularization: 18 dB
  • TDC: ON (15%, max reduction 6 dB, slope 12 dB/oct)
  • A-FDW: ON
  • Bass-first AI: ON (max 200 Hz)
  • Stereo link: ON by default
  • Excursion protection: ON
  • Low-bass cut: ON, 40 Hz

Notes:

  • Fresh config files currently start with Asymmetric as the default filter type before any mode-defaults button is applied.
  • In AUTO, the final winner may differ from the visible seed values because the search is allowed to move around that baseline.

BASIC

Goal: predictable manual results with hard guard rails.

BASIC policy behavior

  • lvl_mode is forced to Auto in pipeline/runtime.
  • stereo_link is forced ON.
  • enable_tdc is forced ON.
  • enable_afdw is forced ON.
  • low_bass_cut_enable is forced ON.
  • ir_export_window_mode is forced to auto.
  • Critical System Health issues block the run in BASIC.

BASIC defaults

  • Filter type: Mixed Phase
  • Correction band: 25-250 Hz
  • Max boost / cut: +3 dB / -15 dB
    • Interpretation: BASIC strongly favors safer cuts and keeps boost on a short leash.
  • Phase limit: 400 Hz
  • Filter smoothing: 1/96 oct (filter_smooth=96)
  • FDW cycles: 10
  • Regularization: 30 dB
  • Slope limits (global/boost/cut): 12 / 6 / 24 dB/oct
  • DF smoothing: ON
  • TDC: ON (50%, max reduction 9 dB, slope 6 dB/oct)
  • Bass-first AI: ON (max 180 Hz)
  • Leveling: Auto + Median, window 500-2000 Hz
  • Excursion protection: ON
  • Low-bass cut: ON, 50 Hz
  • IR windowing mode: auto
  • IR windows (L/R): 80 ms / 500 ms

BASIC hard clamps

  • max_boost_db: 0.0..4.0
  • max_cut_db: 0.0..15.0
  • filter_smooth: 1..96
  • reg_strength: 10.0..60.0
  • fdw_cycles: 10.0..15.0
  • phase_limit: 200.0..450.0 Hz
  • mag_c_min, mag_c_max: 18.0..300.0 Hz
  • tdc_strength: 0.0..70.0
  • tdc_max_reduction_db: 0.0..12.0
  • tdc_slope_db_per_oct: 0.0..12.0
  • mixed_split_freq: 100.0..200.0 Hz
  • low_bass_cut_hz: 20.0..100.0 Hz
  • Forced booleans: enable_tdc=True, enable_afdw=True, low_bass_cut_enable=True, stereo_link=True
  • Forced mode: ir_export_window_mode='auto'

ADVANCED

Goal: manual expert workflow with fewer policy constraints.

ADVANCED policy behavior

  • No BASIC-style mode clamps are applied by policy.
  • Critical System Health issues are warned, but not blocked by mode policy.
  • Advanced-only controls remain available.

ADVANCED defaults

  • Filter type: Mixed Phase
  • Correction band: 18-230 Hz
  • Max boost / cut: +5 dB / -24 dB
    • Interpretation: ADVANCED allows more freedom, but DecayCore still assumes cuts-first correction rather than boost-heavy flattening.
  • Phase limit: 320 Hz
  • Filter smoothing: 1/96 oct (filter_smooth=96)
  • FDW cycles: 10
  • Regularization: 18 dB
  • Slope limits (global/boost/cut): 24 / 36 / 0 dB/oct
  • DF smoothing: OFF
  • TDC: ON (15%, max reduction 6 dB, slope 12 dB/oct)
  • A-FDW: ON
  • Bass-first AI: ON (max 200 Hz)
  • Leveling: Auto + Median, window 200-3000 Hz
  • Stereo link: ON by default
  • Excursion protection: ON
  • Low-bass cut: ON, 40 Hz
  • IR windowing mode: auto

Additional runtime notes

  • Auto-align is always forced ON by pipeline policy.
  • The DSP runtime caps max boost at 12.0 dB in all modes. Automatic search also uses an 8.0 dB candidate-evaluation cap and may choose a lower effective limit.
  • In the UI, IR windowing choices are limited to auto and rew_asym; rew_asym is available only when allowed by filter type and mode rules.

Implementation reference

  • src/decaycore/config/mode_policy.py
  • src/decaycore/config/pipeline_parts/
  • src/decaycore/application/health_service.py
  • src/decaycore/decaycore.py