IP Library Granted Patent US 10,755,718
Granted Patent B2
US 10,755,718 · App. 15/835,318 · Granted Aug 25, 2020

System and method for neural network based speaker classification

Inventors: Zhenhao Ge (Zionsville, IN); Ananth N. Iyer (Carmel, IN); Srinath Cheluvaraja (Carmel, IN); Ram Sundaram (Hyderabad, IN); Aravind Ganapathiraju (Hyderabad, IN)
G10L17/04G10L17/00G10L17/18G10L25/45G10L2025/937
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,755,718
App. No.
15/835,318
Granted
Aug 25, 2020
Kind
B2
Abstract

A method for classifying speakers includes: receiving, by a speaker recognition system including a processor and memory, input audio including speech from a speaker; extracting, by the speaker recognition system, a plurality of speech frames containing voiced speech from the input audio; computing, by the speaker recognition system, a plurality of features for each of the speech frames of the input audio; computing, by the speaker recognition system, a plurality of recognition scores for the plurality of features; computing, by the speaker recognition system, a speaker classification result in accordance with the recognition scores; and outputting, by the speaker recognition system, the speaker classification result.

Claims (99)

1. A method for classifying speakers comprises:

receiving, by a speaker recognition system comprising a processor and memory,

input audio comprising speech from a speaker;

extracting, by the speaker recognition system, a plurality of speech frames containing voiced speech from the input audio, comprising retaining voiced frames from the input audio and removing unvoiced speech frames from the input audio;

computing, by the speaker recognition system, a plurality of features for each of the speech frames of the input audio;

computing, by the speaker recognition system, a plurality of confidence scores for the plurality of features by forward propagating the plurality of features through a trained multi-class neural network, the trained multi-class neural network being trained to compute the confidence scores, each of the confidence scores corresponding to a confidence that the speech of the input audio corresponds to speech from a corresponding one of a plurality of enrolled speakers;

computing, by the speaker recognition system, a speaker classification result in accordance with the confidence scores; and

outputting, by the speaker recognition system, the speaker classification result.

2. The method of claim 1 , wherein the extracting the speech frames further comprises:

dividing the input audio into the plurality of speech frames;

computing a short term energy of each speech frame;

computing a spectral centroid of each speech frame;

classifying a speech frame as a voiced frame in response to determining that the short term energy of the speech frame exceeds a short term energy threshold and that the spectral centroid of the speech frame exceeds a spectral centroid threshold, and classifying the speech frame as an unvoiced speech frame otherwise; and

outputting the retained voiced frames as the speech frames containing voiced speech, wherein the unvoiced speech frames are removed.

3. The method of claim 1 , wherein the computing the plurality of features for each of the speech frames comprises:

dividing the speech frames into overlapping windows of audio;

normalizing each of the windows of audio;

computing mel-frequency cepstral coefficients, deltas, and double deltas for each window; and

computing the plurality of features from the mel-frequency cepstral coefficients, deltas, and double deltas for each window.

4. The method of claim 3 wherein the normalizing each of the windows of audio comprises applying speaker-level mean-variance normalization.

5. The method of claim 3 wherein the computing the plurality of features from the mel-frequency cepstral coefficients, deltas, and double deltas for each window comprises:

grouping the windows into a plurality of overlapping frames, each of the overlapping frames comprising a plurality of adjacent windows;

for each overlapping frame of the overlapping frames, concatenating the mel-frequency cepstral coefficients, the deltas, and the double deltas of the adjacent windows to generate a plurality of features of the overlapping frame; and

outputting the features of the overlapping frames as the plurality of features.

6. The method of claim 1 , wherein the trained multi-class neural network is trained by:

receiving training data comprising audio comprising speech from a plurality of enrolled speakers, the audio being labeled with the speakers;

extracting a plurality of features from the audio for each of the enrolled speakers; applying speaker-level mean-variance normalization to the features extracted from the audio for each of the enrolled speakers; and

training the multi-class neural network to classify an input feature vector as one of the plurality of enrolled speakers.

7. The method of claim 6 , wherein the training the multi-class network comprises iteratively reducing a regularization parameter of a cost function.

8. The method of claim 1 , wherein the speaker classification result comprises an identification of a particular speaker of a plurality of enrolled speakers, and

wherein the identification of the particular speaker is computed by identifying a highest confidence score of the plurality of confidence scores and by identifying the particular speaker associated with the highest confidence score.

9. The method of claim 1 , further comprising receiving an allegation that the speaker is a particular enrolled speaker of a plurality of enrolled speakers,

wherein the speaker classification result is a speaker verification indicating whether the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers.

10. The method of claim 9 , further comprising computing the speaker verification by:

comparing the confidence score corresponding to the particular speaker to a threshold value; and

outputting a speaker verification indicating that the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers in response to determining that the confidence score exceeds the threshold value and determining that the confidence score is higher than all other enrolled speakers.

11. A method for classifying speakers comprises:

receiving, by a speaker recognition system comprising a processor and memory, input audio comprising speech from a speaker;

extracting, by the speaker recognition system, a plurality of speech frames containing voiced speech from the input audio;

computing, by the speaker recognition system, a plurality of features for each of the speech frames of the input audio;

computing, by the speaker recognition system, a plurality of recognition scores for the plurality of features;

computing, by the speaker recognition system, a speaker classification result in accordance with the recognition scores; and

outputting, by the speaker recognition system, the speaker classification result, further comprising receiving an allegation that the speaker is a particular enrolled speaker of a plurality of enrolled speakers,

wherein the speaker classification result is a speaker verification indicating whether the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers,

further comprising computing the speaker verification by:

comparing the recognition score corresponding to the particular speaker to a threshold value; and

outputting a speaker verification indicating that the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers in response to determining that the recognition score exceeds the threshold value and determining that the recognition score is higher than all other enrolled speakers, and

wherein the threshold comprises a speaker-specific threshold, and wherein the speaker-specific threshold is computed by solving for an intersection between a first Gaussian distribution representing the probability that the speaker of the input audio is one of the enrolled speakers and a second Gaussian distribution representing the probability that the speaker of the input audio is not one of the enrolled speakers.

12. A system for classifying speakers comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to:

receive input audio comprising speech from a speaker;

extract a plurality of speech frames containing voiced speech from the input audio, comprising retaining voiced frames from the input audio and removing unvoiced speech frames from the input audio;

compute a plurality of features for each of the speech frames of the input audio; compute a plurality of confidence scores for the plurality of features by forward propagating the plurality of features through a trained multi-class neural network, the trained multi-class neural network being trained to compute the confidence scores, each of the confidence scores corresponding to a confidence that the speech of the input audio corresponds to speech from a corresponding one of a plurality of enrolled speakers;

compute a speaker classification result in accordance with the confidence scores; and

output the speaker classification result.

13. The system of claim 12 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to extract the speech frames further by:

dividing the input audio into the plurality of speech frames;

computing a short term energy of each speech frame;

computing a spectral centroid of each speech frame;

classifying a speech frame as a voiced frame in response to determining that the short term energy of the speech frame exceeds a short term energy threshold and that the spectral centroid of the speech frame exceeds a spectral centroid threshold, and classifying the speech frame as an unvoiced speech frame otherwise; and

outputting the retained voiced frames as the speech frames containing voiced speech, wherein the unvoiced speech frames are removed.

14. The system of claim 12 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to compute the plurality of features for each of the speech frames by:

dividing the speech frames into overlapping windows of audio;

normalizing each of the windows of audio;

computing mel-frequency cepstral coefficients, deltas, and double deltas for each window; and

computing the plurality of features from the mel-frequency cepstral coefficients, deltas, and double deltas for each window.

15. The system of claim 14 wherein the normalizing each of the windows of audio comprises applying speaker-level mean-variance normalization.

16. The system of claim 14 wherein the computing the plurality of features from the mel-frequency cepstral coefficients, deltas, and double deltas for each window comprises:

grouping the windows into a plurality of overlapping frames, each of the overlapping frames comprising a plurality of adjacent windows;

