Stable 90%+ Wake Word Recall — From-Scratch vs Frozen Embeddings

August 2026 · Voicute

"90%+ recall" is a promise most wake-word tools make but few keep consistently. openWakeWord's custom models swing from 25% to 90% depending on the word and the day. Here's what "stable" actually means, and why from-scratch training delivers it.

What unstable recall looks like

That's the pattern: a number that looks fine in one benchmark, then falls apart for the next word. Here's the full mechanism.

Why frozen embeddings are inherently unstable

openWakeWord freezes a speaker-verification embedding and trains only a small head per word. That embedding was trained to answer "who is speaking?" — which requires it to ignore "what is being said." Wake-word detection is the exact opposite task. The mismatch means some words separate cleanly in that borrowed space and some don't, so recall becomes a lottery.

Why from-scratch training is stable

Voicute trains a temporal convolutional network from scratch for each word. The filters learn the acoustic shape of your word directly — no borrowed feature space to fight against. The convolutional inductive bias (local connections, weight sharing, translation invariance) is what makes it data-efficient: the model generalizes from synthetic training audio to real speakers and noisy rooms without the recall collapsing.

The result is stable 90%+ recall: the same number for English, German, French, Japanese, and Chinese, across voices and noise levels — with no per-word tuning.

Frozen embedding (openWakeWord)From-scratch TCN (Voicute)
Recall25%–90%, word-dependentStable 90%+
Word-pickingYesNo
Non-English~0.001 scoresNative EN / DE / FR / JA / ZH
TuningPer-word hyperparametersNone

FAQ

What does stable recall mean for a wake word?

Stable recall means the model hits 90%+ across different words, voices, and noise levels — not 90% for one lucky word and 25% for another. It's the difference between a wake word that works and one you keep re-tuning.

Why is openWakeWord's recall unstable?

openWakeWord builds each word on a frozen English speaker-verification embedding that was trained to ignore what is said. That objective mismatch causes word-picking and recall that swings from ~25% to ~90%.

How does from-scratch training keep recall stable at 90%+?

A from-scratch TCN learns the acoustic shape of the target word directly, so there's no borrowed feature space to fight against. Convolutional inductive bias makes it data-efficient and stable under noise and speaker variation.

Do non-English wake words also get stable 90%+ recall?

Yes. Because each model is trained in the target language, German, French, Japanese, and Chinese wake words hold the same stable 90%+ recall as English.

Train a stable wake word →