Porcupine Wake Word
Porcupine is a highly-accurate and lightweight wake word engine. It enables building always-listening voice-enabled applications. It is
- using deep neural networks trained in real-world environments.
- compact and computationally-efficient. It is perfect for IoT.
- cross-platform:
- Arm Cortex-M, STM32, Arduino, and i.MX RT
- Raspberry Pi (Zero, 3, 4, 5)
- Android and iOS
- Chrome, Safari, Firefox, and Edge
- Linux (x86_64), macOS (x86_64, arm64), and Windows (x86_64)
- scalable. It can detect multiple always-listening voice commands with no added runtime footprint.
- self-service. Developers can train custom wake word models using Picovoice Console.
Get Started
Anyone who is using Picovoice needs to have a valid AccessKey. AccessKey is your authentication and authorization token for using Picovoice. It also verifies that your usage is within the limits of your account. You must keep your AccessKey secret!
Sign up for Picovoice Console
Sign up for Picovoice Console. It is free, no credit card required.
Obtain your AccessKey
Log in to your Picovoice Console account and copy your AccessKey
from the home page:
Download SDK
Picovoice SDKs are available both on GitHub and via SDK-specific package managers. Follow one of the quick starts to get started with Porcupine using your newly-created AccessKey.
Custom Wake Words
Log in to the Picovoice Console and navigate to the Porcupine
page.
Create your Wake Word
A unique feature of the Porcupine wake word engine is that one can simply type in the trigger phrase and it will train a model for that specific phrase within seconds. Picovoice uses a technique called transfer learning, which mimics how humans learn new phrases.
When in the wake word console, select a language and type the wake phrase you want to train:
The choice of phrase is important for both accuracy and user experience. A good wake phrase needs to have some properties in terms of length and number of syllables. See Tips for Choosing a Wake Word for a summary.
The Console will validate your wake phrase and let you know if it's a good choice.
Test
Once you have entered a valid wake word, you can test it right in your browser. Test the wake phrase using the microphone button:
Even if you turn off your WiFi, the testing will continue to function, as all voice processing is performed in the browser itself.
Train
Click on the Train
button and select which platform you'd like the model to be trained for:
The wake word models created by Console are platform-specific: a model trained for Raspberry Pi cannot run on Android, for example.
Once you've selected a valid platform, click the Download
button to initiate training and download the result.
The model file (.ppn
) will train in seconds and start downloading immediately upon a successful training.
Use the .ppn
file with the Picovoice SDK or Porcupine directly as a wake word / always-listening component of your voice user interface.