Skip to content

Add opt-in NEON network execution for microWakeWord - #969

Merged
0xShug0 merged 1 commit into
mainfrom
feature/micro-wake-word-neon
Oct 18, 2026
Merged

0xShug0 merged 1 commit into
mainfrom
feature/micro-wake-word-neon

Conversation

@0xShug0

@0xShug0 0xShug0 commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add opt-in NEON execution for the existing microWakeWord stateful CNN through micro_wake_word.exec_plan.
  • Reuse the optional NEON library with additive tensor operators and unit tests. Keep GGML as the default and respect the requested thread count.
  • Support existing embedded GGUF specs without reconversion.

Validation

Apple M4 Pro, warm requests, same F32 GGUF:

Threads Input RTF before RTF after Reduction
1 Speech, 14.07s 0.001391 0.000620 55.4%
1 Wake phrase, 3.92s 0.001382 0.000615 55.5%
4 Speech, 14.07s 0.003212 0.002068 35.6%
4 Wake phrase, 3.92s 0.003043 0.001780 41.5%

Probabilities and detections matched exactly, including offline/streaming and repeated-request state resets. Checked compile flag ON/OFF and legacy embedded specs. Rebuilt against current main; NEON library, tensor-operator and model-spec tests pass (3/3).

@0xShug0
0xShug0 merged commit 5b772fe into main Oct 18, 2026
6 checks passed
@0xShug0
0xShug0 deleted the feature/micro-wake-word-neon branch October 18, 2026 04:27
cunba-ai pushed a commit to cunba-ai/audio.cpp that referenced this pull request Oct 28, 2026
…ke-word/Whistle NEON + Drama3 deepening + per-model server device selection

Upstream commits a8ba5a3..5074956 (16):
- shared object libraries declared in model registrations (0xShug0#966)
- OpenWakeWord Alexa GGUF package (0xShug0#968)
- Whistle host decoder restored + opt-in NEON acceleration (0xShug0#967)
- opt-in NEON network execution for microWakeWord (0xShug0#969)
- fish_drama3: per-layer expert counts, speech-only head (0xShug0#959)
- server: exec_plan engines counted in free-memory guard (0xShug0#964)
- server: config model settings kept on WebUI loads, demo voices with --ui (0xShug0#971)
- fix(rknn): exec_plan engine lookup next to the model (0xShug0#963)
- webui: configured models treated same with/without UI management (0xShug0#972)
- perf(rknn): ladder engine priced by driver report (0xShug0#970)
- feat(server): per-model backend device selection (0xShug0#973)
- perf(fish_dac): chunked reference encoding cuts VRAM peak (0xShug0#960)
- webui: Vietnamese interface translations (0xShug0#839)
- Drama3 base/small release cleanup (0xShug0#976)
- text chunking: closing quotes kept with their sentence, tag-aware (0xShug0#977)
- fish_drama3: default top_k 4097 no cap, matching Fish's Space (0xShug0#978)

# Conflicts:
#	src/community_models/whistle_asr/session.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant