# picovoice/porcupine

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/picovoice-porcupine).**

4,694 stars · 569 forks · Python · apache-2.0

## Links

- GitHub: https://github.com/Picovoice/porcupine
- Homepage: https://picovoice.ai/
- awesome-repositories: https://awesome-repositories.com/repository/picovoice-porcupine.md

## Topics

`handsfree` `hotword` `hotword-detection` `hotword-detector` `keyword-spotter` `keyword-spotting` `on-device` `speech-recognition` `trigger-word-detection` `voice-activation` `wake-word` `wake-word-detection` `wake-word-engine`

## Description

Porcupine is an on-device wake word detection engine that listens for a specific spoken phrase in real-time audio and triggers actions, all processed locally without any cloud connectivity. It includes a custom wake word model creator that generates production-ready models from just a few spoken examples in seconds, requiring no training data. Beyond wake word detection, Porcupine also provides on-device speech recognition for real-time transcription with custom vocabulary, an on-device audio content searcher that indexes and finds spoken phrases in audio files or streams, and a lightweight voice activity detector. For enhanced security, it offers a speaker-verified wake word detector that combines wake word detection with speaker recognition, ensuring a device responds only when the wake word is spoken by an enrolled user.

A key differentiator of Porcupine is its data-free custom model generation, which uses synthetic audio to create custom wake word models without needing users to collect training samples. The engine is built on a platform-agnostic C library foundation, enabling cross-platform integration across mobile, web, desktop, and embedded platforms via lightweight SDKs. Additionally, it provides an open-source accuracy benchmarking framework with test models and audio files, and supports combining wake word detection with speaker verification for secure voice activation.

Beyond wake word management, Porcupine’s capabilities extend to real-time speech-to-text transcription, spoken content search across audio streams, and voice activity detection with minimal false alarms, all performed on-device. The system transforms raw audio into Mel-scale spectrograms and uses a quantized neural network with 8-bit weights, enabling efficient execution on devices with limited compute and memory.

## Tags

### Artificial Intelligence & ML

- [Wake Word Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/conversational-voice-interaction/voice-agents/voice-activity-detection/wake-word-detection.md) — Ships a wake word detection engine that listens for trigger phrases in real-time audio and executes actions locally.
- [Speaker-Verified Detections](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/conversational-voice-interaction/voice-agents/voice-activity-detection/wake-word-detection/speaker-verified-detections.md) — Provides a combined wake word detection and speaker recognition engine that only responds to authorized users.
- [Wake Word Detection Models](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-model-training/wake-word-detection-models.md) — Enables users to train a custom wake word model in seconds without training data, producing a binary for any platform. ([source](https://picovoice.ai/platform/porcupine/))
- [Cross-Platform SDKs](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-model-training/wake-word-detection-models/cross-platform-sdks.md) — Provides lightweight SDKs to add wake word detection across eleven mobile, web, desktop, and server platforms. ([source](https://picovoice.ai/platform/porcupine/))
- [Synthetic Audio Generators](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-models/custom-generative-ai-model-building/synthetic-audio-generators.md) — Ships a data-free custom model creator that generates wake word models from synthetic audio in seconds.
- [On-Device Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/inference-clients/on-device-inference.md) — All inference and post-processing occur locally on the device without any network roundtrip.
- [Voice Activity Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/conversational-voice-interaction/voice-agents/voice-activity-detection.md) — Scans audio streams in real time to identify human speech with minimal false alarms. ([source](https://picovoice.ai/platform/cobra/))
- [Speaker-Verified Detectors](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-systems-frameworks/conversational-voice-interaction/voice-agents/voice-activity-detection/wake-word-detection/speaker-verified-detectors.md) — Combines wake word detection with speaker recognition so only enrolled users trigger actions after the wake word. ([source](https://picovoice.ai/platform/porcupine/))
- [On-Device Speech Recognizers](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/speech-processing/automatic-speech-recognition/on-device-speech-recognizers.md) — Transcribes spoken words into text in real time on the device using domain-specific vocabulary with no cloud data sent.
- [Real-Time Audio Transcribers](https://awesome-repositories.com/f/artificial-intelligence-ml/real-time-audio-transcribers.md) — Transcribes spoken words in real time on the device with low latency and custom domain vocabulary. ([source](https://picovoice.ai/platform/cheetah/))
- [Voice Activity Detectors](https://awesome-repositories.com/f/artificial-intelligence-ml/speaker-diarization/voice-activity-detectors.md) — Identifies when human speech is present in an audio stream with minimal false alarms for triggering downstream processing.
- [Audio Indexers](https://awesome-repositories.com/f/artificial-intelligence-ml/spoken-language-understanding/audio-indexers.md) — Indexes speech in audio files or streams and enables instant search for spoken phrases on-device. ([source](https://picovoice.ai/use-cases/))
- [Audio Content Searchers](https://awesome-repositories.com/f/artificial-intelligence-ml/text-to-speech/on-device-transcriptions/audio-content-searchers.md) — Indexes speech in audio files or streams and enables instant search for spoken phrases using on-device machine learning.

### Web Development

- [Voice-Activated SDKs](https://awesome-repositories.com/f/web-development/cross-platform-desktop-frameworks/voice-activated-sdks.md) — Adds wake word detection to applications across mobile, web, desktop, and embedded platforms with a lightweight SDK.

### Part of an Awesome List

- [Audio Processing](https://awesome-repositories.com/f/awesome-lists/media/audio-processing.md) — On-device wake word detection engine.
