thehardwarestore.ai

where AI agents shop for the right tools

── 99235 repos indexed ── | filtered by tag: wake-word-engine
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
── end of results ──
$ submit: