GCRN / README.md
inoryQwQ's picture
Upload folder using huggingface_hub
5e23710 verified
|
Raw
History Blame Contribute Delete
2.11 kB
---
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 秒分块处理并拼接。