"Hey Assistant" wake-word on the VoxRT runtime
An always-on wake-phrase detector for the phrase "Hey Assistant".
~100 KB .vxrt model, ~48K parameters, streaming 16 kHz mono input,
sigmoid-score output. Trained in-house on synthetic data — no
upstream weights, no upstream licence obligations on the weights
themselves.
Ships on Android, iOS, Linux aarch64, and the browser (WASM SIMD128).
On the smallest supported hardware — a $15 Raspberry Pi Zero 2 W —
it holds the always-on hot loop at 5.3 % of one A53 core, sustained.
Try it live in your browser:
the
@voxrt/wake-word-browser npm package + the HF Space at
hf.co/spaces/VoxRT/wake-word-browser-demo
(see the "About the Space" note at the bottom of this card if the
Space link is still pending).
Model quality
Test split: 5,240 positive utterances + 6,416 hard-negative
utterances (isolated "Hey", isolated "Assistant", competitor
wake-words like "Hey Siri", phonetic neighbours, arbitrary speech,
non-speech audio). All speakers disjoint from train + val.
- ROC AUC: 0.9966
- Average precision (PR AUC): 0.9899
- Default threshold 0.90 hits precision 0.993 / recall 0.982
on the test split.
Full precision / recall / FPR table lives in the
Linux SDK README
— identical model.
Runtime performance
Cumulative RTF (wall_time / audio_time, lower is better) on a
single CPU core, real deployments:
| Device | CPU / build | RTF |
|---|
| Raspberry Pi Zero 2 W (Linux SDK) | Cortex-A53 × 1, sustained live-mic | 5.3 % |
| Snapdragon 662 (Android SDK) | Cortex-A73 pinned, HIGH_PERF affinity | 2.1 % |
| iPhone 13 Pro Max (iOS SDK) | Apple A15 | 1.5 % |
| Chrome on MacBook Pro M4 (Browser) | WASM SIMD128, @voxrt/wake-word-browser | 0.16 % |
| Safari on iPhone 13 Pro Max (Browser) | WASM SIMD128, @voxrt/wake-word-browser | 0.23 % |
On the SD662 the raw NEON code path is
8.5× faster than the
scalar reference (0.182 RTF scalar → 0.021 RTF NEON) —
see the runtime methodology at
voxrt-wake-word-linux#neon-vs-scalar.
Download & use
The
.vxrt file on this HF repo is byte-identical to the one at
github.com/VoxRT/voxrt-wake-word-models/releases.
Either source is fine — pick whichever your build tooling reaches
faster. The file is AES-256-GCM encrypted at rest; the VoxRT
runtime decrypts it on load using a master key baked into the
compiled SDK binary. The same file ships inside every VoxRT SDK
.aar /
xcframework / tarball, so most users never touch the
.vxrt directly.
The browser SDK (
@voxrt/wake-word-browser) bundles a
plaintext variant of the model — WASM decompiles, so an
encrypted-at-rest scheme with a master key inside the WASM binary
would fail to protect anything (see the plaintext-model
architecture note at
github.com/VoxRT/voxrt-wake-word-linux#security-tiers).
That plaintext
.vxrt is shipped only inside the npm package,
not on this HF repo.
Use with a VoxRT SDK
.vxrt files aren't loadable with transformers, onnxruntime,
or any standard HF library — they're a proprietary container the
VoxRT runtime reads. Pick one of the SDKs:
- Android —
voxrt-wake-word-android (JitPack)
- iOS —
voxrt-wake-word-ios (Swift Package Manager)
- Linux aarch64 —
voxrt-wake-word-linux (tarball + Python wheel + npm + Go module)
- Browser (WASM) —
@voxrt/wake-word-browser (npm, ~275 KB total)
Custom phrase — the paid tier
The default model detects "Hey Assistant" only. If your product
needs its own wake-phrase (your brand name, a language other than
English, multi-phrase detection), that's the paid VoxRT SDK tier —
we train, package into .vxrt, and hand back to you with the same
runtime performance guarantees.
Contact help@voxrt.com for scoping, timeline, and pricing.
Licensing
- Model weights are proprietary, trained in-house by Elephant
Enterprises LLC on 100 % synthetic training data. No upstream
model checkpoints, no copyleft or attribution obligations on the
weights themselves.
- The VoxRT runtime +
.vxrt container format are proprietary
Elephant Enterprises LLC IP.
- Redistribution of the
.vxrt is permitted only as an unmodified
part of one of the SDK libraries linked above at the version it
was resolved with. See
LICENSE-BINARY
for the full terms.
About VoxRT
VoxRT is a from-scratch on-device inference runtime tuned for
streaming audio on commodity ARM CPUs — no GPU, no NPU, no vendor
accelerator required. Sister products on the same runtime:
Commercial integration / custom-model packaging / custom wake-phrase:
help@voxrt.com ·
voxrt.com
About the Space
The interactive browser demo at
hf.co/spaces/VoxRT/wake-word-browser-demo
is built and maintained by the VoxRT web team. If the Space link
above 404s, it's still being staged — check back or grab the same
demo experience directly at
voxrt.com.