How to Fix False Positives on the Wakeup Phrase in Voice Assistants

On a long road trip, my wife will invariably fall asleep next to me. And with nobody to talk to as I hurtle down the highway, I need something to keep my mind busy. So I call out to the voice assistant:“Okay, Google.”Me starting a conversation in the c…


This content originally appeared on Level Up Coding - Medium and was authored by Erik Hermansen

On a long road trip, my wife will invariably fall asleep next to me. And with nobody to talk to as I hurtle down the highway, I need something to keep my mind busy. So I call out to the voice assistant:

“Okay, Google.”

Me starting a conversation in the car with my good friend, Google.

Android Auto recognizes the wakeup phrase, and waits patiently for my command.

“play latest big technology podcast”

The code in my car and phone successfully starts the podcast playing. Yay! I celebrate the ingenuity of all those people at Google that made useful software for me. It’s cool to have this little power.

Now, during this podcast, the host, Alex Kantrowitz, interviews Prabhakar Raghavan, a guy who runs Google search and, ironically, Voice Assistant. Unsurprisingly, Mr. Raghavan and Mr. Kantrowitz utter the word “Google” at least ten times in the interview.

And also, Google Voice Assistant interrupts the podcast at least ten times in the interview.

Why? It is interpreting the podcast audio that outputs through in-vehicle speakers as me speaking the wakeup phrase. I’m not saying “Google”. The podcast people are.

A more detailed view of why we get false positives. The mic can’t distinguish where the word “Google” came from.

How to fix this? There are some hard ways, and one very easy way.

Two Hard Ways

You could find distinguishing features of the driver’s voice and remember them in one or more voice profiles. The easiest way to build this profile might be an analysis of the frequency distribution in a speaker’s voice.

Frequencies represented in audio from Martin Beadle, a voiceover actor who spans four octaves in his normal speaking voice.

And you could say that if the audio containing the wakeup phrase didn’t match the frequency distribution of the driver, then don’t use that audio to change to listening state.

But there are problems with that approach. Drivers can change, and therefore the expected voice profile won’t match. Maybe I want my wife to be able to use the Voice Assistant too, and she has a different voice than me. And sometimes people’s voices playing through the speaker can also have a similar voice to people in the car. So we won’t get free of false positives and false negatives using this approach.

Approach #2: You could use noise cancellation to remove the speaker output from the microphone input. However, that’s really difficult to get reliable results in an uncontrolled audio environment like inside of a car. Audio engineers manage this task with a lot of manual knob fiddling in the studio. I’ve not yet seen a fully automated algorithm that removes a known source of unwanted voice signal such that it won’t interfere with speech recognition.

One Easy Way

This solution is so simple, that I’m peeved it isn’t already part of Android Auto and Voice Assistant. I don’t think I’m a genius for coming up with it. I think other engineers are very… uh… not-genius… for not coming up up with it.

  1. When the wakeup phrase is detected from the microphone audio…
  2. Check for the wakeup phrase in speaker output audio around the same time.
  3. If, and only if, the wakeup phrase is not found in the speaker output audio, then wake up (go to “listening for command” state).

That’s it.

The Happy Path I wanted. Google, you do not need to interrupt podcasts when they talk about you.

Note that the wakeup phrase detection is usually performed in local hardware, so there is no server roundtrip penalty. And we only need to check two times when the wakeup phrase is detected from the microphone, so the extra CPU used should be negligible.

There is one edge case that isn’t handled well. If I happen to say the wakeup phrase at the same time as someone on the podcast, then my wakeup will be ignored. If and when that ever happens, I will just enjoy the odd moment where Alex Kantrowitz and I both speak the name “Google” in unison.

What Am I Missing?

There’s often a good reason for why engineers haven’t done the thing that I think is brilliant. Maybe it would infringe on a software patent. Maybe there’s a use case that severely breaks my algorithm. Or the feature was implemented in some version of Android that doesn’t work with my stupid phone. If anyone has insight on why we can’t prevent these false wake-ups, would you please let me know? I’d rather learn than be an Angry Engineer.

* * * media credits * * * want a job? * * * LinkedIn profile * * *

How to Fix False Positives on the Wakeup Phrase in Voice Assistants was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.


This content originally appeared on Level Up Coding - Medium and was authored by Erik Hermansen


Print Share Comment Cite Upload Translate Updates
APA

Erik Hermansen | Sciencx (2022-10-17T00:42:31+00:00) How to Fix False Positives on the Wakeup Phrase in Voice Assistants. Retrieved from https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/

MLA
" » How to Fix False Positives on the Wakeup Phrase in Voice Assistants." Erik Hermansen | Sciencx - Monday October 17, 2022, https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/
HARVARD
Erik Hermansen | Sciencx Monday October 17, 2022 » How to Fix False Positives on the Wakeup Phrase in Voice Assistants., viewed ,<https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/>
VANCOUVER
Erik Hermansen | Sciencx - » How to Fix False Positives on the Wakeup Phrase in Voice Assistants. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/
CHICAGO
" » How to Fix False Positives on the Wakeup Phrase in Voice Assistants." Erik Hermansen | Sciencx - Accessed . https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/
IEEE
" » How to Fix False Positives on the Wakeup Phrase in Voice Assistants." Erik Hermansen | Sciencx [Online]. Available: https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/. [Accessed: ]
rf:citation
» How to Fix False Positives on the Wakeup Phrase in Voice Assistants | Erik Hermansen | Sciencx | https://www.scien.cx/2022/10/17/how-to-fix-false-positives-on-the-wakeup-phrase-in-voice-assistants/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.