Porcupine

Revision as of 12:33, 28 January 2022 by Florian (talk | contribs) (Created Porcupine page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Porcupine by Picovoice.ai [1] is a commercial wake-word engine with some open components licensed under Apache 2.0. The open-source parts change from version to version but usually include a SDK to integrate the engine and a number of wake-words that can be used freely like "Computer", "Jarvis", "Alexa", "Hey Siri" etc..

When it was first released to the public in March 2018 it quickly became the go-to solution for open-source projects due to its high accuracy, low resource requirements and good platform support though the selection of free wake-words was pretty limited at that time (Picovoice, Alexa, Raspberry and some more "exotic" words [2]).

The most unique aspect of Porcupine is the ability to create new wake-words from just one line of text, no audio recording, no training data! [3]. Unfortunately this feature was only available (with some very limited exceptions) to commercial customers until Porcupine v2.0. Since v2.0 everyone can create their own wake-words via the Picovoice online console within the limited free-tier [4][5]. The drawback of version 2.0 is that usage requires an API key and devices need to be activated by contacting the Picovoice server every now and then.

Features Summary

  • Commercial product with a free tier and some open parts. Access key and online activation since v2.0 (December 2021).
  • At the time of writing (Jan. 2022) probably the best wake-word engine for open-source projects in terms of accuracy and platform support (empiric data, needs some real statistics).
  • Available on basically any platform and in any programming language from x86 to ARM, from PCs to microcontrollers, from Android to Raspberry Pi, from Python to Javascript (WASM support).
  • Custom wake-words can be created with one line of text
  • Low resource consumption (works on Raspberry Pi Zero)