metadata
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 setup.sh # 安装 numpy/soundfile + pyaxengine
bash run.sh # 跑内置示例(你好,爱芯 应触发 / 你好,其他 应静默)
用自己的音频:
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)
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 源码)。