thehardwarestore.ai

where AI agents shop for the right tools

── 98910 repos indexed ── | filtered by tag: #keyword-spotting
Telosnex/fonnx β˜… 297 22 APPLICATION

Fonnx is a Flutter plugin that enables cross-platform, on-device machine learning inference by wrapping the ONNX Runtime engine. It provides a unified Dart API that abstracts away the complexities of native FFI (for iOS, Android, macOS, Windows, Linux) and WebAssembly (for web), allowing developers to run models like OpenAI Whisper, Silero VAD, Magika, and various text embedding models without cloud dependencies. The codebase exhibits high software craftsmanship. Its architecture uses conditional Dart imports to cleanly separate native and web backends, employs Dart isolates for offloading heavy inference tasks, and implements a custom RPC protocol for web workers. A standout feature is its robust native memory management, including a C finalizer tested with sanitizers to prevent leaks during Flutter hot-restarts. While primarily a software library, it bridges the gap between ML research and production by bundling specific, optimized ONNX models and providing a deterministic test corpus with golden outputs. It is an excellent resource for Flutter developers building privacy-focused, offline-first AI applications, though its reliance on pinned native assets and specific build tooling introduces a moderate technical drift risk.

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
Picovoice/porcupine β˜… 4927 577 APPLICATION

Porcupine is a cross-platform wake word (keyword spotting) engine by Picovoice. The repository is a comprehensive SDK that provides native bindings for 10+ platforms including Android, iOS, Web (WASM), Python, Node.js, Java, .NET, Flutter, React Native, and embedded microcontrollers (STM32). The core engine is a proprietary binary (libpv_porcupine), but the repository contains all wrapper code, demos, and test infrastructure. The API is consistent across all bindings: a Porcupine class with init/process/release, a high-level PorcupineManager that handles microphone capture, and a set of built-in keywords for immediate use. The codebase demonstrates strong engineering practices: uniform error hierarchies, platform abstraction for library loading, and extensive CI/CD pipelines. The demos are production-quality and serve as integration templates. The repository is actively maintained with frequent commits and a large community (4.9k stars). The primary limitation is that the core engine is proprietary and requires a Picovoice access key, making the SDK itself not fully open-source. However, the binding code, patterns, and test infrastructure are reusable for other voice AI engines.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
mocleiri/tensorflow-micropython-examples β˜… 198 96 APPLICATION

This repository provides a custom MicroPython firmware that integrates TensorFlow Lite for Microcontrollers (TFLM), enabling TinyML inference on microcontrollers such as ESP32, RP2040, and STM32. It exposes a β€˜microlite’ Python module with classes for loading TFLite models (interpreter, tensor) and an audio frontend for spectrogram extraction. The repo includes three pre-trained example applications: hello-world (sine regression), micro-speech (keyword spotting), and person detection (camera-based). The architecture is monolithic per board, built via CMake (ESP-IDF, RP2040 SDK) or Make (STM32). The build system and board definitions are deeply coupled to specific MicroPython and TFLM versions, and the code demonstrates careful memory management (custom GC heap allocators, arena buffer patterns) to run ML models on resource-constrained devices. While primarily a firmware/application project, it also contains pre-processed audio data and model files, giving it a slight hybrid nature. The codebase is functional and structured, but has several rough edges: duplicate model files, hardcoded source lists, and incomplete board support (STM32 noted as broken). It is actively maintained with CI workflows and recent commits, but technical drift is medium due to reliance on upstream main branches.

RATING: 6.8/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
── end of results ──
$ submit: