Method and apparatus for composing original musical works
AssigneePostmusic, LLC
InventorsAndy M. Milburn, Jay Hardesty, Joseph P. Lubin
Life of this patent
Estimating the term…
Abstract
A system and method for creating and composing musical works by selecting existing musical elements and applying modification modules to them. Existing musical selections reside in a database as metrics, or targets for the composition of new pieces. The present invention composes a new piece of music by, for example, specifying component musical features in the selected targets that should be modified or retained in creating the new work. Such musical features include, for example, rhythmic characteristics, harmonic characteristics, and the like. In this manner, a user who is, musically untutored is able to create satisfying, original works having desired characteristics as specified by the user.
Claims33
A computer-implemented system for creating an original musical work, comprising:
- a storage device for storing a plurality of source musical selections;
- at least one modification module, coupled to the storage device, for modifying the source musical selections;
- a user input device, coupled to the storage device and to the modification module, for receiving user input selecting at least one of the source musical selections and for receiving user input selecting at least one modification module for application to the selected at least one source musical selection;
- and
- an output device, coupled to the modification module, for outputting the modified at least one selection;
- wherein the at least one modification module comprises at least one selected from the group consisting of:
- an attractor module for modifying a selected characteristic of a source musical selection to increase similarity of the selected characteristic with respect to a target selection;
- and
- a filter for identifying component parts in a selection and electing substitutes for selected component parts;
- and wherein the source musical selection comprises at least one audible node corresponding to an instrument part, and wherein the attractor module comprises a groove attractor for modifying at least one rhythm of at least one audible node of the source musical selection to increase similarity of the audible node with respect to at least one rhythm of the corresponding instrument part of a target musical selection.
A computer-implemented system for creating an original musical work, comprising:
- a storage device for storing a plurality of source musical selections;
- at least one modification module, coupled to the storage device, for modifying the source musical selections;
- a user input device, coupled to the storage device and to the modification module, for receiving user input selecting at least one of the source musical selections and for receiving user input selecting at least one modification module for application to the selected at least one source musical selection;
- and
- an output device, coupled to the modification module, for outputting the modified at least one selection;
- wherein the at least one modification module comprises at least one selected from the group consisting of:
- an attractor module for modifying a selected characteristic of a source musical selection to increase similarity of the selected characteristic with respect to a target selection;
- and
- a groove filter for identifying component parts in a selection and selecting substitutes for selected component parts.
A computer-implemented method for creating an original musical work, comprising:
- a) receiving a selection of at least one source musical selection stored on a storage device, the musical selection comprising at least one audible node corresponding to an instrument part;
- b) receiving a selection of a groove attractor for modifying at least one rhythm of at least one audible node of the musical selection to increase similarity of the audible node with respect to at least one rhythm of the corresponding instrument part of a target musical selection;
- c) retrieving the at least one selected source musical selection;
- d) applying the groove attractor to the at least one selected source musical selection, to generate at least one modified musical selection;
- and
- e) outputting the at least one modified musical selection.
A computer-implemented method for creating an original musical work, comprising:
- a) receiving a selection of at least one source musical selection stored on a storage device, the musical selection comprising at least one audible node corresponding to an instrument part;
- b) receiving a selection of at least one modification module for application to the at least one selected source musical selection, the at least one modification module being selected from the group consisting of:
- an attractor for modifying a selected characteristic of a source musical selection to increase similarity of the characteristic with respect to a target selection;
- and
- a filter for identifying component parts in a musical selection and selecting substitutes for selected component parts;
- c) receiving a selection of a rhythmic attractor, for modifying a rhythmic characteristic of the at least one audible node to increase similarity of the rhythmic characteristic with respect to a target musical selection;
- d) retrieving the at least one selected source musical selection;
- e) applying the at least one modification module to the at least one selected source musical selection;
- f) applying the rhythmic attractor to the at least one audible node of the at least one selected musical selection, to generate at least one modified musical selection;
- and
- g) outputting the at least one modified musical selection.
A computer-implemented method for creating an original musical work, comprising:
- a) receiving a selection of at least one source musical selection stored on a storage device;
- b) receiving a selection of a groove filter for identifying component parts in a musical selection and selecting at least one substitute for at least one selected component part;
- c) retrieving the at least one selected source musical selection;
- d) applying the groove filter to the at least one selected source musical selection, to generate at least one modified musical selection;
- and
- e) outputting the at least one modified musical selection.
A computer-implemented method of modifying a rhythmic characteristic of a source musical selection to increase similarity of the rhythmic characteristic with respect to a target musical selection, each musical selection comprising a plurality of notes having attack times, the method comprising:
- a) creating a source attack vector representing the attack times of at least a subset of the notes of the source musical selection;
- b) determining a source resonance vector from the source attack vector, the source resonance vector having a plurality of positions containing bits having values;
- c) creating a target attack vector representing attack times of at least a subset of the notes of the target musical selection;
- d) determining a target resonance vector from the target attack vector, the target resonance vector having a plurality of positions containing bits having values;
- e) determining an initial distance metric between the source resonance vector and the target resonance vector;
- and
- f) responsive to the initial distance metric being greater than a predetermined distance metric, performing the steps of:
- f.1) for each position in the source attack vector:
- f.1.1) toggling the bit at the position;
- f.1.2) creating a modified source attack vector;
- f.1.3) determining a modified source resonance vector from the new source attack vector;
- f.1.4) determining a modified distance metric between the new source resonance vector and the target resonance vector;
- and
- f.1.5) responsive to the modified distance metric being greater than or equal to the initial distance metric, restoring the toggled bit to its original value;
- and
- f.2) modifying the attack times of the notes of the source musical selection responsive to the modified source attack vector.
A computer-implemented method of modifying a harmonic characteristic of a source musical selection to increase similarity of the harmonic characteristic with respect to a target musical selection, each musical selection comprising a plurality of notes, each note having a pitch value and an attack value, the method comprising:
- a) initializing an accumulating output;
- b) sorting the notes of the source musical selection responsive to pitch and attack values;
- c) for each note in the source musical selection:
- c.1) determining a subset of notes in the target musical selection having an attack value substantially identical to the attack value of the note in the source musical selection;
- c.2) creating a first harmonic vector for the determined subset of notes in the target musical selection;
- c.3) determining a pitch for a note in the source musical selection having a minimum vector distance from the first harmonic vector;
- c.4) transposing the note in the source musical selection to the determined pitch;
- and
- c.5) adding the transposed note to the accumulating output.
A computer-implemented method of modifying a rhythmic characteristic of a track of a source musical selection to increase similarity of the rhythmic characteristic with respect to a corresponding track of a target musical selection, the method comprising:
- a) receiving a source musical selection, a target musical selection, and a rhythmic distance;
- b) exploding the source musical selection into at least one source track, each source track having a role;
- c) exploding the target musical selection into at least one target track, each target track having a role;
- d) for at least one source track:
- d.1) identifying a subset of the at least one target track having a role substantially similar to the role of the source track;
- d.2) responsive to the identified subset not being empty, selecting a target track from the identified subset;
- d.3) invoking a rhythmic attractor on the source track and the selected target track, to increase similarity of a rhythmic characteristic of the source track with respect tc the selected target track;
- and
- d.4) adding the result of d.3) to a cumulative result;
- and
- e) outputting the cumulative result.
A computer-implemented method of combining musical selections to emulate rhythmic character of another musical selection, comprising:
- a) receiving a source musical selection, at least one potential musical selection, and a rhythmic distance metric;
- b) exploding the source musical selection into at least one source track, each source track having a role;
- c) exploding each at least one potential musical selection into at least one potential track, each potential track having a role;
- d) for at least one source track;
- d.1) creating an attack vector for the source track;
- d.2) creating a resonance vector for the source track;
- d.3) identifying a subset of the at least one potential track having a role substantially similar to the role of the source track;
- d.4) for each potential track in the subset:
- d.4.1) initializing a replacement list;
- d.4.2) creating an attack vector for the potential track;
- d.4.3) creating a resonance vector for the potential track;
- d.4.4) determining a vector distance between the source resonance vector and the potential resonance vector;
- and
- d.4.5) responsive to the determined vector distance being less than the received rhythmic distance metric, adding the potential track to the replacement list;
- d.5) selecting a potential track from the replacement list;
- and
- d.6) outputting the selected potential track.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for creating an original musical work, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to receive a selection of at least one source musical selection stored on a storage device the musical selection comprising at least one audible node corresponding to an instrument part;
- b) computer-readable program code devices configured to cause a computer to receive a selection of a groove attractor for modifying at least one rhythm of at least one audible node of the musical selection to increase similarity of the audible node with respect to at least one rhythm of the corresponding instrument part of a target musical selection;
- and
- c) computer-readable program code devices configured to cause a computer to retrieve the at least one selected source musical selection;
- d) comprises computer-readable program code devices configured to cause a computer to apply the groove attractor to the at least one selected source musical selection to generate at least one modified musical selection;
- and
- e) computer-readable program code devices configured to cause a computer to output the at least one modified musical selection.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for creating an original musical work, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to receive a selection of at least one source musical selection stored on a storage device;
- b) computer-readable program code devices configured to cause a computer to receive a selection of at least one modification module for application to the at least one selected source musical selection, the at least one modification module being selected from the group consisting of:
- an attractor for modifying a selected characteristic of a source musical selection to increase similarity of the characteristic with respect to a target musical selection;
- and
- a filter for identifying component parts in a musical selection and selecting substitutes for selected component parts;
- c) computer-readable program code devices configured to cause a computer to receive a selection of a rhythmic attractor, for modifying a rhythmic characteristic of the at least one audible node to increase similarity of the rhythmic characteristic with respect to a target musical selection;
- d) computer-readable program code devices configured to cause a computer to retrieve the at least one selected source musical selection;
- e) computer-readable program code devices configured to cause a computer to apply the at least one modification module to the at least one selected source musical selection;
- d) computer-readable program code devices configured to cause a computer to apply the rhythmic attractor to the at least one audible node of the at least one selected musical selection, to generate at least one modified musical selection;
- and
- e) computer-readable program code devices configured to cause a computer to output the at least one modified musical selection.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for creating an original musical work, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to receive a selection of at least one source musical selection stored on a storage device;
- b) computer-readable program code devices configured to cause a computer to receive a selection of a groove filter for identifying component parts in a musical selection and selecting at least one substitute for at least one selected component part;
- c) computer-readable program code devices configured to cause a computer to retrieve the at least one selected source musical selection;
- d) computer-readable program code devices configured to cause a computer to apply the groove filter to the at least one selected source musical selection, to generate at least one modified musical selection;
- and
- e) computer-readable program code devices configured to cause a computer to output the at least one modified musical selection.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for modifying a rhythmic characteristic of a source musical selection to increase similarity of the rhythmic characteristic with respect to a target musical selection, each musical selection comprising a plurality of notes having attack times, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to create a source attack vector representing the attack times of at least a subset of the notes of the source musical selection;
- b) computer-readable program code devices configured to cause a computer to determine a source resonance vector from the source attack vector, the source resonance vector having a plurality of positions containing bits having values;
- c) computer-readable program code devices configured to cause a computer to create a target attack vector representing attack times of at least a subset of the notes of the target musical selection;
- d) computer-readable program code devices configured to cause a computer to determine a target resonance vector from the target attack vector, the target resonance vector having a plurality of positions containing bits having values;
- e) computer-readable program code devices configured to cause a computer to determine an initial distance metric between the source resonance vector and the target resonance vector;
- and
- f) computer-readable program code devices configured to cause a computer to, responsive to the initial distance metric being greater than a predetermined distance metric:
- f.1) for each position in the source attack vector:
- f.1.1) toggle the bit at the position;
- f.1.2) create a modified source attack vector;
- f.1.3) determine a modified source resonance vector from the new source attack vector;
- f.1.4) determine a modified distance metric between the new source resonance vector and the target resonance vector;
- and
- f.1.5) responsive to the modified distance metric being greater than or equal to the initial distance metric, restore the toggled bit to its original value;
- and
- f.2) modify the attack times of the notes of the source musical selection responsive to the modified source attack vector.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein to increase similarity of the harmonic characteristic with respect to a target musical selection, each musical selection comprising a plurality of notes, each note having a pitch value and an attack value, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to initialize an accumulating output;
- b) computer-readable program code devices configured to cause a computer to sort the notes of the source musical selection responsive to pitch and attack values;
- c) computer-readable program code devices configured to cause a computer to, for each note in the source musical selection:
- c.1) determine a subset of notes in the target musical selection having an attack value substantially identical to the attack value of the note in the source musical selection;
- c.2) create a first harmonic vector for the determined subset of notes in the target musical selection;
- c.3) determine a pitch for a note in the source musical selection having a minimum vector distance from the first harmonic vector;
- c.4) transpose the note in the source musical selection to the determined pitch;
- and
- c.5) add the transposed note to the accumulating output.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for modifying a rhythmic characteristic of a track of a source musical selection to increase similarity of the rhythmic characteristic with respect to a corresponding track of a target musical selection, the computer program product comprising:
- a) computer-readable program code devices configured to cause a computer to receive a source musical selection, a target musical selection, and a rhythmic distance ;
- b) computer-readable program code devices configured to cause a computer to explode the source musical selection into at least one source track, each source track having a role;
- c) computer-readable program code devices configured to cause a computer to explode the target musical selection into at least one target track, each target track having a role;
- d) computer-readable program code devices configured to cause a computer to, for at least one source track:
- d.1) identify a subset of the at least one target track having a role substantially similar to the role of the source track;
- d.2) responsive to the identified subset not being empty, select a target track from the identified subset;
- d.3) invoke a rhythmic attractor on the source track and the selected target track, to increase similarity of a rhythmic characteristic of the source track with respect to the selected target track;
- and
- d.4) add the result of d.3) to a cumulative result;
- and
- e) computer-readable program code devices configured to cause a computer to output the cumulative result.
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for combining musical selections to emulate rhythmic character of another musical selection, the computer program product comprising:
- a ) computer-readable program code devices configured to cause a computer to receive a source musical selection, at least one potential musical selection, and a rhythmic distance metric;
- b) computer-readable program code devices configured to cause a computer to explode the source musical selection into at least one source track, each source track having a role;
- c) computer-readable program code devices configured to cause a computer to explode each a t least on e potential musical selection into at least one potential track, each potential track having a role;
- d) computer-readable program code devices configured to cause a computer to, for at least one source track;
- d.1) create an attack vector for the source track;
- d.2) create a resonance vector for the source track;
- d.3) identify a subs et of the at least one potential track having a role substantially similar to the role of the source track;
- d.4) for each potential track in the subset:
- d.4.1) initialize a replacement list;
- d.4.2) create an attack vector for the potential track;
- d.4.3) create a resonance vector for the potential track;
- d.4.4) determine a vector distance between the source resonance vector and the potential resonance vector;
- and
- d.4.5) responsive to the determined vector distance being less than the received rhythmic distance metric, add the potential track to the replacement list;
- d.5) select a potential track from the replacement list;
- and
- d.6) output the selected potential track.
Dependencies are inferred from the claim text.