--- 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 源码)。