US7109406B2ExpiredUtilityA1

System and method for dynamic note assignment for musical synthesizers

Assignee: STONE CHRISTOPHER LPriority: Oct 10, 2003Filed: Oct 10, 2003Granted: Sep 19, 2006
Est. expiryOct 10, 2023(expired)· nominal 20-yr term from priority
G10H 1/186G10H 2250/411G10H 2250/641
48
PatentIndex Score
5
Cited by
6
References
35
Claims

Abstract

The invention is a method and system for assigning notes to be played by a musical synthesizer to a predetermined number of channels of said musical synthesizer, so that the musical synthesizer may emulate the note allocation of a live orchestra section. The method includes the steps of selecting a note/channel assignment table corresponding to the number of notes to be played and the number of channels allocated to the playing of such notes, and assigning notes to the channels pursuant to the assignment table. The number of channels would typically be the same as the number of instruments in the orchestra section being emulated As new note events occur, notes are dynamically reassigned to channels so that hard and soft attacks are taken into account and, to the extent practicable, each channel plays a single note at a time.

Claims

exact text as granted — not AI-modified
1. A method for assigning notes to be played by a musical synthesizer to a predetermined number of channels of said musical synthesizer, said method including the following steps:
 (a) receiving a signal indicating a new note event, wherein a new note event is one of the following two events relating to a particular note; (i) a note-on event comprising the addition of said particular note to the notes being played by the musical synthesizer and (ii) the deletion of said particular note from the notes being played by said musical synthesizer; 
 (b) determining whether said new note event is a note-on event; 
 (c) if said new note event is a note-on event, adding said particular note to a notes-on list; 
 (d) if said new note event is not a note-on event, deleting said particular note from said notes-on list; 
 (e) determining how many notes are on said notes-on list; 
 (f) selecting an assignment table corresponding to the predetermined number of channels and how many notes are on said notes-on list; 
 (g) assigning notes to said channels pursuant to said assignment table and said notes-an list; and 
 (h) sending to said musical synthesizer a set of commands corresponding to the assignment of notes to channels 
 wherein when said new note event is a deletion of said particular note, the method performs the step of assigning a different note from said note-on list to the channel that was previously playing said particular note. 
 
   
   
     2. The method of  claim 1 , wherein step (e) is as follows;
 (e) determining how many notes are on said notes-on list and if there is not at least one note on said notes-on list, issuing a note-off command to said musical synthesizer for any note currently being played on any channel. 
 
   
   
     3. The method of  claim 1 , wherein when the number of notes on said notes-on list is larger than the predetermined number of channels, the method further performs the steps:
 identifying certain notes as supplemental notes; and 
 performing additive polyphony to assign said supplemental notes to said channels. 
 
   
   
     4. The method of  claim 1 , wherein said assignment table comprises an orchestral algorithm. 
   
   
     5. The method of  claim 1 , wherein said assignment table comprises a lookup table. 
   
   
     6. The method of  claim 1 , wherein said assignment table comprises an allocation map. 
   
   
     7. The method of  claim 1 , wherein said step of assigning notes comprises performing one of a top weighting and a bottom weighting assignment of said notes. 
   
   
     8. The method of  claim 1 , further comprising the step of sorting said notes-on list in order according to the pitch of each of said note. 
   
   
     9. The method of  claim 1 , further comprising appending a soft-note instruction to said assigning of a different note. 
   
   
     10. The method of  claim 1 , wherein step (h) comprises sending to a channel commands buffer a set of commands corresponding to the assignment of notes to channels. 
   
   
     11. A method for assigning notes to be played by a musical synthesizer to a predetermined number of channels of said musical synthesizer, said method including the following steps:
 (a) receiving a signal indicating a new note event, wherein a new note event is one of the following two events relating to a particular note: (i) a note-on event comprising the addition of said particular note to the notes being played by the musical synthesizer and (ii) the deletion of said particular note from the notes being played by said musical synthesizer; 
 (b) determining whether said new note event is a note-on event; 
 (c) if said new note event is a note-on event, adding said particular note to a notes-on list; 
 (d) if said new note event is not a note-on event, deleting said particular note from said notes-on list; 
 (e) determining how many notes are on said notes-on list; 
 (f) selecting an assignment table corresponding to the predetermined number of channels and how many notes are on said notes-on list; 
 (g) assigning notes to said channels pursuant to said assignment table and said notes-on list; and 
 (h) sending to said musical synthesizer a set of commands corresponding to the assignment of notes to channels; 
 wherein when said note event is a note-on event, said set of commands further comprises a hard-note instruction. 
 
   
   
     12. The method of  claim 11 , wherein when the number of notes on said notes-on list is larger than the predetermined number of channels, the method further performs the steps:
 identifying certain notes as supplemental notes; and 
 performing additive polyphony to assign said supplemental notes to said channels. 
 
   
   
     13. The method of  claim 11 , wherein said assignment table comprises an orchestral algorithm. 
   
   
     14. The method of  claim 11 , wherein said assignment table comprises a lookup table. 
   
   
     15. The method of  claim 11 , wherein said assignment table comprises an allocation map. 
   
   
     16. The method of  claim 11 , wherein said step of assigning notes comprises performing one of a top weighting and a bottom weighting assignment of said notes. 
   
   
     17. The method of  claim 11 , further comprising the step of sorting said notes-on list in order according to the pitch of each of said note. 
   
   
     18. A method for dynamically assigning motes to be played by a musical synthesizer, comprising:
 providing at least one note assignment table comprising a preferential weighting note assignment; 
 setting a predetermined number of channels for playing assigned notes; 
 determining the number of notes to be played at a current instance; 
 using said note assignment table to assign each of said notes to a respective channel of said predetermined number of channels; and, 
 wherein said preferential weighting note assignment table is one of a bottom weighting note assignment table and a top weighting note assignment table. 
 
   
   
     19. The method for dynamically assigning notes according to  claim 18 , wherein providing at least one note assignment table comprises providing a plurality of note assignment tables and wherein the method further comprises selecting one of said note assignment tables to assign each of said notes. 
   
   
     20. The method for dynamically assigning notes according to  claim 18 , further comprising the step of sorting said notes in order according to the pitch of each of said notes. 
   
   
     21. The method for dynamically assigning notes according to  claim 18 , wherein when the number of notes is larger than the predetermined number of channels, the method further comprises:
 identifying certain notes as supplemental notes; and 
 performing additive polyphony to assign said supplemental notes to selected ones of said predetermined number of channels. 
 
   
   
     22. The method for dynamically assigning notes according to  claim 21 , further comprising the step of sorting said notes-on list in order according to the pitch of each of said notes. 
   
   
     23. The method for dynamically assigning notes according to  claim 18 , wherein said assignment table comprises an orchestral algorithm. 
   
   
     24. The method for dynamically assigning notes according to  claim 18 , wherein said assignment table comprises a lookup table. 
   
   
     25. The method for dynamically assigning notes according to  claim 18 , wherein said assignment table comprises an allocation map. 
   
   
     26. The method for dynamically assigning notes according to  claim 18 , wherein each of said channels represent a single musical instrument. 
   
   
     27. The method for dynamically assigning notes according to  claim 18 , wherein each of said channels represent a sub-section of an orchestral section. 
   
   
     28. A method for dynamically assigning notes to be played by a musical synthesizer, comprising:
 providing at least one note assignment table; 
 setting a predetermined number of channels for playing assigned notes; 
 determining the number of notes to be played at a current instance; 
 using said note assignment table to assign each of said notes to a respective channel of said predetermined number of channels; and, 
 further comprising providing one of a hard-note and soft-note instruction to each one of said predetermined number of channels. 
 
   
   
     29. The method for dynamically assigning notes according to  claim 28 , wherein said note assignment table is one of a bottom weighting note assignment table and a top weighting note assignment table. 
   
   
     30. A note allocation processor operable in conjunction with an input device and a note player, said note player having a predetermined number of channels, said note allocation processor comprising:
 an input for receiving note signals firm said input device; 
 an output for providing note assignment to said note player; 
 a note counter; 
 at least one note assignment table comprising a preferential weighting note assignment; 
 a central processor preprogrammed to obtain the number of notes indicated in said note counter and assign each note to a respective one of said channels according to said note assignment table and provide one of a hard-note and soft-note instruction to each one of said channels. 
 
   
   
     31. The note allocation processor of  claim 30 , further comprising a channel comparison counter indicating the number of channels having been assigned a note. 
   
   
     32. The note allocation processor of  claim 30 , further comprising a sorted note list memory, and wherein said central processor sorts said notes according to the pitch of said notes and stores a sorted note list in said sorted note list memory. 
   
   
     33. The note allocation processor of  claim 30 , further comprising a notes-on list memory storing all notes to be played at a given instance. 
   
   
     34. The note allocation processor of  claim 30 , further comprising a notes-on list memory storing all notes to be played at a given instance, and wherein when the number of notes to be played exceeds said predetermined number of channels, said central processor designates selected ones of said notes on as being supplemental notes. 
   
   
     35. The note allocation processor of  claim 30 , wherein each of said note signals represents one of: a single musical instrument, an orchestral section, and a non-musical instrument audio sound.

Join the waitlist — get patent alerts

Track US7109406B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.