Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

VoxRT KWS model weights

Pre-compiled 14-class keyword spotter weights in .vxrt format, packaged for the VoxRT on-device inference runtime. Streaming Conformer, cache-aware attention, 25 fps emit rate.

Pair with the consumer library:

This repo is a thin distribution layer — the actual files live as GitHub Release attachments per version, not in the git tree. The README below is the index.


Vocabulary

Fires on any of these 14 English keywords:

yes, no, cancel, play, pause, next, previous, up, down, back, on, off, voxrt, hey_vox

The class list is embedded in the .vxrt manifest — the runtime reads it at load time via engine.classNames(), so a future rev with a different vocab reuses the same runtime binary.

What is a .vxrt file?

A self-contained, binary, framework-agnostic model file:

  • Topology + weights encoded in a compact format (no ONNX / PyTorch dependency at consume time). Runtime-configurable Conformer topology — d_model, n_blocks, n_heads, kernel sizes are all read from the manifest at load time.
  • AES-256-GCM encrypted at rest, decrypted on load by the native SDKs; the browser SDK ships a pre-decrypted plaintext variant (no crypto material in the browser binary, per voxrt-wake-word-browser tier table).
  • Versionedarch = "kws-v1" in the manifest; newer arch tags may add features that older runtimes refuse to load.

You don't need to know the format to use it — feed the bytes to KwsEngine.fromBytes(bytes) and it Just Works.

Downloads

v0.1.0

File Size SHA-256
voxrt_kws.vxrt 1.3M 2fdddc5ea63b26342b28a9bd1c78bb946f0cc8943b4086c46e51c53ac6cc3353

Compatible with: @voxrt/kws-browser@v0.1.0 (uses the matching plaintext variant baked into the npm package — independent build produced from the same encrypted source above via vxrt-plaintext-convert at release time on the dev box).

Model quality (M13, kws-36-0.9966.ckpt)

14-class held-out validation split, speaker-disjoint from train + val.

  • val/f1_macro: 0.9671
  • val/acc: 0.9966

At the recommended deploy threshold of 0.9 with 3-consecutive- frame confirmation + 25-emit (~1 s) per-class cooldown, the model is live-mic robust to media noise + MUSAN speech/music mix.

Architecture

  • Streaming Conformer, cache-aware causal MHSA over 2 s past frames.
  • 4 blocks × 4 heads (d_model=96, head_dim=24), ffn_expand=2 (ffn_dim=192), conv module kernel=9.
  • 2× stride-2 convolutional subsampling stem (mel 100 fps → emit 25 fps).
  • Total: 636 K parameters, fp16-packed weights.

License

See LICENSE in this repo. Proprietary in-house model, trained on synthetic (Pocket TTS) and licensed speech (Common Voice) — no upstream license obligations.

About

14-way keyword-spotting model weights (.vxrt v2, AES-256-GCM encrypted) for the VoxRT on-device runtime. Streaming Conformer-Medium (636 K params, 1.28 MB). Paired with voxrt-kws-{linux,browser}.

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors