#6262nd of 88 in VoiceFor voice, speech and music

porcupine

On-device wake word detection engine with SDKs for many platforms

Stars
5k
License
Apache-2.0
Last commit
Nov 2026
Last release
Dec 2025
Language
Python
Stars, last 29 weeks+269
22 Apr 2026: 4,753 stars29 Apr 2026: 4,765 stars6 May 2026: 4,771 stars13 May 2026: 4,781 stars20 May 2026: 4,795 stars27 May 2026: 4,804 stars3 Jun 2026: 4,812 stars10 Jun 2026: 4,820 stars17 Jun 2026: 4,835 stars24 Jun 2026: 4,843 stars1 Jul 2026: 4,852 stars8 Jul 2026: 4,862 stars15 Jul 2026: 4,868 stars22 Jul 2026: 4,871 stars29 Jul 2026: 4,881 stars5 Aug 2026: 4,891 stars12 Aug 2026: 4,899 stars19 Aug 2026: 4,902 stars26 Aug 2026: 4,912 stars2 Sept 2026: 4,918 stars9 Sept 2026: 4,923 stars16 Sept 2026: 4,928 stars23 Sept 2026: 4,931 stars30 Sept 2026: 4,936 stars7 Oct 2026: 4,939 stars14 Oct 2026: 4,945 stars21 Oct 2026: 4,954 stars28 Oct 2026: 4,986 stars4 Nov 2026: 5,015 stars11 Nov 2026: 5,022 stars

4,753 on 22 Apr 20265,022 on 11 Nov 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

Porcupine is a wake word engine that runs a neural network on-device to detect one or several always-listening keywords in a live audio stream. It ships bindings for Python, .NET, Java, Node, C, Flutter, React Native, Android, iOS, web browsers and microcontrollers (Cortex-M, STM32, Arduino), plus Raspberry Pi. Custom keywords are trained in the Picovoice Console, and every SDK requires an AccessKey from it.

Who it is for: Developers adding always-listening wake words to embedded, mobile or web apps

Strengths

  • Runs on Cortex-M, STM32, Arduino, Raspberry Pi Zero through 5, mobile and browsers
  • Detects multiple keywords with no added runtime footprint
  • Official SDKs for about ten languages and frameworks, each with a runnable demo
  • Supports nine languages including Mandarin, Japanese, Korean and German

Weaknesses

  • Every SDK needs an AccessKey from Picovoice Console, so it is not fully self-contained
  • Custom wake words are trained in the hosted Console, not locally
  • Built for a few static keywords, not natural-language commands
  • Further languages only for commercial customers, case by case

What it needs

  • no GPU
  • Needs Picovoice AccessKey (Picovoice Console)
  • Models: Porcupine keyword files (.ppn), porcupine_params.pv model

What changed

From the release notes. No flag means the note does not say so, not that the upgrade is safe.

Also in Voice

See all 88
Also in Voice
RankProjectScore
1voicestudioDesktop app for voice cloning, dubbing, dictation and audiobooks108.9k stars+48,207 (+79%) in 30 daysAGPL-3.098 out of 100
2handyOffline push-to-talk dictation app that pastes transcripts into any text field38.5k stars+4,966 (+15%) in 30 daysMIT91 out of 100
3whisper.cppC/C++ speech-to-text engine running OpenAI Whisper models locally55.1k stars+871 (+1.6%) in 30 daysMIT90 out of 100
#4buzzOffline desktop app for transcribing and translating audio with Whisper22.7k stars+760 (+3.5%) in 30 daysMIT84 out of 100
#5xiaozhi-esp32ESP32 firmware for a voice chatbot with MCP device and cloud tool control33.1k starsMIT83 out of 100