throbber
a2) United States Patent
`US 7,081,579 B2
`(0) Patent No.:
`Jul. 25, 2006
`(45) Date of Patent:
`Alcalde et al.
`
`US007081579B2
`
`METHOD AND SYSTEM FOR MUSIC
`RECOMMENDATION
`
`(56)
`
`References Cited
`
`(54)
`
`(75)
`
`Inventors: Vicen¢ Gaitan Alcalde, Castella del
`Valles (ES); Carlos Maria Lépez
`Ullod, Saragossa (ES); Antonio Trias
`Bonet, Sant Cugat del Valles (ES);
`Antonio Trias Llopis, San Cugat del
`Valles (ES); Jestis Sanz Marcos,
`Barcelona (ES); Daniel Caldentey
`Ysern, Barcelona (ES); Dominic
`Arkwright, Barcelona (ES)
`
`U.S. PATENT DOCUMENTS
`
`4/1997 Cluts ..........
`... 84/609
`5,616,876 A
`
`8/1998 Timis et al.
`....
`... 84/609
`5,792,971 A
`6/1999 Blum et al. wo... 707/1
`5,918,223 A *
`
`9/2001 Suzuki et al. ..........
`... 84/626
`6,284,964 Bl
`
`.......... 84/667
`1/2002 Gjerdingen et al.
`2002/0002899 Al
`2002/0147628 Al* 10/2002 Specter et al... 705/10
`.. 700/94
`2003/0045953 Al*
`3/2003 Weare
`
`2/2004 Kruse 0... eee eee 713/176
`2004/0039913 Al*
`
`* cited by examiner
`
`Primary Examiner—MarlonT. Fletcher
`Assistant Examiner—Jianchun Qin
`(74) Attorney, Agent, or Firm—Whiteford, Taylor &
`Preston; Jeffrey C. Maynard; Gregory M. Stone
`
`(57)
`
`ABSTRACT
`
`An artificial intelligence song/music recommendation sys-
`tem and method is provided that allows music shoppers to
`discover new music. The system and method accomplish
`these tasks by analyzing a database of music in order to
`identify key similarities between different pieces of music,
`and then recommends pieces of music to a user depending
`upon their music preferences. An embodiment enables a user
`to evaluate a new song’s similarity to songs already estab-
`lished as commercially valuable.
`
`20 Claims, 5 Drawing Sheets
`
`analysis machine
`
`analyst wrapper
`
`output data
`
`EX1034
`Roku V. Media Chain
`U.S. Patent No. 10,489,560
`
`(73)
`
`Assignee: Polyphonic Human Media Interface,
`S.L., Barcelona (ES)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 98 days.
`
`(21)
`
`Appl. No.: 10/678,505
`
`(22)
`
`Filed:
`
`Oct. 3, 2003
`
`(65)
`
`(60)
`
`(51)
`
`(52)
`(58)
`
`Prior Publication Data
`
`Jun. 10, 2004
`US 2004/0107821 Al
`Related U.S. Application Data
`
`Provisional application No. 60/415,868, filed on Oct.
`3, 2002.
`Int. Cl.
`
`(2006.01)
`GI10H 7/00
`US. C1. ec ecccceccecseeeeeseeteeeeeeeenees 84/608; 700/94
`Field of Classification Search.......... 84/604—609,
`84/623, 626, 660, 661, 693, 697-699; 708/403;
`707/1; 700/94; 705/10; 713/176; 434/307 A
`See application file for complete search history.
`
`Analysis stage
`
`songfile archive
`
`Polyphonic
`
`EX1034
`Roku V. Media Chain
`U.S. Patent No. 10,489,560
`
`

`

