SAK AUDIO / ENGINEERING RECORD / v0.2.0

Fuller bass. The same magnetic system.

The measured distinction between passive low-frequency loss and drive-induced compression, the circuit and excitation corrections, calibrated automatic compensation, and the unchanged TUBE/BUS regressions. No compensating EQ.

Low-frequency loss investigation

The original release lost bass for two different reasons. Its inferred joint gaps and finite source impedance produced a real, measurable passive LF pole. Separately, the IRON control drove the small inferred winding into deep bass saturation much earlier than its control position suggested. The second effect was much larger at medium/high settings. Neither is an oversampling filter problem, and neither is repaired with a compensating shelf EQ.

The original numerical implementation was frozen before production edits at validation/lf-revision/before/. The instrumented original DLL and its SHA256 are retained in validation/lf-revision/forensics/before/. All numbers below come from that DLL or from explicitly identified analytical linearization. The C++ lab uses the production nonlinear solver, with test-only access for component substitutions. Its independent linear branch is a control experiment, not replacement production DSP.

Measurement method and artifacts

Run from the repository root:

py -3 SAK-IRON/tools/lf_investigate.py --lab SAK-IRON/build/Release/iron_lf_lab.dll --out SAK-IRON/validation/lf-revision/forensics/after --stage all

The host engine is measured at 96 kHz, with its automatic 4x oversampling. The raw winding circuit is measured at 384 kHz. Frequencies extend from 5 Hz to 40 kHz. IRON values are 0%, 10%, 25%, 50%, 75%, 90%, and 100% for every core. Large-signal records use peak levels of −30, −12, and −3 dBFS; the small-signal probe holds the internal source at 0.5 mV peak, reducing digital level as IRON increases. Using a fixed digital amplitude at 100% would not linearize this system.

Every final FFT record contains an integer number of periods, at least eight cycles, after at least fifteen cycles and two seconds of settling. Two seconds exceeds ten nominal magnetic time constants for the corrected Nickel circuit; the original baseline was rerun with the same method. Both fundamental gain and total RMS gain are retained. THD includes only harmonics below Nyquist; when none are representable, it is explicitly NaN. THD at 40 kHz cannot be inferred from a 96 kHz output. Negative fundamental gain is not by itself evidence of passive filtering: comparison with the small-signal response at the same control position separates magnetic compression from linear insertion loss.

The original measurement set includes:

Each corresponding PNG and SVG plot remains beside the data. The isolated linear branch removes JA history and amplitude dependence while retaining the same winding/storage topology and backward-Euler discretization.

First-principles linearization

At the demagnetized origin, let

q = c Ms / (3 a)
mu_r,initial = 1 + q / (1 - alpha q)
Lm = mu0 N² A / (le / mu_r,initial + gap)
Geddy = le keddy / (N² A)

Zsecondary(s) = Rsecondary + Rload + s Lleak
Yparallel(s) = 1/(s Lm) + Geddy + s Cwinding + 1/Zsecondary(s)
Vload / Vsource = [Rload / Zsecondary(s)]
                 / [1 + (Rsource + Rprimary) Yparallel(s)]

This follows directly from the shared JA inverse law, the magnetic series reluctance, Faraday's law, and KCL. The approximate LF corner is [(Rsource+Rprimary) || (Rsecondary+Rload)] / (2 pi Lm). For the discrete linear experiment, substitute s = (1 - exp(-j omega dt)) / dt, which is the actual backward-Euler operator. The original shared JA law and initial permeability are unchanged.

Quantity Nickel Alloy Steel
Bare initial relative permeability 45,000 18,000 22,126
Original Lm (H) 11.975 6.077 5.703
Original inferred gap (µm) 2 3 5
Fraction of total reluctance due to gap 52.9% 40.3% 52.5%
Original approximate LF pole (Hz) 2.989 6.389 8.657
Lm with gap removed (H) 25.447 10.179 12.012
Pole with gap removed and source 50 Ω (Hz) 0.803 2.311 2.215

Tiny distances are not tiny magnetic effects. A 2–5 µm air path is comparable to an entire 80–100 mm path through a material with relative permeability of 18,000–45,000. The original implementation introduced those gaps as generic joint equivalents without construction-specific measurements. They were not numerical regularizers and are not required by the inverse solver.

Controlled component isolation

The following are measured 20 Hz gains at 0.5 mV source peak, after removing only the predictable resistive insertion loss. These are linear-response measurements, not saturation or loudness estimates.

Experiment Nickel (dB) Alloy (dB) Steel (dB)
Original exact JA circuit −0.102 −0.430 −0.813
Replace JA with initial linear Lm −0.102 −0.430 −0.813
Remove only gap −0.028 −0.164 −0.255
Remove only winding copper −0.046 −0.165 −0.360
Remove leakage −0.102 −0.430 −0.813
Remove eddy loss −0.096 −0.423 −0.746
Remove winding capacitance −0.102 −0.430 −0.813
Source 10 Ω, retaining original gap/copper −0.018 −0.091 −0.169
Remove gap and use source 50 Ω −0.011 −0.063 −0.095

The exact JA circuit and a simple linear magnetizing inductance agree in the small-signal limit. This proves the unwanted passive portion already existed in the chosen equivalent circuit. It is not an emergent defect of hysteresis memory, nor a nonlinear compression artifact.

An ideal voltage source across the winding eliminates this LF loss: the core then draws whatever current its constitutive law requires without reducing winding voltage. Saturation still exists in B/H/current but does not compress an ideal imposed voltage. That is why retaining finite source/copper impedance is essential for the desired transformer sound. The ideal-source experiment is a diagnostic, not the adopted product design.

Doubling turns raises initial Lm by four while also increasing volt-second capacity. Increasing turns or core area is a valid design option but changes saturation onset and cannot be used as an invisible LF correction. Those controlled substitutions keep copper/capacitance fixed to isolate magnetic geometry; they are not complete realizable winding redesigns. The selected revision retains the original 600 turns, area, and path length.

Source resistance and primary copper share the same series location in this reduced circuit, so each affects the LF pole. Secondary copper and reflected load enter through their actual secondary branch; they are not a second source resistor. The 600 Ω load experiment is retained in the CSV with both raw terminal gain and nominal insertion-compensated gain. Changing the load does not justify ignoring the large accompanying insertion loss.

Leakage inductance and winding capacitance affect the high-frequency response but are negligible at 20 Hz here. The thin-lamination eddy term becomes a parallel conductance under voltage excitation. At a fixed winding voltage, dB/dt = V/(N A), so this approximation contributes predominantly broad insertion loss, not the bass pole. Steel's thicker representative sheet makes that loss larger. The remaining roughly 0.04 dB broad steel loss is retained.

