IP Library Granted Patent US 11,132,992
Granted Patent B2
US 11,132,992 · App. 16/522,416 · Granted Sep 28, 2021

On-device custom wake word detection

Inventors: Emilian Stoimenov (Bellevue, WA); Rui Zhao (Bellevue, WA); Kaustubh Prakash Kalgaonkar (Bellevue, WA); Ivaylo Andreanov Enchev (Redmond, WA); Khuram Shahid (Seattle, WA); Anthony Phillip Stark (Redmond, WA); Guoli Ye (Sammamish, WA); Mahadevan Srinivasan (Bellevue, WA); Yifan Gong (Sammamish, WA); Hosam Adel Khalil (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G10L15/16G06N3/08G10L17/24G10L2015/088
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,132,992
App. No.
16/522,416
Filed
Jul 25, 2019
Granted
Sep 28, 2021
Kind
B2
Art Unit
2664
USPC
704/231
Abstract

Generally discussed herein are devices, systems, and methods for on-device detection of a wake word. A device can include a memory including model parameters that define a custom wake word detection model, the wake word detection model including a recurrent neural network transducer (RNNT) and a lookup table (LUT), the LUT indicating a hidden vector to be provided in response to a phoneme of a user-specified wake word, a microphone to capture audio, and processing circuitry to receive the audio from the microphone, determine, using the wake word detection model, whether the audio includes an utterance of the user-specified wake word, and wake up a personal assistant after determining the audio includes the utterance of the user-specified wake word.

Claims (50)

1. A device comprising:

memory including model parameters that define a custom wake word detection model, the wake word detection model including a recurrent neural network transducer (RNNT) and a lookup table (LUT), the LUT indicating a hidden vector to be provided in response to a phoneme of a user-specified wake word;

a microphone to capture audio;

processing circuitry to:

receive the audio from the microphone;

determine, using the wake word detection model, whether the audio includes an utterance of the user-specified wake word;

wake up a personal assistant after determining the audio includes the utterance of the user-specified wake word; and

reset, in response to determining one of the wake word was uttered and a specified period of time has elapsed, the wake word detection model to erase a history of processed audio.

2. The device of claim 1 , wherein the wake word detection model is trained using standard phonemes and whole word phonemes.

3. The device of claim 1 , wherein the wake word detection model is compressed using single value decomposition (SVD).

4. The device of claim 3 , wherein the wake word detection model includes weights quantized to 8-bit or 16-bit values.

5. The device of claim 1 , wherein the processing circuitry is to:

receive the wake word from a user;

provide the wake word to a wake word model engine; and

receive from the wake word model engine, a wake word graph of the wake word indicating a phoneme sequence of the wake word and alternate pronunciations of the wake word;

wherein the wake word graph is part of the wake word detection model.

6. The device of claim 1 , wherein the processing circuitry is to:

receive the wake word from a user;

provide the wake word to a wake word model engine; and

receive from the wake word model engine, a wake word graph of the wake word indicating a phoneme sequence of the wake word and alternate pronunciations of the wake word and a background language model with unigrams and bi-grams of the wake word removed therefrom;

wherein the wake word graph and the background language model are part of the wake word detection model.

7. A method of on-device custom wake word detection comprising:

receiving audio from a microphone of a device;

determining, using a wake word detection model, whether the audio includes an utterance of a user-specified wake word, the wake word detection model including a recurrent neural network transducer (RNNT) and a lookup table (LUT), the LUT indicating a hidden vector to be provided in response to a phoneme of a user-specified wake word;

waking up a personal assistant after determining the audio includes the utterance of the user-specified wake word; and

resetting, in response to determining one of the wake word was uttered and a specified period of time has elapsed, the wake word detection model to erase a history of processed audio.

8. The method of claim 7 , wherein the wake word detection model is trained using standard phonemes and whole word phonemes.

9. The method of claim 7 , wherein the wake word detection model is compressed using single value decomposition (SVD).

10. The method of claim 9 , wherein the wake word detection model includes weights quantized to 8-bit or 16-bit values.

11. The method of claim 7 , further comprising:

receiving the user-specified wake word from a user;

providing the user-specified wake word to a wake word model engine; and

receiving from the wake word model engine, a wake word graph of the user-specified wake word indicating a phoneme sequence of the user-specified wake word and alternate pronunciations of the user-specified wake word;

wherein the wake word graph is part of the wake word detection model.

12. A non-transitory machine-readable medium including instructions that, when executed by a machine, cause the machine to perform operations for on-device custom wake word detection, the operations comprising:

receiving audio from a microphone of a device;

determining, using a wake word detection model, whether the audio includes an utterance of a user-specified wake word, the wake word detection model including a recurrent neural network transducer (RNNT) and a lookup table (LUT), the LUT indicating a hidden vector to be provided in response to a phoneme of a user-specified wake word;

waking up a personal assistant after determining the audio includes the utterance of the user-specified wake word; and

resetting, in response to determining one of the wake word was uttered and a specified period of time has elapsed, the wake word detection model to erase a history of processed audio.

13. The non-transitory machine-readable medium of claim 12 , wherein the wake word detection model is trained using standard phonemes and whole word phonemes.

14. The non-transitory machine-readable medium of claim 12 , wherein the operations further comprise:

receiving the user-specified wake word from a user;

providing the user-specified wake word to a wake word model engine; and

receiving from the wake word model engine, a wake word graph of the user-specified wake word indicating a phoneme sequence of the user-specified wake word and alternate pronunciations of the user-specified wake word;

wherein the wake word graph is part of the wake word detection model.

15. The non-transitory machine-readable medium of claim 12 , wherein the operations further include:

receiving the wake word from a user;

providing the wake word to a wake word model engine; and

receiving from the wake word model engine, a wake word graph of the wake word indicating a phoneme sequence of the wake word and alternate pronunciations of the wake word and a background language model with unigrams and bi-grams of the wake word removed therefrom;

wherein the wake word graph and the background language model are part of the wake word detection model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: STOIMENOV, EMILIAN; ZHAO, RUI; KALGAONKAR, KAUSTUBH PRAKASH; ENCHEV, IVAYLO ANDREANOV; SHAHID, KHURAM; STARK, ANTHONY PHILLIP; YE, GUOLI; SRINIVASAN, MAHADEVAN; GONG, YIFAN; KHALIL, HOSAM ADEL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050193/0249 →
Continuity (2)
Provisional Application 62843543 · May 5, 2019
Related Publication 20200349927A1 · Nov 5, 2020
Cited By (3)
US 12,223,953 US 12,505,833 US 12,658,182