US 3809789 A
Harmonic limiting is employed in an electronic musical instrument of the type wherein notes are produced by computing the amplitudes at successive sample points of a musical waveshape and converting these amplitudes to notes as the computations are carried out in real time. Each amplitude is computed by accumulating as many as W individually calculated waveshape discrete Fourier components. In accordance with the present invention, harmonic inhibit means are provided for limiting the Fourier components included in each amplitude computation only to those having frequencies below a certain value preferably within the normal human hearing range.
Claims available in
Description (OCR text may contain errors)
United States Patent [191 Deutsch [1 11 3,809,789 [451 May 7, 1 974  COMPUTOR ORGAN USING HARMONIC 3,610,799 l0/l97l Watson 84/].01 LIMITING 3,610,801 10/1971 Fredkin et al. 84/l. 03 3,696,201 l0/l972 Arsem .et al. 84/l.0l  In n a p s Sherman Oaks, 3,697,661 10/1972 Deutsch i. 84/l.0l
Calif. l v  Assignee: Nippon Gakki Seizo Kabushiki Primary Examifler Richard Wilkinson Kaisha Hamamatsu Japan 9 Assistant Examiner-Stanley J. Wrtkowskr Attorney, Agent, or F irm-F lam & Flam, Howard A.  Filed: Dec. 13, 1972 5111  Appl. No.: 314,681 7  ABSTRACT v Harmonic limiting is employed in an electronic rnusi- 2? 8 gg cal instrument of the type wherein notes areproduced 01 lo3l 11 1 12 by computing the amplitudes at successive sample 1 0 i points of a musical waveshape and converting these am litudes to notes as the computations are carried l E h l' d d b out mrea trme. ac amp ltu e 18 compute y accu-  References C'ted mulating as many as W individually calculated wave- UNITED STATES PATENTS shape discrete Fourier components. In accordance 3,639,913 2/1972 Watson 84/l.01 X with the present invention harmonic inhibit means 3,740,450 1973' L are provided for limiting the Fourier components in- 3,743,755 7/1973 Watson 84/].01 cluded in each amplitude computation only to those g; g E"' having frequencies below a certain value preferably 6U SC 6 3.. 1 3,515,792 6/1970 Deutsch 84/1.03 the nqrmal human hearmg rang? 19 Claims, 8 Drawing Figures AMPLITUDE ACCUMULATOR MULTIPLIER 55 cLEAn MEMORY ADDRESS IC" X (org); 5:
DECODER H'ARMONC l\=| 50 he ENAaLE/mmarr COEFF ENT 25 MEMORY \la ,6 HARMONIC INTERVAL cLEAR 36- 'ADDER i5 m gg ogo MEMORY CONVERTER GATE 27 ADDREeS CONTROL J I 25 I SOUND 3YSTEM NOTE INTERVAL ADDER GATE I REQUENCY (MonuLoM) FTJ NUMBER (a) 24 54 MEMORY \lo I I5- W h (C.l...( ,QA )....(C 37 (RESET) H HARMONIC- coum'El? Z "E355 35 4 w a 20 lNsTkumezN'T KEYBOARD 12 SWITCHES COMPUTOR ORGAN USING HARMONIC j LIMITING BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a system for reducing the computational rate requirements of an elec tronic musical instrument wherein tones are produced by computing the amplitudes at successive sample points of a complex waveshape and converting these amplitudes to musical sounds as the computations are carried out. The system limits the Fourier components calculated for each sample point to ones having a frequency below a selected value within the human hearing range.
Related Applications The present invention is related tothe inventors copending US. patent applications Ser. No. 225,883, filed on Feb. 14, 1972 entitled COMPUTOR ORGAN and No; 298,365, filed on Oct. 17, 1972 entitled COM- PUTOR ORGAN USING PARALLEL PROCESSING.
Description of the Prior Art using a stored set of harmonic coefficients which characterize the resultant waveshape. The calculations are carried out at a constant time rate regardless of the vnote fundamental frequency. One method of reducing the computational rate requirement in a computor organ of this type is set forth in the above mentioned US. patent application entitled COMPUTOR ORGAN USING PARALLEL PROCESSING. In that system,
different subsets of the Fourier components are computed in separate parallel processing channels. For ex-,
ample, in a computer organ wherein sixteen Fourier components are evaluated to obtain each sample point amplitude, the computational rate can be halved by concurrently calculating eight components in one processing channel and the other eight harmonics in asecnd, parallel channel.
An object of the present invention is to provide another approach for reducing the computational rate re- SUMMARY OF THE INVENTION In a computor organ of the type described, the musical waveshape is generated in real time. This advantageously (but not necessarily) is achieved by computing each sample point amplitude in a fixed time interval t,. All of the individual Fourier components are calculated within that interval. For accurate waveshape synthesis, the sample rate must be greater than the Nyquist frequencyf which is twice the frequency f;. 0f the highest Fourier component evaluated by the system. By way of example, the highest eight-foot pitch on a standard organ keyboard is C, which has a fundamental frequency f 2.093 kI-Iz. If 16 Fourier components are calculated to synthesize this tone, the highest frequency f evaluated by the organ corresponds to the sixteenth harmonic of C That is:
16f,,,= 16 2.093 kI-Iz) 33.488 kHz Accordingly, the Nyquist frequency f is:
' f 2 2r, 66.976 kHz This sets the upper limit for the computation interval t, as: I
z, s l/f I-Iowever, all of the individual harmonic calculations must be carried out-within this interval t Thus if sixteen Fourier components are evaluated in a single channel, each calculation must be performed in a clock time t =t l 16. Accordingly, the system computational clock rate f for a monophonic instrument is given by:
pedal notes to be played simultaneously, the computational clock rate f, is:
f,'=1z g 12 1.072 MHZ)= 12.859 MHZ This relatively high computational clock rate may be reduced significantly using the harmonic limiting system of the present invention. The system takes advantage of the fact that for notes in the fifth and sixth octaves, many of the higher harmonics are above the hearing range of the average listener. For example (see Table I below), the sixteenth harmonic .of the note C (the key of C in'octave 6).is 16.744 kI-l'zwhich is above the hearing range of .the'average adult. At C the sixteenth harmonic is 33.488 kHz, faroutside the normal hearing range. Accurate waveshape synthesis without significant loss of realism or fidelity can be achieved using only those harmonics having frequencies below some limit'within the hearing range of the typical listener. By excluding harmonic components above this limit from the wave-shape amplitude computations, the Nyquist frequency is reduced, with concomitant reduction in the system computational clock rate.
As an illustration, the waveshape amplitudes maybe computed using only those harmonics having a frequency below 12.9 kHz. As evident from Table I, all sixteen Fourier components will be included in the amplitude computations for each note up to and including G For these notes, the sixteenth harmonic has a frequency below 12.9 kHz- For G #5 only fifteen Fourier components will be included in the amplitude computation, since the sixteenth harmonic has a frequency and C the amplitude computations will be limited to the harmonics indicated in Table I. At C only six components will be employed to synthesize the wave shape, since the sixth harmonic has a frequency of 12.558 kHz and the seventh harmonic lies above 12.9
The Nyquist criteria discussed abovemay be applied to this illustration to determine the system clock rate requirements. Since the highest frequency component (the 13th harmonic of B evaluated by the system has a frequency fl; 12.841 kI-Iz, the computational clock rate f for a monophonic instrument is:
f 2 16f- (16) (12) (12.841 kl-lz)=4l0.9 kHz and the computational rate f for a twelve note (l( =12) polyphonic system is:
f. a 12f 4.930 MHz Thus for a computer organ in which the harmonic com ponents are limited to those below 12.9 kHz, the computational rate is reduced by a factor of about 2.66 as compared with a system wherein all sixteen harmonics are computed for every note up to C Clearly this represents a very significant reduction in the system computational rate, and permits the computor organ more readily to be implemented using presently available microelectronic integrated circuits.
- above 12.9 kHz. Similarly, forother notes between G D, 1174.7 18.795 11.747 10 D 1244.5 19.912 12.445 v F 148.0 23.680 11.840' 8 G, 1568.0 25.088 12.544 8 G 1661.2 26.579 11.628 7 A 1760.0 28.160 12.320 7 A 1864.7 29.835 11.188 6 B, 1975.5 31.608 11.853 6 C 2093.0 33.488 12.558 6 BRIEF DESCRIPTION or THE DRAWlNGS like numerals designate corresponding parts in the several figures.
FIG. 1 is an electrical block diagram of a computer organ employing harmonic limiting.
FIG. 2 is an electrical block diagram of a first embodiment of theharmonic inhibit logic utilized in the computor organ of FIG. 1.
FIG. 3 shows typical musical waveshapes generated by a computor organ employing the harmonic inhibit logic of FIG. 2.
FIG. 4 is a timing diagram illustrating inhibition of the Fourier component calculations during generation of the musical waveshapes illustrated in FIG. 3.
FIG. 5 is an electrical block diagram of an alternative embodiment of the harmonic inhibit logic utilized by the computor organ of FIG. 1. I
FIG. 6 shows typical musical waveshapes, generated using the harmonic inhibit logic of FIG. 5.
' FIG. 7 is atimingdiagram illustrating harmonic limit ing in a polyphonic computor organ. v
FIG. 8 is an electrical block diagram showing implementation of harmoniclimiting in a parallel processing computor organ.
DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description isof the best presently contemplated modes of carrying out the invention. This description is not to be taken in a limiting sense, but is made merely'for the purpose of illustrating the general principles of the invention since the scope of the invention best is defined by the appended claims.
. teristics are obviously inapplicable or unless specific exception is made. e
The computor organ 10 of FIG. 1 operates to produce via a sound system 11a musical note selected by the keyboard switches 12. This is accomplished by calculating the discrete Fourier components associated with amplitudes at successive sample points of a waveshape characterizing the selected note. The components are algebraically summed in an accumulator 13 which, at the end of each computation time interval t, contains the amplitude at the current sample point. This amplitude is provided via a gate 14, enabled by the 1, signal on a line 15, to a digital-to-analog converter 16 which supplies to the sound system 11 a voltage corresponding to the waveshape amplitude just computed. Co'mputation'of the amplitude at the next sample point subsequently is initiated, so that the analog voltage supplied from the converter 16 comprises a musical wavein a frequency number memory 17. The wave shape itself, and hence the tonal quality of the produced musical note, is established by a set of harmonic coefficients C stored in a memory 18 and used in computing the Fourier components at each sample point.
The waveshape amplitude X,,(qR) at each sample point is computed in accordance with the following discrete Fourier representation of a sampled periodic complex waveshape:
I. X (qR)=2 C sin nqR for q=1,2,3,
where R is the frequency number mentioned above, and n l,2',3,..'.,L designates the Fourier component being evaluated. The value n 1 corresponds to the fundamental, n 2 to the second harmonic, n 3 to the third harmonic, and so forth. The harmonic coeffcient C specifies the relative amplitude of the respective n' Fourier component.
The value W designates the maximum number of Fourier components included in any amplitude computation by the organ 10. In general, the use of 16 harmonics (W 16) is quite satisfactory for synthesizing pipe organ sounds. The number L specifies the number of Fourier components included in a specific amplitude computation. In accordance with the present invention, the number L will depend on which note is being generated. Appropriate harmonic inhibit logic 20, illustrative embodimentsof which are shown in FIGS. 2 and 5, limits the components only to those having frequencies below a preselected value preferably within the human hearing range. As discussed above, this reduces the computational rate requirements of the instrument 10.
The computor organ 10 of FIG. 1 implements equation 9 by computing the amplitude value X (qR) for each sample point during a time interval t,. The individual harmonic component amplitudes F"" C, sin (qr/W) nqR for each of the L harmonic components are calculated separately during successive time intervals i established by a clock 21 and a counter 22. At the first interval r the amplitude F of the first harmonic (n l) is calculated. This value F is placed in the accumulator 13. At the interval t the amplitude F of the second Fourier component is computed and added to the accumulator 13 contents. At time 2 the third harmonic amplitude F" is calculated and added to the accumulator 16. The number W of iterations of this routine is controlled by the harmonic inhibit logic 20 in cooperation with the counter 22. The routine is terminated when all Fourier components associated with the particular amplitude computation have been evaluated. Upon such termination, the algebraic sum contained in the accumulator 13 will correspond to the amplitude I 6 for the sample point designated by the value qR.
As noted earlier, the waveshape amplitude x (qR) in the accumulator '13 is gated to.-the digital-to-analog converter 16 at theend of the computation interval 1,. The accumulator 13 then is cleared by the signal on the line 15, and computation of the amplitude at the next sample point subsequently is initiated. The value qR is incremented and the L harmonic component amplitudes F are calculated for the sample point designated by the new value of qR. Eventually the entire waveshape will be generated, the sound system 11 reproducing the musical note as the amplitude computations are carried out..
In the system of FIG. 1, a note interval adder 23 contains the value qR identifying the sample point at which the waveshape amplitude currently is being evaluated. This value qR is incremented at the beginning of each computation interval t, by adding the selected frequency number R to the previous contents of the adder 23. The selected value R is supplied to the adder 23 via I clock pulse of a new cycle, the current value qR contained in the note interval adder23 is entered into the harmonic interval adder 25 via a line 26 and a gate 27. At each subsequent clock pulse t the value qR is added to the previous contents of the adder 25. As a result, the harmonic interval adder 25 will contain the value nqR, where n 1,2,...L for the n order harmonic component concurrently being evaluated. Preferably the harmonic interval adder 25 also is of modulo M.
An address decoder 28 accesses-from a sinusoid table 29 the value sin (iv/W) nqR corresponding to the argument nqR received via a line 30 from the harmonic interval adder 25. The sinusoid table 29 may comprise a read only memory storing values of sin (Ir/W) (b for 0 i d) 2W at intervals of D, where D is called the resolution constant of the memory.
The value sin (1r/W) nqR, supplied via a line 31, is multiplied by the-coefficient C" for the corresponding rl" harmonic by a multiplier 32. The multiplication product represents the amplitude F of the n'" harmonic component and is supplied via the line 33 to the accumulator 13. The appropriate coefficient C is accessed from the harmonic coefficient memory 18 by an address control unit 34 advanced by timing signals received from the counter 22 via a line 35. Readout from the harmonic coefficient memory 18 is inhibited by the harmonic inhibit logic 20 for those higher order Fourier components not included in a particular amplitude computation. This is facilitated via an enable/inhibit signal line 36.
FIG. 2 shows illustrative circuitry 20A useful as the harmonic inhibit logic 20 of FIG. 1. With this circuitry, each waveshape amplitude computation is performed in a fixed time interval t regardless of how many Fourier components are included in that computation. The interval t is established by the counter 22 which receives t pulses at the system clock rate f from the clock 21 via a line 37. The counter 22 preferably is of modulo l6, and produces on the lines 350 35d a fourbit binary'signal designating the respective calculation timing pulses i through t As indicated by the tim- .logic 20A on the correspondingly designated line. En-
coding circuitry 40 including the OR gates 41 46 and a one-of-ten to binary encoder 47 provide on the lines 48a 48d a signal specifying in binary code the highest Fourier component (L) to be included in the waveshape amplitude computation for that note.
At the beginning of each computation cycle, a flipflop 49 is set to l by the signal on the line 15. The l" output of the flip-flop 49 functions as an enable signal on the line 36 to the harmonic coefficient memory 18. Thus during the initial computation cycles r r the flip-flop 49 remains set to l the memory 18 is enabled, and calculation of the Fourier coefficients is not inhibited.
The computation pulses r t from the counter 22 are comparedwith the maximum harmonic designation signal (L) on the lines 48a 48d by a comparator 50. When coincidence occurs, indicating that the highest harmonic concurrently is being evaluated and that subsequent harmonics must be inhibited, an output signal is produced on the line 51 from the comparator 50. After a brief delay (less than an interval t provided by a delaycircuit 52, the coincidence output signal from the comparator 50 resets the flip-flop 49 to This terminates the enable signal on the line 36 and inhibits subsequent readout from the harmonic coefficient memory 18. As a result, on subsequent'calculation times when higher harmonics normally would be evaluated, the output of the harmonic coefficient memory 18 is zero. The output F of the harmonic amplitude multiplier 32 likewise is zero. The higher harmonics effectively are inhibited. I
The encoding circuitry 40 ofcourse is selected with reference to the highest harmonic (L) desired for each note being produced. Thus for the illustrative example of Table I, the signals provided on the lines 48a 48d will correspond to the binary representation of the value L listed in that table. For example, when the key G is selected,an input to theone-of-ten to binary encoder 47 occurs on the line 54. The encoder 45 produces on the lines 48a 48d a signal L 15. When the counter 22 reaches the time interval t the signal on the lines 35a 35d will be identical to that on the lines 45a 48d. As a result, the comparator 50 will produce a coincidence output, thereby resetting the flip-flop 49 and inhibiting readout from the harmonic coefficient memory during the time t (see FIG. 4). The sixteenth Fourier coefficient thus is not included in the amplitude computation.
Similarly, when the note A B or C is selected, the OR gate 46 provides an output on a line 55, causing the encoder 47 to provide on the lines 48a 48d the binary representation of the value L 6. The comparator 50 then will cause the flip-flop 49 to be reset'to 0" v 8 after t thereby effectively inhibiting calculation of the seventh through 16th Fourier components. 7 When any notebetween C and G is selected, the encoder circuitry 40 receives no input. Accordingly, the
signal (binary 0000) on the lines 480 48d will represent L 16. The flip-flop 49 will remain set at "-1 throughout the entire computation cycle and all sixteen harmonics will be calculated.
The harmonic coefiicient memory 18 and the memory address control 34 advantageously are implemented using a commercially available integrated circuit read-only-memory (ROM) such as the Signetics type 8223. This device includes address control circuitry which accepts a binary coded address like that provided on the lines 35, and automatically accesses I from the corresponding memory storage location a vword of up to eight bits. The same integrated circuit includes memory output enable/inhibit circuitry controlled by a chip enable input to which the line 36 (FIG. 2) may be connected. The actual .harmonic coefficient values stored in the memory 18 are of course a design choice which will depend on the desired tonal quality of the sound being produced by the organ 10. By way of example only, the following Table II lists typical harmonic coefficient values C which will produce a diapason-type organ sound. 7
TABLE II (DIAPASON),v
Value stored in memory [8 The one-of-ten 'to binary encoder 47 may comprise a conventional diode array having teninput lines and four, binary coded output lines. Such devices are shown in the standard text entitled Computer Logic by Ivan Flores, Prentice Hall, 1960 at Chapter 11.8. The counter 22 may be implemented using a Signetics type 8280 four-bit binary counter contained in a single integrated circuit chip. The comparator 50 may comprise a Signetics type 8269 integrated circuit four-bit comparator.
In an alternative version of the logic 20A, the encoding circuitry 40 maybe eliminated. The number L specifying the highest Fourier component to be computed for each note then may be stored in the memory 17 along with the corresponding frequency number R. When a note is selected at the switches 12, the associated L number will be accessed from the memory 17 and supplied via the lines 54a-54d directly to the comparator 50. The logic 20A will function as just described to limit harmonic production.
Using the harmonic inhibit logic 20A of FIG. 2, the
computer organ'10 of FIG. 1 will compute each sample point amplitude in a fixed time interval t regardless of how many Fourier components are included in that computation. This is reflected by the waveforms of FIG. 3, which indicate typical amplitude values supplied to the digital-to-analog converter 16 during production of the notes C F and G Although successive sample point amplitudes are computed at fixed time intervals t the number of points computed per period will differ for each note.
The system clock rate f. may have the minimum phonic system). In practice however, the clock rate will be selected slightly higher than the minimum value, to provide a safety factor S greater than 1.000 for the Nyquist criteria. To minimize the likelihood of producing undesirable beat notes or noise, this safety factor may be chosen to be slightly greater than 2 which is the interval between two adjacent tones in an equally tempered scale. For example, the safety factor may be selected as S I 2 1.082. Using this safety factor, the Nyquist frequency f-* and the clock rate f for a monophonic instrument system will be;
f,,,* sf (1.082) 2 12.841 kHz) =.27.797 kI-Iz (1.082) (410.9 kHz) 444.59
. 12 The clock 21 utilized with the logic 20A of FIG. 2 thus may have this frequency f,*. For such an embodiment, the waveshape amplitudes will be computed at successive fixed time intervals 1, l/f so that the number of sample points per period of the generated note will be given by:
points/period (period of note/computation interval) (1 For example, for note C (f 2.093 kHz) there will be f-*/f (27.797 kI-Iz)/(2.093 kHz) 13.3 points computed per period of the generated waveshape. Table III below includes a list of the points per period for other notes between C and C The frequency numbers R utilized with such a monophonic, single channel embodiment also are set forth in Table 111. These values are obtained from the following relationship:
For example, for C the frequency number is:
R [(16)(2.093 kHz)]/[27..797 kHz] 1.20474.
(Eq. In general, the frequency numbers R are non-integers. Thus the note interval adder 23 (FIG. 1) will not reset exactly to zero at the end of each period of the generated waveshape, but rather to a number which differs each period. Thus consecutive periods of the same note will have sample point amplitudes slightly different than those of the preceeding period. This effeet is beneficial in a polyphonic system since it provides decoupling when two notes are played simultaneously.
.TABLE III Note Frequency R Number Points Period C 2093.00 1.20474 8,, 1975.53 1.13712 14.1 A 1864.65 1.07330 14.9
' value given above in equation 7 (or in Eq. 8 for apply A 1760.00 1.01306 15.8 G 1661.22 .9562! 16.7 G, 1567.98 .90254 17.7 F 1479.98 .85188 18.8 F, 1396.91 .8040? 19.9 E 1318.51 .75894 21.1 D#, 1244.51 .71634 22.3 D 1174.66 .67614 23.7 C 1108.73 .63819 25.1 C, 1046.50 .60237 26.6 B 987.77 .56856 28.1 A 932.33 .53665 29.8 A 880.00 .50653 31.6 G 830.61 .47810 33.5 G 783.99 .45127 35.5 F 1 739.99 .42594 37.6 F, 698.46 .40203 39.8 E,, 659.25 .37947 42.2 .D 622.25 .35817 44.7 D,, 587.33 .33807 47.3 C 554.36 .31909 50.1 C,, 523.25 .30119 53.1
, harmonic inhibit logic of FIG. 1. In this embodi- 81 cooperate to gate onto the buss 66 the timing sigment, the counter 2212 provides a separate output on one of the sixteen lines designated t through t for each of the corresponding calculation times. The harmonic' coefficient memory 18b is implemented by a set of sixteen registers 61a 61p which store the respective harmonic coefficients C through C The memory address control 34b readily isimplemented by a set of gates 62a 62p each associated with the corresponding register 61a 61p and operated by the respective signals t t received from the counter 22. Thus when the first calculation timing signal t occurs, the gate 62a gates the coefficient C, from the register 61a via a buss 63 to the harmonic amplitude multiplier 32.
The harmonic inhibit logic 20B functions to reset the counter 22a after the highest desired Fourier component has been calculated. For example, if the key C is selected at the keyboard switches 12, the signal on the C line is supplied via an OR gate 64 to enable an AND gate 65. When the timing pulse 1 occurs, resulting in calculation of the sixth harmonic, the pulse r is gated via the AND gate 65 to a buss 66. After a delay of less than the time interval't provided by a delay circuit 67, the computation time interval pulse t, is generated. This resets the counter 22b and terminates the current waveshape amplitude computation. The seventh and higher Fourier components are not evaluated, and computation of the waveshape amplitude at the next sample point begins immediately. Eventually the waveshape C shown in FIG. 6 will be generated.
When using the circuitry 208 of FIG. 5, the duration t, taken to compute each amplitude sample point will not be a constant for all notes, but will depend 'on the number of Fourier components computed for each note. Thus, for example, when the note D #6 is selected, the signal providedvia an OR gate 68 will en able an AND gate 69. During calculation of the tenth harmonic, the signal t will be gated via the AND gate 69 onto the buss 66. This will cause termination of the amplitude computation cycle after evaluation of the first ten Fourier components, and immediately initiate computation of the next sample point amplitude. As a result, the generated D #6 Waveform will have the appearance shown in FIG. 6. Note that for D #8 each sample point interval has a duration t, 101 whereas for the C waveshape, the duration t 6t The various OR gates 70 74 and AND gates 75 nal t t appropriate for limiting harmonic generation for the selected note. I
For notes between C, and G all 16 harmonics are generated. In this instance, the t signal on the line 82 is supplied directly to the buss 66 to reset the counter 22b and terminate the computation'cycle'at the end of sixteen t intervals. As a result, (FIG. 6) the notes G and D and all others of lower fundamental frequency are generated with sample point intervals of equal length t, l'6t Of course, each of these notes G through C, will have a different number of sample points per'period. Y
Although only monophonic embodiments are illustrated in FIGS. 1 6, the invention is not so limited. Harmonic limiting thus can advantageously be employed in a polyphonic system, such as that described in the above identified patent application entitled COMPUTOR ORGAN. In such a polyphonic system, the waveshape amplitude supplied to the digital-toanalog converter is the sum of the separately computed amplitudes for each note of the chord being played. Such computation may be accomplished on a time sharing basis, as illustrated diagrammatically in FIG. 7 for a (K 3) polyphonic system in which three notes may be played simultaneously.
Referring to FIG. 7 each fixed computation interval t, includes three consecutive subintervals t,,, t,;, t during which the amplitudes for three notes are computed separately. Each of these subintervals includes 16 shorter intervals t during which the individual Fourier components associated with the respective notes are calculated. For example, if the chord C E 6,, is played, the C amplitude may be computed during the interval t,, and the E and G amplitudes computed during the i and t intervals respectively.
Harmonic limiting of the type described herein then may be utilized independently during each subinterval I I t to inhibit calculation of harmonics above the respective L value for the selected notes. Thus for the chord C E G the harmonic limiting circuitry will inhibit Fourier component calculation after evaluation of the L 12, L 9 and L 8 components respectively during the intervals t,, 1,, and t as indicated in FIG. 7.
FIG. 8 shows how harmonic limiting may be applied to a COMPUTOR ORGAN USING PARALLEL PRO- CESSING such as that shown in the above mentioned patent application Ser. No. 298,365. In the illustrated system 90, the odd-valued Fourier components (n 1,3,5,...) are calculated in a first processing channel 91, and the even harmonics (n 2,4,6,...) concurrently are calculated in a parallel processing channel 92. The individual components evaluated in the channels 91 and 92 are summed in an adder circuit 93 and supplied via a line 33' to an accumulator l3, digital-to-analog converter l6 and sound system 11 like that of FIG. 1. Note selection is memory 17' which supplies the selected R numbers via a line 94 to bothprocessing channels 91, 92.
The memory 17' may contain the L number itself, or some other coded designation associated with this L number. When a note is selected at the keyboard switches 12, the designation code is supplied via a line 95 to a harmonic limit memory 96 advantageously implemented by a Signetics type 8223 integrated circuit read-only-memory or like device. The designation code accomplished by keyboard or pedalswitches 12 cooperating with a frequency number.
rance of said comparator output.
causes the access control circuitry 96a to read out from the memory 96 the stored contents specifying the highest order odd (L,,,,,,) and highest order even (L Fourier component to be calculated. These values are 5 supplied via the respective lines 97, 98 to'appropriate comparators 99, 100 associated with the respective processing channels 91, 92. The comparator 99 compares the value L with a signal supplied via a line 101 indicating which component presently is being calculO lated in the channel 91.'Whe n coincidence is obtained,
1 nel 92.
By way of example, an arbitrary designation code 0001 "'may be stored in thememory 17 together with the R numbers associated with the notes .C-,, B, and A When one of these notes is played, the code 0001 will be supplied to the memory access control 96a, causing readout. from a certain storage location in the memory 96. This location advantageously contains the values L 5 and L 6. Accordingly, calculations in the channels 91 and 92 will be inhibited respectively 25 after evaluation of the 5" and 6" Fourier components,
exactly as required for the illustrative L values of Table I. Intending to claim all novel, useful and unobvious features shown or described, the inventor makes the following claims. I
30 I claim:
35 plitude being computed by individually calculating a set of constituent Fourier components of said waveshape, each Fourier component being calculated by multiplying a trigonometric function of the waveshape sample point by a harmonic coefficient value which esnent, said instrument providing a signal indicating which order Fourier component currently is being calculated, said calculated components beingcombined to obtain the waveshape amplitude at each sample point, musical notes being produced by converting said computed waveshape amplitudes for successive sample points to musical sounds as said computations are carried out, the improvement wherein said instrument includes note selection switches and harmonic inhibit logic for limiting the components in said set only to those having a frequency below a certain value within the normal human hearing range, said harmonic inhibit logic comprising:
circuitry providing, in response to switch selection of each note, a signal designating the highest order Fourier component to be calculated for that note,
a comparator for comparing said highe st-order- I designating signal and said order-indicating signal, and for providing an output when the compared signals are equal, inhibit circuitry for inhibiting calculation of higher order Fourier components in response tooccur- 2. A musical instrument according to claim 1 wherein said certain value is approximately 13 kHz, wherein.
said set normally includes the first sixteen Fourier comtablishes the relative amplitude of that Fourier compo ponents for each note-between C, and G andwherein said set includes. less than 16 Fourier components for each note between G #5 and C 3. A musical instrument according to claim 1 comprising:
a clock providing timing pulses t establishing the Fourier component calculation rate of said instrument,
a counter receiving said timing pulses t and establishing each amplitude computation regular time interval 1,, the count of said counter during each computation interval establishing which order Fourier component currently can be calculated by said instrument, said order-indicating signals being indicative of said count.
4. A musical instrument according to claim 3 wherein said amplitudes are computed digitally and are converted by a digital-to-analog converter, wherein said computation interval 1 is of fixed duration regardless of which note is being produced, wherein said digitalto-analog conversion occurs at the end of each interval 2,, and wherein for notes having inhibited Fourier components, the uninhibited components are calculated in a time interval less than t,.
5. In an electronic musical instrument of the type wherein the amplitudes at successive sample points of a musical waveshape are computed by individually calculating the waveshape discrete Fourier components and combining said components to'obtain each amplitude, said amplitudes being converted to musical notes as said computations are carried out, the Fourier components included in each amplitude computation being limited only to those having frequencies below a certain value, said instrument comprising:
a memory storing frequency numbers associated with each note and establishing the separation between successive amplitude sample points,
note selection means for accessing from said memory the frequency number associated with a selected note,
means for providing, in response to selection of a note, a signal designating the highest order L harmonic to be calculated for that note,
Fourier component evaluation circuitry, utilizing said associated frequency number, for calculating as many as W Fourier components for each amplitude computation, all W of said components being calculated and combined to obtain said amplitudes during production of each note for which the W'" component has a frequency below said certain value, said evaluation circuitry providing a signal indicating which Fourier component n currently is being calculated,
a comparator for detecting coincidence between the values n and L, and
harmonic inhibit logic, operative upon detection by said comparator of coincidence between the valuesn and L, for inhibiting calculation by said evaluation circuitry of Fourier components of order higher than L.
6. A musical instrument according to claim 5 wherein said certain value is within the normal human hearing range. f
7. A musical instrument according to claim 5 wherein said memory also stores a highest order harmonic designation code for eachnote, said harmonic inhibit logic being responsive to the designation code accessed from said memory together with said associated frequency number when a note is selected.
8. A musical instrument according to claim 7 wherein said code itself comprises said signal designating the value L.
9. A musical instrument according to claim 7 further comprising a harmonic limit memory containing certain L designating values, said code causing access from said harmonic limit memory of the L designating value associated with the selected note.
10. A musical instrument according to claim 5, said instrument being polyphonic and comprising:
like means for separately computing a note-related amplitude for each note played simultaneously, said note-related amplitudes being summed to obtain each waveshape amplitude, and harmonic inhibit logic operable separately to limit the Fourier components included in the computation of each note-related amplitude.
11. A musical instrument according to claim 5 v wherein different subsets of said Fourier components are calculated concurrently in separate parallel processing channels, said harmonic inhibit logic being operable separately to limit the Fourier components computed by each processing channel.
12. A musical instrument according to claim 5 including a clock for controlling the rate at which individual Fourier components are calculated by said evaluation circuitry, said rate being established by'the single highest frequency f,, of any uninhibited component included in the amplitude computation for any note, said rate being a multiple of the Nyquist frequency 2f,, times a safety factor S having a value greater than 1.000.
13. A musical instrument according to claim 12 wherein for a polyphonic instrument capable of simultaneously producing K notes, said multiple is K, and wherein for an instrument having P parallel processing channels, said multiple is III. I
14. A musical 1 instrument according to claimv 5 wherein each amplitude is computed within a fixed time interval t and further comprising a clock establishing identifiable calculation intervals within said interval t, during which certain of said components may be calculated by said evaluation circuitry, said harmonic inhibit logic being responsive to said identifiable calculation intervals and to said value L for inhibiting X qR)= nqR for n=1,2,3, .-L
V n =1 I I wherein L signifies the number of Fourier components included in each amplitude computation for a particular note, W is the maximum number of components included in the computation for any note produced by said instrument, C is the coefficient of the corresponding n'" Fourier component, and R is a number specifying the period of said waveshape, said first means comprising:
from said harmonic coefficient memory of the coa harmonic coefficient memory storing said harmonic coefficients C,,,
a memory containing a table of sinusoid values,
a frequency number memory containing values R for a selectable set of notes,
a keyboard including note selection switches, actuation of any keyboard switch causing access from said frequency number memory of the R value corresponding to the note selected by that actuated key,
harmonic component evaluation circuitry utilizing said harmonic coefficient memory and said table to calculate F F =C, sin 1r/W nqR for each Fourier component in accordance" with the accessed value R, and
an accumulator for algebraically summing the calculated values F and second means responsive to said first means for producing musical notes for said computed amplitudes, i
the improvement wherein for each produced note the value L is such that all of the Fourier components included in the amplitude computation have frequencies below some preselected frequency within the human hearing range, said improvement comprising:
harmonic inhibit logic responsive to actuation of at least some keyboard switches for inhibiting said harmonic component evaluation circuitry from calculating F"" for those Fourier components of the note selected by said actuated switch which are higher in frequency than said preselected frequency.
16. A musical instrument according to claim 15 wherein said frequency number memory stores values of R together with codes designating the value of L associated with each R value, and wherein actuation of each key causes access from said frequency number memory of the corresponding value R and of the L- designating code associated therewith, and
wherein said harmonic inhibit logic is responsive to efficients associated with Fourier components of order higher than L, thereby effectively preventing calculation by said evaluation circuitry of harmonics having frequencies above said preselected frequency.
17. A musical instrument according to claim 16 wherein said harmonic component evaluation circuitry calculates all W Fourier components for each note unless inhibited, wherein said harmonic inhibit logic comprises circuitry for detecting coincidence between the value L designated by said code and a signal indicating which Fourier component currently is being calculated by said evaluation circuitry, said harmonic inhibit logic inhibiting readout "from said harmonic coefficient memory for the remainder of each amplitude computation interval after detection of such coincidence.
l8. A musical instrument according toclaim 17 wherein each waveshape amplitude is computed in a fixed time interval 1, regardless of which note is being produced, said instrument including a clock and a counter cooperating therewith to establish said intervals I and wherein said Fourier component indicating signal is derivedfrom the timing output of said clock and counter. I i I 19. A musical instrument according to claim 15 wherein said evaluation circuitryprovides a signal indicating which order Fourier component currently is being evaluated, said harmonic inhibit logic including;
nents for the selected note.