The larger effect: drive-dependent magnetic compression

At −12 dBFS peak, the original engine gave these 20 Hz fundamental gains:

IRON Nickel (dB) Alloy (dB) Steel (dB)
0% −0.13 −0.48 −0.82
10% −0.14 −0.50 −0.82
25% −0.14 −0.50 −0.84
50% −3.67 −0.53 −1.29
75% −10.57 −4.91 −2.05
90% −23.92 −18.04 −14.23
100% −35.67 −30.06 −26.27

These engine figures include the old drive-dependent 0–12 dB makeup. For example, at 75% Nickel gives +5.324 dB at 1 kHz but −10.570 dB at 20 Hz: a −15.894 dB bass-to-midrange difference. A broadband makeup scalar cannot create or fix that ratio. It raises the absolute level of the unsaturated midrange and confounds fair bypass comparisons, but the frequency-dependent compression itself comes from magnetic excitation.

Originally, 50% mapped to 41.168 source volts per full-scale sample. At −12 dBFS peak this is 10.34 V peak. Ignoring the winding's eventual self-limiting loading, Faraday's law predicts Bpeak = Vpeak/(2 pi f N A), or approximately 1.37 T at 20 Hz for Nickel/Alloy. Nickel's representative Js is only 0.78 T. The model correctly cannot sustain the requested excursion without very large magnetizing current and source voltage drop. Removing its gap changes that hard-saturation loss only slightly: at 10 V peak/20 Hz Nickel changes from −3.422 to −3.385 dB before other design changes. This decisively separates the passive LF issue from genuine magnetic compression.

The revised musical mapping reserves more knob travel for reasonable voltage:

IRON 0–60%:  drive_dB = -6 + 35 d
IRON 60–80%: drive_dB = 15 + 75 (d - 0.6)
IRON 80–100%:drive_dB = 30 + 180 (d - 0.8)
excitation = 4 * 10^(drive_dB / 20)

Its original −6/66 dB endpoints are retained. This mapping is explicitly a musical control choice, not a newly claimed material property. The physical system is unchanged as it is driven harder. With the selected circuit, at 50% and −12 dBFS the uncompensated 20 Hz losses become approximately 0.04, 0.14, and 0.13 dB. At 75%, Nickel still compresses its 20 Hz fundamental by about 9.08 dB: this is intentionally the hard part of the range. Extreme operation remains strongly frequency-dependent and destructive.

Why the corrected assumptions are more defensible

LF_RESEARCH.md records primary manufacturer specifications, published engineering literature, and the precise limits of derived estimates. High-quality transformers need not all have the same magnetizing inductance: high-impedance input windings can require hundreds of henries, while a low-resistance output winding driven by a low-impedance source can achieve wide LF response with much less inductance. Lm without the source/load fixture is not a sufficient quality metric.

No published construction evidence supports the old generic 2/3/5 µm gaps. An intentionally nongapped closed-path equivalent is the more defensible generic line-level default. The revised 50 Ω source is an explicit modern line-driver assumption; copper resistance remains, so the total effective source impedance is 130/150/170 Ω, not an ideal source. The revised small-signal 20 Hz response lives within the broad response scale of the published line transformers, without claiming to reproduce any one commercial unit.

No EQ, inverse bass shelf, new saturation algorithm, or shared material fit change is involved. Magnetic saturation, hysteresis memory, source/load interaction, copper, leakage, capacitance, and eddy loss remain active.

Scope and limitations

The bare JA initial slopes are consistent with the implemented equations. This investigation found an IRON design-assumption problem and a musical mapping problem, not a demonstrated error in the shared constitutive law. The known steel minor-loop fit mismatch remains; lower terminal LF attenuation does not validate that fit or make the generic winding a measured device.

The published bandwidth references are LF sanity checks, not a claim that the complete simulated bandwidth matches those devices. The retained leakage network and backward-Euler damping still attenuate high frequencies. At 20 kHz relative to 1 kHz, the revised small-signal engine measures −0.771/−1.213/−1.956 dB for Nickel/Alloy/Steel; at 40 kHz it measures −2.455/−3.546/−5.098 dB. The continuous-time linear circuits predict −0.392/−0.732/−1.372 dB at 20 kHz; the actual 384 kHz backward-Euler operator predicts −0.771/−1.213/−1.956 dB, matching the measured result. Thus roughly 0.38/0.48/0.58 dB of the 20 kHz loss is numerical damping. This high-frequency limitation is explicit and unchanged by the LF repair. It must not be confused with FIR attenuation, which is negligible at the 96 kHz host's 20 kHz test point.

The cross-plugin audit finds no shared-kernel change is justified. BUS's terminal-calibrated transformers are already approximately flat: its uncompressed complete path is about −0.011 dB at 20 Hz relative to 1 kHz at low level. TUBE's EL34 complete amplifier is about −5.83 dB at 20 Hz at the audited default transformer setting; removing its output-core gap still leaves about −4.45 dB. Its amplifier/coupling/speaker fixture and stated inductance mapping differ from IRON's line-level objective. TUBE, BUS, and the shared core remain unchanged, with frozen/current audio comparisons exactly equal. The audit explicitly retains the pre-existing TUBE minor-loop fit failure and BUS stored-baseline discrepancy; they were not hidden by changing test thresholds.

Final production measurements

The revised exact-engine sweep is frozen at validation/lf-revision/forensics/after/; its diagnostic DLL SHA256 is 30f54775ec07c42ec9b0df42af1afe0b8bae8197d86c6c3438d7b12a491f8ab7. The interactive plot browser switches between the linear probe and three fixed digital input levels.

The initial pink-only compensation dataset is preserved intact in forensics/after-pink-calibration/. Final measurements use the shipping equal-weight pink/brown synthetic calibration described in AUTOGAIN_PROTOCOL.md, plus the final core-switch wet return hold. The complete engine, circuit, and diagnostic bench is rerun; final plots do not reuse the earlier calibration's absolute output gains. At fixed controls, a static gain scalar cannot change LF/midrange ratios or THD. calibration_static_parity.json separately checks that property over the full frequency/input-level grid against the archived first calibration. Across all 1,764 cases, the maximum variation of that gain delta within a fixed CORE/IRON group is 1.43e−14 dB; maximum THD change is 3.98e−13 percentage points. The final calibration therefore leaves the measured static magnetic behavior unchanged to floating-point precision. At 100% IRON it adds 4.347/3.662/3.184 dB relative to the first calibration for Nickel/Alloy/Steel.

The table below normalizes each measurement to its own 1 kHz fundamental, eliminating broadband autogain from the LF comparison:

Test / revision Nickel 20 Hz (dB) Alloy 20 Hz (dB) Steel 20 Hz (dB)
Linear probe, before −0.0937 −0.4176 −0.7270
Linear probe, after −0.0049 −0.0540 −0.0462
IRON 25%, −12 dBFS peak, before −0.1332 −0.4902 −0.7571
IRON 25%, −12 dBFS peak, after −0.0350 −0.1376 −0.0566
IRON 50%, −12 dBFS peak, before −3.6569 −0.5134 −1.2015
IRON 50%, −12 dBFS peak, after −0.0309 −0.1353 −0.0817
IRON 75%, −12 dBFS peak, before −15.8941 −10.2317 −7.2929
IRON 75%, −12 dBFS peak, after −9.0773 −3.7749 −1.7051
IRON 100%, −12 dBFS peak, before −33.7538 −33.5697 −33.2968
IRON 100%, −12 dBFS peak, after −33.7151 −33.5337 −33.2791

The extreme endpoint remains nearly unchanged in relative bass compression. This is strong evidence that the revision retained the saturated magnetic system, while making useful drive positions and passive LF response more appropriate for line-level coloration.

Hysteresis and bass nonlinearity remain measurable. At 50% IRON, −12 dBFS peak, the revised 20 Hz THD is 0.391%, 0.461%, and 0.269% for Nickel, Alloy, and Steel. At 75% it rises to about 91.4%, 52.1%, and 22.4%. THD can exceed 100% under destructive excitation because harmonics can exceed the remaining fundamental; this does not imply a calculation limited to a clipping curve.

The FIR-only 5–100 Hz error is below 0.000001 dB, and the 20 kHz passband error is below 0.0007 dB at the measured rates. Original exact JA small-signal gain and the linear branch agree within 0.000181 dB. The independent discrete linear circuit and its backward-Euler analytical transfer agree to about 3e−12 dB on the original circuit. The corresponding revised-circuit errors are 0.000462 dB and 0.00000114 dB, respectively, including finite settling. All are below the recorded thresholds. Those checks rule out the resampler and constitutive root solver as the source of the original static bass loss. Exact delayed MIX=0 and repeated reset determinism also pass; every measured value and threshold is recorded in the respective checks.json files.

All ten revised forensic checks pass. The zero-gap circuit also passes 36 deterministic DC/reversal/multitone stress cases at 8, 96, 384, and 768 kHz with source peaks of 1, 100, and 10,000 V. There are zero solver failures; the largest electrical residual is 5.96e−11 A and magnetic residual is 1.0e−12 T. This directly checks that the removed gaps were not required for numerical stability.

Independent circuit measurements exclude the calibrated autogain scalar and remain an auditable account of what was physically corrected. The production engine plots include that scalar; it is not interpreted as additional frequency-response shaping or restored dynamic compression.

Automatic gain validation

Result: PASS for scalar, state and null invariants.

Measured 189 held-out synthetic source/control combinations and 90 compression points. K-weighted mean-square differences are comparison metrics, not gated integrated LUFS.

Invariant Worst measured error
automation_block_max_error 0
automation_peak 0.7816678544
automation_largest_sample_step 0.6247206702
mix0_max_error 0
bypass_max_error 0
reset_max_error 0
identical_stereo_max_error 0
table_max_error_db 4.958058963e-11
minimum_gain_db 0.050664991
maximum_gain_db 9.479791027
worst_scalar_relative_error 1.866837828e-15
worst_scalar_absolute_error 4.884981308e-15
worst_crest_change_due_to_compensation_db 4.263256415e-14
worst_window_gain_span_db 2.692402287e-12
worst_compression_slope_error 1.776356839e-15

Residual output level

A fixed gain cannot reverse frequency-dependent compression while retaining it. These residuals are disclosed, including severe bass-sine compression; no validation render was individually normalized. The synthetic phrases are not isolated recorded stems.

Core Probe Worst absolute K error through 50% IRON K error at 100%
Nickel sine_50Hz 0.042 dB -15.466 dB
Nickel sine_1000Hz 0.047 dB +1.262 dB
Nickel bass_envelopes 0.044 dB -13.702 dB
Nickel percussion_transients 0.025 dB -7.211 dB
Nickel vocal_like_formants 0.048 dB +0.981 dB
Nickel heldout_broadband 0.040 dB +3.644 dB
Nickel silence_transitions 0.040 dB +3.642 dB
Nickel sudden_level_steps 0.040 dB +3.758 dB
Nickel heldout_bright_noise 0.131 dB +7.289 dB
Alloy sine_50Hz 0.060 dB -13.099 dB
Alloy sine_1000Hz 0.082 dB +3.386 dB
Alloy bass_envelopes 0.066 dB -11.437 dB
Alloy percussion_transients 0.022 dB -7.653 dB
Alloy vocal_like_formants 0.083 dB +2.675 dB
Alloy heldout_broadband 0.061 dB +3.023 dB
Alloy silence_transitions 0.062 dB +3.027 dB
Alloy sudden_level_steps 0.061 dB +3.109 dB
Alloy heldout_bright_noise 0.205 dB +6.219 dB
Steel sine_50Hz 0.115 dB -11.654 dB
Steel sine_1000Hz 0.119 dB +4.456 dB
Steel bass_envelopes 0.119 dB -10.084 dB
Steel percussion_transients 0.008 dB -7.555 dB
Steel vocal_like_formants 0.120 dB +3.520 dB
Steel heldout_broadband 0.105 dB +2.538 dB
Steel silence_transitions 0.106 dB +2.544 dB
Steel sudden_level_steps 0.105 dB +2.623 dB
Steel heldout_bright_noise 0.345 dB +5.353 dB

Held-out errors | Compression proof | Steps and automation

At constant controls, 50 ms windows over silence transitions and sudden input steps retain one gain ratio. Raw magnetic settling/ring-down remains in both outputs; absence of instantaneous silence is not evidence of gain riding. Core changes use the production transition path and give identical samples with 17- and 1024-sample processing partitions at the same event times. This disclosed six-second automation probe also requires output peak <=1 FS and adjacent-sample jump <=0.8 FS; finite output alone does not pass a switching spike. The separate automation matrix extends that guard to every ordered core pair and high host rates.

The input/output crest-factor change belongs to the circuit. The additional compensation does not change that crest factor or the output-versus-input compression slope. This test does not replace the LF bench's frequency/sample-rate analysis, host validation, allocation audit or human listening. Recorded full-mix validation is separate.

TUBE / BUS low-frequency dependency audit

Recorded 2026-09-24. No production code or parameter values in SAK-TUBE, SAK-BUS, or Shared/DSP were changed by the IRON LF revision.

The excessive IRON shelf is not a universal consequence of this JA solver. BUS already retains essentially flat bass with its independently calibrated transformers. TUBE is a complete tube amplifier and speaker-load model; its larger 20 Hz loss mostly persists when its output core gap is removed. Applying IRON's line-transformer geometry or source impedance to either plugin would therefore be an unrelated change.

Exact production dependency map

Product / location Production magnetic implementation Circuit and parameter ownership
IRON, Source/DSP/IronCore.h canonical Shared/DSP/MagneticCore.h IRON's own three line-transformer equivalents
TUBE, SAK-TUBE/Source/DSP/MagneticCore.h forwarding header to canonical Shared/DSP/MagneticCore.h four output-transformer configurations in Components.h; JA is solved inside the active tube / transformer / moving-coil load network in Amplifier.cpp
TUBE input transformer, Amplifier.cpp older cubic and play-memory branch, not JA 300 H nominal, 600 ohm source, 1450/1550 ohm copper, 12 mH leakage, 208 pF reduced shunt capacitance; nonlinear tube-grid load
BUS, SAK-BUS/Source/DSP/Transformer.h independent older copy at shared/SAKMagnetics/MagneticCore.h two terminal-calibrated high-nickel equivalents; loaded KCL, trapezoidal leakage / winding-capacitance network
BUS, BusCompressor.h input and output Transformer instances per stereo channel source, load, amplifiers, coupling, servo and VCA belong to BUS

BUS's copied kernel predates the canonical kernel's newer extreme-field bracketing and projection changes. It does not inherit edits to the canonical header. This audit did not identify an LF formula or numerical error requiring a kernel migration. Both kernels use SI reluctance, including the finite material permeability and series equivalent gap; the nominal inductance metadata is not the JA branch's executable inductance.

Archived release/source-check trees are historical copies, not additional active plugin consumers.

Provenance and reproduction

validation/lf-revision/family/source_manifest.json freezes the original production headers/sources and SHA-256 values. source/ retains those files. Original BUS measurement DLL and regression executable, plus TUBE's core validator, are copied into baseline-binaries/ with their hashes. The final diagnostic DLL and current source hashes are in bridge_provenance.json.

Run from the workspace root:

py -3 SAK-IRON/tools/family_lf.py --build --groups parameters,bus,tube,experiments,regression

The C ABI in tests/family_lf_bridge.cpp calls the exact production engines. BUS's private kernel is namespace-renamed only in this offline translation unit so it can coexist with TUBE's canonical kernel. TUBE uses a 96 kHz, 1x host path; BUS full-chain uses 96 kHz, 2x oversampling. Raw BUS transformer measurements run at 96 kHz. The carrier grid spans 5 Hz–40 kHz. Coherent, integer-cycle windows demodulate fundamentals separately from harmonics, up to the 20th harmonic or Nyquist. No THD interpretation is possible above the frequency where a second harmonic fits below Nyquist.

The measurements are finite-amplitude probes, not an assertion of exact infinitesimal linearity. Each tone receives at least eight cycles / 0.4 s settling followed by at least four cycles / 0.2 s observation. Cosine startup limits initial integrated-flux offset. BUS's full chain first settles four seconds of silence, including its 0.15 Hz servo; otherwise tiny-signal measurements are contaminated by startup offset. TUBE warms its operating point for one second; a parallel idle run is subtracted to reject the amplifier's zero-input settling contribution. Measured nonlinear transfer still includes program-induced supply and bias changes.

tests/family_lf_switch.h and a generated offline copy of Amplifier.cpp permit two TUBE experiments: zero output-core gap and replacement of the JA branch with its initial linear inductance plus the original eddy loss. Only the two magnetic evaluation calls are redirected. The default dispatch matches production sample-for-sample; maximum difference is exactly zero. This experimental code is not included in any plugin target.

BUS: gaps are significant reluctance but do not create an excessive shelf

The effective demagnetized relative permeability follows

chi_rev = c Ms / (3 a)

mu_r0 = 1 + chi_rev / (1 - alpha chi_rev)

L0 = mu0 N^2 A / (path / mu_r0 + gap).

The equivalent linear shunt branch is

Ymag = 1/(j omega L0) + eddyCoefficient * path/(N^2 A).

Source resistance, primary copper, secondary copper, load, leakage and capacitance are included independently in the analytic loaded-circuit response. The analytic curve is a continuous-time linearization; the production measurements include their actual discretization.

Quantity BUS input BUS output
N / area / path 4200 / 53.980 mm² / 120 mm 2100 / 131.989 mm² / 150 mm
Effective gap 3.1041 µm 16.6050 µm
Initial relative permeability 135,670 89,216
Initial inductance 300 H 40 H
Zero-gap inductance experiment 1352.8 H 435.0 H
Fraction of total reluctance from gap 77.8% 90.8%
Source / primary / secondary resistance 600 / 1450 / 1550 ohm 2 / 40 / 40 ohm
Load 10 kohm 10 kohm
Leakage / differential capacitance 18 mH / 55 pF 20 µH / 90 pF

Even a gap-dominated reluctance need not produce meaningful audio-band attenuation: the absolute inductance and driving/load impedances determine the corner. At 20 Hz, the approximate inductive reactances are 37.7 kohm and 5.03 kohm. The source plus primary winding is 2050 ohm and 42 ohm, respectively. parameters.csv records the complete values; the source/load sweep covers source 0–2000 ohm and load 600 ohm–100 kohm.

The measured fundamentals below are normalized to each setting's 1 kHz fundamental, not broadband RMS or harmonic energy:

Peak excitation Input 20 Hz loss Output 20 Hz loss Input / output 20 Hz THD
1 mV 0.00913 dB 0.00030 dB 0.000868 / 0.000048%
1.736 V (about +4 dBu sine) 0.01110 dB 0.00105 dB 0.00513 / 0.00201%
8 V 0.02715 dB 0.00428 dB 0.1356 / 0.0206%

BUS's complete uncompressed path (threshold +12 dB, noise off) measures 20 Hz/1 kHz at -0.01053, -0.01264 and -0.03571 dB for peak input 0.0001, 0.1 and 0.5 FS. Those results do not resemble the original IRON problem. Removing gap, eddy loss, source, copper, leakage and capacitance individually is recorded in bus_isolation.csv.

