Client-based generation of music playlists from a server-provided subset of music similarity vectors
First Claim
1. A system for generating a playlist of media objects, comprising using a local client computer to perform steps including:
- (a) a step for retrieving a subset of coordinate vectors corresponding to locally available media objects from a remote server computer;
(b) a step for selecting a media object from the locally available media objects, adding the selected object to a playlist, and setting a corresponding one of the coordinate vectors as a current point;
(c) a step for searching the subset of coordinate vectors to locate a coordinate vector having a closest distance to the current point, adding the media object corresponding to the located coordinate vector as a next media object in the playlist, and setting a point corresponding to the located coordinate vector as the current point; and
(d) a step for repeating step (c) until the playlist reaches a desired length.
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.
63 Citations
20 Claims
-
1. A system for generating a playlist of media objects, comprising using a local client computer to perform steps including:
-
(a) a step for retrieving a subset of coordinate vectors corresponding to locally available media objects from a remote server computer;
(b) a step for selecting a media object from the locally available media objects, adding the selected object to a playlist, and setting a corresponding one of the coordinate vectors as a current point;
(c) a step for searching the subset of coordinate vectors to locate a coordinate vector having a closest distance to the current point, adding the media object corresponding to the located coordinate vector as a next media object in the playlist, and setting a point corresponding to the located coordinate vector as the current point; and
(d) a step for repeating step (c) until the playlist reaches a desired length. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable medium having computer executable instructions for generating a media object playlist from a set of coordinate vectors, comprising:
-
providing a set of unique multidimensional coordinate vectors, each coordinate vector corresponding to a unique media object in a set of locally available media objects;
selecting two or more media objects from the set of locally available media objects;
determining a total number of media objects sufficient to generate a media object playlist of an approximate desired size;
computing a multidimensional path between the coordinate vectors corresponding to the selected media objects, said path further including points along the length of the path such that the total number of points along the path is equal to the total number of media objects sufficient to generate the media object playlist of the approximate desired size; and
beginning at the start of the multidimensional path, populating the media object playlist by selecting media objects for addition to the playlist as a function of their corresponding coordinate vectors and the points along the computed multidimensional path. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for generating a playlist of media objects, comprising using a computing device for:
-
compiling a list of locally available media objects;
querying a remote server computer for retrieving a set of coordinate vectors corresponding to the locally available media objects; and
generating a media object playlist of a desired size as a function of computed distances between the retrieved coordinate vectors and a selected one of the locally available media objects. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification