Live data from Hacker News

Ask HN: How does Alexa avoid interrupting itself when saying its own name?

news.ycombinator.com

1–10 of 61 posts

Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#1
I've noticed that Alexa doesn't interrupt itself when it says "Alexa," but it does respond when someone else says it. How does it achieve this? Here are a few questions I have:

Self-Recognition: How does Alexa distinguish between its own voice and a user's voice saying "Alexa"?

Voice Characteristics: What specific features (e.g., pitch, tone) does Alexa analyze to recognize its own TTS voice?

Algorithms and Models: What machine learning models or algorithms are used to handle this task effectively?

Implementation: Are there any open-source libraries or best practices for developing a similar functionality?

Any insights or resources would be greatly appreciated. Thanks!

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#2
spitballing: 'her' own hardcoded waveform is a hardcorded wake word exception. i have doubts that it'd be much more complex than that.

what i do find interesting, however, is that, at times, she'll wake to an utterance from some other media i have playing and seems to 'know' immediately that she was inadvertently awoken. the 'listening' tone and 'end listening' tones sound in quick succession. i do not have voice recognition enabled (to the extent that that setting is respected).

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#3
What happens if you record her saying her own name and then play it back separately? Does she respond to that if she's not actively talking at the moment?

-----

Not directly the same case but similar, Amazon trains Alexa to avoid certain mentions of her in commercials using acoustic fingerprinting techniques: https://www.amazon.science/blog/why-alexa-wont-wake-up-when-...

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#4
The simple solution: switch off the code that listens for the “Alexa” prompt when saying “Alexa” yourself.

Slightly harder: keep it running, but discard hits that are timed close to the time you say “Alexa” yourself.

Even harder: have a second detector that is trained on the device saying “Alexa”, and discard hits that coincide with that detector firing. That second detector can be simplified by superimposing a waveform that humans will (barely) notice but that is easily detected by a computer on top of the audio whenever the device says “Alexa”.

Still harder: obtain the transfer function and latency between the speaker(s) and its microphone(s) and, using that, compute what signal you expect to hear at the microphone from the speaker’s output, and subtract that from the actual signal detected to get a signal that doesn’t include one’s one utterances.

That function could be obtained from one device in the factory or trained on-device.

I suspect the first already is close to good enough for basic devices. If you want a device that can listen whilexalso playing music at volume, the last option can be helpful.

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#5
There's usually a very small, purpose built model for hearing the initial starting phrase (Alexa, hey Google, etc). It's called a wake word model or wake word detection. Because it's a separate component, it's then fairly straightforward to disable it during an active conversation.

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#6
post #4

The simple solution: switch off the code that listens for the “Alexa” prompt when saying “Alexa” yourself. Slightly harder: keep it running, but discard hits that are timed close to the time you say “Alexa” yourself. Even harder: have a second detector that is trained on the device saying “Alexa”, and discard hits that coincide with that detector firing. That second detector can be simplified by superimposing a wavef…

Transfer function would need to be learned online because room reverberations contribute a lot.

Re: Ask HN: How does Alexa avoid interrupting itself when saying its own name?

#7
post #4

The simple solution: switch off the code that listens for the “Alexa” prompt when saying “Alexa” yourself. Slightly harder: keep it running, but discard hits that are timed close to the time you say “Alexa” yourself. Even harder: have a second detector that is trained on the device saying “Alexa”, and discard hits that coincide with that detector firing. That second detector can be simplified by superimposing a wavef…

Could two Alexas be put next to each other hailing themselves into eternity.
Post reply on HN