BUS raw and complete-path response

BUS linearized source sensitivity

BUS distortion versus frequency

BUS's existing terminal calibration is documented in MAGNETIC_CALIBRATION.md. Its reference anchors are Jensen's JT-11P-1 and JT-11-BMCF. The high-nickel equivalent geometry is underdetermined; these parameters must not be presented as measurements of either manufacturer's construction. The fact that BUS's effective gaps are terminal-calibrated is not evidence that the same gaps should have been transplanted into IRON.

TUBE: distinguish amplifier bandwidth from line-transformer coloration

TUBE's output magnetic parameters are generated from a terminal inductance target derived from Hammond guitar-amplifier replacement transformers. The geometry is explicitly inferred. Its control preserves an inherited musical mapping: strength = 0.2 + 5 * transformer, L0 = nominalL / (1 + 0.14 * strength), and an inverse-square-root saturation linkage mapping. The resulting gap enforces that inductance; it is not a measured physical joint. This is disclosed behavior, not independent identification of a real winding pack or literal spacer.

For EL34/KT88, initial L is 23.365 / 17.430 / 13.900 H at transformer 0 / 50 / 100%. The corresponding inferred gaps are 518.18 / 41.28 / 22.93 µm. The large minimum-control gap in particular should not be described as a measured EI joint. Eliminating it without redesigning turns and area would increase L to 1094.9 / 81.10 / 42.11 H, violating the terminal inductance mapping by factors as large as 46.9. The 6L6 and EL84 parameter sets, copper, leakage and capacitance are also exported in parameters.csv.

At the measured EL34 setup (Drive 35%, Power 50%, default tone/presence, 1e-4 FS peak), the following are 20 Hz fundamental gains relative to 1 kHz:

Transformer control Production complete path Output core replaced by initial linear L Output core gap removed Input transformer alone, in active circuit
0% -5.223 dB -5.227 dB -4.351 dB -0.038 dB
50% -5.833 dB -5.906 dB -4.445 dB -0.071 dB
100% -6.515 dB -6.660 dB -4.791 dB -0.113 dB

The bulk of the 20 Hz loss persists without the output core's gap. Replacing JA with the corresponding linear inductance closely reproduces the modest excitation response. This establishes that the low-frequency shape is primarily the selected amplifier/coupling/load bandwidth, with finite magnetizing inductance contributing; it is not a spurious shelf inserted by hysteresis iteration. At 0.1 FS peak, default-transformer full-path loss becomes -6.116 dB, with 3.07% THD at 20 Hz; this additional nonlinear behavior must be kept separate from the linear bandwidth.

TUBE node responses

TUBE controlled output-core isolation

TUBE compression and distortion

TUBE also retains a speaker-impedance resonance near 95 Hz, coupling networks, tube gain stages and feedback. It is not designed as a flat line transformer. The Hammond 1750N reference has a specified 70 Hz–15 kHz response band under its rated conditions; a 20 Hz line-transformer flatness goal cannot be transferred to this complete amplifier. TUBE's detailed source provenance, winding endpoints, actual measurement frequencies, and approximations remain in PASSIVE_REFERENCES.md. This audit does not prove perfect physical identification of TUBE's inferred geometry. It shows why changing that established model to repair IRON would be unjustified and audible.

Regression results and retained failures

The frozen pre-investigation production files are independently compiled into family_lf_frozen.dll; the current files compile into family_lf_bridge.dll. Their outputs and TUBE node taps are bit-identical, maximum difference 0.0, for a composite 20 Hz / 997 Hz / 7.6 kHz signal, TUBE transformer settings 0/50/100%, and BUS quality 0/1. Audio SHA-256 pairs are retained in frozen_audio_regression.json. This is an actual audio comparison in addition to the unchanged production-source hashes.

TUBE's relevant CTest suite passes resampling, magnetic projection, core mechanisms and bandwidth. Its existing material-reference test remains failed: the smallest held-out M130 loop has H NRMSE/peak 0.319923 versus the existing 0.15 limit. The two larger loops pass (0.132372 and 0.018360). No threshold was changed. Full-chain LF measurements report zero solver failures. Evidence: tube_regression.log.

BUS's C++ DSP regression passes. Running its existing Python frequency, transformer and published-reference suite yields 15/16 checks passing. Its current 20 Hz–20 kHz response range is 0.113552 dB, within the existing absolute 0.5 dB criterion, but the stored implementation fingerprint is 0.065867454 dB with tolerance 0.025 dB; the 0.0476841 dB difference fails that existing baseline comparison. This is a pre-existing baseline discrepancy, unchanged by the IRON revision. The baseline was not regenerated to hide it. All measured VCA reference checks and transformer solve residual checks pass. Evidence: REPORT.md and bus_regression.log.

The family audit does not claim every historic validation suite passed. It demonstrates that no TUBE/BUS audio changes were introduced and records the two existing reference/baseline issues explicitly.

SAK-IRON low-frequency investigation: engineering evidence

Research reviewed 2026-09-24, before selecting the revised circuit. This is the source/assumption record; production measurements and the final implementation decision are recorded separately. No commercial transformer is being cloned.

The original circuit's inferred gaps are substantial magnetic reluctances, even though their dimensions are small. Removing them is physically meaningful, but cannot alone explain or cure several dB of loss at 20 Hz: the original linear estimates are approximately -0.10, -0.42 and -0.75 dB there. A larger measured loss requires examining signal-dependent core compression and drive mapping.

Published device constraints

These are manufacturer facts in their own fixtures. They are not equivalent to measurements of our generic models. URLs, exact locations and retrieval hashes are in the LF source manifest and PDF hashes.

Reference Material/construction Source / load Published LF response Relevant additional facts
Jensen JT-11P-1, pp. 1-2 Line input, 1:1 600 ohm / 10 kohm At +4 dBu: -0.04 dB typical, -0.15 dB minimum at 20 Hz relative to 1 kHz Primary/secondary DCR 1450/1550 ohm; THD 0.025% typical at 20 Hz, +4 dBu; 1% THD at +20 dBu typical, 20 Hz
Lundahl LL1540, p. 1 High-permeability mu-metal, line input 600 ohm / 15 kohm 5 Hz-50 kHz within +/-0.2 dB Normal series-series connection; each primary half 610 ohm, each secondary half 800 ohm; THD below 0.1% at +20 dBu and below 1% at +30 dBu, 50 Hz
Lundahl LL1517, p. 1 Audio C-core, line output 10 ohm / 600 ohm 10 Hz-80 kHz within +/-0.3 dB Each primary/secondary half 9.2/9.5 ohm; 0.3 mH secondary leakage in series; +24 dBu maximum before saturation at 30 Hz with series secondary

