Music composition
AssigneeCalifornia Institute of Technology
InventorsRodney M. Goodman, Randall R. Spangler
Life of this patent
Estimating the term…
Abstract
A music composition system, comprising receiving a first harmony including a first melody, analyzing the first harmony to derive in real-time a rule relating the first melody to the first harmony, receiving a second melody, and applying the rule in real-time to the second melody to produce a second harmony relating to the second melody.
Claims41
A method of composing music, comprising:
- receiving a first series of musical notes defining a first melody having a first harmony;
- analyzing the first harmony within the first melody, by forming examples from the first series of musical notes, and deriving, in real-time, at least first and second rules relating to the first melody, the second rule conflicting with the first rule, and each of said first and second rules including a weight associated therewith;
- receiving additional notes of said melody and forming additional examples from said additional notes;
- determining ones of said additional examples that agree with said first rule and increasing a weight of said first rule when an example agrees with said first rule, and determining ones of said additional examples that agree with said second rule and increasing a weight of said second rule when an example agrees with said second rule;
- receiving another melody to which a harmony is to be formed;
- evaluating said another melody using both of said first and second rules;
- and
- when both said first and second rules each apply to said another melody, applying the one of said rules which has the higher weight to said melody, in real-time.
A method of analyzing musical information, comprising:
- converting the musical information from MIDI format to figured bass format;
- generating an example table from the figured bass musical information;
- determining a plurality of rules, each rule determined from two distinct examples within said example table, which are different than one another, one property of each rule relating to statistics of musical information in the examples;
- and
- applying filtering, segmentation, and subsumption pruning to the rule;
- and
- generating dependency data using the rule.
A method of analyzing musical information, comprising:
- converting the musical information from MIDI format to figured bass format;
- generating an example table from the figured bass musical information;
- determining a plurality of rules, each rule determined from two distinct examples within said example table, which are different than one another, one property of each rule relating to statistics of musical information in the examples;
- wherein said determining a rule using the example table comprises
- calculating a hash value for an example;
- forming a preliminary rule linking the hash value to an attribute to be inferenced;
- and
- subjecting the preliminary rule to a quality test.
A method of producing a database of rules for producing musical sounds, comprising:
- using first musical sounds as examples to derive a plurality of rules;
- organizing the rules in a rulebase;
- and
- removing a first rule from the rulebase if:
- the first rule and a second rule predict a same value of a same attribute,
- the first rule has more attributes than the second rule,
- all of the attributes of the first rule are present with substantially the same values in the second rule, and
- the second rule is correct at least as often as the first rule.
A music composition system comprising
- an analyzer receiving a first harmony including a first melody and deriving in real-time a first rule relating the first melody to the first harmony and a weight for the first rule based on statistical information in the first melody and first harmony, wherein the analyzer derives a second rule in real-time relating the first melody to first harmony and a weight for the first rule based on statistical information, the second rule conflicting with the first rule;
- and
- a harmonizer receiving a second melody and applying the first rule in real-time to the second melody to produce a second harmony relating to the second melody,
- said harmonizer comparing the first rule to the second rule and determining which of said rules to use based on said weights.
A method of converting musical information of a musical piece from MIDI format to figured bass format, comprising
- transposing the musical piece to a standard key;
- segmenting the transposed musical piece into chords by beginning a new chord whenever a voice changes pitch;
- attempting to match each chord with a known chord to produce identified chords each having a root and a type;
- determining a position for each voice of each identified chord by comparing each voice's pitch with pitches allowed in the voice's matching known chord;
- and
- attempting to match each identified chord with a known function by comparing each identified chord's root and type with a table of common functions.
A musical information analyzer, comprising
- a converter receiving musical information in MIDI format and producing musical information in figured bass format;
- a table generator deriving an example table from the figured bass musical information;
- and
- a rule generator, determining a plurality of rules, each rule determined from the two distinct examples which are different than one another, one property of each rule relating to statistics of musical information in the examples;
- a filter applying filtering to the rule;
- a rule segmenter applying segmentation to the rule;
- a pruner applying subsumption pruning to the rule;
- and
- a dependence analyzer generating dependence data using the rule.
A musical information analyzer, comprising
- a converter receiving musical information in MIDI format and producing musical information in figured bass format;
- a table generator deriving an example table from the figured bass musical information;
- and
- a rule generator, determining a plurality of rules, each rule determined from the two distinct examples which are different than one another, one property of each rule relating to statistics of musical information in the examples;
- wherein the rule generator comprises
- a hash calculator calculating a hash value for an example;
- a preliminary rule generator forming a preliminary rule linking the hash value to an attribute to be inferenced;
- and
- a tester subjecting the preliminary rule to a quality test.
A system which converts musical information of a musical piece from MIDI format to figured bass format, comprising
- a key transposer transposing the musical piece to a standard key;
- a segmenter segmenting the transposed musical piece into chords by beginning a new chord whenever a voice changes pitch;
- a chord matcher attempting to match each chord with a known chord to produce identified chords each having a root and a type;
- a position determiner determining a position for each voice of each identified chord by comparing each voice's pitch with pitches allowed in the voice's matching known chord;
- and
- a function matcher attempting to match each identified chord with a known function by comparing each identified chord's root and type with a table of common functions.
A method of composing music, comprising:
- obtaining a sample of music whose style is to be analyzed;
- producing a plurality of examples from said sample of music;
- generating a plurality of rules from the plurality of examples, said rules predicting certain examples which follow other examples, and each said rule including weights associated therewith, said weights defining a statistical likelihood that said rule will be followed,
- increasing a weight of a rule when a particular example agrees with the rule;
- and
- decreasing a weight of the rule when a particular example does not agree with the rule.
A method of generating rules from a musical piece, comprising:
- obtaining musical information;
- converting said musical information to examples;
- determining a minimum number parameter, indicating a minimum number of agreements before a rule can be formed;
- comparing said examples to generate a prediction of attributes that will follow one another;
- determining if each said prediction has occurred before within said set of examples by a number of times having a predetermined relationship with said minimum number parameter;
- establishing a rule of the form "If (a) Then (b)" if said prediction has occurred said number of times having said predetermined relationship with said minimum number parameter;
- and
- establishing a weight associated with said rule, said weight indicative of a number of times that (a) correctly predicts (b).
A method as in claim 30 wherein said rule is of the form "if attribute (A1) and attribute (A2) Then attribute (B3)" correct X percent of the time, where x is the percentage of times that attributes (A1) and (A2) predict attribute (B3).
A method of composing music, comprising:
- obtaining a sample of music whose style is to be analyzed;
- producing a plurality of examples from said sample of music;
- generating a plurality of rules from the plurality of examples, said rules predicting certain examples which follow other examples, and each said rule including weights associated therewith, said weights defining a statistical likelihood that said rule will be followed;
- storing all of said rules into a rulebase;
- analyzing a melody which using said rules in said rulebase to form a harmony accompanying said melody to provide an accompaniment to said melody according to said rulebase;
- listening to said accompaniment;
- and
- either taking no action based on said accompaniment in which case a weight which produced the harmony is unchanged, taking an action to indicate dislike of the result in which case said weight which produced the harmony is decreased, or taking an action to indicate like of the result in which case said weight is increased.
A method of composing music, comprising:
- obtaining a sample of music whose style is to be analyzed;
- producing a plurality of examples from said sample of music;
- generating a plurality of rules from the plurality of examples, said rules predicting certain examples which follow other examples, and each said rule including weights associated therewith, said weights defining a statistical likelihood that said rule will be followed;
- storing all of said rules into a rulebase;
- using said rulebase to analyze another melody, by evaluating taking all of the plurality of rules in the rulebase in parallel and then resolves any conflicts between rules based on the rule weights.
Dependencies are inferred from the claim text.