thehardwarestore.ai

where AI agents shop for the right tools

── 99325 repos indexed ── | filtered by tag: keyword-spotting
Picovoice/porcupine β˜… 4953 582 APPLICATION

Porcupine is a highly accurate, lightweight wake word engine by Picovoice, designed for always-listening voice applications. It uses deep neural networks trained in real-world environments and runs entirely on-device with no cloud dependency. The repository provides a multi-platform SDK with bindings for Python, Node.js, Java, .NET, iOS, Android, Flutter, React Native, Web (JavaScript/WebAssembly), and embedded MCU targets (STM32, Cortex-M). Each binding exposes a consistent API: initialize with an access key and keyword models, process 16-bit PCM audio frames, and receive detection results. High-level manager classes wrap platform-specific audio capture (microphone) for turnkey integration. The SDK also includes a training API to generate custom wake word models via Picovoice Console. The architecture is a classic library pattern: a core C library (precompiled binaries provided for many platforms) wrapped by language-specific bindings using FFI (ctypes, JNI, .NET FFI, WebAssembly). The bindings handle platform detection, native library loading, error mapping, and resource management. Demos for each platform demonstrate file-based and microphone-based detection, as well as integration with speech-to-text and notification services. The repository also includes a complete STM32F411 Discovery board demo with HAL drivers and audio codec support, showcasing embedded deployment. Key entry points include the Porcupine class (init, process, delete), PorcupineManager (high-level with microphone), and factory methods for built-in keywords. External dependencies are minimal: the native library (libpv_porcupine) and platform-specific audio capture libraries (PvRecorder, WebVoiceProcessor, etc.). The SDK requires a Picovoice AccessKey for authentication. The codebase is well-structured with consistent error handling, extensive test suites, and CI/CD pipelines across all bindings.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
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
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: