IP Library Granted Patent US 12,586,552
Granted Patent B2
US 12,586,552 · App. 17/742,313 · Granted Mar 24, 2026

Multi-level audio segmentation using deep embeddings

Inventors: Justin Salamon (San Francisco, CA); Oriol Nieto-Caballero (Oakland, CA); Nicholas J. Bryan (Belmont, CA)
Assignee: Adobe Inc.
G10H1/0008G10H2210/041G10H2210/076G10H2240/131
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,586,552
App. No.
17/742,313
Granted
Mar 24, 2026
Kind
B2
Abstract

Embodiments are disclosed for generating an audio segmentation of an audio sequence using deep embeddings. In particular, in one or more embodiments, the disclosed systems and methods comprise receiving an input including an audio sequence and extracting features for each frame of the audio sequence, where each frame is associated with a beat of the audio sequence. The method may further comprise clustering frames of the audio sequence into one or more clusters based on the extracted features and generating segments of the audio sequence based on the clustered frames, where each segment includes frames of the audio sequence from a same cluster. The method may further comprise constructing a multi-level audio segmentation of the audio sequence and performing a segment fusioning process that merges shorter segments with neighboring segments based on cluster assignments.

Claims (58)

1 . A computer-implemented method comprising:

receiving an input including an audio sequence and a first segment value indicating a number of clusters to group frames of the audio sequence into;

extracting features for each frame of the audio sequence, each frame associated with a beat of the audio sequence;

clustering the frames of the audio sequence into one or more clusters based on the extracted features and the first segment value;

generating segments of the audio sequence based on the clustered frames, each segment of the audio sequence formed by grouping consecutive frames of the audio sequence from a same cluster of the one or more clusters; and

generating a first representation of the audio sequence using the generated segments of the audio sequence, wherein a subset of the generated segments with durations less than a duration threshold are fused with neighboring segments based on a second representation of the audio sequence generated using a second segment value.

2 . The computer-implemented method of claim 1 , wherein extracting the features for each frame of the audio sequence comprises:

processing the audio sequence through an audio model trained to extract features for each frame of the audio sequence using deep audio embeddings.

3 . The computer-implemented method of claim 1 , wherein generating segments of the audio sequence based on the clustered frames comprises:

assigning each frame of the audio sequence a cluster identifier based on the extracted features, wherein frames associated with a same cluster identifier have similar extracted features.

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

constructing a multi-level audio segmentation of the audio sequence, wherein each level of the multi-level audio segmentation includes a different number of unique clusters, and wherein the multi-level audio segmentation includes the first representation with a first number of unique clusters based on the first segment value and the second representation with a second number of unique clusters based on the second segment value.

5 . The computer-implemented method of claim 4 , wherein generating the first representation of the audio sequence using the generated segments of the audio sequence further comprises:

identifying the subset of the generated segments of the audio sequence that have a duration less than the duration threshold; and

for each segment of the identified subset of the generated segments, performing a segment fusioning process by merging the segment with a neighboring segment in the first representation based on cluster assignments related to the segment and neighboring frames at lower levels of the multi-level audio segmentation of the audio sequence, including the second representation.

6 . The computer-implemented method of claim 4 , further comprising:

generating an audio segmentation representation of the audio sequence based on the generated segments; and

selecting a level of the multi-level audio segmentation as an output based on a segmentation level selection.

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

applying a beat detection algorithm to the audio sequence to identify the beats of the audio sequence.

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

associating a first segment of the audio sequence with a second segment of the audio sequence when the first segment and the second segment include frames from a same first cluster of the one or more clusters.

9 . A non-transitory computer-readable storage medium including instructions stored thereon which, when executed by at least one processor, cause the at least one processor to:

receive an input including an audio sequence and a first segment value indicating a number of clusters to group frames of the audio sequence into;

extract features for each frame of the audio sequence, each frame associated with a beat of the audio sequence;

cluster the frames of the audio sequence into one or more clusters based on the extracted features and the first segment value;

generate segments of the audio sequence based on the clustered frames, each segment of the audio sequence formed by grouping consecutive frames of the audio sequence from a same cluster of the one or more clusters; and

generate a first representation of the audio sequence using the generated segments of the audio sequence, wherein a subset of the generated segments with durations less than a duration threshold are fused with neighboring segments based on a second representation of the audio sequence generated using a second segment value.

10 . The non-transitory computer-readable storage medium of claim 9 , wherein to extract the features for each frame of the audio sequence, the instructions, when executed, further cause the at least one processor to:

process the audio sequence through an audio model trained to extract features for each frame of the audio sequence using deep audio embeddings.

11 . The non-transitory computer-readable storage medium of claim 9 , wherein to generate segments of the audio sequence based on the clustered frames, the instructions, when executed, further cause the at least one processor to:

assign each frame of the audio sequence a cluster identifier based on the extracted features, wherein frames associated with a same cluster identifier have similar extracted features.

12 . The non-transitory computer-readable storage medium of claim 9 , wherein the instructions, when executed, further cause the at least one processor to:

construct a multi-level audio segmentation of the audio sequence, wherein each level of the multi-level audio segmentation includes a different number of unique clusters, and wherein the multi-level audio segmentation includes the first representation with a first number of unique clusters based on the first segment value and the second representation with a second number of unique clusters based on the second segment value.

13 . The non-transitory computer-readable storage medium of claim 12 , wherein to generate the first representation of the audio sequence using the generated segments of the audio sequence, the instructions, when executed, further cause the at least one processor to:

identify the subset of the generated segments of the audio sequence that have a duration less than the duration threshold; and

for each segment of the identified subset of the generated segments, perform a segment fusioning process by merging the segment with a neighboring segment in the first representation based on cluster assignments related to the segment and neighboring frames at lower levels of the multi-level audio segmentation of the audio sequence, including the second representation.

14 . The non-transitory computer-readable storage medium of claim 12 , wherein the instructions, when executed, further cause the at least one processor to:

generate an audio segmentation representation of the audio sequence based on the generated segments; and

select a level of the multi-level audio segmentation as an output based on a segmentation level selection.

15 . The non-transitory computer-readable storage medium of claim 9 , wherein the instructions, when executed, further cause the at least one processor to:

apply a beat detection algorithm to the audio sequence to identify the beats of the audio sequence.

16 . The non-transitory computer-readable storage medium of claim 9 , wherein the instructions, when executed, further cause the at least one processor to:

associate a first segment of the audio sequence with a second segment of the audio sequence when the first segment and the second segment include frames from a same first cluster of the one or more clusters.

17 . A system, comprising:

a computing device including a memory and at least one processor, the computing device implementing an audio processing system,

wherein the memory includes instructions stored thereon which, when executed, cause the audio processing system to:

receive an input including an audio sequence and a first segment value indicating a number of clusters to group frames of the audio sequence into;

extract features for each frame of the audio sequence, each frame associated with a beat of the audio sequence;

cluster the frames of the audio sequence into one or more clusters based on the extracted features and the first segment value;

generate segments of the audio sequence based on the clustered frames, each segment of the audio sequence formed by grouping consecutive frames of the audio sequence from a same cluster of the one or more clusters; and

generate a first representation of the audio sequence using the generated segments of the audio sequence, wherein a subset of the generated segments with durations less than a duration threshold are fused with neighboring segments based on a second representation of the audio sequence generated using a second segment value.

18 . The system of claim 17 , wherein the instructions to extract the features for each frame of the audio sequence, further cause the audio processing system to:

process the audio sequence through an audio model trained to extract features for each frame of the audio sequence using deep audio embeddings.

19 . The system of claim 17 , wherein the instructions to generate segments of the audio sequence based on the clustered frames, further cause the audio processing system to:

assign each frame of the audio sequence a cluster identifier based on the extracted features, wherein frames associated with a same cluster identifier have similar extracted features.

20 . The system of claim 17 , wherein the instructions further cause the audio processing system to:

construct a multi-level audio segmentation of the audio sequence, wherein each level of the multi-level audio segmentation includes a different number of unique clusters, and wherein the multi-level audio segmentation includes the first representation with a first number of unique clusters based on the first segment value and the second representation with a second number of unique clusters based on the second segment value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: SALAMON, JUSTIN; NIETO-CABALLERO, ORIOL; BRYAN, NICHOLAS J.
To: ADOBE INC.
Reel/Frame 059987/0351 →
Continuity (2)
Provisional Application 63254287 · Oct 11, 2021
Related Publication 20230115212A1 · Apr 13, 2023
References Cited (18)
US 9633111B1 · Bennett · 2017 [cited by applicant]
US 9684715B1 · Ross et al. · 2017 [cited by applicant]
US 20060065106A1 · Pinxteren · 2006 [cited by examiner]
US 20090217804A1 · Lu et al. · 2009 [cited by applicant]
US 20210158086A1 · Salamon et al. · 2021 [cited by applicant]
US 20210224318A1 · Schalkwijk et al. · 2021 [cited by applicant]
US 20210287662A1 · McCallum · 2021 [cited by examiner]
US 20210294840A1 · Lee et al. · 2021 [cited by applicant]
US 20220027407A1 · Ikezoye et al. · 2022 [cited by applicant]
US 20220284917A1 · Topchy et al. · 2022 [cited by applicant]
US 20230052033A1 · Chundi et al. · 2023 [cited by applicant]
Tralie et al. (Enhanced Hierarchical Music Structure Annotations Via Feature Level Similarity Fusion, Feb. 4, 2019) (Year: 2019). [cited by examiner]
Jegou et al., “Product Quantization for Nearest Neighbor Search,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 33, No. 1, Jan. 2011, pp. 117-128. [cited by applicant]
Mcfee et al., “Analyzing Song Structure with Spectral Clustering,” Proc. of the 15th International Society for Music Information Retrieval Conference, Taipei, Taiwan, 2014, pp. 405-410. [cited by applicant]
Tralie et al., “Enhanced Hierarchical Music Structure Annotations via Feature Level Similarity Fusion,” ICASSP, Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing, May 2019, pp. 201-… [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/742,318, filed Feb. 29, 2024, 25 pages. [cited by applicant]
Final Office Action, U.S. Appl. No. 17/742,318, filed Oct. 21, 2024, 28 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 17/742,318, filed Mar. 13, 2025, 30 pages. [cited by applicant]