IP Library › Granted Patent US 12,482,470
Granted Patent B2
US 12,482,470 · App. 17/644,261 · Granted Nov 25, 2025

Speaker-turn-based online speaker diarization with constrained spectral clustering

Inventors: Quan Wang (Hoboken, NJ); Han Lu (Santa Clara, CA); Evan Clark (San Francisco, CA); Ignacio Lopez Moreno (Brooklyn, NY); Hasim Sak (Santa Clara, CA); Wei Xia (Mountain View, CA); Taral Joglekar (Sunnyvale, CA); Anshuman Tripathi (Mountain View, CA)
Assignee: Google LLC
G10L15/26G10L15/063G10L15/16G10L2015/0631
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,482,470
App. No.
17/644,261
Granted
Nov 25, 2025
Kind
B2
Abstract

A method includes receiving an input audio signal that corresponds to utterances spoken by multiple speakers. The method also includes processing the input audio to generate a transcription of the utterances and a sequence of speaker turn tokens each indicating a location of a respective speaker turn. The method also includes segmenting the input audio signal into a plurality of speaker segments based on the sequence of speaker tokens. The method also includes extracting a speaker-discriminative embedding from each speaker segment and performing spectral clustering on the speaker-discriminative embeddings to cluster the plurality of speaker segments into k classes. The method also includes assigning a respective speaker label to each speaker segment clustered into the respective class that is different than the respective speaker label assigned to the speaker segments clustered into each other class of the k classes.

Claims (82)

1 . A computer-implemented method when executed on data processing hardware causes the data processing hardware to perform operations comprising:

receiving an input audio signal corresponding to utterances spoken by multiple speakers;

before segmenting the input audio signal, processing, using a speech recognition model, the input audio signal to jointly generate as output from the speech recognition model:

a transcription of the utterances; and

a sequence of speaker turn tokens based on semantic information of the transcription, each speaker turn token indicating a location of a respective speaker turn detected in the transcription and located between a respective pair of adjacent terms of the transcription spoken by different speakers;

segmenting the input audio signal into a plurality of speaker segments based on the sequence of speaker turn tokens;

for each speaker segment of the plurality of speaker segments, extracting a corresponding speaker-discriminative embedding from the speaker segment;

performing spectral clustering on the speaker-discriminative embeddings extracted from the plurality of speaker segments to cluster the plurality of speaker segments into k classes; and

for each respective class of the k classes, assigning a respective speaker label to each speaker segment clustered into the respective class that is different than the respective speaker label assigned to the speaker segments clustered into each other class of the k classes.

2 . The computer-implemented method of claim 1 , wherein the operations further comprise annotating the transcription of the utterances based on the speaker label assigned to each speaker segment.

3 . The computer-implemented method of claim 1 , wherein:

each speaker turn token in the sequence of speaker turn tokens has a corresponding timestamp; and

segmenting the input audio signal into the plurality of speaker segments based on the sequence of speaker turn tokens comprises segmenting the input audio signal into initial speaker segments each bounded by the corresponding timestamps of a respective pair of adjacent speaker turn tokens in the sequence of speaker turn tokens.

4 . The computer-implemented method of claim 3 , wherein the operations further comprise:

for each initial speaker segment having a respective duration that exceeds a segment duration threshold, further segmenting the initial speaker segment into two or more reduced-duration speaker segments having respective durations less than or equal to the segment duration threshold,

wherein the plurality of speaker segments segmented from the input audio signal comprise:

the initial speaker segments having respective durations less than or equal to the segment duration threshold; and

the reduced-duration speaker segments further segmented from any of the initial speaker segments having respective durations that exceed the segment duration threshold.

5 . The computer-implemented method of claim 1 , wherein extracting a corresponding speaker-discriminative embedding from the speaker segment comprises:

receiving, as input to a speaker encoder model, the speaker segment; and

generating, as output from the speaker encoder model, the corresponding speaker-discriminative embedding.

6 . The computer-implemented method of claim 5 , wherein the speaker encoder model comprises a long-short term memory-based (LSTM-based) speaker encoder model configured to extract the corresponding speaker-discriminative embedding from each speaker segment.

7 . The computer-implemented method of claim 1 , wherein the operations further comprise:

for each speaker turn token in the sequence of speaker turn tokens generated as output from the speech recognition model, predicting a confidence of the respective speaker turn detected in the transcription; and

determining pairwise constraints based on the confidences predicted for the speaker turn token,

wherein the spectral clustering performed on the speaker-discriminative embeddings is constrained by the pairwise constraints.

8 . The computer-implemented method of claim 1 , wherein the speech recognition model comprises a streaming transducer-based speech recognition model comprising:

an audio encoder configured to:

receive, as input, a sequence of acoustic frames; and

generate, at each of a plurality of time steps, a higher order feature representation for a corresponding acoustic frame in the sequence of acoustic frames;

a label encoder configured to:

receive, as input, a sequence of non-blank symbols output by a final softmax layer; and

generate, at each of the plurality of time steps, a dense representation; and

a joint network configured to:

receive, as input, the higher order feature representation generated by the audio encoder at each of the plurality of time steps and the dense representation generated by the label encoder at each of the plurality of time steps; and

generate, at each of the plurality of time steps, a probability distribution over possible speech recognition hypotheses at the corresponding time step.

9 . The computer-implemented method of claim 8 , wherein the audio encoder comprises a neural network having a plurality of transformer layers.

10 . The computer-implemented method of claim 8 , wherein the label encoder comprises a bigram embedding lookup decoder model.

11 . The computer-implemented method of claim 1 , wherein the speech recognition model is trained on training samples that each comprise training utterances spoken by two or more different speakers paired with a corresponding ground-truth transcription of the training utterances, each ground-truth transcription injected with ground-truth speaker turn tokens indicating locations where speaker turns occur in the ground-truth transcription.

12 . The computer-implemented method of claim 11 , wherein the corresponding ground-truth transcription of each training sample is not annotated with any timestamp information.

13 . A system comprising

data processing hardware;

memory hardware in communication with the data processing hardware and storing instructions, that when executed by the data processing hardware, cause the data processing hardware to perform operations comprising:

receiving an input audio signal corresponding to utterances spoken by multiple speakers;

before segmenting the input audio signal, processing, using a speech recognition model, the input audio signal to jointly generate as output from the speech recognition model:

a transcription of the utterances; and

a sequence of speaker turn tokens based on semantic information of the transcription, each speaker turn token indicating a location of a respective speaker turn detected in the transcription and located between a respective pair of adjacent terms of the transcription spoken by different speakers;

segmenting the input audio signal into a plurality of speaker segments based on the sequence of speaker turn tokens;

for each speaker segment of the plurality of speaker segments, extracting a corresponding speaker-discriminative embedding from the speaker segment;

performing spectral clustering on the speaker-discriminative embeddings extracted from the plurality of speaker segments to cluster the plurality of speaker segments into k classes; and

for each respective class of the k classes, assigning a respective speaker label to each speaker segment clustered into the respective class that is different than the respective speaker label assigned to the speaker segments clustered into each other class of the k classes.

14 . The system of claim 13 , wherein the operations further comprise annotating the transcription of the utterances based on the speaker label assigned to each speaker segment.

15 . The system of claim 13 , wherein:

each speaker turn token in the sequence of speaker turn tokens has a corresponding timestamp; and

segmenting the input audio signal into the plurality of speaker segments based on the sequence of speaker turn tokens comprises segmenting the input audio signal into initial speaker segments each bounded by the corresponding timestamps of a respective pair of adjacent speaker turn tokens in the sequence of speaker turn tokens.

16 . The system of claim 15 , wherein the operations further comprise:

for each initial speaker segment having a respective duration that exceeds a segment duration threshold, further segmenting the initial speaker segment into two or more reduced-duration speaker segments having respective durations less than or equal to the segment duration threshold,

wherein the plurality of speaker segments segmented from the input audio signal comprise:

the initial speaker segments having respective durations less than or equal to the segment duration threshold; and

the reduced-duration speaker segments further segmented from any of the initial speaker segments having respective durations that exceed the segment duration threshold.

17 . The system of claim 13 , wherein extracting a corresponding speaker-discriminative embedding from the speaker segment comprises:

receiving, as input to a speaker encoder model, the speaker segment; and

generating, as output from the speaker encoder model, the corresponding speaker-discriminative embedding.

18 . The system of claim 17 , wherein the speaker encoder model comprises a long-short term memory-based (LSTM-based) speaker encoder model configured to extract the corresponding speaker-discriminative embedding from each speaker segment.

19 . The system of claim 13 , wherein the operations further comprise:

