IP Library › Granted Patent US 12,518,096
Granted Patent B2
US 12,518,096 · App. 18/158,425 · Granted Jan 6, 2026

Techniques for automatically matching recorded speech to script dialogue

Inventor: Julien Hoarau (Los Angeles, CA)
Assignee: NETFLIX, INC.
G06F40/284G10L15/26
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,518,096
App. No.
18/158,425
Granted
Jan 6, 2026
Kind
B2
Abstract

In various embodiments a dialogue matching application performs speech recognition operations on an audio segment to generate a sequence of words. The dialogue matching application determines a first dialogue match between a first subsequence of words included in the sequence of words and a script line included in a set of script lines. The dialogue matching application determines a second dialogue match between a second subsequence of words included in the sequence of words and the script line. The dialogue matching application receives, via a graphical user interface (GUI), an event that corresponds to an interaction between a user and an interactive GUI element. The dialogue matching application extracts a portion of the audio segment from a session recording based on the event to generate an audio clip that corresponds to both the script line and either the first subsequence or words or the second subsequence of words.

Claims (56)

1 . A computer-implemented method for automatically generating audio clips, the method comprising:

performing one or more speech recognition operations on a first audio segment to generate a first sequence of words spoken in the first audio segment;

determining a first dialogue match between a first subsequence of words included in the first sequence of words spoken in the first audio segment and a first script line included in a plurality of script lines;

determining a second dialogue match between a second subsequence of words included in the first sequence of words spoken in the first audio segment and the first script line;

receiving, via a graphical user interface (GUI), a first event that corresponds to a first interaction between a user and a first interactive GUI element;

extracting a first portion of the first audio segment from a session recording based on the first event, wherein the first portion of the first audio segment corresponds to either the first subsequence of words or the second subsequence of words; and

generating a first audio clip that corresponds to the first script line based on the first portion of the first audio segment.

2 . The computer-implemented method of claim 1 , further comprising displaying at least the first interactive GUI element within the GUI to visually indicate both the first dialogue match and the second dialogue match.

3 . The computer-implemented method of claim 1 , wherein the first portion of the first audio segment is associated with the second subsequence of words.

4 . The computer-implemented method of claim 1 , wherein the first event indicates that the second subsequence of words corresponds to a take that is selected for inclusion in a dialogue track.

5 . The computer-implemented method of claim 1 , wherein determining the first dialogue match comprises:

performing one or more tokenization operations on the first sequence of words to generate a first sequence of tokens; and

executing a search engine on the first sequence of tokens and an inverted index that is derived from the plurality of script lines to generate a list of tokenized script lines associated with a list of relevance scores.

6 . The computer-implemented method of claim 5 , wherein determining the first dialogue match comprises sorting the list of tokenized script lines based on at least one of a proximity to a previously matched script line or the list of relevance scores to generate a sorted list of tokenized script lines.

7 . The computer-implemented method of claim 1 , further comprising:

performing one or more tokenization operations on the plurality of script lines to generate a plurality of tokenized script lines; and

generating an inverted index based on the plurality of tokenized script lines, wherein the inverted index stores a mapping between a plurality of tokens and the plurality of tokenized script lines.

8 . The computer-implemented method of claim 1 , wherein determining the first dialogue match comprises:

computing a least common subsequence between a first sequence of tokens derived from the first sequence of words and a first tokenized script line derived from the first script line; and

determining that a first subsequence of tokens included in the first sequence of tokens matches the first tokenized script line based on the least common subsequence.

9 . The computer-implemented method of claim 1 , wherein extracting the first portion of the first audio segment from the session recording comprises:

determining that the first event indicates a user selection of the second subsequence of words;

setting a first timestamp equal to a start timestamp associated with a first word included in the second subsequence of words;

setting a second timestamp equal to an end timestamp associated with a last word included in the second subsequence of words; and

generating a copy of a portion of the session recording that starts at the first timestamp and ends at the second timestamp.

10 . The computer-implemented method of claim 1 , further comprising filtering a script based on a first character to generate the plurality of script lines.

11 . One or more non-transitory computer readable media including instructions that, when executed by one or more processors, cause the one or more processors to automatically generate audio clips by performing the steps of:

performing one or more speech recognition operations on a first audio segment to generate a first sequence of words spoken in the first audio segment;

determining a first dialogue match between a first subsequence of words included in the first sequence of words spoken in the first audio segment and a first script line included in a plurality of script lines;

determining a second dialogue match between a second subsequence of words included in the first sequence of words spoken in the first audio segment and the first script line;

receiving, via a graphical user interface (GUI), a first event that corresponds to a first interaction between a user and a first interactive GUI element;

extracting a first portion of the first audio segment from a session recording based on the first event, wherein the first portion of the first audio segment corresponds to either the first subsequence of words or the second subsequence of words; and

generating a first audio clip that corresponds to the first script line based on the first portion of the first audio segment.

12 . The one or more non-transitory computer readable media of claim 11 , further comprising displaying at least the first interactive GUI element within the GUI to visually indicate both the first dialogue match and the second dialogue match.

13 . The one or more non-transitory computer readable media of claim 11 , wherein the first portion of the first audio segment is associated with the second subsequence of words.

14 . The one or more non-transitory computer readable media of claim 11 , wherein the first event indicates that the second subsequence of words corresponds to a take that is selected for inclusion in a dialogue track.

15 . The one or more non-transitory computer readable media of claim 11 , wherein determining the first dialogue match comprises:

performing one or more tokenization operations on the first sequence of words to generate a first sequence of tokens; and

executing a search engine on the first sequence of tokens and an inverted index that is derived from the plurality of script lines to generate a list of tokenized script lines associated with a list of relevance scores.

16 . The one or more non-transitory computer readable media of claim 15 , wherein the one or more tokenization operations comprise at least one of a lower-casing operation, a stemming operation, or a filtering operation.

17 . The one or more non-transitory computer readable media of claim 11 , further comprising:

performing one or more tokenization operations on the plurality of script lines to generate a plurality of tokenized script lines; and

generating an inverted index based on the plurality of tokenized script lines, wherein the inverted index stores a mapping between a plurality of tokens and the plurality of tokenized script lines.

18 . The one or more non-transitory computer readable media of claim 11 , wherein the second subsequence of words either precedes or follows the first subsequence of words within the first sequence of words.

19 . The one or more non-transitory computer readable media of claim 11 , wherein generating the first audio clip comprises:

determining a filename based on a first line number associated with the first script line; and

storing the first portion of the first audio segment in an audio file identified by the filename.

20 . A system comprising:

one or more memories storing instructions; and

one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of:

performing one or more speech recognition operations on a first audio segment to generate a first sequence of words spoken in the first audio segment;

determining a first dialogue match between a first subsequence of words included in the first sequence of words spoken in the first audio segment and a first script line included in a plurality of script lines;

determining a second dialogue match between a second subsequence of words included in the first sequence of words spoken in the first audio segment and the first script line;

receiving, via a graphical user interface (GUI), a first event that corresponds to a first interaction between a user and a first interactive GUI element;

extracting a first portion of the first audio segment from a session recording based on the first event, wherein the first portion of the first audio segment corresponds to either the first subsequence of words or the second subsequence of words; and

generating a first audio clip that corresponds to the first script line based on the first portion of the first audio segment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2023
From: HOARAU, JULIEN
To: NETFLIX, INC.
Reel/Frame 062697/0582 →
Continuity (2)
Provisional Application 63302480 · Jan 24, 2022
Related Publication 20230237266A1 · Jul 27, 2023
References Cited (14)
US 5649060A · Ellozy · 1997 [cited by examiner]
US 7877774B1 · Basso · 2011 [cited by examiner]
US 20050159957A1 · Roth · 2005 [cited by examiner]
US 20050228663A1 · Boman · 2005 [cited by examiner]
US 20070233486A1 · Griggs · 2007 [cited by examiner]
US 20090119101A1 · Griggs · 2009 [cited by examiner]
US 20110239119A1 · Phillips · 2011 [cited by examiner]
US 20120323925A1 · Fitzsimmons · 2012 [cited by examiner]
US 20130060572A1 · Garland · 2013 [cited by examiner]
US 20170345411A1 · Raitio · 2017 [cited by examiner]
US 20220028390A1 · Poznanski · 2022 [cited by examiner]
US 20220083741A1 · Hu · 2022 [cited by examiner]
Speech-to-Text request construction, Google Cloud, retrieved on Feb. 16, 2023, pp. 1-15. https://cloud.google.com/speech-to-text/docs/speech-to-text-requests. [cited by applicant]
Turnball, Doug, “BM25 The Next Generation of Lucene Relevance”, Blog, Oct. 16, 2015, pp. 1-8 https://opensourceconnections.com/blog/2015/10/16/bm25-the-next-generation-of-lucene-relevation/. [cited by applicant]