| cmake_minimum_required(VERSION 3.15) |
| project(rnnoise_ax620e_sdk LANGUAGES CXX C) |
|
|
| set(CMAKE_CXX_STANDARD 14) |
| set(CMAKE_CXX_STANDARD_REQUIRED ON) |
|
|
| include_directories(include src/rnnoise) |
|
|
| # 原版 rnnoise 信号处理(denoise/pitch/FFT/LPC/表格)。 |
| # 注意:不编译 rnn.c(其 compute_rnn 由 src/rnnoise_ax.cpp 用 AX Engine 替换)。 |
| add_library(rnnoise_c STATIC |
| src/rnnoise/denoise.c |
| src/rnnoise/pitch.c |
| src/rnnoise/kiss_fft.c |
| src/rnnoise/celt_lpc.c |
| src/rnnoise/nnet.c |
| src/rnnoise/nnet_default.c |
| src/rnnoise/parse_lpcnet_weights.c |
| src/rnnoise/rnnoise_data.c |
| src/rnnoise/rnnoise_tables.c |
| ) |
|
|
| add_library(rnnoise_ax620e_sdk STATIC |
| src/model_runner.cpp |
| src/rnnoise_ax.cpp |
| ) |
| target_include_directories(rnnoise_ax620e_sdk PUBLIC include) |
| target_link_libraries(rnnoise_ax620e_sdk PRIVATE rnnoise_c) |
|
|
| add_executable(model_example examples/main.cpp) |
| target_link_libraries(model_example PRIVATE rnnoise_ax620e_sdk) |
|
|
| if(AX_RUNTIME_ROOT) |
| target_include_directories(rnnoise_ax620e_sdk PUBLIC ${AX_RUNTIME_ROOT}/include) |
| target_link_directories(rnnoise_ax620e_sdk PUBLIC ${AX_RUNTIME_ROOT}/lib) |
| # AX620E/AX630C(AX620E NPU2)官方 BSP(ax620e_bsp_sdk v2.0.0)的 |
| # libax_engine.so 依赖 libax_interpreter.so(AX_NPU_Get_* 系列符号),须一并链接。 |
| target_link_libraries(rnnoise_ax620e_sdk PUBLIC ax_engine ax_interpreter ax_sys pthread dl atomic) |
| endif() |
|
|