WakeUp.axera / README.md
inoryQwQ's picture
Super-squash branch 'main' using huggingface_hub
139f25e
|
Raw
History Blame Contribute Delete
2.34 kB
---
license: other
pipeline_tag: audio-classification
tags:
- axera
- npu
- wake-word
- onnx
- int8
---
# WakeUp.axera「你好,爱芯」唤醒词检测(AX650 / AX620E 预编译版)
16kHz 单声道 int16 PCM 输入,每 32ms 一帧输出唤醒得分与触发事件。
**NPU 预编译、开箱即用**:模型已编译为 AXMODEL(INT8),无需自己编译。
| 芯片 | 模型文件 | 说明 |
|------|----------|------|
| AX650 / AX630 | `models/ax650/model.axmodel` | NPU3,板端实测 1.83ms/帧(RTF≈0.057),已验证 |
| AX620E | `models/ax620e/model.axmodel` | NPU2,Pulsar2 编译 + 内置仿真检查通过 |
板端实测(AX650C):**“你好,爱芯”触发(max_sum 9.85)/“你好,其他”静默
(max_sum -5.70)**。量化 cosine ≈ 0.999+。
## 快速开始(板端 AX650/AX630/AX620E)
```bash
bash setup.sh # 安装 numpy/soundfile + pyaxengine
bash run.sh # 跑内置示例(你好,爱芯 应触发 / 你好,其他 应静默)
```
用自己的音频:
```bash
python python/wakeup_axera_sdk/example.py \
--model models/ax650/model.axmodel --input 你的音频.wav --threshold 0.615
```
音频要求:16kHz、单声道、int16 WAV(PCM)。阈值默认 0.615(DET_MODE_95),
更灵敏可用 0.608(DET_MODE_90)。
## 在自己的代码里用(Python)
```python
from wakeup_axera_sdk.detector import WakeWordDetector
det = WakeWordDetector("models/ax650/model.axmodel", threshold=0.615)
result = det.process(int16_512_samples) # 32ms 一帧
print(result["wake_score"], result["window_sum"], result["triggered"])
```
## C++ SDK
`cpp/` 提供 CMake 工程 + 已交叉编译的 `cpp/build-aarch64/model_example`(aarch64),
直接链接 AX Engine runtime,板端实测与 Python 结果一致(见 `cpp/README.md`)。
## 目录
- `models/`:ax650/(NPU3)与 ax620e/(NPU2)的预编译 AXMODEL + 示例音频
- `python/`:Python SDK(NPU 专用,仅依赖 pyaxengine,无 CPU 回退)
- `cpp/`:C++ SDK + 预编译 example(aarch64)
- `reports/`:训练与板端验证报告
- `setup.sh` / `run.sh`:一键安装与演示
NPU 专用版说明见 `NPU_ONLY_SDK.md`;本包不包含训练/编译流程(GitHub 仓库
ml-inory/WakeUp.axera 提供完整可复现的 model_convert + train 源码)。