Personalized Secure Wake Words

Custom wake words that trigger only for the enrolled user

Combine on-device wake word detection with speaker recognition so a phrase like "Alexa" wakes the device only when the enrolled user says it. Personalized, secure, and fully on-device.

Platforms supported
AndroidiOSLinuxmacOSWindowsChromeEdgeFirefoxSafariRaspberry Pi
Personalized Wake Word · Demo
idle
1Enrollment2Recognition
Enroll speakers with Eagle Profiler
Press the enroll button and say “Hey Meta” to enroll a speaker
1
Speaker 1
Not enrolled
Listening for “Hey Meta”
Porcupine detects the wake word · Eagle verifies who said it
No Match
Not recognized
Enroll a speaker to continue
How personalized wake word is built

Two SDKs. One trigger.

Personalized wake words, combining always-on wake word detection with speaker verification, only trigger when the enrolled user says them — so identical phrases from different speakers are treated differently. Most speaker recognition engines require 2–3 seconds of continuous speech for reliable identification, with accuracy degrading significantly below one second. Wake words are far shorter, which is why only a few companies, such as Alexa Voice ID by Amazon and Personalized Hey Siri by Apple, can offer personalized wake words in production. This guide shows how Picovoice's Porcupine Wake Word and Eagle Speaker Recognition compose into a self-contained personalized wake word that can be deployed at scale.

UserSays wake word"Hey Barista"(custom phrase)MicrophoneAlways listeningPorcupineWAKE WORDWake word detectedEagleSPEAKER RECOGNITIONSpeaker verifiedAction triggeredApp activatesContinuous — Porcupine listens for custom wake word, Eagle verifies speaker identity
Personalized secure wake word benchmark

Eagle achieves 5× lower equal error rate than Pyannote and SpeechBrain

Equal Error Rate (EER), where false accepts equal false rejects, measures speaker recognition performance. A lower EER is better. Across four wake words, Eagle leads. It achieves 0.00% EER on Jarvis and Snowboy (vs. Pyannote: 0.71% and 0.75%; SpeechBrain: 0.36% and 0.35%), scores 0.15% on Alexa (about 7× lower than both at 1.08%), and matches others at 0.38% on Smart Mirror. Overall, Eagle’s mean EER is 0.13%, about 5× lower than Pyannote (0.63%) and SpeechBrain (0.64%).
For a personalized wake word that needs to reject imposters reliably, Eagle offers production-grade accuracy at wake word length audio, allowing enterprises to build experiences similar to Google Voice Match, Apple's Personalized Hey Siri, and Amazon's VoiceID, with no dependency on Google, Apple, or Amazon.

Why Porcupine Wake Word?

Lightweight, accurate, customizable, and production-ready.

3.8%
Single-Core CPU Utilization on Raspberry Pi 3
97.1%
Accuracy at 1 false alarm per 10 hours
~250K
Custom wake words trained and deployed in 2025

Porcupine Wake Word is lightweight, accurate, customizable, and production-ready. With Porcupine, enterprises can train branded wake words and always-listening commands in seconds and deploy them across platforms. Industry-leading accuracy fits in even MCUs.

Wake Word Detection Accuracy - higher the better
Porcupine97.1%
Snowboy68%
PocketSphinx52%
CPU Utilization - lower the better
Porcupine3.8%
Snowboy24.8%
PocketSphinx31.8%
Why Eagle Speaker Recognition?

3× lower EER than SpeechBrain. Up to 5× lower on wake words.

0.18%
Equal Error Rate vs. SpeechBrain 0.49%
4.5 MB
Model Size vs. SpeechBrain 46.5 MB
Any
No language or passphrase restriction

Eagle Speaker Recognition achieves a 0.18% equal error rate on VoxConverse, a widely used multi-speaker dataset containing real conversations across multiple languages, roughly 3× lower than SpeechBrain (0.49%) and 4× lower than Pyannote (0.70%). On wake word length audio, Eagle's accuracy improves further: a mean EER of 0.13% across four wake words, including two perfect 0.00% scores, as shown in the benchmark above. Eagle performs reliable speaker verification (1:1) and identification (1:N) on short audio with no audio sent to a cloud.

Equal Error Rate (EER) — lower is better
Eagle Speaker Recognition0.18%
SpeechBrain Speaker Recognition0.49%
pyannote Speaker Recognition0.70%
Model Size (MB to initialize) — lower is better
Eagle Speaker Recognition4.5 MB
pyannote Speaker Recognition46.5 MB
SpeechBrain Speaker Recognition117.5 MB
Where personalized wake words ship

From smart hubs to industrial devices

Smart speakers, displays and home hubs

Personalized wake word for shared family devices

Smart speakers, displays, and home hubs serving multiple family members can route the wake word to the right user profile — kid asks for music, the hub plays from their playlist; parent asks for the calendar, the hub answers from theirs.