for each speaker turn token in the sequence of speaker turn tokens generated as output from the speech recognition model, predicting a confidence of the respective speaker turn detected in the transcription; and

determining pairwise constraints based on the confidences predicted for the speaker turn token,

wherein the spectral clustering performed on the speaker-discriminative embeddings is constrained by the pairwise constraints.

20 . The system of claim 13 , wherein the speech recognition model comprises a streaming transducer-based speech recognition model comprising:

an audio encoder configured to:

receive, as input, a sequence of acoustic frames; and

generate, at each of a plurality of time steps, a higher order feature representation for a corresponding acoustic frame in the sequence of acoustic frames;

a label encoder configured to:

receive, as input, a sequence of non-blank symbols output by a final softmax layer; and

generate, at each of the plurality of time steps, a dense representation; and

a joint network configured to:

receive, as input, the higher order feature representation generated by the audio encoder at each of the plurality of time steps and the dense representation generated by the label encoder at each of the plurality of time steps; and

generate, at each of the plurality of time steps, a probability distribution over possible speech recognition hypothesis at the corresponding time step.

21 . The system of claim 20 , wherein the audio encoder comprises a neural network having a plurality of transformer layers.

22 . The system of claim 20 , wherein the label encoder comprises a bigram embedding lookup decoder model.

23 . The system of claim 13 , wherein the speech recognition model is trained on training samples that each comprise training utterances spoken by two or more different speakers paired with a corresponding ground-truth transcription of the training utterances, each ground-truth transcription injected with ground-truth speaker turn tokens indicating locations where speaker turns occur in the ground-truth transcription.

24 . The system of claim 13 , wherein the corresponding ground-truth transcription of each training sample is not annotated with any timestamp information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2022
From: WANG, QUAN; LU, HAN; CLARK, EVAN; MORENO, IGNACIO LOPEZ; SAK, HASIM; XIA, WEI; JOGLEKAR, TARAL; TRIPATHI, ANSHUMAN
To: GOOGLE LLC
Reel/Frame 059302/0327 →
Continuity (2)
Provisional Application 63261536 · Sep 23, 2021
Related Publication 20230089308A1 · Mar 23, 2023
References Cited (22)
US 20080262828A1 · Och · 2008 [cited by examiner]
US 20100291528A1 · Huerta · 2010 [cited by examiner]
US 20140142944A1 · Ziv · 2014 [cited by examiner]
US 20160358619A1 · Ramprashad · 2016 [cited by examiner]
US 20180166066A1 · Dimitriadis · 2018 [cited by examiner]
US 20180174587A1 · Bermundo · 2018 [cited by applicant]
US 20190156832A1 · Church et al. · 2019 [cited by applicant]
US 20190156835A1 · Church et al. · 2019 [cited by applicant]
US 20190318725A1 · Le Roux · 2019 [cited by examiner]
US 20200219517A1 · Wang · 2020 [cited by examiner]
US 20220139380A1 · Meng · 2022 [cited by examiner]
US 20220278527A1 · Knezovic · 2022 [cited by examiner]
US 20220319535A1 · Chawla · 2022 [cited by examiner]
US 20230153451A1 · Malhotra · 2023 [cited by examiner]
US 20230297037A1 · Huang · 2023 [cited by examiner]
US 20230386456A1 · Weston · 2023 [cited by examiner]
Grezes et al., “Let Me Finish: Automatic Conflict Detection Using Speaker Overlap,” Aug. 2013, 5 pages. [cited by applicant]
Apr. 21, 2022 Written Opinion (WO) of the International Searching Authority (ISA) and International Search Report (ISR) issued in International Application No. PCT/US2021/063343. [cited by applicant]
Huanru Henry Mao et al: “Speech Recognition and Multi-Speaker Diarization of Long Conversations”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, May 16, 2020 (May 16, 2020). [cited by applicant]
Tae Jin Park et al: “Speaker Diarization with Lexical Information”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Apr. 13, 2020 (Apr. 13, 2020). [cited by applicant]
Laurent El Shafey et al: “Joint Speech Recognition and Speaker Diarization via Sequence Transduction”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Jul. 9, 2019 (Jul. 9, 2… [cited by applicant]
Wei Xia et al: “Turn-to-Diarize: Online Speaker Diarization Constrained by Transformer Transducer Speaker Turn Detection”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Sep… [cited by applicant]