framed_model.cpp now follows the decoded mono-path structure: level -> scale(0x540870*0x54088c/0x1a0) -> IIR1 leaky(A1/B1) -> IIR2(A2/B2) -> exp2(0.5*(mask-blend)) -> combine/acc -> warp -> IIR3(A3/B3)x2 -> dry/wet IIR stages are the real live tables (iir_leaky y=A*acc+B*x, B=1-A). Removed the empirical mask_lut=(1/(1+K*acc))^n. Not numerically calibrated yet: exp2 bigkernel exact semantics + PRNG prologue (fVar30) + FFT-conv still TBD; t1kq depth -2.9 vs -14.98 dB ref.
57 lines
1.6 KiB
CMake
57 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(soothe2_dsp)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
add_library(soothe2_dsp SHARED
|
|
fft_plan.cpp
|
|
fft_stage.cpp
|
|
twiddle_builder.cpp
|
|
fft.cpp
|
|
spectral.cpp
|
|
filter.cpp
|
|
detect.cpp
|
|
twin.cpp
|
|
freqpath.cpp
|
|
levelpath.cpp
|
|
phase_table.cpp
|
|
fftconv.cpp
|
|
vlog.cpp
|
|
leveltrack.cpp
|
|
framed_model.cpp
|
|
rt_weights.cpp
|
|
rt_mask_tables.cpp
|
|
)
|
|
|
|
add_executable(soothe2_harness harness.cpp)
|
|
add_executable(framed_test framed_test.cpp)
|
|
add_executable(twin_check twin_check.cpp)
|
|
add_executable(tables_check tables_check.cpp)
|
|
add_executable(fftconv_check fftconv_check.cpp)
|
|
add_executable(vlog_check vlog_check.cpp)
|
|
add_executable(leveltrack_check leveltrack_check.cpp)
|
|
add_executable(levelpath_check levelpath_check.cpp)
|
|
target_link_libraries(twin_check soothe2_dsp)
|
|
target_link_libraries(framed_test soothe2_dsp)
|
|
target_link_libraries(tables_check soothe2_dsp)
|
|
target_link_libraries(fftconv_check soothe2_dsp)
|
|
target_link_libraries(vlog_check soothe2_dsp)
|
|
target_link_libraries(leveltrack_check soothe2_dsp)
|
|
target_link_libraries(levelpath_check soothe2_dsp)
|
|
target_link_libraries(soothe2_harness soothe2_dsp)
|
|
|
|
target_include_directories(soothe2_dsp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
target_link_libraries(soothe2_dsp Threads::Threads)
|
|
|
|
set_target_properties(soothe2_dsp PROPERTIES
|
|
POSITION_INDEPENDENT_CODE ON
|
|
)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
target_compile_options(soothe2_dsp PRIVATE -O3 -march=native)
|
|
endif()
|