Earbuds and wearables

On-device wake word with speaker verification

Earbuds and watches have single-digit memory budgets and zero room for cloud. Porcupine and Eagle fit in embedded devices. So only the wearer's wake word triggers, even when they share a kitchen with three other voices.

Automotive voice assistants

Driver-only wake word activation

Cars need wake words that ignore the passengers. Combine Porcupine with Eagle speaker verification so only the driver's wake phrase triggers driving-relevant actions and brings driver settings, while passengers summon entertainment with a different or no profile.

Industrial and medical devices

Secure wake word for hands-free operation

Hands-free industrial HMIs, surgical ORs, medical bedside devices, and field tools need a wake word that won't fire on coworkers but only authorized personnel. Personalized and secure wake word gates the device to the operator on shift.

Get started

Personalized and secure wake word in 6 Steps: Python code example

A complete working recipe in Python. Open-source on GitHub. Runs 100% on-device.

recipe · personalized-wake-word
Difficulty
Beginner
Runtime
100% on-device
Language
Python
Platforms supported
AndroidiOSLinuxmacOSWindowsChromeEdgeFirefoxSafariRaspberry Pi

Prerequisites

Picovoice AccessKey from Picovoice Console and GitHub Repo Clone.

Usage

These instructions assume your current working directory is recipes/personalized-wake-word/python.
1

Create a virtual environment

Isolate the recipe's dependencies from your system Python.
2

Activate the virtual environment

Activation makes pip install into .venv instead of system Python.
Linux, macOS, or Raspberry Pi
Windows
3

Install dependencies

Pulls in the Porcupine and Eagle Python SDKs along with audio I/O.
4

Train a Wake Word Model

Use a built-in keyword like alexa or jarvis, or go to Picovoice Console, type any phrase you like — "hey siri", "hey assistant", your brand name — and download the .ppn file for your target platform. Custom wake words train in seconds. The same code path runs whichever keyword you ship.
5

Enroll voice profiles

Speak naturally while Eagle accumulates enough audio. During enrollment, Eagle aims to capture diverse sounds from the speaker and shows real-time progress. When users speak naturally and freely, enrollment usually completes in under 10 seconds.
6

Run the personalized wake word demo

Load Porcupine and Eagle Recognizer with your saved profile. Listen to the mic continuously. When Porcupine fires, check Eagle's speaker score on the surrounding audio — only trigger if the enrolled user matches.
Have questions or looking for implementations in other languages? Visit the GitHub pico-cookbook Personalized Wake Word Recipe, where you can find the code and create an issue for demo-related technical questions.
Frequently asked questions

FAQ

+
What is a personalized wake word?
A personalized wake word is a wake word that only triggers an application or action when the enrolled user says it. It pairs wake word detection with speaker verification (also called voice biometrics or voice ID) so others don't activate the system.
+
How is this different from Google Voice Match or Apple Personalized Hey Siri?
Google Voice Match and Apple's Personalized Hey Siri voice match are proprietary, locked to specific devices. Picovoice's personalized wake word pipeline runs entirely on-device using licensable SDKs (Porcupine for wake word, Eagle for speaker recognition) that any developer or OEM can embed in Android, iOS, Linux, macOS, Windows, Raspberry Pi, or web browsers — with no Google or Apple dependency and no audio leaving the device.
+
Can I customize personalized secure wake words?
Yes. Porcupine ships with built-in keywords and lets you train custom wake words in the Picovoice Console or through Porcupine Wake Word Model Training API. Training a wake word takes seconds with no training dataset or machine learning expertise required. Trained models can be deployed on any platform. Custom wake words use the same on-device runtime.
+
Do the wake word and speaker recognition work offline?
Yes. Porcupine Wake Word and Eagle Speaker Recognition process voice data 100% on-device. Audio is locally processed on the device and never sent to any remote server.
+
How long does voice enrollment take?
During enrollment, Eagle aims to capture diverse sounds from the speaker and the Eagle Profiler reports a percentage as users speak. Once it reaches 100%, the speaker profile is saved to a small file on the device. When users speak naturally and freely, enrollment usually completes in under 10 seconds.
+
Can multiple users enroll on the same device?
Yes. Eagle supports multi-speaker recognition. Each enrolled speaker gets a profile, and the recognizer returns per-speaker scores in real time, making Eagle a well-suited solution for shared devices, such as smart home hubs, family vehicles, and industrial voice assistants.
+
What is the difference between speaker recognition and speaker verification?
Speaker verification answers "is this the enrolled user, yes or no?" — a 1-to-1 check. Speaker identification answers "which enrolled user is this?" — a 1-to-many lookup. Eagle supports both modes. For a personalized wake word with one user, verification is sufficient; for multi-user devices, identification is the right choice.
+
How can I get technical support for the personalized secure wake word recipe?