CA1292895C - Reassignment of digital oscillators according to amplitude - Google Patents

Reassignment of digital oscillators according to amplitude

Info

Publication number
CA1292895C
CA1292895C CA000595723A CA595723A CA1292895C CA 1292895 C CA1292895 C CA 1292895C CA 000595723 A CA000595723 A CA 000595723A CA 595723 A CA595723 A CA 595723A CA 1292895 C CA1292895 C CA 1292895C
Authority
CA
Canada
Prior art keywords
digital
digital oscillators
oscillators
currently active
oscillator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA000595723A
Other languages
French (fr)
Inventor
Anthony Glenn Williams
David Thomas Starkey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gulbransen Inc
Original Assignee
Gulbransen Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gulbransen Inc filed Critical Gulbransen Inc
Priority to CA000595723A priority Critical patent/CA1292895C/en
Application granted granted Critical
Publication of CA1292895C publication Critical patent/CA1292895C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

ABSTRACT
REASSIGNMENT OF DIGITAL OSCILLATORS
ACCORDING TO AMPLITUDE

A process for operating a digital synthesizer type of electronic musical instrument to rapidly make available digital oscillators to produce newly keyed notes even when all digital oscillators are currently active with previous assignments. The process contains a way of maintaining a record of the digital oscillator with lowest amplitude, and reassigning this lowest amplitude digital oscillator to produce the new note on the rationale that the output of the lowest digital oscillator will be the least missed if an output has to be prematurely curtailed. Besides a straight amplitude critereon, the process also allows for prioritizing some low amplitude outputs over others to make a more pleasing performance. The invention also includes an apparatus for performing the process.

Description

REASSIGNMENT OF DIGITAL OSCILLATORS
ACCORDING TO ~MPLITUDE lZ9Z~95 Backqround of the Invention The invention concerns an electronic musical instrument, and more particularly a method and apparatus for controlling the manner of music synthesis by such an instrument to obtain a more pleasurable music performance.
Electronic musical instruments that synthesize music belong to one of two categories. The first category encompasses those musical instruments which produce a musical tone output from at least one continuous input that is acted upon by a substantially linear transfer network. These instruments are referred to as analog synthesizers because the music output is analogous to the continuous input when the transfer function of the transfer network is taken into account. The second category encompasses those musical instruments which produce a musical tone output from a sequence of discrete sample~ of varying amplitudes as an input that is acted upon by a scaling network and by a digital to analog converter. These instruments are referred to as digital synthesizers because the music output i a reconstruction of an input of a sequence of digital numbers representing the discre~e samples of varying amplitude when the action of the ~caling networks and the digital to analog convertors are taken into account. An example of the latter is ~hown in ~.S. Pat. No. 4,602,5~5 by David Starkey.
This distinction is important because both categories of synthesizers may be controlled digitally using a 3~

~9Z8~S

microprocessor.
Both categories typically are required to play one or more new notes when all of the note synthesizing assets are currently active. This occurs when the number of new notes to be played by the synthesizer and the number of previous notes or portion thereof still being played as part of an initially predetermined duration e~ceeds the total number of note synthesizing assets. In sophisticated electronic musical instruments, for example those including electronic effects such as automatic accompaniment and complex instrument voices such as guitar; how to provide synthesizing assets for aa new tone when al] synthesizing assets are currently active generating previo~sly assigned tones or portions thereof is a significant and difficult design problem. Delaying the production of new tones until synthesizing assets are available may change the rhythm and be objectionable, while removing currently active synthesizing assets in order to reassign them to the production of the new tone or portion thereof may also be objectionable.
Analog synthesizers take advantage of the predetermined continuous way that the envelope of each tone is shaped as an indicator of which note to remove and reassign its channel to a new note. The envelope of the notes has a predetermined shape defined for many instruments, such as percussion instruments, as attack, sustain, and decay until the key defining the note is released. After release, the envelope is quickly dampened to terminate any further tone production. Various methods for removing a currently active tone generator and reassigning it to the production of a new note have used lZ9289~
some some of the predetermined attributes of the note en~elope.
U. S. Pat. No. 4,4~1,851 by Swain et al. discloses an electronic musical instrument which assigns the notes correspondiny to newly depressed keys to the note generators which have the greatest amounts of time in the release portion of their envelopes. This i5 described in column 5 in lines 20 et seq. An objectionable problem occurs if all of the note generators are active and not in a release status. As described in column 9 lines 24 et seq., in such a case the instruction to produce a new note is stored, i.e. delayed, until at least one note generator is in a release status.
U.S. Pat. No. 4,570,520 by Deutsch et al. discloses an electronic musical instrument which maintains a data record of how long each tone generator has been active with its current assignment. If a new key is depres~ed while all tone generators are currently active, then the tone generator that has been active on its current assignment the longest is reassigned to produce the tone corresponding to the newly depressed key. This method can be objectionable because it does not discriminate between musically important long notes such as bass tones, on the one hand, and less important tones which are not as prominent in the musical performance. This method is detailed at column 5 in lines 11 through 38.
U. S. Pat. No. 4,703,630 by Wachi et al. discloses an electronic musical instrument which truncates the tone which has the greatest amount of decay as described in 30 column 6 lines 48 et seq. This instrument also has a provision for weighting the decay of the notes as a 12~3ZB~

