Skip to content

Model compatibility

Compatible models use the standard microWakeWord audio pipeline.

  • 16 kHz mono input audio;
  • TensorFlow Lite model with exactly one input and one output;
  • signed int8 input shaped [1, rows, 40];
  • one int8, uint8, or float32 probability output;
  • standard configuration format version 2 when JSON is used;
  • 10 ms feature step;
  • the TensorFlow microfrontend-compatible 40-feature representation.

The number of input rows determines how much feature history the model sees. The detector discovers this dimension from the model.

Model loading checks tensor count, shape, and supported data types. Failures return Error::IncompatibleModel with the expected and actual shape or type where possible.

Configuration errors—unsupported version, invalid cutoff, zero sliding window, wrong step size—return Error::InvalidConfig before listening starts.

What “microWakeWord-compatible” does not mean

Section titled “What “microWakeWord-compatible” does not mean”

A generic speech or audio-classification .tflite file is not automatically compatible. It must have been trained for the same frontend features, timing, tensor layout, and output meaning.

If a model uses raw waveform input, MFCCs, a different sample rate, multiple output classes, or float input features, it needs a different preprocessing/inference adapter.