Claims
- 1. A general purpose computer-based system for generating a repeated musical effect, said system including at least one computer memory, said system comprising:
- a transposition pattern stored in said at least one computer memory, said transposition pattern comprising at least two pattern steps, said at least two pattern steps indicating different pitch transposition values representing a pitch modification, said transposition pattern having a transposition pattern index indicating a current transposition pattern step, said current transposition pattern step having a current pitch transposition value;
- a rhythm value representing a musical interval of time;
- an input note having an input pitch;
- an output note having an output pitch derived from said input pitch and said current pitch transposition value;
- a repeat generator for scheduling said output note at a musical time indicated by said rhythm value; and
- a processor for outputting said scheduled output note, said processor advancing said transposition pattern index to a next transposition pattern step.
- 2. A general purpose computer-based system for generating a repeated musical effect, said system including at least one computer memory, said system comprising:
- a transposition pattern stored in said at least one computer memory, said transposition pattern comprising at least two pattern steps, said at least two pattern steps indicating different pitch transposition values representing a pitch modification, said transposition pattern having a transposition pattern index indicating a current transposition pattern step, said current transposition pattern step having a current pitch transposition value;
- a rhythm value representing a musical interval of time;
- an input note having an input pitch, said input note stored in said at least one computer memory;
- an output note having an output pitch derived from said input pitch and said current pitch transposition value;
- a repeat generator for scheduling said output note at a musical time indicated by said rhythm value; and
- a processor for outputting said scheduled output note, said processor advancing said transposition pattern index to a next transposition pattern step, said processor replacing said input note having said input pitch with said output note having said output pitch.
- 3. A general purpose computer-based system for generating a repeated musical effect, said system including at least one computer memory, said system comprising:
- a conversion table stored in said at least one computer memory, said conversion table mapping an input set of pitches to an output set of pitches;
- a pitch transposition value representing a pitch modification;
- a rhythm value representing a musical interval of time;
- an input note having an input pitch;
- an output note having an output pitch derived from said input pitch as modified by said pitch transposition value and said conversion table;
- a repeat generator for scheduling said output note at a musical time indicated by said rhythm value; and
- a processor for outputting said scheduled output note.
- 4. A general purpose computer-based system for generating a repeated musical effect, said system including at least one computer memory, said system comprising:
- a conversion table stored in said at least one computer memory, said conversion table mapping an input set of pitches to an output set of pitches;
- a pitch transposition value representing a pitch modification;
- a rhythm value representing a musical interval of time;
- an input note having an input pitch, said input note stored in said at least one computer memory;
- an output note having an output pitch derived from said input pitch as modified by said pitch transposition value and said conversion table;
- a repeat generator for scheduling said output note at a musical time indicated by said rhythm value; and
- a processor for outputting said scheduled output note, said processor replacing said input note having said input pitch with said output note having said output pitch.
- 5. The system according to claims 1, 2, 3, or 4 wherein said input note and said output note are provided in a MIDI data format, said input pitch comprising a MIDI note number, said pitch transposition values representing a change in said MIDI note number.
- 6. The system according to claims 1, 2, 3, or 4 wherein said input note and said output note comprise digital audio samples, said input pitch being said input note played at an original sample rate, said pitch transposition values representing a shift of said input pitch.
- 7. The system according to claims 1, 2, 3, or 4 wherein said pitch transposition values comprise semitone values.
- 8. The system according to claims 1, 2, 3, or 4 wherein said input note includes an input duration and said processor outputs said scheduled output note with said input duration so as to sustain said scheduled output note for said input duration.
- 9. The system of claim 8 further comprising an overlap terminator for terminating a previous sustained output note when said processor outputs said scheduled output note.
- 10. The system of claim 9 wherein said overlap terminator terminates all of a plurality of previous sustained output notes.
- 11. The system of claim 9 wherein said overlap terminator terminates a previous sustained output note having a pitch equal to said output pitch.
- 12. The system of claim 8 wherein said processor outputs said input note and sustains said input note for said input duration, said system further comprising an overlap terminator for terminating said sustained input note when said processor outputs said scheduled output note.
- 13. The system according to claims 1, 2, 3, or 4 further comprising a duration value representing an interval of time, said processor outputting said scheduled output note for said interval of time according to said duration value.
- 14. The system of claim 13 further comprising:
- a duration pattern stored in said at least one computer memory and having a plurality of duration pattern steps, each of said duration pattern steps having a duration data item, said duration pattern having a duration pattern index indicating a current duration pattern step, said duration value being derived from said duration data item in said current duration pattern step, said processor advancing said duration pattern index to a next duration pattern step.
- 15. The system according to claims 3 or 4 further comprising:
- a transposition pattern stored in said at least one computer memory and having a plurality of transposition pattern steps, each of said transposition pattern steps having a transposition data item, said transposition pattern having a transposition pattern index indicating a current transposition pattern step, said pitch transposition value being derived from said transposition data item in said current transposition pattern step, said processor advancing said transposition pattern index to a next transposition pattern step.
- 16. The system according to claims 1, 2, 3, or 4 further comprising:
- a rhythm pattern stored in said at least one computer memory and having a plurality of rhythm pattern steps, each of said rhythm pattern steps having a rhythm data item, said rhythm pattern having a rhythm pattern index indicating a current rhythm pattern step, said rhythm value being derived from said rhythm data item in said current rhythm pattern step, said processor advancing said rhythm pattern index to a next rhythm pattern step.
- 17. The system according to claims 1, 2, 3, or 4 further comprising a velocity value representing an amplitude with which said processor outputs said scheduled output note.
- 18. The system of claim 17 further comprising:
- a velocity pattern stored in said at least one computer memory and having a plurality of velocity pattern steps, each of said velocity pattern steps having a velocity data item, said velocity pattern having a velocity pattern index indicating a current velocity pattern step, said velocity value being derived from said velocity data item in said current velocity pattern step, said processor advancing said velocity pattern index to a next velocity pattern step.
- 19. The system according to claims 1, 2, 3, or 4 wherein said input note includes an initial velocity, said system further comprising:
- a velocity modifier representing a change to said initial velocity, said initial velocity together with said velocity modifier representing an amplitude with which said processor outputs said scheduled output note.
- 20. The system of claim 19 further comprising:
- a velocity pattern stored in said at least one computer memory and having a plurality of velocity pattern steps, each of said velocity pattern steps having a velocity data item, said velocity pattern having a velocity pattern index indicating a current velocity pattern step, said velocity modifier being derived from said velocity data item in said current velocity pattern step, said processor advancing said velocity pattern index to a next velocity pattern step.
- 21. The system of claim 19 further comprising a termination module for stopping said repeat generator from scheduling said output note when said amplitude is within a termination amplitude range.
- 22. The system according to claims 1, 2, 3, or 4 further comprising a MIDI data value, said processor outputting said MIDI data value with said scheduled output note.
- 23. The system of claim 22 wherein said MIDI data value represents a spatial location value.
- 24. The system of claim 22 wherein said MIDI data value represents a resonance value.
- 25. The system of claim 22 wherein said MIDI data value represents an instrument voice change value.
- 26. The system of claim 22 further comprising:
- a MIDI data pattern stored in said at least one computer memory and having a plurality of MIDI data pattern steps, each of said MIDI data pattern steps having a MIDI data item, said MIDI data pattern having a MIDI data pattern index indicating a current MIDI data pattern step, said MIDI data value being derived from said MIDI data item in said current MIDI data pattern step, said processor advancing said MIDI data pattern index to a next MIDI data pattern step.
- 27. The system according to claims 1, 2, 3, or 4 further comprising a termination module for stopping said repeat generator from scheduling said output note.
- 28. The system of claim 27 wherein said termination module further comprises a counter and said repeat generator is stopped upon said counter reaching a specific number of scheduled output notes.
- 29. The system of claim 27 wherein said termination module further comprises a timer and said repeat generator is stopped upon said timer elapsing a specific interval of time.
- 30. The system of claim 27 wherein said termination module further comprises a termination pitch range and said repeat generator is stopped when said output pitch is within said termination pitch range.
- 31. The system of claim 27 wherein said termination module stops said repeat generator when a next input note is provided to said system.
- 32. The system of claim 27 wherein said termination module comprises a user-operated control.
- 33. The system according to claims 1, 2, 3, or 4 further comprising a rebound module for triggering an inversion of said pitch transposition values when said output pitch is within a rebound pitch range.
- 34. The system according to claims 1, 2, 3, or 4 further comprising a wrap module for constraining said output pitch to a wrap pitch range.
- 35. The system according to claims 1, 2, 3, or 4 further comprising a trigger module for initiating said repeat generator to schedule said output note upon receiving a trigger event.
- 36. The system of claim 35 wherein said trigger event is the receipt of said input note from an input note source.
- 37. The system of claim 36 wherein said input note source provides a plurality of input notes and said trigger event is the receipt of a specific number of said input notes from said input note source.
- 38. The system of claim 35 wherein said input note includes a velocity and said trigger event occurs when said velocity is within a trigger velocity range.
- 39. The system of claim 35 wherein said trigger event is provided by a user-operated control.
- 40. The system of claim 35 wherein said trigger event is a key depression on an electronic musical instrument.
- 41. The system of claim 35 wherein said trigger event is a key release on an electronic musical instrument.
- 42. The system according to claims 1 or 2 further comprising:
- a plurality of conversion tables stored in said at least one computer memory, each of said conversion tables mapping an input set of pitches to an output set of pitches; and
- a selector for selecting one of said plurality of conversion tables, said output pitch of said output note being modified according to said selected conversion table.
- 43. The system of claim 42 wherein said selector comprises a user-operated control.
- 44. The system of claim 42 further comprising a playback module for playing a background track of musical information containing embedded markers, said selector selecting said conversion table according to said embedded markers.
- 45. The system of claim 42 wherein said conversion table is selected based on a chord determination from an input note source.
- 46. The system of claim 45 wherein said input note source comprises notes from at least one of a plurality of keys on an electronic musical instrument.
- 47. The system according to claims 3 or 4 further comprising:
- a plurality of conversion tables stored in said at least one computer memory, each of said conversion tables mapping an input set of pitches to an output set of pitches; and
- a selector for selecting said conversion table from said plurality of conversion tables.
- 48. The system of claim 47 wherein said selector comprises a user-operated control.
- 49. The system of claim 47 further comprising a playback module for playing a background track of musical information containing embedded markers, said selector selecting said conversion table according to said embedded markers.
- 50. The system of claim 47 wherein said conversion table is selected based on a chord determination from an input note source.
- 51. The system of claim 50 wherein said input note source comprises notes from at least one of a plurality of keys on an electronic musical instrument.
- 52. A method for creating a repeated musical effect using a general purpose computer-based system, said system including at least one computer memory, said method comprising:
- storing a transposition pattern in said at least one computer memory, said transposition pattern comprising at least two pattern steps having different pitch transposition values;
- indicating a current transposition pattern step with a transposition pattern index, said current transposition pattern step having a current pitch transposition value;
- inputting an input note having an input pitch;
- deriving an output note having an output pitch from said input note having said input pitch according to said current pitch transposition value;
- scheduling an output of said output note according to a rhythm value representing a musical interval of time;
- advancing said transposition pattern index to a next transposition pattern step; and
- outputting said scheduled output note.
- 53. A method for creating a repeated musical effect using a general purpose computer-based system, said system including at east one computer memory, said method comprising:
- storing a transposition pattern in said at least one computer memory, said transposition pattern comprising at least two pattern steps having different pitch transposition values;
- indicating a current transposition pattern step with a transposition pattern index, said current transposition pattern step having a current pitch transposition value;
- inputting an input note having an input pitch;
- storing said input note in said at least one computer memory;
- deriving an output note having an output pitch from said input note having said input pitch according to said current pitch transposition value;
- scheduling an output of said output note according to a rhythm value representing a musical interval of time;
- advancing said transposition pattern index to a next transposition pattern step;
- outputting said scheduled output note; and
- replacing said input note having said input pitch with said output note having said output pitch such that said output note is used as a next input note.
- 54. A method for creating a repeated musical effect using a general purpose computer-based system, said system including at least one computer memory, said method comprising:
- storing a conversion table in said at least one computer memory, said conversion table mapping an input set of notes to an output set of notes;
- inputting an input note having an input pitch;
- deriving an output note having an output pitch from said input note having said input pitch according to a pitch transposition value;
- converting said output note with said output pitch to a converted output note with a converted output pitch according to said conversion table;
- scheduling an output of said converted output note according to a rhythm value representing a musical interval of time; and
- outputting said scheduled output note.
- 55. A method for creating a repeated musical effect using a general purpose computer-based system, said system including at least one computer memory, said method comprising:
- storing a conversion table in said at least one computer memory, said conversion table mapping an input set of notes to an output set of notes;
- inputting an input note having an input pitch;
- storing said input note in said at least one computer memory;
- deriving an output note having an output pitch from said input note having said input pitch according to a pitch transposition value;
- converting said output note with said output pitch to a converted output note with a converted output pitch according to said conversion table;
- scheduling an output of said converted output note according to a rhythm value representing a musical interval of time;
- outputting said scheduled output note; and
- replacing said input note having said input pitch with said output note having said output pitch such that said output note is used as a next input note.
- 56. The method according to claims 52, 53, 54, or 55 wherein said input note and said output note are provided in a MIDI data format, said input pitch being represented by a MIDI note number, and said step of deriving comprises modifying said MIDI note number according to said pitch transposition value.
- 57. The method according to claims 52, 53, 54, or 55 wherein said input note and said output note comprise digital audio samples, said input pitch being said input note played at an original sample rate, and said step of deriving comprises shifting said input pitch according to said pitch transposition value.
- 58. The method according to claims 52, 53, 54, or 55 wherein said pitch transposition values comprise semitone values, and said step of deriving comprises adding said pitch transposition value to said input pitch.
- 59. The method according to claims 52, 53, 54, or 55 wherein said input note includes an input duration, said method further comprising sustaining said scheduled output note according to said input duration.
- 60. The method of claim 59 further comprising terminating said sustained note prior to outputting a next scheduled output note.
- 61. The method of 59 further comprising terminating said sustained note prior to outputting a next scheduled output note when said pitch of said sustained note is equal to said pitch of said next scheduled output note.
- 62. The method of claim 59 further comprising:
- outputting said input note;
- sustaining said input note according to said input duration; and
- terminating said sustained input note prior to outputting said scheduled output note.
- 63. The method according to claims 52, 53, 54, or 55 further comprising sustaining said scheduled output note according to a duration value.
- 64. The method of claim 63 further comprising:
- storing a duration pattern in said at least one computer memory, said duration pattern having a plurality of duration pattern steps, each of said duration pattern steps having a duration data item;
- indicating a current duration pattern step with a duration pattern index;
- deriving said duration value from said duration data item within said current duration pattern step; and
- advancing said duration pattern index to a next duration pattern step.
- 65. The method according to claims 54 or 55 further comprising:
- storing a transposition pattern in said at least one computer memory, said transposition pattern having a plurality of transposition pattern steps, each of said transposition pattern steps having a transposition data item;
- indicating a current transposition pattern step with a transposition pattern index;
- deriving said pitch transposition value from said transposition data item within said current transposition pattern step; and
- advancing said transposition pattern index to a next transposition pattern step.
- 66. The method according to claims 52, 53, 54, or 55 further comprising:
- storing a rhythm pattern in said at least one computer memory, said rhythm pattern having a plurality of rhythm pattern steps, each of said rhythm pattern steps having a rhythm data item;
- indicating a current rhythm pattern step with a rhythm pattern; index;
- deriving said rhythm value from said rhythm data item within said current rhythm pattern step; and
- advancing said rhythm pattern index to a next rhythm pattern step.
- 67. The method according to claims 52, 53, 54, or 55 wherein said step of outputting further comprises outputting said scheduled output note with an amplitude according to a velocity value.
- 68. The method of claim 67 comprising:
- storing a velocity pattern in said at least one computer memory, said velocity pattern having a plurality of velocity pattern steps, each of said velocity pattern steps having a velocity data item;
- indicating a current velocity pattern step with a velocity pattern index;
- deriving said velocity value from said velocity data item within said current velocity pattern step; and
- advancing said velocity pattern index to a next velocity pattern step.
- 69. The method according to claims 52, 53, 54, or 55 wherein said input note includes an initial velocity, and said step or outputting further comprises deriving an amplitude from said initial velocity and a velocity modifier and outputting said scheduled output note with said amplitude.
- 70. The method of claim 69 further comprising:
- storing a velocity pattern in said at least one computer memory, said, velocity pattern having a plurality of velocity pattern steps, each of said velocity pattern steps having a velocity data item;
- indicating a current velocity pattern step with a velocity data item;
- deriving said velocity modifier from said velocity data item within said current velocity pattern step; and
- advancing said velocity pattern index to a next velocity pattern step.
- 71. The method of claim 69 further comprising:
- specifying a termination amplitude range; and
- terminating said repeated musical effect when said amplitude of said scheduled output note is within said termination amplitude range.
- 72. The method according to claims 52, 53, 54, or 55 wherein said step of outputting further comprises outputting a MIDI data value with said scheduled output note.
- 73. The method of claim 72 wherein said step of outputting said MIDI data value further comprises specifying a spatial location for said scheduled output note according to said MIDI data value.
- 74. The method of claim 72 wherein said step of outputting said MIDI data value further comprises specifying an instrument voice change for said scheduled output note according to said MIDI data value.
- 75. The method of claim 72 further comprising:
- storing a MIDI data pattern in said at least one computer memory, said MIDI data pattern having a plurality of MIDI data pattern steps, each of said MIDI data pattern steps having a MIDI data item;
- indicating a current MIDI data pattern step with a MIDI data pattern index;
- deriving said MIDI data value from said MIDI data item within said current MIDI data pattern step; and
- advancing said MIDI data pattern index to a next MIDI data pattern step.
- 76. The method according to claims 52, 53, 54, or 55 further comprising terminating said repeated musical effect after a specific number of said scheduling steps have been performed.
- 77. The method according to claims 52, 53, 54, or 55 further comprising terminating said repeated musical effect after a specific interval of time.
- 78. The method according to claims 52, 53, 54, or 55 further comprising:
- specifying a termination pitch range; and
- terminating said repeated musical effect when said pitch of said scheduled output note is within said termination pitch range.
- 79. The method according to claims 52, 53, 54, or 55 further comprising:
- inputting a second input note; and
- terminating said repeated musical effect upon said input of said second input note.
- 80. The method according to claims 52, 53, 54, or 55 further comprising terminating said repeated musical effect by operating a user-operated control.
- 81. The method according to claims 52, 53, 54, or 55 further comprising:
- specifying a rebound pitch range; and
- inverting said pitch transposition values when said pitch of said scheduled output note is within said rebound pitch range.
- 82. The method according to claims 52, 53, 54, or 55 further comprising:
- specifying a wrap pitch range; and
- constraining said pitch of said scheduled output note to be within said wrap pitch range.
- 83. The method according to claims 52, 53, 54, or 55 wherein said step of scheduling is initiated with a trigger event.
- 84. The method of claim 83 wherein said step of inputting is performed repeatedly, said method further comprising counting said input notes, said trigger event being the input of a specific number of said input notes.
- 85. The method of claim 83 wherein said input note includes a velocity, said method further comprising determining whether said velocity is within a trigger velocity range, said trigger event being said determination of said velocity within said trigger velocity range.
- 86. The method of claim 83 wherein said trigger event comprises a user-operated control.
- 87. The method of claim 83 wherein said trigger event comprises a depression of a key on an electronic musical instrument.
- 88. The method of claim 83 wherein said trigger event comprises a release of a key on an electronic musical instrument.
- 89. The method according to claims 52 or 53 further comprising:
- storing a plurality of conversion tables in said at least one computer memory, each of said conversion tables mapping an input set of pitches to an output set of pitches;
- selecting one of said plurality of conversion tables; and
- converting said output pitch of said scheduled output note according to said selected conversion table.
- 90. The method of claim 89 wherein said step of selecting is performed with a user-operated control.
- 91. The method of claim 89 further comprising:
- embedding markers within a background track of musical information indicating selections from within said plurality of conversion tables;
- playing said background track of musical information; and
- detecting said embedded markers, said step of selecting being performed according to said detected embedded markers.
- 92. The method of claim 89 further comprising determining a chord from an input note source, said step of selecting being performed according to said determined chord.
- 93. The method according to claims 54 or 55 further comprising:
- storing a plurality of conversion tables in said at least one computer memory, each of said conversion tables mapping an input set of pitches to an output set of pitches; and
- selecting said conversion table from within said plurality of conversion tables.
- 94. The method of claim 93 wherein said step of selecting is performed with a user-operated control.
- 95. The method of claim 93 further comprising:
- embedding markers within a background track of musical information indicating selections from within said plurality of conversion tables;
- playing said background track of musical information; and
- detecting said embedded markers, said step of selecting being performed according to said detected embedded markers.
- 96. The method of claim 93 further comprising determining a chord from an input note source, said step of selecting being performed according to said determined chord.
- 97. The method according to claims 52, 53, 54, or 55 wherein said system further comprises a processor and said step of outputting said scheduled output note is performed by said processor.
- 98. A computer-readable media for storing instructions for creating a repeated musical effect comprising instructions for:
- storing a transposition pattern in at least one computer memory, said transposition pattern comprising at least two pattern steps having different pitch transposition values;
- indicating a current transposition pattern step with a transposition pattern index, said current transposition pattern step having a current pitch transposition value;
- inputting an input note having an input pitch;
- deriving an output note having an output pitch from said input note having said input pitch according to said current pitch transposition value;
- scheduling an output of said output note according to a rhythm value representing a musical interval of time;
- advancing said transposition pattern index to a next transposition pattern step; and
- outputting said scheduled output note.
- 99. A computer-readable media for storing instructions for creating a repeated musical effect comprising instructions for:
- storing a transposition pattern in at least one computer memory, said transposition pattern comprising at least two pattern steps having different pitch transposition values;
- indicating a current transposition pattern step with a transposition pattern index, said current transposition pattern step having a current pitch transposition value;
- inputting an input note having an input pitch;
- storing said input note in said at least one computer memory;
- deriving an output note having an output pitch from said input note having said input pitch according to said current pitch transposition value;
- scheduling an output of said output note according to a rhythm value representing a musical interval of time;
- advancing said transposition pattern index to a next transposition pattern step;
- outputting said scheduled output note; and
- replacing said input note having said input pitch with said output note having said output pitch such that said output note is used as a next input note.
- 100. A computer-readable media for storing instructions for creating a repeated musical effect comprising instructions for:
- storing a conversion table in at least one computer memory, said conversion table mapping an input set of notes to an output set of notes;
- inputting an input note having an input pitch;
- deriving an output note having an output pitch from said input note having said input pitch according to a pitch transposition value;
- converting said output note with said output pitch to a converted output note with a converted output pitch according to said conversion table;
- scheduling an output of said converted output note according to a rhythm value representing a musical interval of time; and
- outputting said scheduled output note.
- 101. A computer-readable media for storing instructions for creating a repeated musical effect comprising instructions for:
- storing a conversion table in at least one computer memory, said conversion table mapping an input set of notes to an output set of notes;
- inputting an input note having an input pitch;
- storing said input note in said at least one computer memory;
- deriving an output note having an output pitch from said input note having said input pitch according to a pitch transposition value;
- converting said output note with said output pitch to a converted output note with a converted output pitch according to said conversion table;
- scheduling an output of said converted output note according to a rhythm value representing a musical interval of time; and
- outputting said scheduled output note; and
- replacing said input note having said input pitch with said output note having said output pitch such that said output note is used as a next input note.
CROSS-REFERENCES TO RELATED APPLICATIONS
This application claims benefit of United States Provisional Patent Application No. 60/072,921 which was filed on Jan. 28, 1998, the disclosure of which is incorporated by reference herein.
This application relates to Disclosure Document No. 402249, received by the United States Patent and Trademark Office on Jul. 9, 1996, and Disclosure Document No. 414040, received by the United States Patent and Trademark Office on Feb. 13, 1997.
US Referenced Citations (39)
Non-Patent Literature Citations (2)
Entry |
M and Jam Factory, David Zicarelli, Computer Music Journal, vol. 11, No. 4, Winter 1987. |
M--The Intelligent Composing and Performing System, Software Operator's Manual, David Zicarelli, et al., Version 2.5, Aug. 1997. |