← all repositories
Picovoice/porcupine

Wake-word detection that runs on a Raspberry Pi Zero

It lets a Raspberry Pi Zero listen for its name without calling the cloud.

4.9k stars Python Other AI
porcupine
Not currently ranked — collecting fresh signals.
star history

What it does

Porcupine is a wake-word engine: it listens continuously for one or a few static voice commands—think “Hey Siri” or “Alexa”—and fires a callback when it hears its target. It runs entirely on-device, so audio never leaves the hardware. The project targets IoT and mobile use, shipping SDKs for Python, JavaScript, mobile frameworks, and bare-metal C.

The interesting bit

The real trick is the platform spread. The same engine drops into a browser tab, a React Native app, a Raspberry Pi, and an Arm Cortex-M microcontroller. The project claims detecting multiple keywords simultaneously adds no runtime footprint—a useful property for resource-constrained devices. Custom wake-word training is available through Picovoice Console, though that requires an AccessKey.

Key highlights

  • Runs on Arm Cortex-M, STM32, Arduino, Raspberry Pi, iOS, Android, Linux, macOS, Windows, and major browsers
  • Supports nine languages: English, Mandarin, French, German, Italian, Japanese, Korean, Portuguese, and Spanish
  • Per the project’s own benchmark, it is 11.0× more accurate and 6.5× faster than PocketSphinx or Snowboy on a Raspberry Pi 3
  • Scalable to multiple wake words with no added runtime footprint
  • Self-service custom model training via Picovoice Console

Caveats

  • Every demo and SDK requires a Picovoice AccessKey, so it is not a grab-and-go open-source library without account registration
  • Additional languages beyond the nine supported are only available to commercial customers on a case-by-case basis
  • Strictly for static, always-listening commands; complex natural-language understanding requires Picovoice’s separate Rhino or platform products

Verdict

Embedded developers and privacy-conscious mobile builders who need an offline “listen for your name” feature should look here. If you need full conversational voice control or want a fully open-source stack with no API keys, this is not your stop.

Frequently asked

What is Picovoice/porcupine?
It lets a Raspberry Pi Zero listen for its name without calling the cloud.
Is porcupine open source?
Yes — Picovoice/porcupine is open source, released under the Apache-2.0 license.
What language is porcupine written in?
Picovoice/porcupine is primarily written in Python.
How popular is porcupine?
Picovoice/porcupine has 4.9k stars on GitHub.
Where can I find porcupine?
Picovoice/porcupine is on GitHub at https://github.com/Picovoice/porcupine.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.