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