function of frequency, as well as, very simply prioritizing the lowest note in order to overcome one of the problems of removing musically important notes. This system suffers ~rom the problem inherent in the design of analog system in that the note generator produces the entire sound for its respective note, and if it is the most important but most decayed upper note or the second most important and most decayed bass note, then it will be completely removed leaving an objectionable void in the musical performance.
U. S. Pat. No.4,202,239 by Southard discloses an electronic musical instrument having two embodiments. The digital controlled analog synthesizer embodiment maintains a record of the oldest released note as described in column 10 lines 35 et seq. The analog controlled analog synthesizer embodiment compares the analog output of the top octave tone synthesizer with the output of a staircase voltage generator set at a level which is below the sustain level of the note envelope. This analog controlled embodiment removes and reassigns the note synthesizer which has the least voltage remaining out of its envelope keyer circuit (see column 20 lines ~0 et seq.). This in~trument suffers from the same problem as the other analog synthesizers previously mentioned in that it must remove an entire note in order to reassign the note synthesizer. Furthermore, in the circumstances described at column 18 line 18 et seq., this known design will fail to sound a newly played note in favor of the notes currently active which may be objectionable to those listening to the musical performance. Moreover, the analog measuring method for dPtermining which tone Z~95 generator to reassign simply taXes too much time to be used in a digitally controlled system such as its own alternate embodiment.
Additional patents of interest are U. S. Pat. Nos. RE
31,931; 4,472,991; ~,387,617; 4,079,650; and 3,610,806.

_mma~ of the Invention Briefly stated, in accordance with one aspect of the invention, there is provided, in an electronic musical instrument of the wavetable type having a plurality of digital oscillators, a method for assigning one of the plurality of digital oscillators including the steps of sampling a plurality of keys to determine if one of the plurality of keys has been newly depressed, associating with each newly depressed key a respective set of wavetable data, determining a first number of digital oscillators of the plurality of digital oscillators required to process the set of wavetable data, and determining if the first number of digital oscillators required to process the set of wavetable date exceeds a second number of digital oscillators not currently active.
If the first number of digital oscillators does not exceed the second number of digital 05Ci llators, then the method assigns the set of waveform data to the first number of not currently active digital oscillators to process the set of wavetable data and returns to the step of sampling for a newly depressed key. If the first number of digital oscillators exceeds the second number of digita~
oscillators, the method continues by searching the digital oscillators currently active for the digital oscillator with the lowest amplitude parameter, changing the status ~2~Zt3~35 of the digital oscillator with the lowest amplitude parameter to not currently active and returning to the method step wherein the determination i5 made if the first number of digital oscillators exceeds the second number of digital oscillators.
In another aspect of the invention, there is provided in an electronic musical instrument of the wavetable type haveing a plurality of digital oscillators, a method for assigning one of the plurality of digital oscillators including the steps of sampling a plurity of keys to determine if one of the plurality of keys has been newly depressed, associating with each newly depressed key a respective set of wavetable data haveing a plurality of protions, determining a first number of digital oscillators of the plurality ofdigital oscillators required to process the plurality of portions of wavetable data, and determining if the first number of digital oscillators required to procee the set of wavetable data exceeds a ~econd number of digital oscillators not curretly active. If the first number o~ digital oscillators does not exceed the second number of digital oscillators, then each portion of the waveform data is assigned to a respective one of the not currently active digital oscillators to process the set of wavetable data and the method returns to the step ofsampling for a newly depressed key. If the first number of digital oscillators exceeds the the second number of digital oscillators, then the method searches the digital oscillators currently active for a digital oscillator having a lowest amplitude parameter, changes the status of the digital oscillator having the lowest amplitude parameter to the not currently 1~9Z~3~35 active status, assigns one of the una.ssigned portions of the plurality of portions of the set of wavetable data to the not currently active digital oscillator, and subsequently reduces the first number of digital oscillators by one. ~ determination is made at this point if the first number of digital oscillators is greater than ~ero and if it is, the method returns to the step of determining if the first number of digital oscillators, after reduction by one, exceeds the second number of digital oscillators which are currently inactive.
In another aspect of the invention, there is provided an apparatus for reassigning digital oscillators according to amplitude.
In another aspect of the invention, there is provided an apparatus for reassigning a digital oscillator according to amplitude to produce a portion of a musical note.

Brief Des~E~tion of the Drawin~
___ __ . _ ........... . .. _.. .
While the speclfication concludes with claims specifically pointing out and distinctly claiming the subject matter which is considered to be the invention, it is believed that the invention may be better understood when taken in conjunction with the following drawings in which:
Figure 1 is a block diagram showing the note selection and production portions of the electronic musical instrument;
Figure 2 is a ~unctional block diagram of the Oscillators Assignment ~tructure;
Figure 3 is a diagram illustrating the nature of the 1;~9Z~395 data maintained within the Oscillator Assignment Structure;
Figure 4 i5 a logic diagram illustrating the logical operations of a first em~odiment of the invention;
Figures SA and 5B when joined together along the dashed lines form a logic diagram illustrating the logical operations of a second embodiment of the invention;
Figure 6 is a logic diagram illustrating the logical operations of a third embodiment of the invention; and Figures 7A and 7~ when joined along the dashed lines form a logic diagram illustrating the logical operations of a fourth embodiment of the invention.

Detailed Description -Referring now to Fig. 1, an electronic musical instrument 10 is shown. The electronic musical instrument 10 of the digital synthesizer type as is the instrument known from U.S. Pat. No. 4,602,545 mentioned previously.
Digital synthesizers typically use a central processiny unit (CPU) 12 to control the functional blocks to produce the dèsired music output, in some ways similar to the manner that CPU's are used in analog synthesizer instruments. In digital synthesizers, however, the CPU's perform the additional tasks related to digital synthesis of musical tones. Thus CPU 12 is not only controlling the functional components to produce the musical sound output, it is also controlling the movement and the processing of stored data which is transformed eventually into the played music, as will be explained below.

Digital data, which can be transformed by digital synthesis is stored in a sound file 14. The sound file 14 Z~95 may be any of various types of memory devices, such as a ROM that is fixedly programmed or a RAM which is down-loaded from some other memory such as a disk. The sound file 14 contains the wavetables which are sets of data from which all of the musical tones are synthesized.
Which of the wavetables, within sound file 14, is selected to provide a respective musical note depends upon a number of input parameters. Group record switches 16, when actuated, select the type of voice that the music will have. These switches 16 are similar to the stop switches of an organ, These switches 16 provide one data input into the selection of which wavetables to process, and in what combinations in order to provide the harm~nic content and the envelope shape o~ th~ ul~ a~ldi~) signal corresponding to the selected voice.
A second input, for determining the ultimate audio signal of the instrument, are the note or notes that are played on the keyboard 18. Keyboard 18, as i5 known in the art, has a plurality of switches which are periodically sampled by CPU 12 to determine if the status of a keyswitch or key is newly depressed, held down, or released. For the most part, the exceptions will be addressed later, the status of each key of the keyboard 18 and the status of the group record switches 16 along with the predetermined information in the wavetables of sound file 14 determine the ultimat0 audio signal which is produced by the electronic instrument 10.
Another input can be provided by an external source 20. The external source can be an auxiliary keyboard or an accompanying electronic musical instrument which interfaces with the circuitry and processes of the ~lfZ~ S

