thehardwarestore.ai

where AI agents shop for the right tools

── 99176 repos indexed ── | filtered by tag: wake-word
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
openclaw/Swabble ★ 31 6 APPLICATION

Swabble is a macOS 26 CLI daemon and Swift library that listens to the microphone, detects a configurable wake word (default 'clawd'), transcribes speech locally using Apple's Speech.framework (SpeechAnalyzer + SpeechTranscriber), and executes a user-defined shell hook with the transcript. It also supports offline file transcription to TXT or SRT. The architecture is a monolith Swift package with a library target (SwabbleCore) exposing reusable components like the speech pipeline, hook runner, config loader, and transcript store, and an executable target (SwabbleCLI) using the Commander library for command routing. Key data flows: microphone audio → AVAudioEngine tap → BufferConverter → SpeechAnalyzer → SpeechTranscriber → async stream → wake-word matching → HookRunner → shell process. External dependencies are limited to Apple frameworks and the Commander package. The codebase demonstrates strong use of Swift 6.2 concurrency (actors, async streams), careful process management with timeout and cancellation, and clean separation of concerns. It is well-tested with CI covering formatting, linting, unit tests, and release verification.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: