Help us make voice better in under a minute

Give us a minute of your time and lend your voice to improve our community-driven, privacy-focused voice assistant, and together we’ll break big tech’s stranglehold on home voice control.

When you use Home Assistant Assist we’ll never take your data unwillingly to improve its functionality; that’s why we’re asking for your help today (more on that below).

Specifically, we’re trying to improve our wake word engine, which “wakes” the device to listen for more commands. Our open source microWakeWord engine is an incredible, lightweight bit of code but requires training with real voices to improve. Everyone’s voice is unique, and we need recordings of people of all genders, ages, and accents from around the world saying this wake word. So get the whole home involved, along with friends and family.

Help us today

Your voice, your choice

Privacy is at the core of everything we do, and that’s what’s driving us to build an open, local, and private voice assistant. Years ago a voice assistant arms race began between a couple of big tech companies, where they sold very cheap voice hardware, all because they wanted your data. They used that voice data to rapidly improve their voice capabilities (and who knows what else) at the expense of your privacy.

We will never use those tactics to improve Home Assistant. We do something novel and bewildering to the smart home industry - we explicitly ask for your help. For instance, Home Assistant has opt-in statistics; these really help us focus on what people are using and put resources into making the biggest impact. When you opt-in it really helps, but we totally understand if you don’t - it’s your home and your data. We’re doing the same with voice, explicitly asking for help, and would love your help to improve its wake word capability.

What big tech might consider a weakness is actually our greatest strength - privacy empowers our users, allowing them to not worry about being tracked or classified by an algorithm.

microWakeWord goes global

microWakeWord is a very lightweight wake word engine that can run on ESP32-class devices. This allows the voice assistant to listen for a specific phrase, for instance “Okay Nabu”, and ignore all other noise and speech until it hears that. Running it on-device speeds everything up significantly, cutting out the lag from streaming audio continuously to a more powerful device running wake word software. The downside to running it on-device is the amount of training required to get good results.

A few months ago, we promoted an early version of this Wake Word Collective tool in the Open Home Foundation newsletter (subscribe if you haven’t already). From that one email alone, we received over 5,800 samples covering 30 different languages. While microWakeWord used to only excel at picking up the English pronunciation of “Okay Nabu”, it’s now many times more effective at picking up different accents. Our testing shows our model trained on this data falsely rejects 5% of samples, while previous models rejected 18%, which shows your samples are making a difference!

We still need more different types of voices from different parts of the world. If you or your family use Assist and find it still struggling to wake up to hear your commands, this is the perfect opportunity to lend your voice to the project.

How it works

Before you start recording you will fill in what language you’re most comfortable speaking, allowing us to train language-specific wake word models that are better at detecting subtle differences in pronunciation. You must also read and agree to the Wake Word Collective terms. This explains, among other things, that these recordings will be made available publicly under a Creative Commons CC0 public domain dedication. We operate our research openly for the benefit of all, and that is why these will be available to the public.

Next, it explains that you only need you to say two words,  “Okay, Nabu”, a couple of times.  You’ll need to set down your phone, tablet, or laptop, and walk around the room, saying the wake word whenever the circle on the screen turns green. Taking samples from all around the room better reflects the real-world use of a voice assistant. Don’t worry about background noise; it’s useful for training.

I said this would only take a minute, but you’ve probably been reading this for longer, so go on and get recording.


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2024/10/24/wake-word-collective
10 Likes

Really appreciate you guys asking and being transparent.

3 Likes

Does this specifically improve the detection of “Okay Nabu”, or does the processing of the collected recordings allow for an “abstraction” to (potentially) improve the detection of self-chosen wakewords as well? (“This is how an “a”-sound changes when people are not talking directly to a microphone”, “This is how vowels get affected by background noise”, …)

And kind of related: is there a blogpost or a video somewhere to better understand the decision criteria that resulted in “Okay Nabu”?

5 Likes

