File size: 1,210 Bytes
6dc3c2b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
cmake_minimum_required(VERSION 3.15)
project(rnnoise_ax650_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_ax650_sdk STATIC
  src/model_runner.cpp
  src/rnnoise_ax.cpp
)
target_include_directories(rnnoise_ax650_sdk PUBLIC include)
target_link_libraries(rnnoise_ax650_sdk PRIVATE rnnoise_c)

add_executable(model_example examples/main.cpp)
target_link_libraries(model_example PRIVATE rnnoise_ax650_sdk)

if(AX_RUNTIME_ROOT)
  target_include_directories(rnnoise_ax650_sdk PUBLIC ${AX_RUNTIME_ROOT}/include)
  target_link_directories(rnnoise_ax650_sdk PUBLIC ${AX_RUNTIME_ROOT}/lib)
  target_link_libraries(rnnoise_ax650_sdk PUBLIC ax_engine ax_sys pthread dl atomic)
endif()