Porcupine Wake Word is not just a wake word detection engine, it is “the one”.
Picovoice is a leader in the field of wake word detection. We are extremely impressed with how easy it is to get a wake word and how well it performs. We have tried other alternatives, but they do not perform as well.
Porcupine Wake Word is a wake word detection engine that recognizes unique signals to transition software from passive to active listening.
Porcupine Wake Word enables enterprises to offer hands-free experiences by training and deploying custom wake words like Big Tech - but with superior technology.
o = pvporcupine.create(access_key=access_key,keyword_paths=keyword_paths)while True:keyword_index =o.process(audio_frame())if keyword_index >= 0:// Detection callbackBuild with Python
let o = new Porcupine(accessKey,keywordPaths,sensitivities);while (true) {let keywordIndex =o.process(audioFrame());if (keywordIndex >= 0) {// Detection callback}}Build with NodeJS
PorcupineManagerCallbackcallback =new PorcupineManagerCallback() {@Overridepublic voidinvoke(int keywordIndex) {// Detection callback}}PorcupineManager o =new PorcupineManager.Builder().setAccessKey(accessKey).setKeywordPath(keywordPath).build(appContext,callback);o.start()Build with Android
let o = try PorcupineManager(accessKey,keywordPath: keywordPath,onDetection: { keywordIndex in// Detection callback})try o.start()Build with iOS
const {keywordDetection,isLoaded,isListening,error,init,start,stop,release,} = usePorcupine();init(accessKey,keywords,model);useEffect(() => {if (keywordDetection !== null) {// Keyword detection}}, [keywordDetection])Build with React
PorcupineManager o =await PorcupineManager.fromKeywordPaths(accessKey,keywordPaths,(keywordIndex) => {// Detection callback});await o.start()Build with Flutter
let o = await PorcupineManager.fromKeywordPaths(accessKey,keywordPaths,(keywordIndex) => {// Detection callback});await o.start()Build with React Native
PorcupineManager o =PorcupineManager.FromKeywordPaths(accessKey,keywordPaths,(keywordIndex) => {// Detection callback});o.start();Build with Unity
constructor(private o: PorcupineService) {this.keywordSubscription =o.keywordDetection$.subscribe(d => {// Detection callback})}async ngOnInit() {await this.o.init(accessKey,keywords,model)}Build with Angular
{data() {const {state,init,start,stop,release} = usePorcupine();init(accessKey,keywords,model);return {s: state,start,stop,release}},watch: {"s.keywordDetection":function (o) {if (o !== null) {// Detection callback}}}}Build with Vue
Porcupine o =Porcupine.FromKeywordPaths(accessKey,keywordPaths);while (true){int keywordIndex =o.Process(Audio());if (keywordIndex >= 0){// Detection callback}}Build with .NET
Porcupine o =new Porcupine.Builder().setAccessKey(accessKey).setKeywordPath(keywordPath).build();while (true) {int keywordIndex =o.process(audioFrame());if (keywordIndex >= 0) {// Detection callback}}Build with Java
o := Porcupine{AccessKey: accessKey,KeywordPaths: keywordPaths}o.Init()for {keywordIndex, err :=o.Process(AudioFrame())if keywordIndex >= 0 {// Detection callback}}Build with Go
let o: Porcupine =PorcupineBuilder::new_with_keyword_paths(keyword_paths).init().expect("");loop {if let Ok(keyword_index) =o.process(&audio_frame()) {if keyword_index >= 0 {// Detection callback}}}Build with Rust
pv_porcupine_t *porcupine = NULL;pv_porcupine_init(access_key,model_path,num_keywords,keyword_paths,&sensitivities,&porcupine);while (true) {pv_porcupine_process(porcupine,audio_frame(),&keyword_index);if (keyword_index >= 0) {// Detection callback}}Build with C
“Hey Siri”, “Alexa”, and “OK Google” are the most widely known wake words because Big Tech forces enterprises to use only their branded wake words. Legacy vendors hide their old technology behind “talk to sales” and offer mediocre custom wake words only after months of engagements and iteration.
Porcupine Wake Word is what a wake word detection engine should be: lightweight, accurate, and production ready.
Porcupine Wake Word always uses the latest inventions of Picovoice researchers
Make a decision based on data, not unproven claims or manipulated results. Porcupine Wake Word functions robustly across various accents and in the presence of noise and reverberations - proven by the open-source wake word benchmark.
Just type the phrase to train a production-grade keyword model in seconds. No need for data gathering or labeling — No PhD, machine learning, or coding skills are required.
Elevate user experience across all channels. Add wake words and always-listening custom commands to any platform and build without worrying about future expansions.
Grow with Picovoice’s multilingual support by adding multiple wake words across languages with no added runtime footprint. Try the lamp demo that runs within your web browser and can detect 24 wake words from eight languages.
Start building for free, enjoy updates, and focus on improving your product continuously. Picovoice heavily invests in R&D and makes its technology available to any developer, offering the best technology with no mandatory enterprise sales calls and “low-cost” evaluation models.
Does Porcupine Wake Word sound too good to be true? See for yourself!
Start NowA wake word is a unique phrase that activates dormant applications. For example, Amazon, Apple, and Google devices wake up when they detect Alexa, Hey Siri, and OK Google. Wake word, trigger word, hotword, and wake-up word are used interchangeably.
Wake Word Detection is one of the applications of Keyword Spotting (KWS) technology. It detects (spots) phrases (keywords) in audio streams and conversations. Voice activation is the most common use case for wake word detection. There is no difference between hotword, hot word, trigger word, wake word, and wake-up word. For example, Picovoice’s wake word engine, Porcupine, is used by NASA for several projects. NASA calls it hot word recognition in one project and wake word detection in another. Google predominantly uses hotword detection .
A wake word detection engine is a binary classifier that recognizes pre-defined phrases. During training, the detection engine learns the desired wake word and how to differentiate it, so when integrated into software listens to the environment to detect that keyword.
First and foremost, it should be accurate with low FAR and FRR. Secondly, it should run locally on the device to achieve affordable, power-efficient, and private hands-free experiences. Lastly, it has to be resource-efficient and fast as wake word detection engines listen to conversations in the environment. That’s why using other solutions, such as automatic speech recognition for wake word detection, is not a good idea.
The performance of the wake word depends on several factors, including the number of phonemes, vowels, and syllables. For more information, check out the guide on choosing a wake word.
Picovoice doesn’t gather or require customer data, thanks to transfer and self-supervised learning algorithms in Porcupine Wake Word.
Developers use Porcupine Wake Word to detect wake words, such as “Alexa” to activate dormant software, always listening commands, such as “turn the lights on” to trigger an action and to monitor conversations for specific keywords, such as profanity or product name.
Picovoice docs, blog, Medium posts , and GitHub are great resources to learn about voice AI, Picovoice technology, and how to enhance speech quality. Picovoice also offers GitHub community support to all Free Plan users.
Porcupine Wake Word empowers developers to train any wake word of choice and always-listening custom commands that could work with Alexa-enabled applications and Google Assistant. Technically, “Jarvis” or other phrases replace “Alexa” and “Hey Google”. In practice, Amazon and Google policies determine what developers can use.
Training a custom wake word on Picovoice Console takes less than ten seconds and is free. Picovoice, unlike other vendors, does not require prior commercial engagement for enterprise-grade wake words. After downloading your platform-optimized wake word, integrate it into your product with one of Porcupine Wake Word SDKs.
Comparing hotword, trigger word, wake word, or wake-up word models the right way is complex. Learn more about the terms, such as FAR, FRR, and ROC, used in evaluations and use the open-source benchmark whether your vendor calls it hotword, trigger word, wake word, or wake-up word.
Porcupine Wake Word supports Arabic, Dutch, English, Farsi, French, German, Hindi, Italian, Japanese, Korean, Mandarin, Polish, Portuguese, Russian, Spanish, Swedish, and Vietnamese.
Engage with Picovoice Sales by providing details about the opportunity, including use cases, requirements, and project details. Someone from the Picovoice team will respond to you.