IP Library › Granted Patent US 12,488,789
Granted Patent B2
US 12,488,789 · App. 18/299,938 · Granted Dec 2, 2025

Method and device for efficient open vocabulary keyword spotting

Inventors: Jinmiao Huang (Toronto, CA); Waseem Gharbieh (Grimsby, CA); Qianhui Wan (Shanghai, CN)
Assignee: LG ELECTRONICS INC.
G10L15/16G10L15/02G10L15/063G10L15/22G10L2015/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 12,488,789
App. No.
18/299,938
Granted
Dec 2, 2025
Kind
B2
Abstract

A computer-implemented method includes receiving enrollment audio from a user comprising a wake word to be enrolled for the device, preprocessing the enrollment audio to obtain a vector representation along at least a feature dimension and a temporal dimension, inputting the extracted vector representation to a trained encoding model to generate an embedding representation of the enrollment audio, wherein the encoding model includes a plurality of mixing blocks, and wherein the feature dimension and the temporal dimension of an output of a first layer of each mixing block are flipped for inputting to a second layer of the mixing block, and storing the generated embedding representation in a memory for use in detecting input of the enrolled wake word.

Claims (59)

1 . A computer-implemented method for open vocabulary keyword spotting by a device, the computer-implemented method comprising:

receiving enrollment audio from a user comprising a wake word to be enrolled for the device;

obtaining one or more portions of the enrollment audio each having a duration of 1 second;

preprocessing the one or more portions of the enrollment audio to obtain a vector representation along at least a feature dimension and a temporal dimension, wherein the dimensions of the vector representation are 81 by 81 along the feature dimension and the temporal dimension, respectively;

inputting the vector representation to a trained encoding model to generate an embedding representation of the enrollment audio,

wherein the encoding model comprises a plurality of mixing blocks, and wherein the feature dimension and the temporal dimension of an output of a first layer of each mixing block are flipped for inputting to a second layer of the mixing block;

storing the embedding representation in a memory for use in detecting input of the enrolled wake word;

receiving input audio at the device;

determining whether the input audio comprises the enrolled wake word based on a comparison between one or more embedding representations of the input audio and the stored embedding representation; and

causing the device to change to a triggered mode for performing in response to a user query based on a determination that the input audio comprises the enrolled wake word.

2 . The method of claim 1 , wherein the first layer and the second layer of each mixing block are fully connected layers.

3 . The method of claim 1 , wherein the first layer and the second layer of each mixing block are convolution layers.

4 . The method of claim 1 ,

wherein determining whether the input audio comprises the enrolled wake word comprises:

obtaining one or more portions of the input audio based on a preset duration of each portion;

preprocessing the one or more portions to obtain one or more vector representations of the one or more portions along at least the feature dimension and the temporal dimension; and

inputting the vector representations of the one or more portions to the encoding model to generate the one or more embedding representations of the input audio.

5 . The method of claim 4 , wherein the determination is made based on a similarity between the stored embedding representation and the one or more embedding representations of the input audio meeting a preset similarity threshold.

6 . The method of claim 4 , further comprising padding the stored embedding representation or the one or more embedding representations of the input audio to match lengths for the comparison.

7 . The method of claim 4 , wherein the comparison comprises determining a cosine distance between the one or more embedding representations of the input audio and the stored embedding representation, and determining a minimum distance which is compared to a threshold for determining whether the input audio comprises the enrolled wake word.

8 . A non-transitory memory storing one or more programs, which, when executed by one or more processors of a computing device, cause the computing device to perform:

receiving enrollment audio from a user comprising a wake word to be enrolled for the device;

obtaining one or more portions of the enrollment audio each having a duration of 1 second;

preprocessing the one or more portions of the enrollment audio to obtain a vector representation along at least a feature dimension and a temporal dimension, wherein the dimensions of the vector representation are 81 by 81 along the feature dimension and the temporal dimension, respectively;

inputting the vector representation to a trained encoding model to generate an embedding representation of the enrollment audio,

wherein the encoding model comprises a plurality of mixing blocks, and wherein the feature dimension and the temporal dimension of an output of a first layer of each mixing block are flipped for inputting to a second layer of the mixing block;

storing the embedding representation in a memory for use in detecting input of the enrolled wake word;

receiving input audio at the device;

determining whether the input audio comprises the enrolled wake word based on a comparison between one or more embedding representations of the input audio and the stored embedding representation; and

