--- id: pvporcupine version: "4.0.3" license: unclear license_treatment: permissive maintenance: active --- # pvporcupine — Porcupine wake word engine. License: permissive · Maintenance: active · Downloads: 160.1K/mo ## What it is and what it does Porcupine is a speech recognition engine from Picovoice that detects wake words and voice commands in real-time audio. It uses deep neural networks trained in real-world environments and is optimized for low computational cost, making it suitable for IoT devices, embedded systems, and always-listening applications. The engine can detect multiple keywords simultaneously and supports cross-platform deployment on Linux, macOS, Windows, Raspberry Pi, Android, iOS, and browsers. You initialize Porcupine with an AccessKey (obtained free from Picovoice Console) and specify keywords to detect—either from a built-in set or custom-trained models. The engine processes audio frames and returns a keyword index when a match is detected. Sensitivity can be tuned per keyword to trade off miss rate against false alarms. The package ships with model files for multiple languages and supports training custom wake word models via API. Use it for: - Build smart home devices that wake on a custom voice command without sending audio to the cloud. - Add voice activation to IoT applications running on Raspberry Pi or embedded Linux systems. - Implement always-listening voice assistants in mobile apps or web browsers with low latency. - Detect multiple voice commands in real-time for hands-free control in industrial or automotive settings. - Train and deploy custom wake words for branded voice interfaces via the Picovoice API. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Porcupine is a lightweight wake word detection engine that identifies spoken keywords in audio streams, enabling always-listening voice applications with minimal computational overhead. Yes. Porcupine is a production-ready, actively maintained wake word engine with low install friction, permissive licensing, and no known vulnerabilities. It's well-suited for voice-activated applications where on-device detection is preferred. The only prerequisite is obtaining a free AccessKey from Picovoice Console, which is a minor friction point but not a blocker. ## Install pip install pvporcupine uv add pvporcupine poetry add pvporcupine ## Installing pvporcupine Before you install: Low install friction with a pure Python wheel distribution. The package is actively maintained with a recent release (50 days ago) and has been in production since 2019. Requires only requests as a runtime dependency. License in practice: Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects without legal concern. Quickstart: pip install pvporcupine import pvporcupine access_key = "YOUR_ACCESS_KEY" # from Picovoice Console handle = pvporcupine.create(access_key=access_key, keywords=['picovoice']) while True: keyword_index = handle.process(audio_frame) if keyword_index >= 0: print(f"Detected keyword: {keyword_index}") handle.delete() Requires a free Picovoice AccessKey obtained from https://console.picovoice.ai/ to initialize the engine. Python 3.9 or later required. Verify before relying: - Whether the package's neural network models are updated regularly and how security patches are distributed. - Latency and accuracy metrics under real-world conditions on different hardware platforms. - Whether custom-trained models via the API are subject to additional licensing or usage restrictions. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 160.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags wake word detection, hotword recognition, keyword spotting, voice command detection, always-listening audio, speech trigger detection, voice activation engine, voice-activation, edge-ml, audio-processing [View on SkillFed](https://skillfed.io/packages/pvporcupine) · [View on PyPI](https://pypi.org/project/pvporcupine/)