git404hub

what is tinykw fr?

voyelle-io/tinykw — explained in plain English

Analysis updated 2026-05-18

3PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

tl;dr

A small, lightweight engine for detecting spoken wake words and voice commands that can run on tiny embedded chips, a Raspberry Pi, or a desktop.

vibe map

mindmap
  root((TinyKW))
    What it does
      Keyword spotting
      Wake word detection
      Voice commands
    Platforms
      Cortex-M MCUs
      Raspberry Pi
      Desktop
    Usage flow
      Encode keywords
      Process audio frames
      Check detection flag
    License
      Free non commercial
      Commercial contact required

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Add wake word detection to a hardware device running a small microcontroller

VIBE 2

Build simple voice command recognition into a Raspberry Pi or desktop app

VIBE 3

Encode custom keywords using the project's web-based encoder tool

VIBE 4

Prototype voice-activated features for research or educational purposes

what's the stack?

CPython

how it stacks up fr

voyelle-io/tinykw0marildo/imago0xdfi/glm-5.2-1m-4x-dgx-spark
Stars333
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity3/52/55/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires encoding keywords with the project's web tool before use, plus linking a precompiled C library.

Free for non-commercial use like research, education, prototyping, and evaluation, commercial use requires contacting the author.

in plain english

TinyKW, short for Tiny Keyword, is a small engine for detecting specific spoken words, the kind of technology behind wake words like the phrase that turns on a voice assistant, or simple spoken commands. It is designed to be light enough to run on small embedded chips known as cortex-M microcontrollers, as well as on a Raspberry Pi or an ordinary desktop computer. Before you can use it, you first need to encode the words you want it to listen for using a web-based tool the project provides. That tool turns each keyword into a binary representation that gets pasted directly into your code. The project itself is written with a C interface at its core, with precompiled binary libraries and a C header file provided so you do not have to build it yourself. There is also a Python binding that mirrors the same C interface closely, for anyone who prefers working in Python. Using it in code follows a simple pattern: you initialize the engine, register one or more keywords along with a detection sensitivity threshold, then repeatedly feed it audio samples frame by frame. After each frame, you can check whether a specific keyword was detected, and clear that detection flag once you have handled it. Example code for both the C and Python versions is included in the project to show this pattern in practice. TinyKW is free to use for non-commercial purposes such as research, education, prototyping, and evaluation. Anyone wanting to use it commercially is asked to contact the project's author directly rather than assuming the free license covers that use.

prompts (copy fr)

prompt 1
Help me encode a custom wake word for TinyKW using the web encoder and integrate it into my C project.
prompt 2
Explain how to use TinyKW's Python binding to detect a keyword from a live audio stream.
prompt 3
Walk me through the tkw_init, tkw_add_keyword, and tkw_process_frame function flow in TinyKW.
prompt 4
Show me an example of running TinyKW's keyword spotting on a Raspberry Pi.

Frequently asked questions

what is tinykw fr?

A small, lightweight engine for detecting spoken wake words and voice commands that can run on tiny embedded chips, a Raspberry Pi, or a desktop.

What language is tinykw written in?

Mainly Python. The stack also includes C, Python.

What license does tinykw use?

Free for non-commercial use like research, education, prototyping, and evaluation, commercial use requires contacting the author.

How hard is tinykw to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is tinykw for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.