File size: 1,077 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 | # rnnoise-ax650 C++ SDK
48kHz 单声道实时降噪,RNNoise 原版 C 信号处理 + AX Engine(NPU3)网络推理。
## 编译(AX650 板端/交叉环境)
```bash
export AX_RUNTIME_ROOT=/path/to/axruntime # 含 include/ax_engine_api.h 与 lib/libax_engine.so
mkdir -p build && cd build
cmake .. -DAX_RUNTIME_ROOT=$AX_RUNTIME_ROOT
make -j$(nproc)
```
## 运行
```bash
./build/model_example model.axmodel in.pcm out.pcm
```
输入为 48kHz f32le PCM(16-bit 等价域 ±32768,不做归一化);
输出为同格式去噪 PCM。每帧 480 采样(10ms),vad 打印均值。
## 结构
- `include/rnnoise_ax.hpp`:`RNNoiseAX` 类(进程内单实例)
- `src/rnnoise_ax.cpp`:以 AX Engine 替换原版 `compute_rnn`(6 输入/7 输出逐帧状态化)
- `src/model_runner.cpp`:AX Engine 会话封装(按张量名映射,含缓存同步)
- `src/rnnoise/`:原版 rnnoise C 信号处理源码(denoise/pitch/FFT/LPC/表格,ISC 许可);
网络权重已内嵌 AXMODEL,`rnnoise_data.c` 为最小 stub(空权重表 + 零初始化)
|