8
$\begingroup$

I am trying to understand how my iPhone can continually listening for me saying Hey Siri, Alexa, Hey Cortana or Okay Google without quickly draining my battery down.

I imagined two kind of algorithm. One that record slice of time such as 10 ms wide slices each 200 ms and perform a synchronous detection on specific frequencies. However these parameters strongly depend on the characteristic of my voice. Moreover, it will still consume a lot of CPU power to continually try to match a Hey Siri in the middle of nowhere.

What kind of efficient low-power algorithm/implementation (hardware or software) can perform such task?

This is somehow related to this patent I think: https://www.google.com/patents/US20160253997

I read some articles that talk about hidden Markov models, but I doubt it is very low power approach.

$\endgroup$
6
$\begingroup$

"Ok Google" is described in many publications by Google

Automatic Gain Control and Multi-style Training for Robust Small-Footprint Keyword Spotting with Deep Neural Networks

Convolutional Neural Networks for Small-Footprint Keyword Spotting

It is based on DNN specifically trained for keyphrase and runs really fast. It does not consume a lot of power even on mobile.

Alexa spotting is implemented by the same guys and available as Snowboy

UPDATE: Apple describes their implementation here.

$\endgroup$
1
$\begingroup$

To elaborate on @hotpaw2 answer, "Hey Siri" runs on the low-power M9 Coprocessor chip, which also does stuff like monitoring footsteps, etc for the Health app. Accordingly, in older devices without the M9 chip, you need your iDevice plugged-in to have "Hey Siri" work.

I think the low-power hardware implementation is key (rather than just hardware-agnostic algorithmic genius)

References:

$\endgroup$
0
$\begingroup$

Just some wild guesses:

Dedicated hardware (additional "M" chip or SOC logic block with its own isolated power domain), running at audio processing clock rates or duty cycles, on tiny buffers of data, consume vastly less power than GHz capable CPUs with vast memory hierarchies. The main CPU only has to wake up if an initial probable ID is high enough, so the initial detection algorithm doesn't need to be good, only good enough. Also, consider how tiny the battery is on an in-ear Bluetooth headset compared to a smartphone with the same battery life. Simple audio processing does not rapidly drain relatively huge mobile phone batteries.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.