Client-based generation of music playlists via clustering of music similarity vectors
First Claim
1. A system for generating clusters of similar media objects, comprising using a computing device for:
- identifying a set of locally available media objects;
querying a remote server computer to retrieve a set of coordinate vectors corresponding to each of the locally available media objects;
determining distances between the retrieved coordinate vectors;
forming at least one cluster of at least one coordinate vector relative to a first adjustable minimum distance threshold such that any group of one or more of the coordinate vectors whose mutual distances are less than the first adjustable minimum distance threshold are assigned to a common cluster, wherein forming at least one cluster of at least one coordinate vector comprises recursively identifying clusters of similar media objects;
initially placing each coordinate vector into a unique cluster;
identifying a coordinate vector having a largest number of neighboring coordinate vectors within the first adjustable minimum distance threshold, and forming a new cluster from the identified coordinate vector and the identified neighboring coordinate vectors;
removing any coordinate vectors already added to a new cluster from further cluster considerations; and
repeating the formation of new clusters and removing of coordinate vectors from further cluster consideration until all coordinate vectors have been assigned to a new cluster of at least one coordinate vector;
selecting at least one media object; and
generating a media object playlist to automatically populate the playlist with media objects corresponding to coordinate vectors in any cluster including the coordinate vectors of the selected media objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A “Music Mapper” automatically constructs a set coordinate vectors for use in inferring similarity between various pieces of music. In particular, given a music similarity graph expressed as links between various artists, albums, songs, etc., the Music Mapper applies a recursive embedding process to embed each of the graphs music entries into a multi-dimensional space. This recursive embedding process also embeds new music items added to the music similarity graph without reembedding existing entries so long a convergent embedding solution is achieved. Given this embedding, coordinate vectors are then computed for each of the embedded musical items. The similarity between any two musical items is then determined as either a function of the distance between the two corresponding vectors. In various embodiments, this similarity is then used in constructing music playlists given one or more random or user selected seed songs or in a statistical music clustering process.
85 Citations
15 Claims
-
1. A system for generating clusters of similar media objects, comprising using a computing device for:
-
identifying a set of locally available media objects; querying a remote server computer to retrieve a set of coordinate vectors corresponding to each of the locally available media objects; determining distances between the retrieved coordinate vectors; forming at least one cluster of at least one coordinate vector relative to a first adjustable minimum distance threshold such that any group of one or more of the coordinate vectors whose mutual distances are less than the first adjustable minimum distance threshold are assigned to a common cluster, wherein forming at least one cluster of at least one coordinate vector comprises recursively identifying clusters of similar media objects; initially placing each coordinate vector into a unique cluster; identifying a coordinate vector having a largest number of neighboring coordinate vectors within the first adjustable minimum distance threshold, and forming a new cluster from the identified coordinate vector and the identified neighboring coordinate vectors; removing any coordinate vectors already added to a new cluster from further cluster considerations; and repeating the formation of new clusters and removing of coordinate vectors from further cluster consideration until all coordinate vectors have been assigned to a new cluster of at least one coordinate vector; selecting at least one media object; and generating a media object playlist to automatically populate the playlist with media objects corresponding to coordinate vectors in any cluster including the coordinate vectors of the selected media objects. - View Dependent Claims (2, 3, 4)
-
-
5. A physical computer-readable medium having computer executable instructions stored thereon for generating media object playlists from a set of coordinate vectors derived from a sparse graph of music object similarities, comprising:
-
identifying a set of media objects available to a local client computer; querying a remote server computer to retrieve a set of coordinate vectors corresponding to each of the music objects available to the local client computer; recursively forming clusters of at least one of the retrieved coordinate vectors as a function of computed distances between the retrieved coordinate vectors in multidimensional space; and wherein recursively forming clusters comprises; initially placing each retrieved coordinate vector into a unique cluster, identifying a coordinate vector having a largest number of neighboring coordinate vectors within a first minimum distance threshold, and forming a new cluster from the identified coordinate vector and the identified neighboring coordinate vectors, removing any coordinate vectors already added to a new cluster from further cluster considerations, and repeating the formation of new clusters and removing of coordinate vectors from further cluster consideration until all coordinate vectors have been assigned to a new cluster of at least one coordinate vector. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A computer-implemented process for constructing music playlists through clustering of music similarity vectors, comprising steps for:
-
constructing a set of multidimensional music similarity vectors from a sparse graph of music similarities representing interrelationships between a plurality of music objects; recursively forming clusters of at least one of the music similarity vectors as a function of computed distances between the music similarity vectors in multidimensional space; wherein recursively forming the clusters further comprises steps for; initially placing each music similarity vector into a unique cluster, identifying a music similarity vector having a largest number of neighboring music similarity vectors within a minimum distance threshold, and forming a new cluster from the identified music similarity vector and the identified neighboring music similarity vectors, removing any music similarity vectors already added to a new cluster from further cluster considerations, and repeating the formation of new clusters and removing of music similarity vectors from further cluster consideration until all music similarity vectors have been assigned to a new cluster of at least one music similarity vector; and generating at least one music playlist by automatically populating the playlist with at least one music object corresponding to music similarity vectors from clusters corresponding to the music similarity vectors of at least one music object selected via a user interface. - View Dependent Claims (12, 13, 14, 15)
-
Specification