electronic musi~al instrument 10. The input Erom an e~ternal source will be treated the same as the input from keyboard 18, but each input will have a data identifier in order that the source of each input note may be identified when more than one source is used. This allows for notes to be processed differently according to source, should thPre be a need, in order to provide a more pleasing performance.
The inputs from the group record switches 16, the keyboard 18, and the e~ternal source 20 are interconnected to a plurality of assigners 26. The assigners 26 determine, from their inputs and from a predetermined process, the number and composition of the tones that are required to be produced by the inputs received. The predetermined process may be stored in ROM within the assigner 26, downloaded from another memory into RAM, or a combination of both. When active, each assigner 26 is associated with at least one of the M digital oscillators within a sound generator 30. Digital oscillators, such as the one shown in Fig. 3 of U. S. Pat. No. 4,602,545, and their operation are known in the art and, therefore, will not be further described here.
The association and interconnection ~etween one of the assigners 26 and one or more of the digital oscillators of sound generator 30 is a logical association and interconnection under the control of the CPU 12 and an oscillator assignment structure (OAS~ 34. The OAS 34 is a data file structure maintained in RAM which is used by the assigners 26 to control the digital oscillators in the sound generator 30.

~ eferring now to Fig. 2, an arrangement of individual oscillator data structures is shown. There are M
oscillator data structures, one for each of the M digital oscillators. In a preferred embodiment of the invention, the normal value for M i5 sixty-four, but under predetermined circumstances that may be increased, and other values of M are contemplated ~y this invention. A
content of each individual oscillator data structure is shown in Fig. 3. Each oscillator data structure contains data words encoding bits of information which are used by the respective assigner to control its respective digital oscillator. Addition or deletions may be made to this data structure in order to perform the tasks predetermined for processing the inputs from switches 16, keys 18, and source 20, and the wavetable information from sound file 14 in sound generator 30 ( see Fig. 1).
~ eferring back to Fig. 1, it is important to recognize that the wavetable frequency sample information ~upplied to each respective digital oscillator is normalized to an average value so there are no truncation and overflow problems. Thus, each of the outputs 36 of the digital oscillators would be substantially equivalent to the other outputs 36 except for the envelope and amplitude stages of the the sound generator 30. The sound file 14 predetermines an envelope shape and amplitude of each respective digital oscillator that is active. The shape and amplitude is also a function of the group record switches 16, the status of the depressed key (newly depressed, held, or released) on keyboard 18 or source 20, and length of the current key status. Since the tonal waves start substantially at the same normalized level, that level is taken to oe the ]oudest p rmitted sound that can be generated. Any amplitude change, by the envelope shapiny, is actually an attenuation according to an amplitude multiplying factor during the period of each wavetable segment. Thus, both envelope and loudness are determined by the attenuation set by an amplitude factor.
The outputs 36 are connected to an audio mixer and amplifier circuit 40, such as the one known from U. S.
Pat. No. 4,602,545 mentioned previously, for mixing and amplifying the various digital oscillator outputs 3~. The audio mixer and amplifier circuit 40 is further connected to loud speakers 42. The loud speakers 42 are placed to provide a pleasing and natural sound from the electrical outputs from the audio mixer and amplifier 40.
As can be appreciated, during operation, some the notes corresponding to a depressed key and a selected voice can require a very large number of digital oscillators for a considerable length of time. If many such notes are selected, from either the keyboard 13 or the source 20, then soon all of the digital oscillators will be active and there will not be any digital oscillators currently available to process the wavetaole information corresponding to a newly depressed key. Under such circumstances, some process of finding and reassigning the digital oscillators that would be noticed the least aurally is necessary to provide a pleasing and natural musical performance.
One method of reassigning digital oscillators is illustrated in Fi~. 4, which is a logic flow diagram. The action at location 100 samples the key~oard 13 and the source 20 to determine if a key has been newly depressed.

If a key has not been newly depressed, then the method branches back along path 102, 104 to the beginning at the action at location 100 again. If a key has been newly depressed, then the method branches along path 106 to the action at 108. The action at 108 gets the key code associated with the depressed key, and from the keycode finds the corresponding sound file. From 108, the method continues along path 110 to the action at 112. The action at 112 gets the number of digital oscillators N REQ
required to process the note corresponding to the newly depressed key, and continues along path 114 to the action at 116. The action at 116 determines if the number of digital oscillators N ~Q required is greater than the number of digital oscillators N AVAIL available because they are not currently active. If the number of digital oscillators required is not greater than the number of digital oscillators available, then the method branches along path 120 to the action at 122. The action at 128 assigns the N REQ of the N AVAIL digital oscillators to the processing of the new note and continues along path 124 to the action at 126. The action at 126 reduces the number of available digital oscillators by the number of digital oscillators required to process the new note and stores that value in memory (for simplicity, this method does not address the case of a digital oscillator becoming available because its tone is finished although it is a straightforward variation of the present invention).
After storing the new value of N AVAIL, the method follows path 128, 104 and starts over again.
If, however, more digital oscillators are required to process the new note than are currently available, then the method follow.s path 130 to the action at 132. The action at 132 searches the OAS for the lowest amplitude (i.e. the greatest amount of attenuation) digital oscillator output and then follows the path 134 to the action at 136. The action at 136 removes the lowest amplitude digital oscillator from active operation by rapidly dampening any remaining output level and reassigning that digital oscillator to the number which are currently available. The method then follows path 138 to the action at 140 where the number N AVAIL is increased by one and the method returns along path 142, 114 to the action at 116. Those skilled in the art will recognize that the method will repeat the actions at 116, 132, and 140 until enough of the lowest amplitude digital oscillators have been removed from currently active status to provide the required digital oscillators to process the new note, i.e. the method will be at location 122. At that point, the new note will be processed and the method can return along path 124 to action 126 and from there along path 128, 104 to the beginning.
A second method of reassigning digital oscillators is illustrated in Figs. 5A and 5B, which provide a logic flow diagram thereo. The action at location 100 samples the keyboard 13 and the source 20 to determine if a key has been newly depressed. If a key has not been newly depressed, then the method branches back along path 102, 104 to the beginning at the action at location 100 again.
If a key has been newly depressed, then the method branches along path 106 to the action at 108. The action at 10~ gets the keycode associated with the depressed key, and from the keycode finds the corresponding note 129Z1~9S

in~ormation in the corresponding sound file. From 108, the method continues along path 110 to the action at 112.
The action at 112 gets the number of digital oscillators N
REQ required to process the note corresponding to the newly depressed key, and continues along path 114 to the action at 115A. The action at 115A gets the number of, and addresses of every digital oscillator which is equal to zero from the sound file, and continues along the path 115B to the action at 115C. In the action at 115C, the OAS of each digital oscillator that has an output amplitude which is equal to zero is tested to see if the data indicates that the output of any oscillator is changing from zero in the next data sample. If the output of any digital oscillator having an output amplitude which is currently zero is changing from zero, then the method branches along the path 115E to the action at 115F. The action at 115F removes that digital oscillator and its addre~ses from consideration from reassignment and the method follows the path 115G to the action at 116, which will be di5cussed below. If, however, the result of the action at llSC is that all of the digital oscillators which are currently at zero amplitude are not changing in the next data sample, then the method continues along path 115D to the action at 116.
The action at 116 determines if the number of digital oscillators N REQ required is greater than the number of digital oscillators N AVAIL available because they are not currently active. If the number of digital oscillators required is not greater than the number of digital ~o oscillators a~ailable, then the method branches along path 120 to the action at 122. The action at 12e assigns the N

12~2~95 REQ of the N AVAIL digital oscillators to the processing of the new note and continues along path 124 to the action at 126. The action at 126 reduces the number of available digital oscillators ~y the number of digital oscillators required to process the new note and stores that value in memory. After storing the new value of N AVAIL the method follows path 12B,104 and starts over again.
If, however, more digital oscillators are required to process the new note than are currently available, then the method follows path 130 to the action at 131A. The action at 131A finds the digital oscillators which in their OAS structures have the lowest (i. e. lea~t) priority. The predetermined priority assigns the lowest priority to those notes which are in the release stage of their envelopes. The ne~t lowest priority is assigned to those notes which are in the decay stage of their envelopes. If further digital oscillators are needed, the highest predetermined priority for reassignment are those notes which are in the attack stage of their envelopes.
It is worth noting though, that because the priority is an entry the OAS, these predetermined priorities can ~e dynamically re-ordered if there i9 musical need. After these digital oscillators have been located, then the~
method follows the path 134A to the action at 135A where the digital oscillator having the lowest amplitude of all the digital oscillators having the lowest priority is ound. Then the method follows the path 134B to the action at 136A where the lowest amplitude, lowest priority digital oscillator is removed from current activity and made availa~le for reassignment. At this point, the remaining paths and actions are the sama as those of the lZ92~95 method shown in ~ig. 4 and discussed previously.
Referring now to Fig. ~, a third method is shown in a logic flow diagram thereof. This method is very similar to the method of Fig. 4, except that the path 138 and the action 140 have been replaced by the paths 150, 152 and the actions 151, 153. This third method, after the action 136 of removing the lowest amplitude digital oscillator from active operation, continues along path 150 to the action at 151. The action at 151 assigns one of the portions, which make up the complex newly played note, to the digital oscillator that was made available in the previous action 136 and then follows the path 152 to the action at 153. The action at 153 reduces the number N REQ
of digital oscillators required to process the new note by one since one portion of it has just been assigned in the action at 151. At this point on path 142, the remainder of method three again becomes the same as method one.
Method three allows the digital oscillators to be reassigned one at a time to process the respective portions of a newly played note. If reassigned rapidly enough (i.e. in microseconds) the sequential superposition of the new note portions will not be noticea~le to the listener.
Referring now to Figs. 7A and 7B, a logic flow diagram for a fourth method is shown. This method is very similar to method three, except that between the action 116 and the actionl36, two paths 134A, 134B and two actions 131A, 135A have been added. Starting at action 131A, method four finds the lowest priority digital oscillators and then follows path 134A to the action at 135A. The action at 135A finds the lowest amplitude digital oscillator from 1~9~

the lowest priority digital oscillators and then follows path 1~4B to the action at 135. From this point onward, method four is the same as method three described above.
These additional actions give method four all the advantages of method three, plus it has the additional advantage of prioritizing portions of the currently active notes according to musical importance. With method four, the most subtle portion of each complex note could be assigned the lowest priority and when a large number of notes are played in sequence, the subtle portions will be taken away to process new notes. However, since many notes are being played, the loss of the subtle portions of some of the notes will not be very noticeable to the listener.
Thus, there has been disclosed a new electronic musical instrument of the digital synthesi~er type which has a new method of reassigning digital 05Ci llators to process a newly depressed note. It i9 contemplated that other variations and modifications of the method and apparatus of applicants' invention will occur to those ~0 skilled in the art. A11 such variations which fall within the spirit and scope of the appended claims are deemed to be part of the present invention.

Claims (3)

1. In an electronic musical instrument of the wavetable type having a plurality of digital oscillators, a method for assigning one of the plurality of digital oscillators comprising the steps of:

a. sampling a plurality of keys to determine if one of the plurality of keys has been newly depressed;

b. associating with each newly depressed key a respective set of wavetable data;

c. determining a first number of digital oscillators of the plurality of digital oscillators required to process the set of wavetable data;

d. determining if the first number of digital oscillators required to process the set of wavetable data exceeds a second number of digital oscillators not currently active;

e. if the first number of digital oscillators does not exceed the second number of digital oscillators, assigning the set of waveform data to the first number of not currently active digital oscillators to process the set of wavetable data and returning to step a., otherwise proceeding to the next step;

f. searching the digital oscillators currently active for the digital oscillators with the lowest amplitude parameter; and g. changing the status of the digital oscillators with the lowest amplitude parameter to not currently active and returning to step d.
2. In an electronic musical instrument of the wavetable type having a plurality of digital oscillators, a method for assigning one of the plurality of digital oscillators comprising the steps of:

a. sampling a plurality of keys to determine if one of the plurality of keys has been newly depressed;

b. associating with each newly depressed key a respective set of wavetable data;

c. determining a first number of digital oscillators of the plurality of digital oscillators required to process the set of wave table data;

d. determining if the first number of digital oscillators required to process the set of wavetable data exceeds a second number of digital oscillators not currently active;

e. if the first number of digital oscillators does not exceed the second number of digital oscillators, assigning the set of waveform data to the first number of not currently active digital oscillators to process the set of wavetable data and returning to step a., otherwise proceeding to the next step;
f. searching the digital oscillators currently active for a third number of digital oscillators having the lowest power;

g. searching the third number of digital oscillators currently active for the digital oscillator with the lowest amplitude parameter; and h. changing the status of the digital oscillator with the lowest amplitude to not currently active and returning to step d.
3. In an electronic musical instrument of the wavetable type having a plurality of digital oscillator, a method for assigning one of the plurality of digital oscillators comprising the steps of:

a. sampling a plurality of keys to determine if one of the plurality of keys has been newly depressed;

b. associating with each newly depressed key a respective set of wavetable data having a plurality of portions;

c. determining a first number of digital oscillators of the plurality of the digital oscillators required to process the plurality of portions of wavetable data;

d. determining if the first number of digital oscillators required to process the set of wavetable data exceeds a second number of digital oscillators not currently active;

e. if the first number of digital oscillators does not exceed the second number of digital oscillators, assigning each portion of the wave form data to a respective one of the not currently active digital oscillators to process the set of wavetable data and returning to step a., otherwise proceeding to the next step;

f. searching the digital oscillators currently active for a digital oscillator having the lowest amplitude parameter;

g. changing the status of the digital oscillator having the lowest amplitude parameter to not currently active status;

h. assigning one of the assigned portions of the plurality of portions of the set of wavetable data to the not currently active digital oscillator; and i. reducing the first number of digital oscillators by one and if the first number of digital oscillators exceeds zero then return to step e.
CA000595723A 1989-03-29 1989-03-29 Reassignment of digital oscillators according to amplitude Expired - Lifetime CA1292895C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA000595723A CA1292895C (en) 1989-03-29 1989-03-29 Reassignment of digital oscillators according to amplitude

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA000595723A CA1292895C (en) 1989-03-29 1989-03-29 Reassignment of digital oscillators according to amplitude

Publications (1)

Publication Number Publication Date
CA1292895C true CA1292895C (en) 1991-12-10

Family

ID=4139859

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000595723A Expired - Lifetime CA1292895C (en) 1989-03-29 1989-03-29 Reassignment of digital oscillators according to amplitude

Country Status (1)

Country Link
CA (1) CA1292895C (en)

Similar Documents

Publication Publication Date Title
US4969385A (en) Reassignment of digital oscillators according to amplitude
US4294155A (en) Electronic musical instrument
US4681007A (en) Sound generator for electronic musical instrument
JP2641605B2 (en) Electronic musical instrument channel assignment device and channel assignment method
JPH04306697A (en) Stereo system
US5262581A (en) Method and apparatus for reading selected waveform segments from memory
CA1292895C (en) Reassignment of digital oscillators according to amplitude
JP2004317615A (en) Apparatus and method for resonance, and computer program for resonance
JPH06202654A (en) Electronic musical instrument
JP3530601B2 (en) Frequency characteristic control apparatus and frequency characteristic control method for musical tone signal
US5403969A (en) Electronic musical instrument of delayed feedback type
JP3530600B2 (en) Frequency characteristic control apparatus and frequency characteristic control method for musical tone signal
US6313388B1 (en) Device for adding fluctuation and method for adding fluctuation to an electronic sound apparatus
JP3706371B2 (en) Musical signal frequency characteristic control device and frequency characteristic control method
JP4306138B2 (en) Musical sound generator and musical sound generation processing program
JP3706372B2 (en) Musical signal frequency characteristic control device and frequency characteristic control method
JP2953217B2 (en) Electronic musical instrument
JP3338478B2 (en) Apparatus and method for generating fluctuation waveform of electroacoustic apparatus
JPH09230860A (en) Sound generation allocation device
JP2805672B2 (en) Tone generator
JPS62266596A (en) Electronic musical instrument
JP3090382B2 (en) Tone assigning device and tone generating device
JP3193131B2 (en) Electronic musical instrument
JP2000259152A (en) Sound source device
JP2003044050A (en) Musical sound generator and program for musical sound generation processing

Legal Events

Date Code Title Description
MKEX Expiry