causing the device to change to a triggered mode for performing in response to a user query based on a determination that the input audio comprises the enrolled wake word.

9 . The non-transitory memory of claim 8 , wherein the first layer and the second layer of each mixing block are fully connected layers.

10 . The non-transitory memory of claim 8 , wherein the first layer and the second layer of each mixing block are convolution layers.

11 . The non-transitory memory of claim 10 , wherein

determining whether the input audio comprises the enrolled wake word comprises:

obtaining one or more portions of the input audio based on a preset duration of each portion;

preprocessing the one or more portions to obtain one or more vector representations of the one or more portions along at least the feature dimension and the temporal dimension; and

inputting the one or more vector representations of the one or more portions to the encoding model to generate the one or more embedding representations of the input audio.

12 . The non-transitory memory of claim 8 , wherein the determination is made based on a similarity between the stored embedding representation and the one or more embedding representations of the input audio meeting a preset similarity threshold.

13 . The non-transitory memory of claim 8 , wherein the one or more programs further cause the computing device to perform padding the stored embedding representation or the one or more embedding representations of the input audio to match lengths for the comparison.

14 . The non-transitory memory of claim 13 , wherein the comparison comprises determining a cosine distance between the one or more embedding representations of the input audio and the stored embedding representation, and determining a minimum distance which is compared to a threshold for determining whether the input audio comprises the enrolled wake word.

15 . An artificial intelligence (AI) device for open vocabulary keyword spotting, the AI device comprising:

an audio input;

a memory; and

one or more processors configured to:

receive, via the audio input, enrollment audio from a user comprising a wake word to be enrolled for the device;

obtain one or more portions of the enrollment audio each having a duration of 1 second;

preprocess the one or more portions of the enrollment audio to obtain a vector representation along at least a feature dimension and a temporal dimension, wherein the dimensions of the vector representation are 81 by 81 along the feature dimension and the temporal dimension, respectively;

input the vector representation to a trained encoding model to generate an embedding representation of the enrollment audio,

wherein the encoding model comprises a plurality of mixing blocks, and wherein the feature dimension and the temporal dimension of an output of a first layer of each mixing block are flipped for inputting to a second layer of the mixing block;

storing the embedding representation in a memory for use in detecting input of the enrolled wake word;

receive, via the audio input, input audio at the device;

determine whether the input audio comprises the enrolled wake word based on a comparison between one or more embedding representations of the input audio and the stored embedding representation; and

cause the device to change to a triggered mode for performing in response to a user query based on a determination that the input audio comprises the enrolled wake word.

16 . The AI device of claim 15 , wherein the first layer and the second layer of each mixing block are fully connected layers.

17 . The AI device of claim 16 , wherein the first layer and the second layer of each mixing block are convolution layers.

18 . The AI device of claim 15 , wherein determining whether the input audio comprises the enrolled wake word comprises:

obtaining one or more portions of the input audio based on a preset duration of each portion;

preprocessing the one or more portions to obtain one or more vector representations of the one or more portions along at least the feature dimension and the temporal dimension; and

inputting the one or more vector representations of the one or more portions to the encoding model to generate the one or more embedding representations of the input audio.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: HUANG, JINMIAO; GHARBIEH, WASEEM; WAN, QIANHUI
To: LG ELECTRONICS INC.
Reel/Frame 063316/0496 →
Continuity (2)
Provisional Application 63330312 · Apr 13, 2022
Related Publication 20230335118A1 · Oct 19, 2023
References Cited (12)
US 11587569B2 · Ye · 2023 [cited by examiner]
US 12101609B1 · Mazed · 2024 [cited by examiner]
US 20190020530A1 · Au · 2019 [cited by examiner]
US 20210304769A1 · Ye · 2021 [cited by examiner]
US 20210383796A1 · Coucke · 2021 [cited by examiner]
US 20220280072A1 · Timofejevs · 2022 [cited by examiner]
US 20220343895A1 · Tomar · 2022 [cited by examiner]
US 20230081715A1 · Timofejevs · 2023 [cited by examiner]
US 20230104431A1 · Smyth · 2023 [cited by examiner]
US 20230217195A1 · Poltorak · 2023 [cited by examiner]
US 20230298592A1 · Yang · 2023 [cited by examiner]
US 20230335118A1 · Huang · 2023 [cited by examiner]