LL1540's response specification does not state its measurement level, so it cannot establish level-independent flatness. LL1517's sub-0.03% distortion at +20 dBu/30 Hz is specified with mixed feedback; do not compare that number to an unassisted passive simulation. The maker's line-output guidance identifies the family as silicon-iron C-cores and recommends low source impedance. Thus low inductance can coexist with good bass when the driving resistance is also small; the relevant engineering ratio is resistance to inductance.

Additional published inductance examples:

The orders of magnitude are application-dependent: a few H is not inherently incorrect, and hundreds of H is not a universal requirement.

First-principles linear prediction

This derivation is an independent calculation from the implemented topology. All impedances below are referred to the primary. For the 1:1 IRON circuit, ignore leakage/capacitance temporarily to isolate the LF mechanism:

R1 = Rsource + Rprimary
R2 = Rsecondary + Rload
Rth = R1 || R2
Hmid = Rload / (R1 + R2)
H(s) / Hmid = s*Lm / (Rth + s*Lm)
fc = Rth / (2*pi*Lm)
relative_response_dB(f) = -10*log10(1 + (fc/f)^2)

Lm = mu0*N^2*Ae / (le/mu_initial + gap)
q = c*Ms/(3*a)
mu_initial = 1 + q/(1-alpha*q)

The JA expression describes a demagnetized origin with frozen irreversible state in the infinitesimal limit. It is not an arbitrary finite-loop AC inductance. Differentiating the inverse material law gives the incremental inductance around the instantaneous state; a finite driven loop also includes irreversible evolution. The two must not be interchanged.

Original v0.1.0 analytic values, with the existing geometry and winding data:

Core Initial relative permeability Lm with original gap Lm without gap Original gap's fraction of total reluctance Original fc Original 20 Hz response
Nickel 45,000 11.975 H 25.447 H 52.9% 2.989 Hz -0.096 dB
Alloy 18,000 6.077 H 10.179 H 40.3% 6.389 Hz -0.422 dB
Steel 22,126 5.703 H 12.012 H 52.5% 8.657 Hz -0.746 dB

The same calculation predicts -1.33/-4.20/-6.02 dB at 5 Hz. The static loss is real in these inferred circuits and is distinguishable from saturation. In particular, an infinitesimal-input curve cannot be assumed to represent a normal-level sine at minimum IRON: those are different experiments.

Reproducible script, numeric calculations, and counterfactual plots. The plot is analytical, not output from the production plugin; the full circuit bench must verify it with leakage, capacitance, eddy loss and discretization.

What the published response implies about inductance

Inverting the same first-order expression with published DCR/source/load gives an inferred R/L equivalent, not the manufacturer's measured inductance:

Published anchor used Inferred Rth R/L equivalent needed
JT-11P-1 typical -0.04 dB at 20 Hz 1741 ohm About 144 H
JT-11P-1 limit -0.15 dB at 20 Hz 1741 ohm About 74 H
LL1540 +/-0.2 dB at 5 Hz 1640 ohm About 240 H if the negative limit is entirely R/L rolloff
LL1517 +/-0.3 dB at 10 Hz 27.15 ohm About 1.62 H under the same assumption

These are broad design checks. Real permeability/loss depends on excitation, and a tolerance band is not a measured negative endpoint. The derivation omits all other parasitics; it cannot recover winding count or magnetic geometry. See the machine-readable inference table.

Air gaps and construction

Whitlock, printed pp. 5-6 distinguishes deliberate gaps for DC tolerance from unintended lamination joints. Either can reduce inductance substantially; properly assembled laminations minimize unwanted gaps, while a tape-wound toroid has no cut joint. His discussion of source impedance and LF response on pp. 9-10 makes clear that nonlinear magnetizing current causes output error through finite source and copper resistance. Neither hysteresis nor high permeability requires a fixed audible-band bass shelf.

Lundahl LL1620/1623/1627, p. 3 quantifies an intentional DC application: its LL1623 entries pair a 25 um push-pull gap-column value with 150 H, versus 125/190/250 um single-ended values with 46/30/23 H. The column is labelled delta/2, so these values must not be copied as our single-path total gap. These large power-output examples demonstrate the tradeoff, not an appropriate gap for a DC-free line transformer.

Evidence boundary: none of the inspected primary references identifies 2/3/5 um equivalent joint gaps for our three generic profiles. Those values were assumptions, not measurements. No primary evidence was found for a universal residual-joint gap in all EI or C-core audio transformers.

For a generic DC-free, well-closed magnetic path, zero additional equivalent gap is a defensible idealization. It does not assert that real joints have zero reluctance or that every construction is a toroid. An explicit nonzero gap should come from a selected construction or a measured assembled-core inductance. A 0.2 um sensitivity experiment is useful, but is not a newly measured or universally correct gap. The nonlinear solver must remain stable without a gap; adding reluctance solely for numerical stability is not a physical validation.

Permeability and geometry constraints

VAC high-nickel data distinguishes initial permeability measured at 0.1 A/m from maximum permeability. MUMETALL strip has typical initial values 45,000 or 90,000 for different specified heat treatments, and 0.78 T saturation polarization. The 45,000 value supports an order of magnitude; it is not a fitted infinitesimal JA susceptibility or an assembled transformer's measurement.

VAC 40-50% nickel data lists 1.55 T saturation polarization and maximum permeability 150,000-180,000 for the relevant strip families. Maximum permeability does not justify replacing the model's initial 18,000 with those values. The latter remains a documented inference, and the nickel loop shapes remain unmeasured archetypes. The steel fit's weak minor-loop accuracy also remains a separate limitation.

Faraday's law constrains the turns-area product:

Bpeak = Vrms / (sqrt(2)*pi*f*N*Ae)
Vrms at selected B = sqrt(2)*pi*f*N*Ae*Bpeak

With the original 600 turns and 1 cm^2 nickel area, N*Ae=0.06 turn m^2; the steel equivalent is 0.072. At 20 Hz, a hypothetical 1 V RMS across the nickel winding implies 0.188 T before source/copper drops. At 5 Hz it implies 0.750 T, close to the nickel polarization scale. This establishes why a response change can become nonlinear in the bass even when the infinitesimal circuit is flat. Ms is a magnetization limit, not a hard bound on total B.