`Analysis stage
`
`output data
`
`songfile archive
`
`Polyphonic
`
`analysis machine
`
`analyst wrapper
`
`Figure 1
`
`yuajed“SN
`
`9007‘sz“THE
`gJO[Jooys
`
`7d6LS‘°180°LSN
`
`

`

`U.S. Patent
`
`Jul. 25, 2006
`
`Sheet 2 of 5
`
`US 7,081,579 B2
`
`xrsyyoZOZOQeHtTaeK
`
`
`
`2HSOTASpYe4lTo
`
`IMJZOToTOQeHTACH
`
`
`
`ShsoTASpQU9TTO
`
`
`
`ULVOTASp4WeTTo
`
`TeyZOToToZeHTACH
`
`~ainsiy
`
`e[buts
`
`SPITASPWOTTI
`
`xaq40JoFoReHTAEH
`
`
`
`TH9oTAapQUueTTS
`
`
`
`APAAGYIPAGASUT
`
`
`
`easeqeqepoTsnw
`
`settsfuos9
`
`
`
`uotjyeinbtjuodrzeares
`
`

`

`U.S. Patent
`
`Jul. 25, 2006
`
`Sheet 3 of 5
`
`US 7,081,579 B2
`
`ZeyZoxozoQehtacn
`
`
`
`eHsoTASpyueTTS
`
`xsy_O50XoZeHTAcH
`
`
`
`uesOoTASpyeTTO
`
`z3eazesSTItyTOW
`A9YZOFOZ0zeHTACHAepAIesJTuUCYdATOd
`
`
`SH9OTASPQueTTOcreQeurequT‘HUTd/adob
`
`
`
`
`uoTyeANHtjuce
`
`
`
`SPIOTASPAUSTTO
`
`xeYZOToTOQVeHTACH
`
`
`
`TH90TAapqueTTO
`
`
`
`ABAADSPAOASUT
`
`
`
`SeTTZMros9aseqeqepoTsaw
`
`¢dns
`
`

`

`U.S. Patent
`
`Jul. 25
`
`, 2006
`
`Sheet 4 of 5
`
`US 7,
`
`081,579 B2
`
`pdns]
`
`oO
`
`050
`
`oO
`
`O
`
`LL#49}SN)9HYO
`Oo”%
`
`O
`
`>0
`
`oO
`
`O
`
`O
`
`J#sa\Sny9WY
`
`O09
`
`B38°S8ORRBGo
`
`

`

`Jul. 25
`
`, 2006
`
`Sheet 5 of 5
`
`US 7,
`
`081,579 B2
`
`Cl#wyOOa
`
`OO
`
`LL#40}SNI9WY
`
`e3%O
`
`U.S. Patent Samsiy
`
`Lit2SOPRB0O99
`
`O
`
`OR
`Bae°
`
`

`

`US 7,081,579 B2
`
`1
`METHOD AND SYSTEM FOR MUSIC
`RECOMMENDATION
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`This application is based upon and claims benefit of
`copending and co-owned U.S. Provisional Patent Applica-
`tion Ser. No. 60/415,868 entitled “Method and System for
`Music Recommendation”, filed with the U.S. Patent and
`Trademark Office on Oct. 3, 2002 bythe inventors herein,
`the specification of which is incorporated herein by refer-
`ence.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The invention disclosed herein relates generally to meth-
`ods and systems for analyzing and using digital music
`compositions, and moreparticularly to a method and system
`for determining the characteristics of a musical composition
`by analyzing its digital composition, and recommending
`particular musical compositions to users based upon the
`relative comparability of a user’s desired musical charac-
`teristics and the musical characteristics of a collection of
`
`digital music.
`2. Background of the Invention
`Historically, what is pleasing to the human ear has not
`changed since man began making sounds. Patterns in music
`that are pleasing to the human ear have not changed much,
`if at all, since the timesof the classical composers. What has
`changedare styles, performances, the instruments used, and
`the way music is produced and recorded, but a compelling
`melodyis still compelling and a series of random notesstill
`sounds random. For example,
`the dictionary describes
`melody asa series of notes strung together in a meaningful
`sequence. Unfortunately, some sequences sound meaningful
`and make up a beautiful song and other sequencesjust sound
`like noise.
`
`While the numberof possible melody patterns combined
`with all of the other variables in recorded music allow for a
`seemingly infinite number of combinations, the patterns that
`we find pleasing have not changed. That
`is not to say
`everything has been invented, however. So far, every new
`style of music that has comeinto being: country, rock, punk,
`grunge etc. have all had similar mathematical patterns. The
`hits in those genres have all come from the same ‘hit’
`clusters that exist today and anything that has fallen outside
`of such ‘hit’ clusters has rarely been successfully on the
`charts for its musical qualities.
`
`SUMMARY OF THE INVENTION
`
`It is an object of the present invention to provide a method
`and system for measuring the characteristics of a musical
`composition, and establishing a collection of digital musical
`compositions that may be sorted based upon such charac-
`teristics.
`
`It is another object of the present invention to provide a
`method and system for determining a preferred musical
`characteristic profile for a music listener.
`It is another object of the present invention to enable a
`method and system to compare new digital music files with
`historical commercially successful songs.
`In accordance with the above objects, an artificial intel-
`ligence song/music recommendation system and method is
`providedthat allows music shoppers to discover new music.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`The system and method accomplish these tasks by analyzing
`a database of music in order to identify key similarities
`between different pieces of music, and then recommends
`pieces of music to a user depending upon their music
`preferences.
`In an alternate embodiment, a system and methodis
`provided to compare specific new songs to a database of
`music to establish a score according to the new song’s
`similarities with current ‘hit’ songs. A user can provide a
`digital music file of an original song that can be analyzed
`and comparedto a ‘hit’ song database. The system provides
`a numerical score depending upon mathematical similarities
`to songs in the current ‘hit’ song database.
`To provide users with music recommendations, the sys-
`tem employs a numberof analysis functions. First, a “Music
`Taste Test” function learns a user’s music preferences via a
`series of binary choice questions, and delivers lists and/or
`personalized song recommendations to the user based on
`this
`information. Recommendations are prioritized and
`listed in order of closest song match on a theoretical multi-
`dimensional grid. Next, a “More Like This” contextual
`matching function delivers song recommendations to the
`user based on a specific song as the defined starting point,
`and delivers songs that are most similar. Lastly, a “My
`Personal Preferences” taste matching function allows the
`user to select and rate songs from the overall database of
`songs in the system, and personalized recommendationsare
`received based on the personalized ratings.
`To provide users with an analysis of an original song, the
`system analyzes a music data file with extra parameters
`relating to commercial success of the music in the database.
`Using this extra dimension, new songs can be compared
`with the database to see how well such new songfits into the
`current market and to identify potential hits.
`
`DESCRIPTION OF THE DRAWINGS
`
`Other objects, features, and advantages of the present
`invention will become more apparent from the following
`detailed description of the preferred embodiments andcer-
`tain modifications thereof when taken together with the
`accompanying drawings, in which:
`FIG. 1 is a schematic view of a system architecture for the
`system of the instant invention.
`FIG. 2 is an exemplary single server configuration using
`the system of the instant invention.
`FIG. 3 is an exemplary multiple server configuration
`using the system of the instant invention.
`FIG.4 is a view of a portion of the universe of analyzed
`songs illustrating somehit clusters.
`FIG. 5 is a view of a portion of the universe of analyzed
`songs shown in FIG. 4, with a collection of new songs
`superimposed thereon.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`The invention summarized above and defined by the
`enumerated claims may be better understood by referring to
`the following description, which should be read in conjunc-
`tion with the accompanying drawings. This description of an
`embodiment, set out below to enable one to build and use an
`implementation of the invention, is not intended to limit the
`enumerated claims, but
`to serve as particular examples
`thereof. Those skilled in the art should appreciate that they
`may readily use the conception and specific embodiments
`disclosed as a basis for modifying or designing other meth-
`
`

`

`US 7,081,579 B2
`
`3
`ods and systems for carrying out the same purposesof the
`present invention. Those skilled in the art shouldalso realize
`that such equivalent assemblies do not depart from thespirit
`and scope of the invention in its broadest form.
`The method and system of the instant invention enable the
`analysis and processing of digital music in orderto establish
`a description of a numberof characteristics of the music, and
`likewise enable recommendinga collection of music having
`particular characteristics to a user who has established a
`desired musical characteristic profile.
`In an alternate
`embodiment, the method and system of the instant invention
`enable identification of new songs that have similar charac-
`teristics with songs already established as commercial suc-
`cesses.
`
`The first step performed by the system is to analyze an
`existing digital music file in order to create a descriptive
`profile for the musical characteristics of the song. Preferably,
`a database containing a library of digital music is provided.
`Such music database may bea part of the system employing
`the other functions described herein, or may be a remote
`resource that is maintained by a third party digital music
`company through remote, secure access. Access to such a
`third party digital music library may be provided, assigned,
`and protected under terms established by the particular third
`party database provider using known technology.
`Whether provided as an element of the analysis and
`recommendation system or as a third party remote resource,
`the database preferably includesdigital musicfiles formatted
`as uncompressed linear PCM (“Pulse Code Modulation’)
`audio data. If stored in the database in a compressed format,
`the digital music files are decompressed using a standard
`tool for the compression scheme in use. The database may
`be modified, such as by adding additional digital music files
`to the database on a regular, periodic basis, such as weekly
`or monthly,to fit the particular business needs and objectives
`of the database provider. New analysis (as described herein)
`may also be done on a periodic basis similar to database
`updates, such that new music provided to the database may
`be included in the music recommendation functions
`described herein. Any newly generated analysis data from
`newly added digital music files is simply added at the end of
`the analysis data file, which is described in greater detail
`below.
`
`FIG. 1 depicts a schematic view of a system architecture
`for enabling the transfer and processing of digital music files
`to an automated digital music file analysis tool in order to
`generate an output file that, as described in greater detail
`below, serves as a descriptor of the musical characteristics of
`the particular musical composition that was analyzed. As
`shown in FIG.1, an “analyst wrapper” script receives digital
`music files from the music database or a songfile archive,
`preferably copies the particular digital music file to a loca-
`tion on a computer network on which the analysis system is
`stored, decompresses the digital music file when necessary,
`and passes the linear PCM file to the analysis engine for
`processing. (In FIG. 1, the analysis engine is labeled “HMI
`analyst” for Human Media Interface.) The output of such
`analysis engineis directed to an outputtext file that, in turn,
`may be used by the recommendation utilities described
`below.
`
`During the initial analysis performed by the system, all
`songs that are to be analyzed are processed in the same way,
`in series. The particular list of songs to be processed may
`vary depending upon the application. For instance, for a
`particular retailer, only their music catalogue is analyzed.
`For a generalized music recommendation system, all songs
`available in the digital music database are analyzed. The
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`purposeofthe initial analysis performed by the system is to
`analyze a variety of physical parameters of the music stored
`in the target digital music database. Such physical param-
`eters describe quantifiable characteristics of music that may
`be mathematically modeled to create a descriptive, elec-
`tronic “footprint” for each song. Moreover, the analyzed
`parameters are based on humanperception, and the system
`is referred to as a Human Media Interface (HMI) system.
`The characteristics have been identified to be the ones that
`
`produced the strongest reaction in testers. Often the listener
`detects the characteristics unconsciously. In general, the mix
`of parameters is more important than any individual param-
`eter. To implement the methods described herein, the system
`particularly analyzes one or more of the following charac-
`teristics for each musical composition: brightness, band-
`width, volume, tempo, rhythm,low frequency, noise, octave,
`and how these characteristics change over time, as well as
`length of the audio data. Not all of the characteristics
`necessarily provide distinctions in the music. Combinations
`of someor all of these characteristics may be employed
`without departing from the spirit and scope of the instant
`invention.
`
`the
`In order to measure each of these characteristics,
`digital music file is divided into “chunks” which are sepa-
`rately processed in order to measure the characteristics for
`each such “chunk.” “Chunk”size is fixed and selected for
`
`optimizing performance over a test sample of songs so as to
`provide an appropriately representative sample for each
`parameter of interest. Once the data from the digital music
`file is divided into such “chunks,” the value for each
`parameter in each chunk is measured. Parameters are mea-
`sured overall “chunks” and averaged. The values that are
`derived through such measurements are, as described in
`greater detail below, used, in turn, to establish mean values
`and standard deviations among the parameter data so as to
`develop a profile for the entire songfile.
`In order to measure the parameters noted above, the data
`from the digital music file is decomposed using Fast Fourier
`Transform (FFT)
`techniques. The Fourier transform,
`in
`essence, decomposes or separates a waveform or function
`into FFT coefficients of different frequency that sum to the
`original waveform. The Fourier transform identifies or dis-
`tinguishes the different frequency FFT coefficients and their
`respective amplitudes. Specific details concerning the appli-
`cation of FFT techniques can be found in P. Duhamel and M.
`Vetterli, Fast Fourier Transforms: A Tutorial Review And A
`State Of The Art, Chapter 19: Signal Processing, pp.
`259-299 (Elsevier Science Publishers B.V. 1990), which is
`incorporated herein by reference thereto.
`Using such FFT techniques, each digital music file is
`decomposed into a defined set of FFT coefficients, which are
`grouped and separated in order to determine the different
`parameters to be calculated for each song. To accomplish
`this task, raw data, in the form of the digital music file in
`PCMformat, is directed to a script that decompressesthefile
`(where necessary), divides the data into “chunks,” and
`applies FFT techniques to the data in each “chunk”to, in
`turn, establish the FFT coefficients for each “chunk.” Once
`those coefficients are established for each “chunk,” particu-
`lar coefficients are chosen in order to calculate a numerical
`
`value for each of the parameters of interest in each “chunk.”
`Moreparticularly, the specific parameters for each chunk are
`calculated, using the FFT coefficients, based on the follow-
`ing principles:
`
`

`

`US 7,081,579 B2
`
`5
`Brightness is quantified as a spectral histogram built from
`the FFT.
`
`Bandwidth is quantified as the variance of the spectral
`histogram built from the FFT.
`Tempo is quantified as a measure obtained using a “Beat
`Tracker” algorithm (based upon autocorrelation val-
`ues). The Beat tracker algorithm calculates how many
`beats per second are in a “chunk.”
`Volume is quantified as the average change in the bit
`sample amplitudes at lag 1. Lag 1 refers to consecutive
`beats.
`Low Frequency is quantified as spectral power weighted
`with ten inverse frequency.
`Noise is quantified as the sum of all the FFT coefficients
`normalized to the maximum FFT coefficient.
`Octave is quantified as the temporal mean of Cepstrum
`(inverse of the logarithmic FFT). The Octave is calcu-
`lated for each chunk and averaged.
`File Size is quantified as the numberof bytes ofthefile.
`
`In other words, FFT coefficients provide data needed to
`calculate all the parameters listed, exceptfor file size. Thus,
`the result of the analysis of the data from the digital music
`file is several parameter values based on the number of
`particular “chunks.” In order to derive a final parameter
`value for the song as a whole, the mean is taken from all
`“chunks” within the same parameter.
`Compiling each value for all the parameters measured
`results in an output that is referred to herein as a “parameter
`vector,” which parameter vector is formatted as a text file
`(with values
`separated by semicolons). An exemplary
`parameter vector may appear as follows:
`78221904926; 1; 01; 41.018945; 26.088065; 38.450639;
`23.616234;
`5337.3284;
`266.848675;
`118.7692;
`76.484095; 116.6154; 73.836892; 0.00007
`Note: The actual ordering of values in the set is immate-
`rial so long as it is known and consistent.
`
`The bold section of the sample parameter vector noted above
`is an example of song identification information, including
`the UPC, disk number, and track number. The other data is
`sample parameter value information (e.g., tempo, volume,
`etc.). Based upon the particular database, other generally
`available information may optionally be provided and may
`be useful in the music recommendation functions described
`in greater detail below. Such other information may include,
`by way of example: (i) retailer/store-specific media identi-
`fication; (41) set count (number of disks in set); (111) album
`title; (iv) artist name; (v) music genre; (vi) record label: (vii)
`track title; (viii) track artist; (ix) track duration; and (x)
`copyright date.
`The system will recognize almost all values for any
`parameter as valid, except negative values. If negative
`values are found,
`it means that the digital music file is
`invalid, and the data needs to be manually discarded. Fur-
`ther, if values are consistently too high, there is the possi-
`bility of damaged data or data stemming from an invalidfile.
`Negative and “too high” parameters correspondto out layers
`in the standardized distribution of frequencies of each
`parameter. The cut-offs are defined over a numberofstan-
`dard deviations calculated in a test sample of songs. The
`analysis tool analyzes files assuming that they are standard
`digital music files and assumes all data is valid (unless
`negative values are found). Such digital music files are
`typically identified with the filename extension.wav(.) The
`analysis tool reads audio waves of a song and performs
`algorithmic analyses of certain subjective criteria,
`as
`described above.
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`Once the parameter vector for the entire song has been
`established as set forth above, standard mathematical analy-
`sis is used to extract samples of the most representative
`passages of the music. More particularly, the analysis tool
`divides the entire song into small sections (on the order of
`several seconds, depending upon the precision required),
`and calculates all of the parameter values for each of those
`sections using the same FFT analysis methods set forth
`above. The resulting parameter vectors thus represent the
`instantaneous value for all of the parametersat the particular
`song position specified by each section. When such section
`processing is completed, a parameter vector exists for each
`section.
`Following section processing, the system then proceedsto
`find the most representative passage (whose length varies
`depending upon the application) of the song. First, each
`parameter vector for each section is compared to the param-
`eter vector derived from the analysis of the entire song. The
`closest section’s parameter vector is chosen as the most
`representative part of the song. “Closest” is defined in terms
`of unweighted quadratic differences between each section
`and the whole song. The parameters are already “‘equalized”
`by the standardization procedure. Once the most represen-
`tative part of the song is determined, the system produces a
`song clip that includes that most representative part. In order
`to create a clip of a particular desired length (X), the system
`subtracts X/2 seconds from the position of the most repre-
`sentative section’s position in orderto obtain a clip of length
`X having the most representative part in the middle of the
`clip.
`The output from the analysis process described above for
`the complete song is stored in a plain text format,
`tab-
`delimited. The next step following analysis and profiling of
`the library of songs is to provide a recommendation engine
`to enable the system to recommendsongsto particular users
`based upon the musical characteristics of the songs as
`depicted by their parameter vectors. It should be noted that
`such recommendation functionality may be provided as an
`“in store” application running on the same server as the
`analysis component; on a server at the same location as the
`database of song parameter vectors, as illustrated in FIG. 2;
`on a remote server in communication with an application
`server at a retail location across a TCP/IP connection, as
`illustrated in FIG. 3; or the like. In each instance,
`the
`recommendation engine loads the parameter vectorfile, and
`is configured to particularly deal with the text format of the
`parameter vector file. The text data of the parameter vector
`file may be loaded during the recommendation engine
`startup by specifying so on the commandline, or a command
`may besent after startup to locate and load the data.
`Following the loading of the text data of the parameter
`vector to the recommendation engine, various mathematical
`and statistical procedures (discussed in detail below) are run
`on the loaded data to ensure that all of the data is meaning-
`ful, and to extract the essential characteristics from each
`song and its preferences profile. Such preferences profile is
`the parameter vector described above, after normalization
`has been performed based on the whole song analysis
`database (and is generated and formatted in the same man-
`ner).
`Somestatistical methods are used to improve the quality
`of the analysis information and subsequent Artificial Intel-
`ligence techniques. Data is normalized and centered by the
`system using Zero Mean Data and Standard Deviation Equal
`to Variance Equal to 1 for each parameter separately. More
`particularly, in applying Zero Mean Data, the mean value for
`each of the parameters is calculated across the entire song
`
`

`

`US 7,081,579 B2
`
`7
`database, and the individual parameters of individual songs
`are then centered using those means. In other words, the
`parameter values for each song are changed by subtracting
`the calculated mean for each parameter by the original
`parameter value of the song. Thus, if the mean wasrecal-
`culated with these new values, the mean value would be
`zero. Further, standard deviation and varianceare correlated,
`as variance equals the square of the standard deviation. In
`applying Standard Deviation Equal to Variance Equalto 1,
`the data is normalized using standard deviation equal to 1.
`To do this, the system calculates the standard deviation and
`the variance for the set, and then, changing all of the values
`for the set (dividing the Zero Mean Data already calculated
`by the variance ofthe set) in order to get standard deviation
`equal to 1 if it was recalculated using these new values.
`With centered and normalized data, correlations between
`all analysis parameters are identified and eliminated to
`reduce redundant information given by different parameters
`and getting the most unique information from each param-
`eter. To do this, the system creates a new set of parameters
`with no correlations, but with all the information included in
`the parameters analyzed by the analysis tool. These new
`parameters have no conceptual meaning (ie.,
`they are
`referred to as parameterl, parameter2, etc., instead of “vol-
`ume,” “tempo,”etc.).
`Data correlations are determined using a standard corre-
`lation matrix. The standard correlation matrix formula is as
`follows:
`
`1 M
`Vi = ad, BOOZ)
`cl
`
`V,, 18 the value of the intersection of column i and row j
`M is the number of songs in the database
`c is each particular song
`Z, and Z, are parameter number i and j respectively for
`each song ¢
`In essence, the correlation matrix multiplies, for each pair
`of parameters, all values for all registers of data, adding
`them, and then dividing by the total numberofregisters.
`The correlation matrix is then used to calculate Eigen-
`vectors and Eigenvalues. As the correlation matrix is sym-
`metric,
`standard Jacobi
`transformations
`(of symmetric
`matrices) are used to compute all Eigenvectors and Eigen-
`values. Eigenvectors and Eigenvaluesare standardstatistical
`formulae used to determine and eliminate correlations
`
`between parameters, thereby reducing repeated information
`and increasing data utility.
`Eigenvectors are important in determining the new uncor-
`related parameters from the original parameters, as illus-
`trated in the following formula:
`
`[Pi
`
`Po
`
`++ Py]=[OQ, O2
`
`+++ On]x
`
`Ey Ey2
`Ex, En.
`
`+ Ein
`+++ Eon
`
`Ey; Enz
`
`++ Ewn
`
`P, (where i goes from 1 to N) are the new parameter values
`for each song
`N is the number of parameters, and also, the number of
`eigenvectors
`
`to N) are the values for
`
`8
`O, (where i goes from 1 to N) are the original parameter
`values for each song
`E,, (where i and j go from 1
`parameter j of Eigenvector i
`Eigenvalues give the amountof uncorrelated information
`contained in each parameter. Thus, these values are used to
`weight
`the importance of parameters (or even discard
`parameters that contain no or almost no information).
`Depending on precision and speed desired, weighting and
`discarding rules are set for each customer. Weights for
`various parameters are session-dependent and user-depen-
`dent. For example,
`in a three parameters example,
`the
`parameters P,, P, and P; contain 75%, 23%, and 2% ofthe
`total amountof information, respectively. Depending on the
`specific customer needs (speed, accuracy, simplicity, etc.)
`the following weighting rules can be applied:
`Keep all parameters equally weighted (33.33%, 33.33%,
`and 33.33%)
`Weight all parameters based on the percentages above
`(75%, 23%, and 2%)
`Discard the last parameter and weight the remaining two
`as P, 77% and P, 23%
`Discard the last parameter and equally weight the remain-
`ing two (50%, 50%)
`Ete.
`
`The parameters are now uncorrelated, normalized, and
`orthogonal and weights have been set for each one, so the
`system can get maximum value from them. These new
`parameters replace, in the system, the old ones that came
`from the music analysis tool.
`Standard clustering algorithms are then employed by the
`system to locate and determine clusters within the entire
`database for further usage (specific to music recommenda-
`tion functions “More Like This” and “My Personal Prefer-
`ences,” described in greater detail below).
`After a large selection of music has been analyzed and the
`data has been uncorrelated, normalized, orthogonal, and
`weights are set, the system may provide a variety of music
`recommendation functions through interaction with a user.
`There are two keys ways to recommend music to an indi-
`vidual user. One methodis to capture a user’s own personal
`taste profile by enabling them to take a “musictaste test”. In
`this process, the user is presented with a number of binary
`choices between two short audio clips and chooses the clip
`they prefer. After a series of comparisons, it is possible to
`generate a profile for that user; the profile is analogous to a
`song’s own profile, as measured in the analysis phase. In this
`way, songs from the database that share commonalities to
`the userprofile can be identified and presented to the user to
`preview. The second way simply links a song or a group of
`songs to a selection of music that has a similar profile. This
`technique takes the individual profile of the song or songs
`and matches it to the whole catalogue of music in the
`database.
`In order to initiate the music recommendation features, a
`user interacts with a computer, website, interactive kiosk,
`in-store listening station (like those commercially available
`from ACD, Fullplay, Black Box AV, First Universal, and
`RedDotNet), or other computer-like device in which the
`recommendation functions are loaded. In FIGS. 2 and 3, user
`interaction takes place at one ofthe client devices, as shown.
`The recommendation software can be loaded directly to the
`computer/device/server, as shown in the single server con-
`figuration of FIG. 2. In other embodiments, the recommen-
`dation software can be served remotely through a LAN,
`WAN,or via an ASP environment, as shown in the multiple
`server configuration of FIG.3.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`US 7,081,579 B2
`
`9
`Irrespective of the locality of the software, the music
`recommendation functions are preferably executed as a
`series of requests and responses handled by a daemon (or
`service) on a server. The daemonlistens for requests to its
`network address on a specific port, and communicates with
`client devices using its own protocol, referred to herein as
`Simple HMI-Music Protocol (SHMP). SHMPis a protocol
`designed to satisfy the functionality given by the system
`over any TCP/IP network, and is used to send and receive a
`A user’s profile is stored in the system while the user is
`variety of requests, including, but not exclusive to, “Music
`still connected to the system. When the session is termi-
`Taste Test Request” and “More Like This Song,” as
`nated, the user profile is eliminated. However, this profile
`described in greater detail below.
`can also be saved within the system or external database and
`A “Music Taste Test” (“MTT”) is used to determine a
`accessed at a later date, depending upon the specific retail
`user’s music preferences, and thereby make personalized
`customerand implementation environment. Thus, a user can
`song recommendations. The MTT function is implemented
`go back, continue the MTT process, and obtain refined
`through a pattern-recognizing artificial intelligence system
`recommendations. This functionality is achieved using an
`using an MTT daemon (labeled ‘mttd’ in FIGS. 2 and 3). The
`identification technologysuch as loyalty cards or cookies, as
`MTT function creates simple questions and instructions that
`desc

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