throbber
as) United States
`a2) Patent Application Publication 0) Pub. No.: US 2006/0206478 Al
`(43) Pub. Date: Sep. 14, 2006
`
`Glaser et al.
`
`US 20060206478A1
`
`(54) PLAYLIST GENERATING METHODS
`
`(75)
`
`Inventors: William T. Glaser, San Francisco, CA
`(US); Timothy B. Westergren, San
`Francisco, CA (US); Etienne F.
`Handman, Dublin, CA (US); Thomas
`J. Conrad, Oakland, CA (US)
`
`Correspondence Address:
`BANNER & WITCOFF, LTD.
`TEN SOUTH WACKER DRIVE
`SUITE 3000
`CHICAGO,IL 60606 (US)
`
`(73) Assignee: Pandora Media, Inc., Oakland, CA
`
`(21) Appl. No.:
`
`11/295,339
`
`(22)
`
`Filed:
`
`Dec. 6, 2005
`
`Related U.S. Application Data
`
`(63) Continuation-in-part of application No. 10/150,876,
`filed on May 16, 2002, now Pat. No. 7,003,515.
`
`(60) Provisional application No. 60/291,821, filed on May
`16, 2001.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 1730
`(2006.01)
`GO6F
`7/00
`(52) US. C0.
`cresssccssssssssssnssssestosestnsesesssentesestenese 707/5
`
`(57)
`
`ABSTRACT
`
`Methods of generating a playlist for a user are disclosed. For
`example, an input seed from the user associated with one or
`more items in a databaseis received. The input seed may be
`a song nameorartist name. Characteristics that correspond
`to the input seed are identified. One or more focustraits
`based on the characteristics are also identified. Based on the
`
`identification of the one or more focustraits, a weighting
`factor is assigned to at least some ofthe characteristics. The
`weighted value of the characteristics that correspondto the
`input seed and characteristics of items in the database are
`compared. Based on the comparison, items for the playlist
`are selected.
`
`
`
`Traits using
`Focus Trait
`Triggering Rules
`
` Identify Focus
`
`
`
`
`
`Select Focus Traits to re-
`weight the Song Matching
`Methodandrefinesearchesto
`include or exclude one or
`
`more FocusTraits
`
`
`
`Core Engine
`
` Music GenomeProject Database
`
` Find matching
`
`songsin database
`using SBT Song
`Match Method
`
`
`
` Choose any matching
`
`song to become new
`source song
`
`
`
`EXx1033
`Roku V. Media Chain
`U.S. Patent No. 10,489,560
`
`EX1033
`Roku V. Media Chain
`U.S. Patent No. 10,489,560
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 1 of 7
`
`US 2006/0206478 Al
`
`Figure
`
`]
`
`:
`Gore: Engine
`
`——>
`
`
`
` Music Genome
`
`
`
`
`songs in database
`using SBT Song
`Match Method
`
`Identify Focus
`
`Traits using
`
`
`Focus Trait
`Triggering Rules
`
`
` Find matching
`Project Database
`
`
` Select Focus Traits to re-
`
`weight the Song Matching
`Methodandrefine searches to
`include or exclude one or
`
`more FocusTraits
`
`
` Choose any matching
`
`
`song to become new
`source song
`
`
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 2 of 7
`
`US 2006/0206478 Al
`
`Figure 2
`
`
`
`MGP Database
`
`
`
`
`
`
`or below)
`
`Gene Threshold
`reached? (Above
`
`Gene Labeled
`as Definer?
`
`
`
`Group of
`Genesfits
`specified
`criteria?
`
`Gene is exact
`match?
`
`
`
`
`
`
`
` Selected Focus Traits re-weight the song matching method and refinesearches to include or exclude one or more FocusTraits
`
`
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 3 of 7
`
`US 2006/0206478 Al
`
`Source Song Group
`
`Sa
`
`Far Candidate Song
`
`Near Candidate Song
`
`Song Group
`
`Oo
`oO
`A re)
`
`oO
`
`oO
`
`
`
`sixyuonelasgubiy
`
`>L
`
`ow Daviation
`Axis
`
`Figure 3
`
`Center Vector
`
`Figure 4
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 4 of 7
`
`US 2006/0206478 Al
`
`Bi-modal Song Group
`
`
` Vector Pair 1
`
`Vector Pair 2
`
`Figure 5
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 5 of 7
`
`US 2006/0206478 Al
`
`Figure 6
`
`Server 608
`
`Matching Engine 614
`
`Search and
`Matching
`Functions 616
`
`Database 612
`
`
`602
`
`/?
`
`Network 610
`
`604
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 6 of 7
`
`US 2006/0206478 Al
`
`Figure 7
`
`Receive Input Seed
`
`Identify Characteristics
`Corresponding to the Input Seed
`
`Identify Focus Traits Based on the
`Characteristics
`
`Assign Weighting Factor to Some |
`of the Characteristics
`
`Compare Weighted Characteristics
`of the Input Seed to Items in the
`Database
`
`Select Itemsfor the Playlist Based
`on the Comparison
`
`702
`
`704
`
`706
`
`708
`
`710
`
`NON
`
`712
`
`

`

