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:
@@ -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).
|
||||
=> 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).
|
||||
|
||||
## ============ 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.
|
||||
|
||||
Reference in New Issue
Block a user