US 12,087,280 B2
System and method for robust wakeword detection in presence of noise in new unseen environments without additional data
George Jose, Karnataka (IN); Jigar Mistry, Gujarat (IN); Aashish Kumar, Karnataka (IN); Srinivas Kruthiventi Subrahmanyeswara Sai, Bangalore (IN); and Rajesh Biswal, Karnataka (IN)
Assigned to HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED, Stamford, CT (US)
Filed by Harman International Industries, Incorporated, Stamford, CT (US)
Filed on May 4, 2022, as Appl. No. 17/662,058.
Claims priority of application No. 202141026114 (IN), filed on Jun. 11, 2021.
Prior Publication US 2022/0399007 A1, Dec. 15, 2022
Int. Cl. G10L 15/16 (2006.01); G10L 15/05 (2013.01); G10L 15/22 (2006.01); G10L 15/08 (2006.01); G10L 15/20 (2006.01)
CPC G10L 15/05 (2013.01) [G10L 15/16 (2013.01); G10L 15/22 (2013.01); G10L 2015/088 (2013.01); G10L 15/20 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method for keyword detection, the method comprising:
acquiring a variable length acoustic signal via an audio recording subsystem;
transforming the variable length acoustic signal to a variable length feature map using a feature extractor, wherein the variable length feature map comprises a plurality of feature vectors;
producing a plurality of cluster assignment scores for each of the plurality of feature vectors to each of a plurality of clusters, wherein the plurality of clusters comprises at least one signal cluster and at least one noise cluster;
discarding a portion of the plurality of cluster assignment scores corresponding to the at least one noise cluster;
producing a plurality of residual vectors by determining a difference between a center point of the at least one signal cluster and each of the plurality of feature vectors;
weighting each of the plurality of residual vectors based on a corresponding cluster assignment score of the plurality of cluster assignment scores to produce a plurality of weighted feature vectors;
summing the plurality of weighted feature vectors to form an embedding vector;
mapping the embedding vector to a classification score for a pre-determined keyword using a classifier;
comparing the classification score against a classification score threshold; and
responding to the classification score exceeding the classification score threshold by:
retrieving instructions indexed in non-transitory memory by the pre-determined keyword; and
executing the instructions.