IP Library Granted Patent US 10,460,763
Granted Patent B2
US 10,460,763 · App. 15/497,433 · Granted Oct 29, 2019

Generating audio loops from an audio track

Inventors: Zhengshan Shi (Palo Alto, CA); Gautham J. Mysore (San Francisco, CA)
Assignee: Adobe Inc.
G11B27/007G10H1/0025G10H1/0041H04H60/04G10H2210/056G10H2210/061G10H2210/076G10H2210/105G10H2220/116G10H2250/641
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,460,763
App. No.
15/497,433
Granted
Oct 29, 2019
Kind
B2
Abstract

Methods and systems for automatic audio loop generation from an audio track identify suitable portions of the audio track for generating audio loops. One or more embodiments identify portions of the audio track that include a beginning beat and an ending beat that have similar audio features that provide for seamless transitions when generating the audio loops. One or more embodiments generate scores for the portions based on the similarity of the audio features of the corresponding beginning and ending beats. Additionally, one or more embodiments use the generated scores to determine whether each portion is a suitable audio loop candidate. One or more embodiments then generate one or more audio loops using one or more suitable portions of the audio track.

Claims (52)

1. In a digital media environment comprising pre-recorded electronic audio tracks, a computer-implemented method of generating audio loops, comprising:

identifying, by at least one processor of a client device, a plurality of portions of an audio track, wherein each portion of the plurality of portions is a possible audio loop comprising a common beginning beat, and each portion of the plurality of portions comprises a different number of beats;

determining, by the at least one processor, a score for each portion of the plurality of portions of the audio track by determining a similarity of an audio profile of the beginning beat and an audio profile of an ending beat of each portion;

selecting a portion of the audio track from the plurality of portions of the audio track based on the determined score for each portion; and

generating, by the at least one processor, an audio loop using the selected portion of the audio track.

2. The computer-implemented method as recited in claim 1 , wherein determining the score for each portion comprises determining a plurality of audio features of the common beginning beat and a plurality of audio features of the ending beat of each portion of the plurality of portions.

3. The computer-implemented method as recited in claim 2 , wherein the plurality of audio features of the common beginning beat comprises harmony features, timbre features, and energy features of the common beginning beat, and the plurality of audio features of the ending beat of each portion comprises harmony features, timbre features, and energy features of the ending beat of each portion.

4. The computer-implemented method as recited in claim 1 , wherein determining the score for each portion further comprises determining a feature distance between the audio profile of the common beginning beat and the audio profile of the ending beat of each portion.

5. The computer-implemented method as recited in claim 4 , wherein selecting the portion of the audio track comprises:

comparing the determined score for each portion of the plurality of portions to one or more other portions of the plurality of portions; and

selecting the portion of the audio track based on the selected portion having a highest determined score.

6. The computer-implemented method as recited in claim 1 , wherein identifying the plurality of portions of the audio track comprises:

receiving a request to generate at least one audio loop from the audio track as a whole; and

identifying the plurality of portions of the audio track in response to the received request.

7. The computer-implemented method as recited in claim 6 , further comprising generating, in response to the request to generate the at least one audio loop from the audio track as a whole, a plurality of audio loops for the audio track, wherein each generated audio loop for the audio track starts at a different beginning beat in the audio track.

8. The computer-implemented method as recited in claim 1 , further comprising:

identifying a user-selected portion of the audio track, wherein the user-selected portion is less than a whole of the audio track;

receiving a request to generate an audio loop from the user-selected portion of the audio track; and

wherein generating the audio loop comprises refining the user-selected portion to create an audio loop from the user-selected portion.

9. The computer-implemented method as recited in claim 1 , wherein generating the audio loop comprises generating a crossfade transition from an ending beat of the selected portion to the common beginning beat of the selected portion by applying the crossfade transition to a tail of the audio track before the ending beat and a tail of the audio track before the common beginning beat.

10. The computer-implemented method as recited in claim 1 , further comprising:

