Claims
- 1. A computer-implemented method for generating a musical part from an electronic music file comprised of pitched instrumental parts, the method comprising:
generating a control stream that indicates which of the instrumental parts has a highest value for a period of time; selecting one of the instrumental parts for the period of time based on the control stream; and outputting the selected instrumental part for the period of time to produce the musical part.
- 2. The method of claim 1, wherein the control stream is generated by examining other periods of time defined by the electronic music file.
- 3. The method of claim 1, wherein the control stream is generated by comparing a contribution of one instrumental part for the period of time to a contribution of another instrumental part for the period of time.
- 4. The method of claim 3, wherein the control stream is generated based on a cost of switching between the one instrumental part and the other instrumental part.
- 5. The method of claim 1, wherein generating the control stream comprises:
obtaining measurement streams which include values for corresponding instrumental parts; and identifying an instrumental part in the measurement streams that has the highest value for the period of time.
- 6. The method of claim 5, wherein obtaining the measurement streams includes analyzing aspects of the musical part.
- 7. The method of claim 6, wherein the aspects include one or more of strum speed, average pitch, polyphony, loudness, and a vocal part.
- 8. The method of claim 5, wherein:
generating the control stream further comprises merging the measurement streams to obtain a composite measurement stream; and the instrumental part in the measurement streams that has the highest value for the period of time is identified using the composite measurement stream.
- 9. The method of claim 1, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 10. The method of claim 1, further comprising:
repeating generating, selecting, and outputting for a second period of time that follows a first period of time; wherein the musical part comprises the selected instrumental part for the first period of time and the selected instrumental part for the second period of time.
- 11. The method of claim 1, wherein each instrumental part comprises a stream of events, each event in the stream of events having a time stamp; and
the method further comprises changing time stamps of events that are within a predetermined time period of each other so that the time stamps are the same.
- 12. The method of claim 1, wherein generating is performed using a chooser object and selecting and outputting are performed using a switcher object.
- 13. A computer-implemented method for generating a musical part from an electronic music file, comprising:
identifying patterns in the electronic music file; and selectively combining the patterns to produce the musical part.
- 14. The method of claim 13, wherein the patterns comprise individual instrumental tracks in the electronic music file.
- 15. The method of claim 13, wherein selectively combining comprises:
selecting one of the patterns; determining if a rhythmic complexity of the selected pattern exceeds a predetermined threshold; and adding the selected pattern to the musical part if the rhythmic complexity of the selected pattern does not exceed the predetermined threshold.
- 16. The method of claim 15, further comprising discarding the selected pattern if the rhythmic complexity of the selected pattern exceeds the predetermined threshold.
- 17. The method of claim 15, wherein the rhythmic complexity of the selected pattern is determined based on musical features of the selected pattern.
- 18. The method of claim 17, wherein the musical features comprise one or more of a beat of the selected pattern, syncopated notes in the selected pattern, and proximity of notes in the selected pattern to other notes in the selected pattern.
- 19. The method of claim 13, wherein selectively combining comprises:
selecting one of the patterns; determining if the selected pattern is similar to a pattern already in the musical part; and adding the selected pattern to the musical part if the selected pattern is not similar to a pattern already in the musical part.
- 20. The method of claim 19, further comprising discarding the selected pattern if the selected pattern is similar to a pattern already in the musical part.
- 21. The method of claim 19, wherein determining is performed using a fuzzy comparison.
- 22. The method of claim 19, wherein determining is performed using quantization.
- 23. The method of claim 13, wherein patterns having relatively low frequencies are combined to produce the musical part before patterns having relatively high frequencies are combined.
- 24. The method of claim 13, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 25. The method of claim 13, wherein the electronic music file is comprised of events; and
the method further comprises removing all but pre-specified events from the electronic music file prior to performing identifying and selectively combining.
- 26. A computer program stored on a computer-readable medium for generating a musical part from an electronic music file comprised of pitched instrumental parts, the computer program comprising instructions that cause a machine to:
generate a control stream that indicates which of the instrumental parts has a highest value for a period of time; select one of the instrumental parts for the period of time based on the control stream; and output the selected instrumental part for the period of time to produce the musical part.
- 27. The computer program of claim 26, wherein the control stream is generated by examining other periods of time defined by the electronic music file.
- 28. The computer program of claim 26, wherein the control stream is generated by comparing a contribution of one instrumental part for the period of time to a contribution of another instrumental part for the period of time.
- 29. The computer program of claim 28, wherein the control stream is generated based on a cost of switching between the one instrumental part and the other instrumental part.
- 30. The computer program of claim 26, wherein generating the control stream comprises:
obtaining measurement streams which include values for corresponding instrumental parts; and identifying an instrumental part in the measurement streams that has the highest value for the period of time.
- 31. The computer program of claim 30, wherein obtaining the measurement streams includes analyzing aspects of the musical part.
- 32. The computer program of claim 31, wherein the aspects include one or more of strum speed, average pitch, polyphony, loudness, and a vocal part.
- 33. The computer program of claim 30, wherein:
generating the control stream further comprises merging the measurement streams to obtain a composite measurement stream; and the instrumental part in the measurement streams that has the highest value for the period of time is identified using the composite measurement stream.
- 34. The computer program of claim 26, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 35. The computer program of claim 26, further comprising instructions that cause the machine to:
repeat generating, selecting, and outputting for a second period of time that follows a first period of time; wherein the musical part comprises the selected instrumental part for the first period of time and the selected instrumental part for the second period of time.
- 36. The computer program of claim 26, wherein each instrumental part comprises a stream of events, each event in the stream of events having a time stamp; and
the computer program further comprises instructions that cause the machine to change time stamps of events that are within a predetermined time period of each other so that the time stamps are the same.
- 37. The computer program of claim 26, wherein generating is performed using a chooser object and selecting and outputting are performed using a switcher object.
- 38. A computer program stored on a computer-readable medium for generating a musical part from an electronic music file, the computer program comprising instructions that cause a machine to:
identify patterns in the electronic music file; and selectively combine the patterns to produce the musical part.
- 39. The computer program of claim 38, wherein the patterns comprise individual instrumental tracks in the electronic music file.
- 40. The computer program of claim 38, wherein selectively combining comprises:
selecting one of the patterns; determining if a rhythmic complexity of the selected pattern exceeds a predetermined threshold; and adding the selected pattern to the musical part if the rhythmic complexity of the selected pattern does not exceed the predetermined threshold.
- 41. The computer program of claim 40, further comprising instructions that cause the machine to discard the selected pattern if the rhythmic complexity of the selected pattern exceeds the predetermined threshold.
- 42. The computer program of claim 40, wherein the rhythmic complexity of the selected pattern is determined based on musical features of the selected pattern.
- 43. The computer program of claim 42, wherein the musical features comprise one or more of a beat of the selected pattern, syncopated notes in the selected pattern, and proximity of notes in the selected pattern to other notes in the selected pattern.
- 44. The computer program of claim 38, wherein selectively combining comprises:
selecting one of the patterns; determining if the selected pattern is similar to a pattern already in the musical part; and adding the selected pattern to the musical part if the selected pattern is not similar to a pattern already in the musical part.
- 45. The computer program of claim 44, further comprising instructions that cause the machine to discard the selected pattern if the selected pattern is similar to a pattern already in the musical part.
- 46. The computer program of claim 44, wherein determining is performed using a fuzzy comparison.
- 47. The computer program of claim 44, wherein determining is performed using quantization.
- 48. The computer program of claim 38, wherein patterns having relatively low frequencies are combined to produce the musical part before patterns having relatively high frequencies are combined.
- 49. The computer program of claim 38, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 50. The computer program of claim 38, wherein the electronic music file is comprised of events; and
the computer program further comprises instructions that cause the machine to remove all but pre-specified events from the electronic music file prior to performing identifying and selectively combining.
- 51. An apparatus for generating a musical part from an electronic music file comprised of pitched instrumental parts, the apparatus comprising:
a memory that stores executable instructions; and a processor that executes the instructions to:
generate a control stream that indicates which of the instrumental parts has a highest value for a period of time; select one of the instrumental parts for the period of time based on the control stream; and output the selected instrumental part for the period of time to produce the musical part.
- 52. The apparatus of claim 51, wherein the control stream is generated by examining other periods of time defined by the electronic music file.
- 53. The apparatus of claim 51, wherein the control stream is generated by comparing a contribution of one instrumental part for the period of time to a contribution of another instrumental part for the period of time.
- 54. The apparatus of claim 53, wherein the control stream is generated based on a cost of switching between the one instrumental part and the other instrumental part.
- 55. The apparatus of claim 51, wherein generating the control stream comprises:
obtaining measurement streams which include values for corresponding instrumental parts; and identifying an instrumental part in the measurement streams that has the highest value for the period of time.
- 56. The apparatus of claim 55, wherein obtaining the measurement streams includes analyzing aspects of the musical part.
- 57. The apparatus of claim 56, wherein the aspects include one or more of strum speed, average pitch, polyphony, loudness, and a vocal part.
- 58. The apparatus of claim 55, wherein:
generating the control stream further comprises merging the measurement streams to obtain a composite measurement stream; and the instrumental part in the measurement streams that has the highest value for the period of time is identified using the composite measurement stream.
- 59. The apparatus of claim 51, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 60. The apparatus of claim 51, wherein:
the processor executes instructions to repeat generating, selecting, and outputting for a second period of time that follows a first period of time; and the musical part comprises the selected instrumental part for the first period of time and the selected instrumental part for the second period of time.
- 61. The apparatus of claim 51, wherein:
each instrumental part comprises a stream of events, each event in the stream of events having a time stamp; and the processor executes instructions to change time stamps of events that are within a predetermined time period of each other so that the time stamps are the same.
- 62. The apparatus of claim 51, wherein generating is performed using a chooser object and selecting and outputting are performed using a switcher object.
- 63. An apparatus for generating a musical part from an electronic music file, comprising:
a memory that stores executable instructions; and a processor that executes the instructions to:
identify patterns in the electronic music file; and selectively combine the patterns to produce the musical part.
- 64. The apparatus of claim 63, wherein the patterns comprise individual instrumental tracks in the electronic music file.
- 65. The apparatus of claim 63, wherein selectively combining comprises:
selecting one of the patterns; determining if a rhythmic complexity of the selected pattern exceeds a predetermined threshold; and adding the selected pattern to the musical part if the rhythmic complexity of the selected pattern does not exceed the predetermined threshold.
- 66. The apparatus of claim 65, wherein the processor executes instructions to discard the selected pattern if the rhythmic complexity of the selected pattern exceeds the predetermined threshold.
- 67. The apparatus of claim 65, wherein the rhythmic complexity of the selected pattern is determined based on musical features of the selected pattern.
- 68. The apparatus of claim 67, wherein the musical features comprise one or more of a beat of the selected pattern, syncopated notes in the selected pattern, and proximity of notes in the selected pattern to other notes in the selected pattern.
- 69. The apparatus of claim 63, wherein selectively combining comprises:
selecting one of the patterns; determining if the selected pattern is similar to a pattern already in the musical part; and adding the selected pattern to the musical part if the selected pattern is not similar to a pattern already in the musical part.
- 70. The apparatus of claim 69, wherein the processor executes instructions to discard the selected pattern if the selected pattern is similar to a pattern already in the musical part.
- 71. The apparatus of claim 69, wherein determining is performed using a fuzzy comparison.
- 72. The apparatus of claim 69, wherein determining is performed using quantization.
- 73. The apparatus of claim 63, wherein patterns having relatively low frequencies are combined to produce the musical part before patterns having relatively high frequencies are combined.
- 74. The apparatus of claim 63, wherein the electronic music file comprises a Musical Instrument Digital Interface (MIDI) file.
- 75. The apparatus of claim 63, wherein:
the electronic music file is comprised of events; and the processor executes instructions to remove all but pre-specified events from the electronic music file prior to performing identifying and selectively combining.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from U.S. Provisional Application No. 60/191,368, filed on Mar. 22, 2000, the contents of which are hereby incorporated by reference into this application as if set forth herein in full.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60191368 |
Mar 2000 |
US |