I haven’t really been keeping up with the voice assistant, but I thought the wake word was going to be configurable. I was hoping to be able to say “ok [house]”. Is that not the case?

6 Likes

Awesome, I’m always glad to help.

Quick feedback though: please let us listen to the recordings before submitting them. (Just one example: Sometimes my webcam mic has issues and I’d like to make sure not to transmit white noise or silence instead of what you guys were asking for.)

4 Likes

Glad to help: I just donated some free time and my voice!

1 Like

Thanks for asking.

A small and easy thing to give back.

1 Like

Could there be an option to contribute anonymously? I like to contribute, but …

They say AI can now clone your voice with just 3-seconds of recording.

1 Like

FYI, indirectly asked the question recently when requested “Hey Assist” (same for “Home Assistant”) as additional default wake words included by default, so far only got an incomplete answer on that from Nabu Casa’s Mike Hansen here → [REQUEST] Official 'Okay Assist' and 'Hey Assist' included as wake words by default for ESPHome and Home Assistant? · Issue #11 · esphome/micro-wake-word-models · GitHub

PS: Also see this other related request → Official 'Home Assistant' wake word · Issue #8 · esphome/micro-wake-word-models · GitHub

1 Like

How would ‘they’ (abusers) link that voice to the real identity behind hedda?
There are so many voices that can be used from YT vids that are more interesting then these snippets from a virtual person with a nickname.

1 Like

Maybe not, still, I guess it could not hurt if the data was anonymized before it was published as public domain.

Don’t forget, you are only saying 2 specific (and short) words. I don’t think that’s enough to clone you voice.

1 Like

Hopefully this will improve it’s ability to understand us Aussies. :laughing:

3 Likes

Sorry, but this wake word isn’t gonna succeed. Nabu isn’t brand that people want to mention dozens of times every day. I won’t put my 2c into making it one. I want some generic term like “computer”, “house”. Alternatively “Alfred” or “Jarvis” (so I can feel like a batman or iron man). I don’t want to explain to my guests what “nabu” means.

10 Likes

All of which is already possible.

4 Likes

Since you’re seem to be using HA for some time, you might know that you get a lot of freedom to set up your system the way you want.
Helping with this request will not imply that you have to use that wakeword in the future and I guess they are asking to use the same words since that’s probably the best way to train this.

1 Like

It is, but as long as it’s not clear if this is an effort to specifically improve this one wake word, or if this helps with setting up any kind of wake word as well, then i see it as valuable feedback when people see reasons why “okay nabu” might from a “usability” perspective not the best choice.

1 Like

@synesthesiam Can I suggest that you take this opportunity to also ask the same people to also say "Home Assistant", “Okey Assist”, and “Okey Jarvis” to help train such models as well so they could be included as alternative models for optional wake words than any user can chance to without too much effort?

By popular demand, it would be awesome if you could include these too as optional standards by default:

  • "Home Assistant" (4 syllables)

  • Okey Assist” (4 syllables)

  • Okey Jarvis” (4 syllables)

As requested in repo for community Home Assistant Wake Word Collection (for openWakeWord):

PS: Don’t think it is a good idea to include “Alexa” or “Siri” due to possible copyright infringement concerns.

1 Like

Do you think “Alexa” and “Siri” were in response to millions of people already begging to say these names ? The brand recognition came from the names being used.

A name/word that will not be used in ordinary conversation is desirable. While talking to “computer” is popular (especially for Trekers), “Computer” or “House” would create too many false positives in many homes (especially while TV/radio news is in the background). In fact existing brand recognition would be a problem as it increases the chance of false positives.

I do agree with Hedda that Assist should provide a choice of several well-developed wake words, though I suggest a bit more discussion on which phrases would be best.

2 Likes

I tried several options in my m5 Atom Echo. Sadly, the only wake word my family remember (specially kids) is “Alexa”. :weary:

They use it in other kids houses and in my fathers in law’s.