Manufacturer terminal sheets do not uniquely identify turns or area. Increasing N to improve inductance simultaneously changes N*Ae (saturation headroom) and typically copper resistance, leakage and capacitance. Increasing N alone without documenting the revised construction is an incomplete repair.

Defensible circuit experiment and acceptance targets

Evaluate an ungapped equivalent and a 50-ohm source, retaining the original turns, area, path length and finite winding copper. Low source impedance is supported by the cited line-output practice. Fifty ohms is a generic design choice, not a measured hidden parameter of a particular reference transformer.

The isolated R/L prediction then gives 20-Hz losses of about 0.007/0.058/0.053 dB for Nickel/Alloy/Steel. The small 0.2-um-gap sensitivity gives 0.009/0.063/0.058 dB. A useful product target is therefore less than 0.1 dB of unintended static loss at 20 Hz in the revised nominal fixture, to be verified against the full solver rather than enforced with equalization. This is an engineering acceptance target informed by the reference universe; it is not a claim of equivalence to the best line-input transformer.

Lower source resistance reduces the conversion of nonlinear current into voltage error; it does not remove finite copper, JA memory, material dependence, or eventual saturation. Removing a series gap increases magnetizing inductance while leaving the material law intact. Preserve and measure actual compression separately. Changes to TUBE/BUS require evidence that their own topology, operating point or implementation has the same problem; a shared kernel name alone is insufficient.

Interpreting isolation experiments

Automatic compensation boundary

Use exact/static linear excitation and insertion compensation first. Any additional musical compensation should be a smooth, bounded drive/core curve derived offline from fixed, disclosed reference signals. It should not depend on the live envelope. That preserves the within-setting compression curve, silence behaviour, and transient gain reduction: multiplying all samples by the same gain cannot restore a flattened transient relative to its sustain.

A fixed curve cannot match loudness simultaneously for a very quiet sine, a high-level bass tone and a dense full-band mix when nonlinear compression differs between them. Report those residual level differences; a promise of universal unity perceived loudness would require signal-dependent riding or would conceal real compression. Separate calibration references from validation tones, bursts, synthetic source-class probes and the user's recorded mixes.

Automatic compensation: protocol and evidence boundary

Written before selecting the revised circuit and compensation coefficients.

The control removal must replace the existing arbitrary +12dB high-drive makeup with a reproducible, bounded, core/drive calibration. Excitation gain and nominal resistive insertion loss are algebraically cancelled. Additional correction is a fixed lookup curve, selected by CORE and IRON and smoothed during automation. No program envelope, running RMS, detector, silence gate or adaptive loudness feedback is allowed in the production compensation path. A constant control setting therefore applies one constant scalar to a whole transient, preserving the circuit's crest factor and compression slope.

Calibration and independent tests

Use repeatable synthetic, band-limited noise references, with held-out noise seeds and spectra for validation. Reference input levels and calibration duration are stored with the coefficient generator. Calibration is offline at 48kHz using the same C++ transformer engine. The user recordings are validation material only, never coefficient-fitting inputs. Compensation is bounded to avoid an unreasonable boost of a severely collapsed core. The final bound and any residual level error are reported, not hidden by per-file normalization.

Offline measurements include unweighted RMS, K-weighted mean-square change, peak and crest-factor change. At 48kHz the K-weighting coefficients are the published ITU-R BS.1770 prefilter coefficients. This is a comparison metric, not a claim of EBU-compliant integrated loudness metering: gated LUFS, surround channel handling, LRA and a certified true-peak meter are outside its scope. The weighting filters exist only in Python measurement tools and never filter the plugin output.

References:

Validation must include coherent steady sines (bass and midband), bass-note envelopes, transient percussion, harmonic/formant vocal-like probes, full mixes, silence followed by signal, and sudden input-level changes. Generated probes are explicitly synthetic; they are not recordings of isolated instruments or vocals. The supplied mixes remain private and are excluded from release archives.

Compare compensated and uncompensated waveforms at fixed controls to prove the former is a scalar multiple of the latter. Compare low/high input levels to prove physical compression persists. Check identical compensation for silence and sound, bounded automation transitions, reset determinism, no allocations, no stereo-dependent gain differences, exact bypass and a MIX=0 dry null.

No static coefficient set can equalize every sine frequency, signal level and spectrum once the core is strongly nonlinear. Document that limit alongside the representative program results. Do not secretly add a live gain rider to make an extreme sine test appear level-invariant.

Selected calibration ensemble

The final curve gives equal weight to two reproducible power spectra: 1/f (pink) and 1/f^2 (brown), band-limited from 25 Hz to 18 kHz, at -24 and -18 dBFS RMS, with independent seeds 1307 and 2311. The 63 core/drive nodes therefore use 504 synthetic references. Each node averages the required gain in dB; interpolation also occurs in dB. The allowed bound is -3..+18 dB. This is a musical reference ensemble, not a claim of a universal music spectrum or a physical material property.

The first pink-only calibration left large extreme-setting losses on bass-weighted held-out material. Adding a second independent synthetic spectrum balances this tradeoff without fitting the supplied recordings or adding program-dependent gain. Preserved candidate data shows the cost: bright, high-frequency material can become louder at extreme IRON. Isolated bass and percussion can still become substantially quieter through genuine magnetic compression. Through moderate settings, residual differences remain small. Neither reference choice can make every saturated signal unity-level.

Held-out noise uses separate seeds and a third, brighter spectrum; bass, percussion, vocal-formant, sine, silence and step probes remain validation-only. The supplied twelve mixes also remain outside the coefficient generator. Final reports retain both the performance improvement and the residual limits.

SAK-IRON 0.2.0 validation and release scope

The LF revision corrects IRON's inferred equivalent circuit and excitation mapping, removes OUTPUT, and adds fixed calibrated automatic compensation. It does not add compensating EQ or alter TUBE/BUS audio. The engineering record is the combined local report.

Low-frequency cause and result

Unsupported additional joint gaps consumed 40-53% of the initial magnetic reluctance. Together with the selected source resistance, they produced a passive LF pole. The larger drive-dependent loss was real core compression triggered too early by the old excitation mapping. A broadband makeup scalar cannot create or remove the LF/HF ratio; the former arbitrary high-drive boost also made level comparisons misleading.

The revised closed-path equivalent has no additional gap and uses a 50-ohm source. Copper, turns, area, path length, JA parameters, hysteresis history, eddy loss, leakage and capacitance remain. The gentler 0-60% excitation range reserves extreme drive for the upper region; the original 100% voltage remains.