identifying, within the selected portion, a first segment and a second segment;

determining that the first segment and the second segment comprise a shared characteristic; and

generating, based on the first segment and the second segment comprising the shared characteristic, the audio loop to include the first segment of the selected portion and exclude the second segment of the selected portion.

11. The computer-implemented method as recited in claim 10 , wherein determining that the first segment and the second segment comprise the shared characteristic further comprises determining that a plurality of beats of the first segment are similar to a plurality of beats of the second segment based on at least one audio feature of the plurality of beats of the first segment and at least one audio feature of the plurality of beats of the second segment.

12. The computer-implemented method as recited in claim 1 , wherein identifying the plurality of portions of the audio track comprises identifying a plurality of portions that meet a minimum constraint and a maximum constraint.

13. The computer-implemented method as recited in claim 1 , further comprising:

providing, within a graphical user interface, a waveform representation of the audio track;

highlighting, in response to generating the audio loop and within the waveform representation of the audio track, the selected portion of the audio track corresponding to the audio loop from the common beginning beat to an ending beat of the selected portion;

providing, within the graphical user interface, a selectable option to play the generated audio loop; and

playing the generated audio loop in response to a selection of the selectable option.

14. In a digital media environment comprising pre-recorded electronic audio tracks, a system for generating audio loops, the system comprising:

a non-transitory computer memory comprising an audio track; and

at least one computing device storing instructions thereon, that, when executed by the at least one computing device, cause the system to:

identify, by the at least one computing device, a portion of the audio track by selecting a beginning beat and an ending beat from among a plurality of beats within the audio track;

determine, by the at least one computing device, a similarity between an audio profile of the beginning beat and an audio profile of the ending beat of the audio track by comparing audio features of the beginning beat to audio features of the ending beat;

determine, by the at least one computing device, that the portion of the audio track is suitable for an audio loop based on the similarity between the beginning beat and the ending beat; and

based on the portion being suitable for the audio loop, generate, by the at least one computing device, the audio loop using the portion of the audio track.

15. The system as recited in claim 14 , further comprising instructions that, when executed by the at least one computing device, cause the system to:

identify, within the portion of the audio track, a first segment and a second segment;

determine that a plurality of beats in the first segment and a plurality of beats in the second segment are similar based on the first segment and the second segment comprising a shared characteristic; and

generate, based on the first segment and the second segment comprising the shared characteristic, the audio loop to include the first segment and exclude the second segment of the portion of the audio track.

16. The system as recited in claim 14 , further comprising instructions that, when executed by the at least one computing device, cause the system to provide, within a graphical user interface, an indication of the generated audio loop.

17. The system as recited in claim 14 , further comprising instructions that, when executed by the at least one processor, cause the system to determine the similarity between the beginning beat and the ending beat of the audio track by:

determining an audio feature distance between the audio profile of the beginning beat and the audio profile of the ending beat of the portion of the audio track; and

determining a score for the portion of the audio track based on the determined feature distance.

18. The system as recited in claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to determine that the portion of the audio track is suitable for the audio loop by determining that the score for the portion of the audio track meets a predetermined threshold.

19. In a digital media environment comprising pre-recorded electronic audio tracks, a computer-implemented method of generating audio loops, comprising:

a step for identifying a plurality of portions of an audio track;

a step for selecting a portion from the plurality of portions of the audio track; and

generating, by at least one processor, an audio loop using the selected portion of the audio track.

20. The method as recited in claim 19 , wherein generating the audio loop comprises generating a crossfade transition from an ending beat of the selected portion to a beginning beat of the selected portion by applying the crossfade transition to a tail of the audio track before the ending beat and a tail of the audio track before the beginning beat.

Assignments (2)
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2017
From: SHI, ZHENGSHAN; MYSORE, GAUTHAM J.
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 042148/0155 →
Continuity (1)
Related Publication 20180315452A1 · Nov 1, 2018