IP Library Granted Patent US 10,832,683
Granted Patent B2
US 10,832,683 · App. 16/203,077 · Granted Nov 10, 2020

System and method for efficient processing of universal background models for speaker recognition

Inventor: Milind Borkar (Plano, TX)
Assignee: ILLUMA Labs LLC.
G10L17/04G10L17/10G10L17/18G10L17/02
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 10,832,683
App. No.
16/203,077
Granted
Nov 10, 2020
Kind
B2
Abstract

A system and method for efficient universal background model (UBM) training for speaker recognition, including: receiving an audio input, divisible into a plurality of audio frames, wherein at least a first audio frame of the plurality of audio frames includes an audio sample having a length above a first threshold extracting at least one identifying feature from the first audio frame and generating a feature vector based on the at least one identifying feature; generating an optimized training sequence computation based on the feature vector and a Gaussian Mixture Model (GMM), wherein the GMM is associated with a plurality of components, wherein each of the plurality of components is defined by a covariance matrix, a mean vector, and a weight vector; and updating any of the associated components of the GMM based on the generated optimized training sequence computation.

Claims (87)

1. A method for efficient universal background model (UBM) training for speaker recognition, comprising:

receiving an audio input, divisible into a plurality of audio frames, wherein at least a first audio frame of the plurality of audio frames includes an audio sample having a length above a first threshold;

extracting at least one identifying feature from the first audio frame and generating a feature vector based on the at least one identifying feature;

generating an optimized training sequence computation based on the feature vector and a Gaussian Mixture Model (GMM), wherein the GMM is associated with a plurality of components, wherein each of the plurality of components is defined by a covariance matrix, a mean vector, and a weight vector; and

updating any of the associated components of the GMM based on the generated optimized training sequence computation which includes a first computation, the first computation including: generating a feature matrix based on the feature vector; generating a GMM mean matrix based on the plurality of mean vectors associated with the plurality of GMM components; and generating a delta matrix based on the feature matrix and the GMM mean matrix.

2. The method of claim 1 , wherein updating the optimized training sequence computation further comprises:

updating a mean vector, weight vector or a covariance matrix based on a computation of the delta matrix, an inverse covariance matrix, and a transposed delta matrix.

3. The method of claim 1 , wherein updating the optimized training sequence computation further comprises:

a second computation, the second computation including generating a first multi-dimensional array comprising a plurality of duplicated matrices, where each matrix includes a plurality of GMM mean vectors;

generating a multi-dimensional feature matrix comprising a plurality of feature matrices, where each feature matrix corresponds to a feature vector of a single audio frame; and

generating a multi-dimensional delta array based on the first multi-dimensional array and the multi-dimensional feature matrix.

4. The method of claim 3 , wherein updating the optimized training sequence computation further comprises:

updating a mean vector, weight vector or covariance matrix, based on a computation of the multi-dimensional delta array, an inverse covariance matrix, and a transposed delta array.

5. The method of claim 1 , wherein updating the optimized training sequence computation comprises:

detecting diagonal matrices, and only performing computations that involve diagonal elements.

6. The method of claim 1 , wherein updating the optimized training sequence computation comprises:

detecting computations in an intermediate result that generate an off-diagonal element of a matrix which is diagonalized; and

eliminating the computation of the intermediate result.

7. The method of claim 1 , wherein updating the optimized training sequence computation comprises:

detecting a recurring computation;

precomputing the recurring computation; and

storing the precomputed result in a cache.

8. The method of claim 1 , wherein the at least one identifying feature is a mel frequency cepstrum coefficient (MFCC).

9. The method of claim 8 , further comprising:

generating a plurality of identifying features from a consecutive audio frame;

storing the generated identifying features in a second feature vector data structure; and

generating delta coefficients of the MFCCs based on the feature vector and the second feature vector; and

wherein the optimized training sequence computation is further performed based on the generated delta coefficients.

10. The method of claim 9 , further comprising:

generating delta-delta coefficients of the delta coefficients; and

wherein generating the optimized training sequence computation is further performed based on the generated delta-delta coefficients.

11. The method of claim 9 , wherein the consecutive audio frame partially overlaps with the first audio frame.

12. The method of claim 1 , wherein updating the optimized training sequence computation further includes:

detecting one or more computations to be executed on at least one of: a general purpose graphics processor unit (GPGPU) and a multi-core CPU.

13. The method of claim 1 , wherein the audio sample is received from a speaker database including a plurality of audio samples, where each audio sample comprises a sample of a human speaker.

14. The method of claim 1 , wherein generating the at least one identifying feature further comprises:

providing each audio frame to a neural network, the neural network operative for extracting features from the audio frame; and

generating an output vector of features.

15. The method of claim 1 , further comprising:

storing the at least one identifying feature in a feature vector data structure.

16. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to perform a process, the process comprising:

receiving an audio input, divisible into a plurality of audio frames, wherein at least a first audio frame of the plurality of audio frames includes an audio sample having a length above a first threshold;

extracting at least one identifying feature from the first audio frame and generating a feature vector based on the at least one identifying feature;

generating an optimized training sequence computation based on the feature vector and a Gaussian Mixture Model (GMM), wherein the GMM is associated with a plurality of components, wherein each of the plurality of components is defined by a covariance matrix, a mean vector, and a weight vector; and

updating any of the associated components of the GMM based on the generated optimized training sequence computation, which includes a first computation, the first computation including: generating a feature matrix based on the feature vector; generating a GMM mean matrix based on the plurality of mean vectors associated with the plurality of GMM components; and generating a delta matrix based on the feature matrix and the GMM mean matrix.

17. A system for efficient universal background model (UBM) training for speaker recognition, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive an audio input, divisible into a plurality of audio frames, wherein at least a first audio frame of the plurality of audio frames includes an audio sample having a length above a first threshold;

extract at least one identifying feature from the first audio frame and generating a feature vector based on the at least one identifying feature;

generate an optimized training sequence computation based on the feature vector and a Gaussian Mixture Model (GMM), wherein the GMM is associated with a plurality of components, wherein each of the plurality of components is defined by a covariance matrix, a mean vector, and a weight vector; and

update any of the associated components of the GMM based on the generated optimized training sequence computation, which includes a first computation, wherein the first computation includes generating a feature matrix based on the feature vector; generating a GMM mean matrix based on the plurality of mean vectors associated with the plurality of GMM components; and generating a delta matrix based on the feature matrix and the GMM mean matrix.

18. The system of claim 17 , wherein the system is further configured to:

update a mean vector, weight vector or a covariance matrix based on a computation of the delta matrix, an inverse covariance matrix, and a transposed delta matrix.

19. The system of claim 17 , wherein the system is further configured to:

generate a first multi-dimensional array comprising a plurality of duplicated matrices, where each matrix includes a plurality of GMM mean vectors;

generate a multi-dimensional feature matrix comprising a plurality of feature matrices, where each feature matrix corresponds to a feature vector of a single audio frame; and

generate a multi-dimensional delta array based on the first multi-dimensional array and the multi-dimensional feature matrix.

20. The system of claim 19 , wherein the system is further configured to:

update a mean vector, weight vector or covariance matrix, based on a computation of the multi-dimensional delta array, an inverse covariance matrix, and a transposed delta array.

21. The system of claim 17 , wherein the system is further configured to:

detect diagonal matrices, and only performing computations that involve diagonal elements.

22. The system of claim 17 , wherein the system is further configured to:

detect computations in an intermediate result that generates an off-diagonal element of a matrix which is diagonalized; and

eliminate the computation of the intermediate result.

23. The system of claim 17 , wherein the system is further configured to:

detect a recurring computation;

precompute the recurring computation; and

store the precomputed result in a cache.

24. The system of claim 17 , wherein the at least one identifying feature is a mel frequency cepstrum coefficient (MFCC).

25. The system of claim 24 , wherein the system is further configured to:

generate a plurality of identifying features from a consecutive audio frame;

store the generated identifying features in a second feature vector data structure; and

generate delta coefficients of the MFCCs based on the feature vector and the second feature vector; and

wherein the optimized training sequence computation is further performed based on the generated delta coefficients.

26. The system of claim 25 , wherein the system is further configured to:

generate delta-delta coefficients of the delta coefficients; and

wherein generating the optimized training sequence computation is further performed based on the generated delta-delta coefficients.

27. The system of claim 25 , wherein the consecutive audio frame partially overlaps with the first audio frame.

28. The system of claim 17 , wherein the system is further configured to:

detect one or more computations to be executed on at least one of: a general purpose graphics processor unit (GPGPU) and a multi-core CPU.

29. The system of claim 17 , wherein the audio sample is received from a speaker database including a plurality of audio samples, where each audio sample comprises a sample of a human speaker.

30. The system of claim 17 , wherein the system is further configured to:

provide each audio frame to a neural network, the neural network operative for extracting features from the audio frame; and

generate an output vector of features.

31. The system of claim 17 , wherein the system is further configured to:

store the at least one identifying feature in a feature vector data structure.

Assignments (2)
SECURITY INTEREST Recorded Dec 27, 2024
From: ILLUMA LABS INC.
To: STIFEL BANK
Reel/Frame 069692/0400 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2018
From: BORKAR, MILIND
To: ILLUMA LABS INC.
Reel/Frame 047611/0142 →
Continuity (2)
Substitution 62592156 · Nov 29, 2017
Related Publication 20190164557A1 · May 30, 2019