update roadmap.md with C++ DSP implementation status

This commit is contained in:
2026-08-17 03:30:58 +03:00
parent 66bac5e1e5
commit 46badce50d
+27
View File
@@ -211,3 +211,30 @@
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).
### B.1 — C++ реализация DSP-ядра (2026-08-17) — STARTED
- `dsp/fft_plan.hpp/.cpp` — radix-2/4/8 планировщик (из гигантов FUN_18002f980 и др.)
- `dsp/fft_stage.hpp/.cpp` — stage kernels FUN_18000bfc0/18000c5e0 (cplx-mul + accum)
- `dsp/fft.hpp/.cpp` — полный цикл (plan→twiddle→execute)
- `dsp/spectral.hpp/.cpp` — SpectralProcessor (STFT + детектор)
- `dsp/filter.hpp/.cpp` — FilterGraph, DigitalFilter (M10)
- `dsp/detect.hpp/.cpp` — детектор резонансов (M2-M4, M6-M7)
- `dsp/ms.hpp/.cpp` — mid/side encode/decode (M8)
- `dsp/cody_waite.hpp` — sin/cos (FUN_1801de760/1801e3f20)
- `dsp/phase_table.hpp/.cpp` — sin-таблица 1024
- `dsp/twiddle_builder.cpp` — FUN_180039b00 (ветка N>1024)
- `dsp/CMakeLists.txt` — сборка `libsoothe2_dsp.so`
- `dsp/harness.cpp` — WAV16→render→WAV24 (stereo+M8)
### B.2 — Сборка и верификация (2026-08-17)
- `libsoothe2_dsp.so` — собрана (37.3K)
- `harness` — собран (23.2K), работает с WAV16→WAV24
- TODO: `verify_bit_exact.py` — прогон всех свипов, побайтовое сравнение int24 PCM
- TODO: `dsp_notes.md` — документация (карта функция↔смысл, константы, LUT)
### B.3 — Осталось сделать
1. **Twiddle-loader FUN_18014ec20** — декомпил есть, нужна транскрипция (Dekker-split + Cody-Waite)
2. **Bit-reverse permutation** — FUN_18003b6c0 с XOR-маской DAT_181c5e4e0
3. **Детектор/маска** — развернуть 180536f90/180535880 полностью
4. **C++ транскрипция** — переписать fft.cpp с точным порядком FP-операций из декомпиляции
5. **Верификация** — подать тон/синусоиду в тот же путь, что и Reaper-рендер