re: LIVE N0@44100 = 2048, oversample 4 (two SP instances agree); angle-ramp+Cody-Waite twiddle path confirmed for main FFT; rtone/rtver scripts
This commit is contained in:
+19
@@ -192,3 +192,22 @@
|
||||
182617828/850/878 ALL currently point to 0x18014ec20 (same fn).
|
||||
- CONSEQUENCE: for 44100 => N=N0; if N0<=1024 the twiddle = static sin table (reproducible directly);
|
||||
if N0>1024 must replicate Cody-Waite sin/cos of FUN_18014ec20 bit-exactly. N0 (+0x19c) still unfound statically.
|
||||
|
||||
### N0 RESOLVED - LIVE DUMP @44100 (2026-08-17) — KEY
|
||||
- Soothe2 render_short.rpp (44100 Hz) + /proc/pid/mem scan of yabridge-host heap
|
||||
(out file growth confirmed processing; targeted field-signature scan:
|
||||
qword-aligned, +0x19c == +0x1a0 == pow2 in [256..65536], +0x1ac in {2,4,8,16}).
|
||||
- Two independent live SP instances (fork L/R, vptr 0x1824ac210 / 0x1824ac7a8,
|
||||
vtbl-slot families 0x18052xxx = SpectralProcessor) BOTH report:
|
||||
+0x19c N0 = 2048, +0x1a0 = 2048 (=N0, since sr==44100 => 2^floor(log2(1))=1)
|
||||
+0x1a4 winscale = 0.49999988 (Hann 0.5) / 0.66666639 (2/3 window)
|
||||
+0x1ac oversample = 4
|
||||
- N0=2048 > 1024 => twiddle goes the ANGLE-RAMP branch of FUN_180039b00
|
||||
(buf[k]=k*(2π/N) then sin/cos via thunk 1801de760 / thunk 1801e3f20),
|
||||
and cplx-stage loader FUN_18014ec20 re-derives re/im (Dekker-split + Cody-Waite).
|
||||
- Implication for reimpl: for 44.1k we MUST reproduce Cody-Waite sin/cos
|
||||
(1/π=0.31830988618379069, magic 6755399441055744, π_hi/π_lo reduction,
|
||||
poly -1/3!..-1/15!), NOT the static 1024-table path. Soothing does NOT use the
|
||||
static sin-table for its main FFT at 44.1k.
|
||||
- Method: rtone.py (single render, wait for out growth, scan), rtver.py (field verify).
|
||||
Old soothe_rt.bin is module-only range => heap objects absent (why vptr-scan found 0).
|
||||
|
||||
Reference in New Issue
Block a user