A wake word is a specific word or phrase that can activate a device when spoken. Enterprises that use wake word services provided by Big Tech are forced to use their branded wake words like "Hey Siri", "Alexa", and "OK Google".
"Wake word" is synonymous with the terms "trigger word", "hotword", and "wake-up word".
In contrast, Picovoice's Porcupine Wake Word Detection engine enables developers to create custom wake word models tailored to a product rather than the branding of Big Tech.
In this article, we will demonstrate how to create a custom wake word to use with Picovoice's Porcupine Wake Word Detection
engine.
An equivalent video tutorial of this article is also available.
1. Picovoice Console
Sign up for a free Picovoice Console account. Once you've created an account, navigate to the Porcupine
page.
2. Choose Wake Word
First, select the language for your custom wake word, then type in the phrase that you would like to train.
Not all wake words perform the same. For guidance on choosing a good wake word, refer to our wake word selection guide.
3. Test & Train
After your wake word has been validated, you can test its performance by clicking on the microphone button. The key thing to monitor is how reliably your wake word gets detected when spoken and whether similar-sounding phrases trigger false detections.
If it's not performing as well as you need it to, please refer to the wake word selection guide and try a different wake word.
Once you're satisfied with how your wake word performs, click on the "Train" button at the bottom.
4. Download your Custom Wake Word
Select the platform you're building for, then click "Download".
In just a few seconds, you'll see a folder in your downloads containing the .ppn
file for your wake word.
Next Steps
Now that you have your .ppn
file, you're ready to begin coding! Below is the list of SDKs supported by Porcupine
, along with corresponding code snippets and quick-start guides.
o = pvporcupine.create(access_key=access_key,keyword_paths=keyword_paths)while True:keyword_index =o.process(audio_frame())if keyword_index >= 0:// Detection callback