A highly-accurate, lightweight, on-device wake word detection engine powered by deep learning.
Porcupine is an on-device wake word detection engine that enables voice-activated applications without requiring an internet connection. It uses deep neural networks to accurately recognize predefined or custom voice commands (like "Hey Siri" or "Alexa") on devices ranging from microcontrollers to web browsers. It solves the need for private, low-latency voice interfaces in IoT, mobile, and embedded systems.
Developers building voice-enabled applications for IoT devices, smart home products, mobile apps, and web applications who require offline, privacy-preserving wake word detection.
Porcupine offers superior accuracy and speed compared to alternatives, supports a wide range of platforms out of the box, and allows custom wake word training—all while running entirely on-device for maximum privacy and reliability.
On-device wake word detection powered by deep learning
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Processes audio entirely offline, ensuring user data never leaves the device and enabling sub-second response times, as emphasized in its on-device processing feature.
Supports deployment from microcontrollers like Arduino to web browsers, with dedicated SDKs and demos for Android, iOS, React Native, and more, as shown in the extensive platform list.
Outperforms alternatives like PocketSphinx by being 11 times more accurate and 6.5 times faster on devices like Raspberry Pi 3, per the provided benchmark data.
Allows developers to train and deploy custom wake word models through Picovoice Console, enabling brand-specific or niche vocabulary without runtime overhead.
Custom model training and access to additional languages are gated through Picovoice Console, tying projects to Picovoice's ecosystem and potentially incurring costs, as noted in the language support section.
Setting up on microcontrollers requires manual memory buffer allocation and careful audio pipeline management, as detailed in the C demo instructions, which can be steep for non-experts.
Major releases often increase minimum supported versions (e.g., Node.js 18+, iOS 16+ in v4.0.0), forcing legacy projects to update or stick with older, unsupported versions.