Lightweight Speech Denoising.axera
Overview
Highlights
- Optimized for low-latency edge device deployment
- Efficient real-time background noise suppression
- Permissive MIT license for commercial use
- Minimal memory overhead for embedded systems
Usage
# Install Hugging Face transformers
pip install transformers torch
# Load model with transformers
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained("AXERA-TECH/Lightweight-Speech-Denoising.axera")
tokenizer = AutoTokenizer.from_pretrained("AXERA-TECH/Lightweight-Speech-Denoising.axera")
Hugging Face Download
We recommend downloading the model via the Hugging Face CLI or Hub SDK.
Guidance:Before downloading, install huggingface_hub with:
pip install -U huggingface_hub
CLI Download
Download the full repository
huggingface-cli download AXERA-TECH/Lightweight-Speech-Denoising.axera
Download a single file to a local folder (e.g. config.json into ./dir)
huggingface-cli download AXERA-TECH/Lightweight-Speech-Denoising.axera config.json --local-dir ./dir
See the official docs for more CLI options
SDK Download
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('AXERA-TECH/Lightweight-Speech-Denoising.axera')
Git Download
Make sure git-lfs is installed first
git lfs install
git clone https://huggingface.co/AXERA-TECH/Lightweight-Speech-Denoising.axera
To skip LFS large-file downloads, use:
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/AXERA-TECH/Lightweight-Speech-Denoising.axera
Model files are hosted on the Hugging Face Hub — download directly via HF CLI / SDK / Git, not through this site.
PyTorch / Transformers Usage
Install Transformers
pip install -U transformers torch
Load the model and run inference
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained('AXERA-TECH/Lightweight-Speech-Denoising.axera')
tokenizer = AutoTokenizer.from_pretrained('AXERA-TECH/Lightweight-Speech-Denoising.axera')
Model Download
We recommend downloading the model via the ModelScope CLI or SDK.
Guidance:Before downloading, install ModelScope with:
pip install modelscope
CLI Download
Download the full repository
modelscope download --model AXERA-TECH/Lightweight-Speech-Denoising.axera
Download a single file to a local folder (e.g. README.md into ./dir)
modelscope download --model AXERA-TECH/Lightweight-Speech-Denoising.axera README.md --local_dir ./dir
See the docs for more CLI options
SDK Download
# 模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('AXERA-TECH/Lightweight-Speech-Denoising.axera')
Git Download
Make sure git-lfs is installed first
git lfs install
git clone https://www.modelscope.cn/AXERA-TECH/Lightweight-Speech-Denoising.axera.git
To skip LFS large-file downloads, use:
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/AXERA-TECH/Lightweight-Speech-Denoising.axera.git
ModelScope 模型页直接下载模型文件;无需将模型文件放在本站服务器。
Notebook Quickstart
Install the ModelScope library
pip install "modelscope[audio,cv,nlp,multi-modal,science]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
Load the model and run inference
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
p = pipeline('text-generation', 'AXERA-TECH/Lightweight-Speech-Denoising.axera')
Full Documentation
---
license: mit
language:
- zh
- en
pipeline_tag: audio-to-audio
tags:
- speech-enhancement
---
Lightweight-Speech-Denoising
This project provides lightweight speech enhancement (denoising) models optimized for Axera NPU platforms, combining the DSP framework of RNNoise and the model architecture of GTCRN.
Key Features
- Good Denoising Quality — Built on GTCRN and RNNoise frameworks; strong noise suppression even at very low parameter counts.
- Ultra-Lightweight Models — Smallest model under 100 KB; CMM memory footprint below 150 KB.
- Minimal Operators —
tiny_v5andconv_seare pure convolutional models with very few operator types;tiny_v5supports quantization on the operator-limited AX525 platform.
- End-to-End Workflow — Full pipeline. Full project with export / quantization scripts
- Multi-Platform Support — Board inference validated on AX620Q, AX630C, and AX650; PTQ quantization also available for AX620L, AX637, and AX525.
Convert tools links
For those interested in model conversion, refer to:
Support Platform
- AX650
- AX630C
- AX620Q
- AX620L
- AX637
- AX525(only for tiny_v5)
How to use
Directory layout on device:
root@ax650:~# tree Lightweight-Speech-Denoising.axera
Lightweight-Speech-Denoising.axera
├── README.md
├── axmodels
│ ├── ax525_tiny_v5_setrain.axmodel
│ ├── ax620E_conv_se_setrain.axmodel
│ ├── ax620E_gtcrn_setrain.axmodel
│ ├── ax620E_tiny_v5_setrain.axmodel
│ ├── ax620L_conv_se_setrain.axmodel
│ ├── ax620L_gtcrn_setrain.axmodel
│ ├── ax620L_tiny_v5_setrain.axmodel
│ ├── ax637_conv_se_setrain.axmodel
│ ├── ax637_gtcrn_setrain.axmodel
│ ├── ax637_tiny_v5_setrain.axmodel
│ ├── ax630c_conv_se_setrain.axmodel
│ ├── ax630c_gtcrn_setrain.axmodel
│ ├── ax630c_tiny_v5_setrain.axmodel
│ ├── ax650_conv_se_setrain.axmodel
│ ├── ax650_gtcrn_setrain.axmodel
│ └── ax650_tiny_v5_setrain.axmodel
├── build_ax620q
│ └── test_se_denoise_ax
├── build_ax630c
│ └── test_se_denoise_ax
├── build_ax650
│ └── test_se_denoise_ax
├── models
│ ├── conv_se_ax650_config.ini
│ ├── gtcrn_7input_ax650_config.ini
│ ├── tiny_v5_ax650_config.ini
│ └── ...
├── run_ax620q_all.sh
├── run_ax630c_all.sh
├── run_ax650_all.sh
└── test_wavs
└── mix.wavDownload all files from this repository to the device, then run the corresponding script for your platform:
# AX650
sh run_ax650_all.sh
AX630C
sh run_ax630c_all.sh
AX620Q
sh run_ax620q_all.shOutput .wav files will be saved to output/<platform>_all/.
Inference Results
tiny_v5
| Platform | Avg Infer (ms) | RTF | Realtime Speedup |
|----------|---------------|--------|-----------------|
| AX650 | 0.160 | 0.0117 | 85.3x |
| AX630C | 0.587 | 0.0232 | 43.1x |
| AX620Q | 0.736 | 0.0332 | 30.1x |
| AX620L | TBD | TBD | TBD |
| AX637 | TBD | TBD | TBD |
| AX525 | TBD | TBD | TBD |
conv_se
| Platform | Avg Infer (ms) | RTF | Realtime Speedup |
|----------|---------------|--------|-----------------|
| AX650 | 1.963 | 0.0365 | 27.4x |
| AX630C | 7.803 | 0.1092 | 9.2x |
| AX620Q | 14.938 | 0.1970 | 5.1x |
| AX620L | TBD | TBD | TBD |
| AX637 | TBD | TBD | TBD |
GTCRN
| Platform | Avg Infer (ms) | RTF | Realtime Speedup |
|----------|---------------|--------|-----------------|
| AX650 | 2.766 | 0.1756 | 5.7x |
| AX630C | 2.835 | 0.1820 | 5.5x |
| AX620Q | 3.535 | 0.2295 | 4.4x |
| AX620L | TBD | TBD | TBD |
| AX637 | TBD | TBD | TBD |
> Test audio: mix.wav, duration 9.77s, 16kHz mono.
TODO
- [ ] AX525 board inference (quantization done)
- [ ] AX620L board inference (quantization done)
- [ ] AX637 board inference (quantization done)
References
- RNNoise — Mozilla open-source DSP + RNN noise suppression framework; STFT/iSTFT and kiss_fft implementation reused in this project.
- GTCRN — Lightweight Gated Temporal Convolutional Recurrent Network for speech enhancement.