`Patent Application Publication Sep. 14,2006 Sheet 7 of 7
`
`US 2006/0206478 Al
`
`Figure 8
`
`802
`
`Input Seed Analysis
`
`Access Databaseto Identify
`the Input Seed
`
`
`
`
`
`s the Inpu
`Seedin the
`
`
`
`Database?
`
`
`YES
`
`
`
`Seek Clarification/
`Revision
`
`Input Seedis an
`Artist Name
`
`804
`
`YES
`
`806
`
`
`
`
`
`
`
`
`
`
`Access Databaseto
`Retrieve
`Characteristics
`Corresponding to the
`Input Seed
`
`
`
`Access Databaseto
`
`
`
`Generate Averageof
`Characteristics of
`
`Songs Corresponding
`to the Artist Name
`
`
`
`Assign Confidence
`Factor to the Average
`
`
`
`of Characteristics
`
`808
`
`

`

`US 2006/0206478 Al
`
`Sep. 14, 2006
`
`PLAYLIST GENERATING METHODS
`
`[0001] This application is a continuation-in-part of U.S.
`patent application Ser. No. 10/150,876, filed May 16, 2002,
`and also claims priority to provisional U.S. Patent Applica-
`tion Ser. No. 60/291,821, filed May 16, 2001. The entire
`disclosures of U.S. patent application Ser. Nos. 10/150,876
`and 60/291,821 are hereby incorporated by reference.
`
`[0002] A portion of the disclosure of this patent document
`contains materialthat is subject to copyright protection. The
`copyright owner has no objection to the facsimile reproduc-
`tion by anyone of the patent documentor the patent disclo-
`sure, as it appears in the Patent and Trademark Office patent
`file or records, but otherwise reserves all copyright rights
`whatsoever.
`
`FIELD OF THE EMBODIMENTSOF THE
`INVENTION
`
`[0003] Embodimentsof the invention are directed to meth-
`ods for generating playlists for one or more users.
`
`BACKGROUND OF THE EMBODIMENTS OF
`THE INVENTION
`
`for example, sequence perfor-
`[0004] A playlist may,
`mances of songs for a listener. One way to generate such a
`playlist is to randomly select songs from a larger library of
`songs and then sequentially play those songs forthelistener.
`However, such playlists do not take into account whether the
`songs are from a particular genre or otherwise soundalike.
`Thus, such playlists may not be pleasing to the ear.
`
`[0005] Another way to generate a playlistis to select songs
`manually. For example, a commercial FM radio station may
`want a playlist featuring only new “lite rock” songs. Thus,
`the radio station may review songsby“lite rock”artists and
`manually select some songs for inclusion in the playlist.
`
`[0006] While many music playlists are manually gener-
`ated by humans, some attempts have been made to automate
`the generation of music playlists. However, the success of
`these playlists has been stymied by difficulties with using
`digital algorithms to analyze “fuzzy” characteristics such as
`whether a song is a “lite rock”’ song and whetherthat “lite
`rock” song soundslike other “lite rock” songs already in the
`playlist.
`
`[0007] These attempts to automate the generation of music
`playlists utilize two primary methods. Thefirst method is
`based on non-musicological meta-data tags, such as genre
`(e.g. “Lite Rock,’“New Country,’“Modem Rock”), year of
`release, as well as manually created lists of artists and songs.
`The second methodis based on data obtained by mathemati-
`cal analysis of a digitized data stream. Such analyses can
`effectively identify some musicological characteristics such
`as tempo, energy and timbre mix. However, these methods
`are blind to the musicological characteristics that a human
`music programmeror disc jockey would ordinarily take into
`account. Therefore they produce inferior playlists when
`compared to those created by humans.
`
`BRIEF SUMMARY OF EMBODIMENTS OF
`THE INVENTION
`
`The collected data in the database represents measurements
`of discrete musicological characteristics (e.g., “genes” in the
`Music GenomeProject) that defy mechanical measurement.
`Furthermore, a matching algorithm has been created that can
`be used to locate one or more songs that soundalike (e.g.,
`are closely related to a source song or group of songs based
`on their characteristics and weighted comparisons of these
`characteristics).
`
`In addition, specific combinations of characteris-
`[0009]
`tics (or even a single notable characteristic) have been
`identified that represent significantly discernable attributes
`of a song. These combinations are knownas “‘focustraits.”
`For example, prominence of electric guitar distortion, a
`four-beat meter, emphasis on a backbeat, and a “I, IV, V”
`cord progression may be a focus trait because such a
`combination of characteristics is significantly discernable to
`a listener. Through analysis by human musicologists, a large
`numberof focustraits have been identified-each based on a
`
`specific combination of characteristics.
`
`[0010] Embodiments of the invention are directed to meth-
`ods for generating a playlist for one or more users that
`involve characteristics and focus traits. For example, in the
`context of music, one embodimentof the invention includes
`the steps of receiving an input seed from the user associated
`with one or more items in a database; identifying charac-
`teristics that correspondto the input seed; identifying one or
`more focus traits based on the characteristics; assigning a
`weighting factor to at least some of the characteristics based
`on the identification of the one or more focus traits; com-
`paring the weighted value of the characteristics that corre-
`spond to the input seed and characteristics of items in the
`database; and selecting items for the playlist based on the
`comparison.
`
`[0011] Embodiments of the invention may include numer-
`ous other features and advantages.
`
`[0012] For example, again in the context of music, the step
`of assigning may further include assigning an additional
`weighting factor based on preferencesof the user. As another
`example, the step of comparing may include comparing the
`difference between characteristics that correspond to the
`input seed and characteristics of items in the database.
`Moreover, one or more embodiments of the invention may
`include the step of providing content to the user in accor-
`dance with the playlist.
`
`[0013] Other details features and advantages of embodi-
`ments of the invention will become apparent with reference
`to the following detailed description and the figures.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0014] FIG. 1 showsa flow diagram overview of a con-
`sumer item matching method and system.
`
`[0015] FIG. 2 shows a flow diagram of focustrait trig-
`gering rules employed in a consumer item matching method
`and system.
`
`[0016] FIG. 3 depicts a relationship between different
`song candidates.
`
`[0008] Databases such as the Music Genome Project®
`
`capture the results of human analysis of individual songs. [0018] FIG.5graphically depicts a bimodal song group.
`
`[0017] FIG.4 is a graph showing a deviation vector.
`
`

`

`US 2006/0206478 Al
`
`Sep. 14, 2006
`
`[0019] FIG. 6 depicts an exemplary operating environ-
`ment for one or more embodiments of the invention.
`
`[0020] FIG. 7 shows a flow diagram for one or more
`embodiments of the invention.
`
`[0021] FIG. 8 shows a flow diagram for one or more
`embodiments of the “Identify Characteristics” step 704 in
`FIG.7.
`
`[0033] Because the monotonic square-root function is
`used in calculating all of these distances, computing the
`function is not necessary. Instead, the invention uses dis-
`tance-squared calculations in song comparisons. Accepting
`this and applying subscript notation, the distance calculation
`is written in simplified form as:
`distance(S, 7)=X(s-z)°2
`
`DETAILED DESCRIPTION OF EMBODIMENTS
`OF THE INVENTION
`
`[0022] One or more embodimentsofthe invention utilizes
`the Music GenomeProject, a database of songs, in connec-
`tion with the playlist generating methods. Each song is
`described by a set of characteristics, or “genes”, or more that
`are collected into logical groups called “chromosomes.” The
`set of chromosomes make up the genome. One of these
`major groups in the genomeis the “Music Analysis” Chro-
`mosome. This particular subset of the entire genome is
`sometimes referred to as “the genome.”
`
`[0023]
`
`Song Matching Techniques
`
`[0024]
`
`Song to Song Matching
`
`[0025] The Music Genome Project® system is a large
`database of records, each describing a single piece of music,
`and an associated set of search and matching functions that
`operate on that database. The matching engine effectively
`calculates the distance between a source song and the other
`songs in the database and then sorts the results to yield an
`adjustable number of closest matches.
`
`[0026] Each gene can be thought of as an orthogonal axis
`of a multi-dimensional space and each songas a pointinthat
`space. Songs that are geometrically close to one another are
`“good” musical matches. To maximize the effectiveness of
`the music matching engine, we maximize the effectiveness
`of this song distance calculation.
`
`[0027]
`
`Song Vector
`
`[0028] A given song “S” is represented by a vector con-
`taining approximately 150 genes. Each gene corresponds to
`a characteristic of the music, for example, gender of lead
`vocalist, level of distortion on the electric guitar, type of
`backgroundvocals,etc. In a preferred embodiment, rock and
`pop songs have 150 genes, rap songs have 350, and jazz
`songs have approximately 400. Other genres of music, such
`as world and classical, have 300-500 genes. The system
`depends on a sufficient number of genes to render useful
`results. Each gene “s”of this vector has a value of an integer
`or half-integer between 0 and 5. However, the range of
`values for characteristics may vary andis notstrictly limited
`to just integers or half-integers between 0 and 5.
`
`[0029]
`
`Song S=(s,, 82, 53, -.- S,)
`
`[0030] Basic Matching Engine
`
`[0031] The simple distance between any two songs “S”
`and “T”,
`in n-dimensional space, can be calculated as
`follows:
`
`distance=square-root of(the sum overall n elements of
`the genome of(the square of (the difference between
`the corresponding elements of the two songs)))
`
`[0032] This can be written symbolically as:
`distance(S, 7)=sqrt [(for i=1 to »)X(s,-t,)°2]
`
`[0034] Weighted and Focus Matching
`
`[0035] Weighted Matching
`
`[0036] Because notall of the genes are equally important
`in establishing a good match, the distance is better calculated
`as a sum that is weighted according to each gene’s individual
`significance. Taking this into account, the revised distance
`can be calculated as follows:
`
`distanceELwe(s-#)2H"(arr4)22")
`Dare «
`where the weighting vector “W,”
`
`[0037]
`
`Song W=(w,, w2, W3,---; W,)
`
`is initially established through empirical work done, for
`example, by a music team that analyzes songs. The
`weighting vector can be manipulated in various ways
`that affect the overall behavior of the matching engine.
`This will be discussed in more detail
`later in this
`document.
`
`[0038] Scaling Functions
`
`[0039] The data represented by many of the individual
`genesis notlinear. In other words, the distance between the
`values of 1 and 2 is not necessarily the same as the distance
`between the values of 4 and 5. The introduction of scaling
`functions f(x) may adjust for this non-linearity. Adding these
`scaling functions changes the matching function to read:
`distance=2[w*(f(s)-f2))" 2]
`
`[0040] There are a virtually limitless number of scaling
`functions that can be applied to the gene values to achieve
`the desired result.
`
`[0041] Alternatively, one can generalize the difference-
`squared function to any function that operates of the abso-
`lute difference of two gene values. The general distance
`function is:
`
`distance=2[w*g(|s—d))]
`[0042]
`In the specific case, g(x) is simply x”, but it could
`become X* for example if it was preferable to prioritize
`songs with many small differences over ones with a few
`large ones.
`
`[0043] Focus Matching
`
`[0044] Focus matching allows the end user of a system
`equipped with a matching engine to control the matching
`behavior of the system. Focus traits may be used to re-
`weight the song matching system and refine searches for
`matching songs to include or exclude the selected focus
`traits.
`
`[0045] Focus Trait Presentation
`
`[0046] Focus Traits are the distinguishing aspects of a
`song. When an end userenters a source song into the system,
`its genomeis examined to determine which focustraits have
`been determined by music analysts to be present in the
`
`

`

`US 2006/0206478 Al
`
`Sep. 14, 2006
`
`music. Triggering rules are applied to each of the possible
`focus traits to discover which apply to the song in question.
`These rules maytrigger a focus trait when a given generises
`above a certain threshold, when a given gene is marked as
`a definer, or when a group of genes fits a specified set of
`criteria. The identified focustraits (or a subset) are presented
`on-screen to the user. This tells the user what elements of the
`selected song are significant.
`
`[0047] Focus Trait Matching
`
`[0048] An end user can choose to focus a match around
`any of the presented traits. Whena trait, or numberoftraits,
`is selected,
`the matching engine modifies its weighting
`vector to more tightly match the selection. This is done by
`increasing the weights of the genes that are specific to the
`Focus Trait selected and by changing the values of specific
`genesthat are relevant to the Trait. The resulting songs will
`closely resemble the source song in the trait(s) selected.
`
`[0049] Personalization
`
`[0050] The weighting vector can also be manipulated for
`each end userof the system. By raising the weights of genes
`that are importantto the individual and reducing the weights
`of those that are not, the matching process can be made to
`improve with each use.
`
`[0051] Aggregation
`
`[0052]
`
`Song to Song Matching
`
`[0053] The matching engineis capable of matching songs.
`That is, given a source song,it can find the set of songs that
`closely match it by calculating the distances to all known
`songs and then returning the nearest few. The distance
`between any two songs is calculated as the weighted
`Pythagorean sum of the squares of the differences between
`the corresponding genes of the songs.
`
`[0054] Basic Multi-Song Matching
`
`It may also be desirable to build functionality that
`[0055]
`will return the best matches to a group of source songs.
`Finding matches to a group of source songs is useful in a
`number of areas as this group can represent a number of
`different desirable searches.
`
`[0056] The source group could represent the collected
`worksofa singleartist, the songs on a given CD, the songs
`that a given end userlikes, or analyzed songsthat are known
`to be similar to an unanalyzed song of interest. Depending
`on the makeup of the group of songs, the match result has
`a different meaning to the end user but the underlying
`calculation should be the same.
`
`[0057] This functionality provides a list of songs that are
`similar to the repertoire of an artist or CD. Finally, it will
`allow us to generate recommendations for an end user,
`purely on taste, without the need for a starting song.
`
`FIG.3 illustrates two songs. In this Figure, the
`[0058]
`song on the right is a better match to the set of source songs
`in the center.
`
`are the arithmetic average of the songs in the original set.
`Associated with this center vector is a “deviation” vector
`
`that represents the distribution of the songs within theset.
`An individual gene that has a very narrow distribution of
`values around the average will have a strong affinity for the
`center value. A gene with a wide distribution, on the other
`hand, will have a weak affinity for the center value. The
`deviation vector will be used to modify the weighing vector
`used in song-to-song distance calculations. A small devia-
`tion around the center means a higher net weighting value.
`
`[0061] The center-deviation vector pair can be used in
`place of the full set of songs for the purpose of calculating
`distances to other objects.
`
`[0062] Raw Multi-Song Matching Calculation
`
`Ifthe assumption is made that a songs gene’s are
`[0063]
`normally distributed and that they are of equal importance,
`the problem is straightforward. First a center vector is
`calculated and a standard deviation vector is calculated for
`the set of source songs. Then the standard song matching
`method is applied, but using the center vector in place of the
`source song and the inverse of the square of the standard
`deviation vector elements as the weights:
`
`[0064] Target song vectors T=(t,, t., ... t,)
`
`[0065] Center vector of the source group C=(ly,, Us,
`-
`tha)
`
`.
`
`-
`
`Standard deviation vector of the source group
`[0066]
`D=(0;, Oo; soe O,)
`
`distance,==[(1/o,)°2*(u,-2,)°2]
`
`Asis the case with simple song-to-song matching,
`[0067]
`the songs that are the smallest distances away are the best
`matches.
`
`[0068] Using Multi-Song Matching With the Weighting
`Vector
`
`[0069] The weighting vector that has been used in song-
`to-song matching must be incorporated into this system
`alongside the 1/o°2 terms. Assuming that they are multi-
`plied together so that the new weight vector elements are
`simply:
`
`[0070] New weight=w,/o, 2
`
`[0071] Aproblem thatarises with this formula is that when
`G°is zero the new weight becomesinfinitely large. Because
`there is some noise in the rated gene values, o7? can be
`thoughtof as nevertruly being equal to zero. For this reason
`a minimum valueis added to it in order to take this variation
`into account. The revised distance function becomes:
`
`distance,=2[ (w;*0.25/(o,°2+0.25))*(,-4) °2]
`
`[0072] Other weighting vectors may be appropriate for
`multi-song matching of this sort. Different multi-song
`weighting vector may be established, or the (0.5)* constant
`may be modified to fit with empirically observed matching
`results.
`
`[0059] Vector Pairs
`
`[0073] Taste Portraits
`
`[0060] Referring to FIG. 4, one way to implement the
`required calculationis to group the songsinto a singlevirtual
`song that can represent the set of songs in calculations. The
`virtual “center” is defined to be a song vector who’s genes
`
`[0074] Groups with a coherent, consistent set of tracks
`will have both a known center vector and a tightly defined
`deviation vector. This simple vector pair scheme will break-
`down, however, when there are several centers of musical
`
`

`

`US 2006/0206478 Al
`
`Sep. 14, 2006
`
`style within the collection. In this case we need to describe
`the set of songs as a set of two or more vector pairs.
`
`the song group can be
`[0075] As shown in FIG. 5,
`described with two vector pairs. By matching songs to one
`ORthe other of the vector pairs, we will be able to locate
`songs that fit well with the set. If we were to try to force all
`of the songsto be described by a single pair, we would return
`songs in the center ofthe large ellipse that would not be well
`matched to either cluster of songs.
`
`Ideally there will be a small number of such
`[0076]
`clusters, each with a large number of closely packed ele-
`ments. We can then choose to match to a single cluster at a
`time.
`
`In applications where we are permitted several
`[0077]
`matching results, we can choose to return a few from each
`cluster according to cluster size.
`
`[0078] Playlist Generating Methods
`
`[0079] Exemplary Operating Environment
`
`[0080] FIG. 6 shows a diagram of exemplary system 600
`that may be used to implement embodiments of the inven-
`tion. A plurality of terminals, such as terminals 602, 604 and
`606, couple to server 608 via network 610. Terminals 602,
`604 and 606 and server 608, may include a processor,
`memory and other conventional electronic components and
`may be programmed with processor-executable instructions
`to facilitate communication via network 610 and perform
`aspects of the invention.
`
`Oneskilled in the art will appreciate that network
`[0081]
`610 is not limited to a particular type of network. For
`example, network 610 may feature one or more wide area
`networks (WANs), such as the Internet. Network 610 may
`also feature one or more local area networks (LANs)having
`one or more of the well-known LANtopologies and may use
`a variety of different protocols, such as Ethernet. Moreover,
`network 610 may feature a Public Switched Telephone
`Network (PSTN) featuring land-line and cellular telephone
`terminals, or else a network featuring a combination of any
`or all of the above. Terminals 602, 604 and 606 may be
`coupled to network 608 via, for example, twisted pair wires,
`coaxial cable, fiber optics, electromagnetic waves or other
`media.
`
`In one embodiment of the invention, server 608
`[0082]
`contains a database of items 612. Alternatively, Server 608
`may be coupled to database of items 612. For example,
`server 608 may be coupled to a database for the Music
`Genome Project® system described previously. Server 608
`may also contain or be coupled to matching engine 614.
`Matching engine 614 utilizes an associated set of search and
`matching functions 616 to operate on the database of items
`612. In an embodimentofthe invention used with the Music
`
`Genome Project® system, for example, matching engine
`614 utilizes search and matching functions implemented in
`software or hardware to effectively calculate the distance
`between a source song and other songs in the database (as
`described above), and then sorts the results to yield an
`adjustable number of closest matches.
`
`[0083] Terminals 602, 604 and 606 feature user interfaces
`that enable users to interact with server 608. The user
`interfaces may allow users to utilize a variety of functions,
`such as displaying information from server 608, requesting
`
`additional information from server 608, customizing local
`and/or remote aspects of the system and controlling local
`and/or remote aspects of the system.
`
`[0084] Playlist Generating Method
`
`[0085] FIG. 7 showsa flow diagram for one embodiment
`of a playlist generating method 700 that can be executed on,
`for example, server 608 in FIG.6. Alternatively, the playlist
`generating method 700 can be executed exclusively at a
`stand-alone computer or other terminal.
`
`In “Receive Input Seed” step 702 of FIG. 7, an
`[0086]
`input seed is received from a user.
`
`[0087] The input seed may be a song namesuch as “Paint
`Tt Black” or even a group of songs such as “Paint It Black”
`and “Ruby Tuesday.” Alternatively, the input seed may be an
`artist name such as “Rolling Stones.” Other types of input
`seeds could include, for example, genre information such as
`“Classic Rock” or era information such as “1960s.” The
`
`input seed may be remotely received from a user via, for
`example, network 610 in FIG. 6. Alternatively, the input
`seed may belocally received by, for example, being input by
`a user at a stand-alone computer or other terminal running
`playlist generating method 700. Terminal 602, 604 or 606
`(FIG.6) may locally maintain all user input and preferences
`(e.g., in a “user information” database), such as which input
`seeds have been inputted, or preferences as to how the
`terminal should visualize any generated playlists. Alterna-
`tively, server 608 may remotely maintain all user input and
`preferences in, for example, a “user information” database
`having an item corresponding to every user.
`
`In “Identify Characteristics” step 704 of FIG. 7,
`[0088]
`characteristics that correspond to the input seed are identi-
`fied. As stated previously, characteristics may include, for
`example, gender of lead vocalist, level of distortion on the
`electric guitar, type of background vocals, etc. Characteris-
`tics may also include, for example, other types of musico-
`logical attributes such as syncopation, which is a shift of
`accent in a musical piece that occurs when a normally weak
`beat is stressed. In one or more embodiments of the inven-
`tion, such characteristics are retrieved from one or more
`items corresponding to the input seed in a Music Genome
`Project database.
`
`[0089] FIG. 8 shows a more detailed flow diagram for one
`embodimentofthe “Identify Characteristics” step 704 (FIG.
`7) of playlist generating method 700. As indicated previ-
`ously, “Identify Characteristics” step 704 as well as all of the
`other steps in FIG. 7, can be executed on, for example,
`server 608 in FIG.6.
`
`Inorder to identify characteristics corresponding to
`[0090]
`the input seed, the input seed itself mustfirst be analyzed as
`shown in “Input Seed Analysis” step 802. Accordingly,
`database 612 in FIG. 6, which may be a Music Genome
`Project database, is accessed to first identify whether the
`input seed is an item in database 612. To the extent the input
`seed is not an itemin the database, the user may be asked for
`more information in an attempt to determine, for example,
`whether the input seed was inputted wrong (e.g., “Beetles”
`instead of “Beatles”) or whether the input seed goes by
`another namein database(e.g., “I feel fine” instead of “She’s
`in love with me”). Alternatively, close matches to the input
`seed may beretrieved from the database and displayed to the
`user for selection.
`
`

`

`US 2006/0206478 Al
`
`Sep. 14, 2006
`
`If the input seed is in the database, the input seed
`[0091]
`is then categorized. In the embodiment shownin FIG.8, the
`input seed is categorized as either a “Song Name”or“Artist
`Name.” Such categorization is realized by, for example,
`retrieving “Song Name”or “Artist Name” information asso-
`ciated with the input seed from the database. Alternatively,
`such categorization is realized by asking the user whether
`the input seed is a “Song Name”or “Artist Name.”
`
`If the input seed is a song name, then “Retrieve
`[0092]
`Characteristics” step 804 is executed. In “Retrieve Charac-
`teristics” step 804, a song vector “S”that correspondsto the
`song is retrieved from the database for later comparison to
`another song vector. As stated previously, in one embodi-
`ment the song vector contains approximately 150 charac-
`teristics, and may have 400 or more characteristics:
`
`[0093]
`
`Song S=(s,, $5, $3, ---5 S,)
`
`[0094] Each characteristic “s” of this vector has a value
`selected from a range of valuesestablished for that particular
`characteristic. For example, the value of the “syncopation”
`characteristic may be any integer or half-integer between 0
`and 5. As an empirical example, the value of the syncopation
`characteristic for most “Pink Floyd” songs is 2 or 2.5. The
`range of values for characteristics may vary and is not
`limited to just integers or half-integers between 0 and 5.
`
`If the input seed is an artist name, then (in the
`[0095]
`embodiment of FIG. 8) “Generate Average” step 806 is
`executed. In one embodiment of “Generate Average” step
`806, song vectors S, to S,, which each correspond to one of
`n songs in the database bytheartist that is the subject of the
`input seed, are retrieved. Alternatively, and as stated previ-
`ously, song vectors S, to S, could correspond to one of n
`songs in the database on a particular album by theartist.
`
`[0096] After song vectors S, to S, have been retrieved, an
`average of all values for each characteristic of every song
`vector S, to S,, is calculated and populated into a “center” or
`virtual song vector:
`
`[0097] Center vector C=(u,, lo, .
`HWy=(S, 1521+. - Syn
`
`.
`
`- Hy)
`
`deviation to calculate the deviation vector, the value of
`the syncopation characteristic for most “Pink Floyd”
`songs is 2 or 2.5, which results in a smaller standard
`deviation value (e.g., 0.035) thanif a standard deviation
`value were calculated for a characteristic having more
`divergent values (e.g., if the value of the syncopation
`characteristic for all songs by Pink Floyd was more
`widely dispersed between 0 and 5).
`
`[0101] To the extent a standard deviation value for a
`certain characteristic is larger, the averaged value of that
`characteristic in the virtual song vector is considered to be
`a less reliable indicator of similarity when the virtual song
`vector is compared to another song vector. Accordingly, as
`indicated previously, the values of the deviation vector serve
`as “confidence factors” that emphasize values in the virtual
`song vector depending on their respective reliabilities. One
`wayto implementthe confidence factor is by multiplying the
`result of a comparison between the center vector and another
`song vector by the inverse of the standard deviation value.
`Thus, for example, the confidence factor could have a value
`of 0.25/(o,°2+0.25). The “0.25”is put into the equation to
`avoid a mathematically undefinedresult in the event o, 2 is
`0 (.e., the confidence factor avoids “divide by zero” situa-
`tions).
`
`[0102] Returning to FIG. 7, “Identify Focus Traits” step
`706 identifies focus traits based on the values of character-
`istics of song vector (or virtual song vector) S. As stated
`previously, focus traits are specific combinations of charac-
`teristics (or even a single notable characteristic) representing
`significantly discernable attributes of a song. As such, focus
`traits are the kernel of what makes one song actually sound
`different, or like, another song. Focus traits may be created
`and defined in many ways,
`including by having trained
`musicologists determine what actually makes one song
`sound different from another, or el

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket