--- license: apache-2.0 pipeline_tag: audio-to-audio tags: - axmodel - axera - gcrn - speech-enhancement --- # GCRN 语音增强(AX650 NPU3) GCRN(Graph Convolutional Recurrent Network)单声道语音增强模型,输入 16 kHz 噪声语音, 输出同长增强语音。本包为 AX650 / NPU3 量化部署版: - 精度:AXMODEL 与 ONNX 参考余弦相似度 **0.9992**(增强波形余弦 0.9997) - 速度:AX650 板端 **RTF 0.029**(9.77 秒音频约 0.28 秒处理完) - 大小:AXMODEL **27.6 MB**(ONNX 38 MB) ## 快速开始(两步) ### 1. 安装环境 ```bash bash setup.sh ``` ### 2. 跑推理 ```bash bash run.sh ``` 脚本会自动选择后端:板端(有 axengine)跑 NPU 模型,普通电脑自动用 ONNX 模型演示。 输出为 `enhanced.wav`,增强前后的对比音频可以自己听一下。 ## 目录说明 | 目录 | 用途 | |------|------| | `models/` | AXMODEL 模型 + `model_meta.json` | | `python/` | Python SDK(axengine / onnxruntime 双后端)| | `cpp/` | C++ SDK(AX Engine runtime,aarch64 交叉编译)| | `model_convert/` | 导出、校准、Pulsar2 编译全套可复现脚本 | | `reports/` | 导出/编译/仿真/板端验证报告 | | `test_audio/` | 自带 9.77 秒测试音频 | ## 在自己的代码里用 ```python from gcrn_sdk import GCRNDenoiser denoiser = GCRNDenoiser("models/model.axmodel") report = denoiser.enhance_file("test_audio/mix.wav", "enhanced.wav") print(report) # 含 RTF 等性能指标 ``` ## 常见问题 **Q: import 报错找不到 axengine?** A: 说明当前不在 AX 板端。代码会自动用 ONNX 模型演示;要在 NPU 上跑,需在 AX650 板端 安装匹配的 axengine wheel(见 `setup.sh` 输出提示)。 **Q: 想自己重新编译 AXMODEL?** A: 进入 `model_convert/` 按 README 操作,Pulsar2 会从 ONNX 重新量化编译。 原始编译使用 Docker 镜像 `pulsar2:7.0-lite`,配置为 NPU3 + U16 高精度模式。 **Q: 输入音频有什么要求?** A: 16 kHz、单声道、16-bit PCM WAV;更长音频会自动按 4 秒分块处理并拼接。