for each overlapping frame of the overlapping frames, concatenating the mel-frequency cepstral coefficients, the deltas, and the double deltas of the adjacent windows to generate a plurality of features of the overlapping frame; and

outputting the features of the overlapping frames as the plurality of features.

17. The system of claim 12 , wherein the trained multi-class neural network is trained by:

receiving training data comprising audio comprising speech from a plurality of enrolled speakers, the audio being labeled with the speakers;

extracting a plurality of features from the audio for each of the enrolled speakers;

applying speaker-level mean-variance normalization to the features extracted from the audio for each of the enrolled speakers; and

training the multi-class neural network to classify an input feature vector as one of the plurality of enrolled speakers.

18. The system of claim 17 , wherein the training the multi-class network comprises iteratively reducing a regularization parameter of a cost function.

19. The system of claim 12 , wherein the speaker classification result comprises an identification of a particular speaker of a plurality of enrolled speakers, and

wherein the memory further stores instructions that, when executed by the processor, cause the processor to compute the identification of the particular speaker by identifying a highest confidence score of the plurality of confidence scores and by identifying the particular speaker associated with the highest confidence score.

20. The system of claim 12 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to receive an allegation that the speaker is a particular enrolled speaker of a plurality of enrolled speakers, and

wherein the speaker classification result is a speaker verification indicating whether the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers.

21. The system of claim 20 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to compute the speaker verification by:

comparing the confidence score corresponding to the particular speaker to a threshold value; and

outputting a speaker verification indicating that the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers in response to determining that the confidence score exceeds the threshold value and determining that the confidence score is higher than all other enrolled speakers.

22. A system for classifying speakers comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to:

receive input audio comprising speech from a speaker;

extract a plurality of speech frames containing voiced speech from the input audio; compute a plurality of features for each of the speech frames of the input audio;

compute a plurality of recognition scores for the plurality of features;

compute a speaker classification result in accordance with the recognition scores; and

output the speaker classification result,

wherein the memory further stores instructions that, when executed by the processor, cause the processor to receive an allegation that the speaker is a particular enrolled speaker of a plurality of enrolled speakers,

wherein the speaker classification result is a speaker verification indicating whether the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers,

wherein the memory further stores instructions that, when executed by the processor, cause the processor to compute the speaker verification by:

comparing the recognition score corresponding to the particular speaker to a threshold value; and

outputting a speaker verification indicating that the speaker of the speech of the input audio corresponds to the particular enrolled speaker of the plurality of enrolled speakers in response to determining that the recognition score exceeds the threshold value and determining that the recognition score is higher than all other enrolled speakers, and

wherein the threshold comprises a speaker-specific threshold, and wherein the speaker-specific threshold is computed by solving for an intersection between a first Gaussian distribution representing the probability that the speaker of the input audio is one of the enrolled speakers and a second Gaussian distribution representing the probability that the speaker of the input audio is not one of the enrolled speakers.

Assignments (6)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 050860/0227 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070096/0452 →
CHANGE OF NAME Recorded Jun 6, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067646/0448 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO ADD PAGE 2 OF THE SECURITY AGREEMENT WHICH WAS INADVERTENTLY OMITTED PREVIOUSLY RECORDED ON REEL 049916 FRAME 0454. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Oct 29, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 050860/0227 →
SECURITY AGREEMENT Recorded Jul 31, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 049916/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2018
From: GE, ZHENHAO; IYER, ANANTH NAGARAJA; CHELUVARAJA, SRINATH; SUNDARAM, RAMASUBRAMANIAN; GANAPATHIRAJU, ARAVIND
To: INTERACTIVE INTELLIGENCE GROUP, INC.
Reel/Frame 047747/0867 →
MERGER Recorded Dec 11, 2018
From: INTERACTIVE INTELLIGENCE GROUP, INC.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 047747/0927 →
Continuity (2)
Provisional Application 62431120 · Dec 7, 2016
Related Publication 20180158463A1 · Jun 7, 2018
Cited By (1)
US 12,706,083