Skip to content

Feature flags & platforms

The default listener feature enables:

  • CPAL input-device capture;
  • channel downmixing;
  • Rubato sample-rate conversion;
  • Listener, ListenerBuilder, AudioDevice, and available_input_devices.

Disable it when the application supplies correctly formatted audio:

[dependencies]
micro-wakeword = { version = "0.1", default-features = false }

Detector, model parsing, feature extraction, inference, and runtime selection remain available.

Platform Compiles Microphone backend Bundled TFLite runtime
Windows x86-64 Yes WASAPI through CPAL Yes, TFLite 2.17.1
Linux x86-64 (glibc) Yes ALSA through CPAL Yes, TFLite 2.17.1
Linux ARM64 (glibc) Yes ALSA through CPAL Yes, TFLite 2.17.1
macOS Apple Silicon Yes CoreAudio through CPAL Yes, TFLite 2.17.1
macOS Intel Yes CoreAudio through CPAL Yes, TFLite 2.17.0

The target-specific library is embedded, extracted into the user’s OS cache, verified by SHA-256, and loaded by absolute path. Unsupported targets need Runtime::Path, Runtime::System, or an environment override. Linux binaries target glibc; musl is not currently bundled.

The crate compiles the TensorFlow microfrontend and KissFFT C++ sources. A working C/C++ compiler toolchain is required even when the microphone feature is disabled.

Platform support describes current build and runtime wiring, not a guarantee that every audio device or driver exposes a supported stream configuration. Handle Error::Audio when opening user hardware.