20 Hz relative to 1 kHz Nickel Alloy Steel
Original linear probe -0.094 dB -0.418 dB -0.727 dB
Revised linear probe -0.005 dB -0.054 dB -0.046 dB
Original IRON 50%, -12 dBFS peak -3.657 dB -0.513 dB -1.202 dB
Revised IRON 50%, -12 dBFS peak -0.031 dB -0.135 dB -0.082 dB

Revised 20 Hz THD at 50% remains 0.391/0.461/0.269%; at 75% it rises to 91.4/52.1/22.4%. Extreme relative bass compression remains approximately 33 dB. Restored modest-drive weight was not achieved by removing magnetism.

LF investigation, primary references, and interactive before/after plots retain the assumptions, equations, component substitutions and limitations. Both revisions include 1,764 engine frequency/level/drive cases, 1,008 isolated circuit cases and 540 level cases. The engine sweeps use 96 kHz, 5 Hz-40 kHz, IRON 0/10/25/50/75/90/100%, a genuinely small internal-source probe and fixed -30/-12/-3 dBFS levels, with at least two seconds settling. The baseline's seven checks and revision's ten checks pass, including linearized-circuit agreement, independent backward-Euler transfer, filter response, dry null, reset and zero-gap numerical stress.

Automatic compensation and switching

The additional gain is a bounded fixed CORE/IRON lookup, calibrated offline. No live RMS detector, envelope follower, adaptive normalization or silence correction runs in the plugin. Its scalar identity, crest preservation and compression-curve slope are tested against an independently compiled raw bridge. See calibration protocol and held-out validation.

Automation testing exposed a pre-existing core-change artifact: a projection's stored-energy discharge reached the output through FIR history after the five-millisecond fade had already begun reopening. The revised transition holds delayed dry for 5 ms plus 128 host samples after projection, then fades wet back in. Both magnetic states keep evolving; no flux, hysteresis history or filter state is erased. Prepared plugin latency stays 128 samples.

A retained pre-fix test reproduction peaked at 1.560 FS through the switching artifact. The final 120 cases covering all ordered core pairs, combined and drive-only edits, five sample rates from 44.1 to 768 kHz, and 0.4 FS peak input pass the disclosed peak/step limits. Worst peak is 0.931 FS, worst adjacent-sample change 0.749 FS, and block-partition differences are zero. These are fixture-specific bounds, not a limiter claim. See automation evidence.

Product checks

The general DSP report retains transfer curves, B-H loops, spectra, THD versus frequency/level, harmonic distribution, compression, intermodulation, aliasing and rate tests. The nonlinear measurements retain the limited observable harmonic bandwidth near Nyquist; sample-rate THD comparisons use a common 4 kHz harmonic band.

The 8x alias test's worst nonharmonic residual is -64.96 dBc at full drive; 25% and 75% measurements remain below -138 dBc. Difference from 16x also contains integration/filter error and is not mislabeled pure aliasing. Oversampling is still 8/4/2/1 at increasing host rates; no brute-force increase was used to repair the LF problem. FIR-only LF loss is below one millionth of a dB in the retained test. The measured standard-rate response spread remains within the existing limits.

Adversarial input/DC reversal tests across 8-768 kHz produce zero solver failures. Maximum recorded magnetic residual is about 1e-12 T, electrical residual about 9.8e-11 A. All storage is fixed; processing, automation and reset allocate no memory. Output is not limited: pathological input can exceed full scale. CPU measurements are workstation wall times, not worst-case DAW guarantees.

TUBE and BUS

The family audit traces every implementation, plots full paths and transformer nodes, and records source hashes. Frozen/current compiled TUBE and BUS produce bit-identical audio. Neither plugin's production code nor the shared magnetic/filter headers changed in this revision.

BUS's tested uncompressed path loses about 0.011 dB at 20 Hz relative to 1 kHz. TUBE's audited amplifier path loses about 5.83 dB at modest excitation; its linear magnetic branch reproduces that shape, and removing its output gap still leaves about 4.45 dB loss. Its amplifier/coupling/speaker context differs from IRON's line-transformer objective. No arbitrary family-wide gap removal or bass correction was propagated.

Existing discrepancies remain explicit: TUBE's smallest held-out steel-loop H error is 0.319923 against its 0.15 goal. BUS's current response range is 0.113552 dB, passing the 0.5 dB absolute limit but failing the stored 0.065867454 dB implementation fingerprint within 0.025 dB. The fingerprint difference is 0.0476841 dB. Neither baseline nor acceptance threshold was changed to hide it.

Physical and listening limitations

Steel's retained small/medium/major loop H errors are about 32.00/13.24/1.84%, and the two smaller loop losses are substantially underestimated. Nickel and Alloy loop shapes and all winding geometry are inferred designs. The model is not a measured commercial transformer replica. Manufacturer fixtures constrain orders of magnitude; they do not uniquely identify our equivalent circuit.

The retained high-frequency leakage/integration response is also explicit: 20 kHz relative to 1 kHz is about -0.77/-1.21/-1.96 dB across the cores. The LF improvement does not establish flat full-band equivalence to the cited devices. Temperature, magnetic viscosity, distributed excess loss and vector anisotropy remain outside this reduced model.

Twelve supplied mixes have private, aligned before/after renders and a 216-case all-core program-level matrix. Maximum absolute K-weighted level error is 0.107 dB through 50% IRON and 0.677 dB through 75%. At 100%, median errors are -2.08/-1.41/-1.03 dB for Nickel/Alloy/Steel; individual mixes span -4.02 to +1.82 dB across the cores. These are held-out validation results, not universal loudness guarantees. One common playback trim per source preserves level comparisons; raw float renders retain exact output. No supplied audio was used to fit coefficients. Separate instrument/vocal recordings were unavailable; synthetic percussion, bass and vocal-formant probes are labeled accordingly. Human listening approval is not claimed. Extreme bass-rich material can lose substantial level because actual magnetic compression is retained; a fixed scalar cannot guarantee unity loudness for every spectrum and input level.

Distribution

Windows x64 VST3 and standalone builds, a PDF manual, unsigned installer, portable ZIP, corresponding source with JUCE, licenses, hashes and build provenance are generated locally. No site publication or installed production plugin replacement is performed. Older sessions restore retained parameter IDs but no longer apply OUTPUT; the new excitation mapping deliberately changes the sound at equal percentages. The v0.1 artifacts remain available for exact recall.

Installer repair/uninstall and isolated corresponding-source rebuild evidence are retained under validation/install-test and validation/source-check. Per-user installation is exercised only inside a checked workspace path. All-users installation requires an administrator environment and is not claimed tested.