Skip to content

Releases: VoxRT/voxrt-wake-word-linux

v0.1.5

Choose a tag to compare

@make1986 make1986 released this 01 Jul 11:25

Python wheel fix + Go module tag fix.

  • Fixed: PyPI wheel now correctly exports the PyInit_voxrt_wake_word symbol — import voxrt_wake_word works again. v0.1.4 wheels were built with a stale pyo3 macro-expansion cache and shipped without the module init, so pip install voxrt-wake-word==0.1.4 on any Python raised ImportError.
  • Fixed: go get github.com/VoxRT/voxrt-wake-word-linux/go@v0.1.5 now resolves. Go's monorepo-submodule convention wants a matching go/vX.Y.Z tag alongside the bare vX.Y.Z; the release orchestrator now creates and pushes both. Retroactive go/v0.1.2 .. go/v0.1.4 tags are also live so those older releases work for Go consumers.
  • Unchanged: C tarball + npm package — same runtime, same C ABI, ABI-neutral rebuild.

Install:

python3 -m pip install voxrt-wake-word==0.1.5
npm install @voxrt/wake-word@0.1.5
go get github.com/VoxRT/voxrt-wake-word-linux/go@v0.1.5

For pinning the C tarball to this release:

curl -LO https://github.com/VoxRT/voxrt-wake-word-linux/releases/download/v0.1.5/voxrt-wake-word-0.1.5-aarch64-linux-gnu.tar.gz

v0.1.4

Choose a tag to compare

@make1986 make1986 released this 01 Jul 09:10

Packaging cleanup.

  • Python wheel size trimmed 280 KB → 262 KB — dropped auto-generated packaging metadata that pip doesn't need. No functional impact.
  • No API / runtime changes vs v0.1.3 — same C ABI, same behaviour, same model file.
  • Unchanged: C tarball, npm package, Go module (same artefacts, republished under this tag).

v0.1.3

Choose a tag to compare

@make1986 make1986 released this 01 Jul 08:56

PyPI + npm registry publish.

  • New: voxrt-wake-word live on PyPI — pip install voxrt-wake-word now works directly (v0.1.2 required downloading the wheel from a GitHub Release asset).
  • New: @voxrt/wake-word live on npm — npm install @voxrt/wake-word now works directly (v0.1.2 required the .tgz asset).
  • Fixed: PyPI project page now shows the full README. v0.1.2 wheels shipped without an embedded long-description; the recipe now renders the landing README next to pyproject.toml before maturin build.
  • Unchanged: C tarball + Go module from v0.1.2 (same artefacts, republished under this tag).

Install:

python3 -m pip install voxrt-wake-word
npm install @voxrt/wake-word
go get github.com/VoxRT/voxrt-wake-word-linux/go@v0.1.3

For pinning the C tarball to this release:

curl -LO https://github.com/VoxRT/voxrt-wake-word-linux/releases/download/v0.1.3/voxrt-wake-word-0.1.3-aarch64-linux-gnu.tar.gz

v0.1.2

Choose a tag to compare

@make1986 make1986 released this 30 Jun 13:34

Adds the Node.js and Go bindings — Linux SDK now covers all four planned language channels.

  • New: @voxrt/wake-word npm package (linux-arm64-gnu, Node ≥ 18) — napi-rs based, TypeScript .d.ts shipped
  • New: Go module at github.com/VoxRT/voxrt-wake-word-linux/go — cgo wrapper with the bundled .so referenced via ${SRCDIR} rpath, so consumer binaries find it at runtime with no LD_LIBRARY_PATH or system install required
  • Both bindings clear the same 10 anti-RE checks the C / Python artefacts already pass, glibc 2.17 baseline
  • New examples: examples/nodejs/quickstart/ + examples/go/quickstart/ (WAV file → wake-word, pure stdlib / cgo)
  • Unchanged: C tarball + Python wheel from v0.1.0 / v0.1.1 (same artefacts, republished under this tag)

Install (until npm publish):

# npm — from the release asset
curl -LO https://github.com/VoxRT/voxrt-wake-word-linux/releases/download/v0.1.2/voxrt-wake-word-0.1.2.tgz
npm install ./voxrt-wake-word-0.1.2.tgz

# Go — no separate publish needed
go get github.com/VoxRT/voxrt-wake-word-linux/go@v0.1.2

v0.1.1

Choose a tag to compare

@make1986 make1986 released this 30 Jun 13:15

Adds the Python binding.

  • New: voxrt_wake_word PyPI-compatible wheel — manylinux_2_17_aarch64, abi3 (single wheel covers Python 3.9 / 3.10 / 3.11 / 3.12 / 3.13)
  • pyo3 wrapper — WakeWordEngine.from_path() / from_bytes(), push_pcm_i16(list[int] | bytes), push_pcm_f32(list[float]), mutable threshold / cooldown_frames properties, Detection object (frame_index, timestamp_sec, score)
  • Same anti-RE bar as the C tarball — 10 hardening checks + glibc 2.17 baseline
  • New example: examples/python/quickstart/ (WAV file → wake-word, pure stdlib, no numpy dependency)
  • Unchanged: C tarball from v0.1.0 (same artefact, republished under this tag)

Install (until PyPI publish):

curl -LO https://github.com/VoxRT/voxrt-wake-word-linux/releases/download/v0.1.1/voxrt_wake_word-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
python3 -m pip install ./voxrt_wake_word-0.1.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

v0.1.0

Choose a tag to compare

@make1986 make1986 released this 30 Jun 12:56

First ship. C / C++ tarball for aarch64 Linux only.

  • libvoxrt_wake_word.so + voxrt_wake_word.h + pkg-config .pc + CMake find_package config
  • Relocatable — extract to any prefix, pkg-config + CMake auto-resolve via ${pcfiledir} / CMAKE_CURRENT_LIST_FILE
  • Two examples: ALSA live-mic quickstart (examples/c/alsa-mic-quickstart/) + CMake find_package consumer skeleton (examples/c/cmake-consumer/)
  • glibc 2.17 baseline via cargo-zigbuild — runs on Raspberry Pi OS Bullseye / Bookworm, Jetson L4T 32.x+, Ubuntu 18.04+, Debian 10+, RHEL / CentOS 7+, AWS Graviton, Amazon Linux 2 / 2023
  • Anti-RE hardening: stripped .comment / .note.gnu.property / build-id, symbol export allowlist (10 voxrt_wake_word_* functions only), Full RELRO + BIND_NOW, non-exec stack, AES-256-GCM encrypted model weights (per ADR-0023)
  • Companion to voxrt-wake-word-android (JitPack) + voxrt-wake-word-ios (SPM) — same runtime + model file

Model file (voxrt_wake_word.vxrt, ~100 KB, encrypted) — download separately from voxrt-wake-word-models v0.1.0.