Generating a playlist
First Claim
Patent Images
1. A method of generating playlists, comprising:
- receiving a user selection of a seed track from audio tracks in an audio library, each of the audio tracks, including the seed track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient;
in response to receiving the user selection of the seed track, cause a user interface element to be presented that generates a playlist based on the seed track;
in response to receiving a selection of the user interface element, identifying audio tracks in the audio library having corresponding constructs that are within a given range of a corresponding construct of the seed track, wherein the corresponding constructs within the range are similar to the corresponding construct of the seed track;
determining distances between the construct for the seed track and the constructs for the identified audio tracks that are within the given range;
assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores;
generating the playlist using at least a portion of the identified audio tracks based on the weighted artist scores and the weighted candidate track scores;
in response to generating the playlist, ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and
causing the ordered playlist to be presented.
2 Assignments
0 Petitions
Accused Products
Abstract
Generating a playlist may include designating a seed track in an audio library; identifying audio tracks in the audio library having constructs that are within a range of a corresponding construct of the seed track, where the constructs for the audio tracks are derived from frequency representations of the audio tracks, and the corresponding construct for the seed track is derived from a frequency representation of the seed track; and generating the playlist using at least some of the audio tracks that were identified.
-
Citations
19 Claims
-
1. A method of generating playlists, comprising:
-
receiving a user selection of a seed track from audio tracks in an audio library, each of the audio tracks, including the seed track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the seed track, cause a user interface element to be presented that generates a playlist based on the seed track; in response to receiving a selection of the user interface element, identifying audio tracks in the audio library having corresponding constructs that are within a given range of a corresponding construct of the seed track, wherein the corresponding constructs within the range are similar to the corresponding construct of the seed track; determining distances between the construct for the seed track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; generating the playlist using at least a portion of the identified audio tracks based on the weighted artist scores and the weighted candidate track scores; in response to generating the playlist, ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising a non-transitory machine-readable storage medium having instructions encoded thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:
-
receiving a user selection of a seed track from audio tracks in an audio library, each of the audio tracks, including the seed track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the seed track, cause a user interface element to be presented that generates a playlist based on the seed track; in response to receiving a selection of the user interface element, identifying audio tracks in the audio library having corresponding constructs that are within a given range of a corresponding construct of the seed track, wherein the corresponding constructs within the range are similar to the corresponding construct of the seed track; determining distances between the construct for the seed track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on determined distances to generate weighted artist scores and weighted candidate track scores; generating the playlist using at least a portion of the identified audio tracks based on the weighted artist scores and the weighted candidate track scores; in response to generating the playlist, ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
-
13. A system for generating playlists, comprising:
-
one or more non-transitory machine-readable storage media storing instructions; and one or more processing devices for using the instructions to perform operations comprising; receiving a user selection of a seed track from audio tracks in an audio library, each of the audio tracks, including the seed track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the seed track, cause a user interface element to be presented that generates a playlist based on the seed track; in response to receiving a selection of the user interface element, identifying audio tracks in the audio library having corresponding constructs that are within a given range of a corresponding construct of the seed track, wherein the corresponding constructs within the range are similar to the corresponding construct of the seed track; determining distances between the construct for the seed track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; generating the playlist using at least a portion of the identified audio tracks based on the weighted artist scores and the weighted candidate track scores; in response to generating the playlist, ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
-
14. A system for generating playlists, comprising:
-
an interface for communication over a network; and one or more hardware processors that perform operations comprising; receiving a user selection of a seed track from audio tracks in an audio library, each of the audio tracks, including the seed track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the seed track, cause a user interface element to be presented that generates a playlist based on the seed track; in response to receiving a selection of the user interface element, identifying audio tracks in the audio library having corresponding constructs that are within a given range of a corresponding construct of the seed track, wherein the corresponding constructs within the range are similar to the corresponding construct of the seed track; determining distances between the construct for the seed track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; generating the playlist using at least a portion of the identified audio tracks based on the weighted artist scores and the weighted candidate track scores; in response to generating the playlist, ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
-
15. A method of identifying similar audio tracks, comprising:
-
receiving a user selection of a first track among multiple audio tracks, each of the audio tracks, including the first track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the first track, cause a user interface element to be presented that generates a playlist based on the first track; in response to receiving a selection of the user interface element, identifying audio tracks among the multiple audio tracks having corresponding constructs that are within a given range of a corresponding construct of the first track, wherein corresponding the constructs within the range are similar to the corresponding construct of the first track; determining distances between the construct for the first track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; outputting an indication that the first track and the audio tracks are similar based on the weighted artist scores and the weighted candidate track scores; ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented. - View Dependent Claims (16)
-
-
17. An apparatus comprising a non-transitory machine-readable storage medium having instructions encoded thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:
-
receiving a user selection of a first track among multiple audio tracks, each of the audio tracks, including the first track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the first track, cause a user interface element to be presented that generates a playlist based on the first track; in response to receiving a selection of the user interface element, identifying audio tracks among the multiple audio tracks having corresponding constructs that are within a given range of a corresponding construct of the first track, wherein corresponding the constructs within the range are similar to the corresponding construct of the first track; determining distances between the construct for the first track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; outputting an indication that the first track and the audio tracks are similar based on the weighted artist scores and the weighted candidate track scores; ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
-
18. A system for generating a playlist, comprising:
-
one or more non-transitory machine-readable storage media storing instructions; and one or more processing devices for using the instructions to perform operations comprising; receiving a user selection of a first track among multiple audio tracks, each of the audio tracks, including the first track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the first track, cause a user interface element to be presented that generates a playlist based on the first track; in response to receiving a selection of the user interface element, identifying audio tracks among the multiple audio tracks having corresponding constructs that are within a given range of a corresponding construct of the first track, wherein corresponding the constructs within the range are similar to the corresponding construct of the first track; determining distances between the construct for the first track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; outputting an indication that the first track and the audio tracks are similar based on the weighted artist scores and the weighted candidate track scores; ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
-
19. A system for generating a playlist, comprising:
-
an interface for communication over a network; and one or more hardware processors that perform operations comprising; receiving a user selection of a first track among multiple audio tracks, each of the audio tracks, including the first track, being represented by a construct, each construct for each of the audio tracks being determined by obtaining metadata tags for a corresponding audio track, the metadata tags relating to one or more attributes of the corresponding audio track, generating a frequency representation of the corresponding audio track, and generating the construct using both the metadata tags and the frequency representation, each construct represented by a vector wherein the frequency representation includes at least one of a stabilized auditory image and a mel-frequency cepstral coefficient; in response to receiving the user selection of the first track, cause a user interface element to be presented that generates a playlist based on the first track; in response to receiving a selection of the user interface element, identifying audio tracks among the multiple audio tracks having corresponding constructs that are within a given range of a corresponding construct of the first track, wherein corresponding the constructs within the range are similar to the corresponding construct of the first track; determining distances between the construct for the first track and the constructs for the identified audio tracks that are within the given range; assigning weights to artist scores and candidate track scores of the identified audio tracks based on the determined distances to generate weighted artist scores and weighted candidate track scores; outputting an indication that the first track and the audio tracks are similar based on the weighted artist scores and the weighted candidate track scores; ordering tracks in the playlist in accordance with a randomized decreasing-similarity preference function so that there are no adjacent tracks by the same artist in the ordered tracks in the playlist; and causing the ordered playlist to be presented.
-
Specification