|
Download README.md from HY-2012/DeepFilterNet3.AXERA: direct link, hf CLI and curl.
- Browser
- Download file 3.11 kB
-
https://huggingface.co/HY-2012/DeepFilterNet3.AXERA/resolve/main/README.md
- Command line
-
hf download hf://HY-2012/DeepFilterNet3.AXERA/README.md
-
curl -L -o README.md https://huggingface.co/HY-2012/DeepFilterNet3.AXERA/resolve/main/README.md
3.11 kB
| language: | |
| - zh | |
| - en | |
| license: mit | |
| pipeline_tag: audio-to-audio | |
| tags: | |
| - speech-enhancement | |
| - noise-reduction | |
| - axera | |
| - ax650 | |
| - deepfilternet | |
| # DeepFilterNet3.AXERA | |
| DeepFilterNet3 (48kHz 全频带实时语音降噪) 的 AXERA 平台量化部署包 (当前支持 AX650N)。 | |
| - 模型: enc (U16) / erb_dec (U16) / df_dec (全 FP32) 3 个子图, GRU 状态跨块携带版 | |
| - 依赖: 仅 numpy + axengine (Python); C++ 为预编译 aarch64 可执行文件 | |
| ## 目录 | |
| ``` | |
| ├── axmodels/ # enc.axmodel / erb_dec.axmodel / df_dec.axmodel | |
| ├── inference.py # Python 推理入口 (依赖仅 numpy + axengine) | |
| ├── requirements.txt | |
| ├── assets/ # 演示音频 (带噪输入 + 增强输出样例) | |
| ├── bin/ # C++ 可执行文件 (aarch64) | |
| └── run.sh # 一键运行 | |
| ``` | |
| ## Python 运行 | |
| ```bash | |
| pip3 install numpy | |
| # pyaxengine: https://github.com/AXERA-TECH/pyaxengine/releases/latest | |
| pip3 install axengine-<version>-py3-none-any.whl | |
| ./run.sh input.wav output.wav | |
| ``` | |
| 或: | |
| ```python | |
| from inference import enhance_audio | |
| out = enhance_audio(audio_float32_48k, model_dir="axmodels") | |
| ``` | |
| ## C++ 运行 | |
| ```bash | |
| LD_LIBRARY_PATH=<ax_runtime>/lib ./bin/df3_ax \ | |
| axmodels/enc.axmodel axmodels/erb_dec.axmodel axmodels/df_dec.axmodel \ | |
| input.wav output.wav | |
| ``` | |
| ## 模型说明 | |
| - 输入: 48kHz 单声道 (PCM16 wav 或 float32 数组) | |
| - 3 子图流水线: STFT(fft 960/hop 480) -> ERB+unit_norm 特征 -> enc (GRU, 状态携带) | |
| -> erb_dec (m 掩码) + df_dec (coefs) -> ERB 增益 + DF 滤波(5 阶, 2 帧前瞻) -> ISTFT | |
| - 静态 T=99 帧/块, GRU 状态跨块传递 (实时流式语义, 与官方 tract 部署一致) | |
| - 完整转换源码见 GitHub: [DeepFilterNet3.AXERA](https://github.com/ZY-2012/DeepFilterNet3.AXERA) | |
| ## RTF(AX650N 实测, noisy_snr0.wav 10.6s) | |
| | 推理路径 | 耗时 | RTF | 峰值内存 | | |
| |------|------|------|------| | |
| | C++ | 1.50 s | 0.142 | — | | |
| | Python | 1.44 s | 0.136 | 28.9 MB | | |
| > RTF = 推理耗时 / 音频时长(不含模型加载,RTF < 1.0 即可实时) | |
| ## 示例结果(AX650N 实测) | |
| | 音频 | 输入 RMS | 输出 RMS | 效果 | | |
| |------|---------|---------|------| | |
| | `assets/noisy_snr0.wav`(SNR 0dB 带噪语音) | 0.0640 | 0.0489 | 噪声移除、语音保留 | | |
| | `assets/enhanced_sample.wav`(上者降噪输出) | — | — | 试听对比用 | | |
| > 其他实测(不在本仓):干净语音 RMS 0.0287→0.0270(几乎无损伤); | |
| > 纯噪声 0.0336→0.0021(约 -24dB 压制) | |
| ## 精度(AX650N 实测) | |
| | 指标 | 数值 | | |
| |------|------| | |
| | 逐张量 cosine vs ONNX(enc/erb_dec) | ≥ 0.9946(U16 量化) | | |
| | df_dec 输出 coefs | 0.99999(全 FP32) | | |
| | 板端端到端 vs 官方 torch 参考 | cosine 0.9857(量化损失仅 0.0005) | | |
| ## 参考 | |
| - [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet) | |
| - [DeepFilterNet3.AXERA](https://github.com/ZY-2012/DeepFilterNet3.AXERA)(完整转换源码) | |
| - [Magnetar](https://github.com/AXERA-TECH/Magnetar) — AXERA 模型部署 agent 工具 | |
| ## 技术讨论 | |
| - GitHub issues | |
| - QQ 群: 139953715 | |