Skip to main content

A TensorFlow based wake word detection training framework using synthetic sample generation suitable for certain microcontrollers.

Project description

Python microWakeWord

Python library for microWakeWord.

Uses a pre-compiled Tensorflow Lite library.

Install

pip3 install pymicro-wakeword

Usage

from pymicro_wakeword import MicroWakeWord, MicroWakeWordFeatures, Model

mww = MicroWakeWord.from_builtin(Model.OKAY_NABU)
mww_features = MicroWakeWordFeatures()

# Audio must be 16-bit mono at 16Khz
while audio := get_10ms_of_audio():
    assert len(audio) == 160 * 2  # 160 samples
    for features in mww_features.process_streaming(audio):
        if mww.process_streaming(features):
            print("Detected!")

Use process_streaming_prob instead to get the wake word probability. If this probability is greater than probability_cutoff, the wake word is detected.

Command-Line

WAVE files

python3 -m pymicro_wakeword --model 'okay_nabu' /path/to/*.wav

Live

arecord -r 16000 -c 1 -f S16_LE -t raw | \
  python3 -m pymicro_wakeword --model 'okay_nabu'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymicro_wakeword-2.3.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pymicro_wakeword-2.3.0-py3-none-win_amd64.whl (1.9 MB view details)

Uploaded Python 3Windows x86-64

pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_x86_64.whl (2.1 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ x86-64

pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_aarch64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ ARM64

pymicro_wakeword-2.3.0-py3-none-macosx_15_0_universal2.whl (1.7 MB view details)

Uploaded Python 3macOS 15.0+ universal2 (ARM64, x86-64)

File details

Details for the file pymicro_wakeword-2.3.0.tar.gz.

File metadata

  • Download URL: pymicro_wakeword-2.3.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymicro_wakeword-2.3.0.tar.gz
Algorithm Hash digest
SHA256 35ad388878b2377938c9f8a6dbc36ef34f868a73a0cfa0df9812558762b0a380
MD5 d763b42af5461866c2e8acae1def632e
BLAKE2b-256 fe63116e59d029507a69e17045485685d2d8d7daf46e3bc4e1812508c0a726db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymicro_wakeword-2.3.0.tar.gz:

Publisher: publish.yml on OHF-Voice/pymicro-wakeword

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymicro_wakeword-2.3.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pymicro_wakeword-2.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f6f635931f6bc7f0f0a0f68aff701fa2d5bbc9ecc937404d8af1ffd815104af5
MD5 5b405525882c5d0b51ab333991edcfd8
BLAKE2b-256 ddeea9f6c9dfcb3dcb43cf4896ebbee1816e2207d32f5c670ac5303e4f1f1da3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymicro_wakeword-2.3.0-py3-none-win_amd64.whl:

Publisher: publish.yml on OHF-Voice/pymicro-wakeword

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 daf91166bc7bbd16ce7fcc6cbeab7af01f76e1746203889a6f2afa59e02cf5ec
MD5 b97f15d32d9977270179f851d922276a
BLAKE2b-256 f12a26a5cb13ffa03523795f1edbca358798c56ceb2183b2115bba8334e8c94c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_x86_64.whl:

Publisher: publish.yml on OHF-Voice/pymicro-wakeword

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 853e2908db0b66ea391fbb0096098ac2512272a69cf3edb2a79247f66a7f714b
MD5 466639f4d9288dc9761b72fc072798cc
BLAKE2b-256 4366d3c4c3dfbc34300e97a59717e770570b53323b977e789e9e482dc2174652

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymicro_wakeword-2.3.0-py3-none-manylinux_2_35_aarch64.whl:

Publisher: publish.yml on OHF-Voice/pymicro-wakeword

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymicro_wakeword-2.3.0-py3-none-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pymicro_wakeword-2.3.0-py3-none-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 cadc6d977e648dd673642477f115bc99864d34a06a4d552812849599d4d9c306
MD5 45e9d24fe6176cd34d0db0aa58c7f3f8
BLAKE2b-256 b834236d9506c8e739ce00ac9a97201fa7140054978cc394faa15a80471a8eb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymicro_wakeword-2.3.0-py3-none-macosx_15_0_universal2.whl:

Publisher: publish.yml on OHF-Voice/pymicro-wakeword

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page