Patent ID: 7790974

Claim:
A computer-implemented method of modeling musical compositions, said method comprising: defining a plurality of low level musical elements of the musical composition, said low level musical elements corresponding to identified patterns in the musical composition; defining musical element values, each specifying a value of one of the plurality of defined low level musical elements associated therewith; associating metadata with each of the plurality of low level musical elements of each musical composition and with the associated musical element values, said metadata describing the low level musical element and the low level musical element value associated with said metadata; generating a numerical weight for each of the defined musical element values and assigning the generated numerical weight thereto, wherein said generated numerical weight indicates a strength of correspondence between the defined musical element value and the metadata associated with the musical element value; storing each of the defined plurality musical values in a database, said database relating said each defined musical value to the metadata associated therewith via the assigned numerical weight indicative of the strength of correspondence between the defined musical value and said metadata associated therewith; determining a selection of the metadata; querying the database based on the determined selection of metadata and the assigned numerical weights to produce a set of low level musical elements and associated musical element values that have assigned numerical weights indicative of a positive correspondence between said musical element values and the determined selection of metadata; ordering the produced set of low level musical elements and associated musical element values based on the assigned numerical weights that indicate a positive correspondence to the determined selection of metadata; and providing the ordered, produced set of low level musical elements and associated musical element values to a user.