RNNoise(爱芯 NPU 版)

Xiph RNNoise 语音降噪在爱芯 NPU 上的部署包,支持 AX650(NPU3)/ AX620E(NPU2) 双芯。 官方模型仓库:https://github.com/xiph/rnnoise

特性

  • 48kHz 单声道实时语音降噪(逐帧 10ms,16-bit 等价域 ±32768)
  • 原版 rnnoise C 信号处理(特征分析 / 合成)+ AX Engine NPU 推理
  • Python 与 C++ 双 SDK;官方未提供 ONNX,本仓库 ONNX 由官方 rnnoise_data.c 权重 1:1 复刻导出(Tanh/Sigmoid 有理逼近对齐 C 端)

支持平台与模型

芯片 NPU 模型目录 gains cosine 板端验证
AX650 NPU3 rnnoise_ax650/ 0.9991(板端 198 帧) ✅ C++ 2.91ms/帧,输出 cosine 0.9988
AX620E NPU2 rnnoise_ax620e/ 0.9987(仿真) ✅ AX630C 板(AX620E NPU2 同构)C++ 4.93ms/帧,输出 cosine 0.9989

每个模型目录内含 model.axmodel + model_meta.json。 量化:U16 链路(MatMul/Conv/Add/Mul/Div/Sub/Concat/Clip/Slice,S8 权重), MinMax,校准数据来自真实语音(speech/speech-echo/speech-reverb + 6dB 噪声)。

快速开始

1. 安装 Python 环境

pip install -r python/requirements.txt

2. 板端运行降噪

# AX650
python3 python/demo.py --chip ax650
# AX620E
python3 python/demo.py --chip ax620e

输出 output/out.pcm(48k f32le)+ output/vad.npy;演示样本为 python/sample_speech.pcm(约 4 秒语音)。

C++ SDK

芯片 目录 说明
AX650 cpp/ax650/ cmake 链接 ax_engine/ax_sys,板端实测 2.91ms/帧
AX620E cpp/ax620e/ 同源码树,目标 AX620E BSP 交叉编译

精度说明

张量 AX650 板端 cosine AX620E 仿真 cosine
gains 0.9991 0.9987(板端 0.9989)
vad 0.99996 0.99997(板端 0.99987)
GRU 状态 0.992–0.996 0.996+(板端输出 0.9989)

复现

完整导出与编译流程(含双芯 Pulsar2 配置与校准数据)见 GitHub:https://github.com/ml-inory/rnnoise.axera

Downloads last month
18
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support