P4: F0 GATE PASSED — output is byte-deterministic; re-renders reproduce committed refs exactly

Two test RPPs (res_only1_500 4s, t1kq_only1_1000 6s) rendered twice each via
reaper -nosplash CLI. Data chunks identical across runs AND byte-identical to the
committed reference wavs. Whole-file differs only in the bext render-timestamp.
=> bit-exact (bytes) is REACHABLE; the per-run-dithrandization blocker is closed.
Next: exact structural chain + kernels + internal 48000/4096 geometry + live A/B/gamma.
This commit is contained in:
2026-08-20 20:03:58 +03:00
parent 4014133d57
commit cea562b511
+20
View File
@@ -1016,3 +1016,23 @@ vs Python bandres (GAIN=4.132=10^(24.65/40), render_parity): match within ~1.5%
300..2000 (fc300: 1.1798 vs 1.1887; fc1000: 0.11746 vs 0.11714; fc2000: 0.7057 vs 0.6963). 300..2000 (fc300: 1.1798 vs 1.1887; fc1000: 0.11746 vs 0.11714; fc2000: 0.7057 vs 0.6963).
=> res shape is NOT the source of the res_only1 fc=300 residual (-1.71 over-cut); that => res shape is NOT the source of the res_only1 fc=300 residual (-1.71 over-cut); that
residual is level-LUT related (input resonant.wav level differs from fit levels). residual is level-LUT related (input resonant.wav level differs from fit levels).
## ============ UPDATE 2026-08-20u: F0 GATE — DETERMINISM VERIFIED (bit-exact REACHABLE) ============
Re-rendered test RPPs twice each (reaper -nosplash -renderproject on /tmp copies with
RENDER_FILE -> /tmp), then byte-compared data chunks:
1. res_only1_500.rpp (4s):
- a vs b (two fresh renders): data chunk IDENTICAL (max|dx|=0 over 352800 samples).
- a vs committed res_only1_500.wav: data chunk IDENTICAL.
2. t1kq_only1_1000.rpp (6s, 1587600 data bytes):
- a vs b: IDENTICAL. a vs committed t1kq_only1_1000.wav: IDENTICAL.
Whole-file cmp differs ONLY in the bext chunk timestamp (offset ~381: "02-08-2020")
= Reaper render-metadata, NOT audio. Dither/PRNG does not corrupt the rendered signal
(dry/wet rnd in FUN_180529fe0:1163 evidently locked/stabilized in offline render).
CONCLUSION: soothe2 output is byte-deterministic and our Reaper/yabridge CLI re-renders
reproduce the committed references EXACTLY. => Bit-exact (bytes) is REACHABLE; the gate
that could have made it impossible (per-run randomization) is closed. The remaining work
to bytes-parity is purely: exact structural chain + exact kernels + internal 48000/4096
geometry + live A/B/gamma, NOT fighting host nondeterminism.