US 3809786 A
Musical notes are produced in a computor organ or like musical instrument by computing the amplitudes at succesive sample points of a complex waveshape and converting these amplitudes to notes as the computations are carried out. A discrete Fourier algorithm is implemented to compute each amplitude from a stored set of harmonic coefficients Cn and a selected frequency number R, generally a non-integer, establishing the waveshape period. The computations, preferably digital, occur at regular time intervals tx independent of the waveshape period. At each interval tx the number R is added to the contents of a harmonic interval adder to specify the waveshape sample point gR, where g = 1,2,3.... For each point gR, W individual harmonic component values sin Cnsin pi /WngR are calculated, where n = 1,2,3..., W. These values are algebraically summed to obtain the waveshape amplitude, which is supplied to a digital-to-analog converter and a sound system for reproduction of the generated musical note.
Description (OCR text may contain errors)
United States Patent 1191.
ABSTRACT Musical notes are produced in a computer organ or Deutsch 1' May 7, 1974 COMPUTOR'ORGAN like musical instrument by computing the amplitudes  Inventor: Ralph Deutsch, Sherman Oaks at succesive sample points of a complex waveshape Calif I and converting these amplitudes to notes as the computations are carried out. A discrete Fourier algorithm  Assignee: Deutsch Research Laboratories, is implemented to compute each amplitude from a a v Oaks, Calif. stored set of harmonic coefficients C and a selected frequency number R, generally a non-integer, e'stab-  Flled' 1972 lishing the waveshape period. The computations, pref-  Appl. No.: 225,883 erably digital, occur at regular time intervals t, v independent of the waveshape period. At each interval 52 us. (:1. 84/1.0l, 84/103 It f F 3 idded f; if t a 51 Int. Cl. @1011 1/06, 01011 5/02 9 g? a f 3 e g f f wl e  Field of Search ..s4/1.01,1.03,1.24; PF 8 340/172.5 dividual harmomc component values sin C simT/WngR are calculated, where n 1,2,3..., W. [561 Cied 523231111 2 iinifitfli lifiiifi li $5231 2? $132521 1? UNITED STATES PATENTS analog converter and a sound system for reproduction llatsomuui 34(8):: of the generated musical note 3:697:66l 10i1972 Dz u t s hlfiihixilx: I: 84i1i01 Attack decay i other-note amplitude Q P 3,740,450 6/1973 Deutsch 84/].24 effects are obtamed y Programmamally scalmg the 3,743,755 7/1973 Watson 84/ 1.01 harmonic coefficients. Foundation and mutation stops 3,755,608 8/1973 Deutsch 84/1.01 are implemented by appropriate selection of the 3, ,3 /1 7 sch et al. 84/l.03 X stored harmonic coefficient values. Multiple voices areproduced by adding the harmonic coefficients atson associated with each selected stop. In a polyphonic system, time sharing and multiplexing may be used to calculate separately the sample point amplitudes for each selected note, these amplitudes being combined to reproduce the resultant musical sound. I
29 Claims, 9 Drawing Figures I T 12 unnnomc' l6 SIN 7 no, F in.) 0 v AMPLITUDE ACCUMULATOR 3 MULTIPLIER 64 CLEAR u/a MEMORY manna: 50 X0 (q 2' F m) n- DECODE HARMONIC n R L COEFFICIENT Memotzv V GATE I I7 28L unnmmc m'riinvm. CLEAR 2U ADDER I8 27 t I /2/ MEMORY x35 mswm. TO
GATE c ADDQE'S ANALOG CONTROL ,4 22 26' h 23 No'r: INTERVAL I] ADDER R 1 FREQUENCY k 25 Moouw N) NUMBER I4 .SOUND :aYSTEM 24 MEMORY to.) (an (0,) /U merrzumnwr uavnonrzn WITCH PATENTEDMAY 7 I974 SHLU 1 BF 6 7: AS NlwlvVoX U I UP. 30
COMPUTOR ORGAN I BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic 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.
2. Description of the Prior Art The advantages of digital waveshape generation in an electronic musical instrument are outlined in the inventor s US. Pat. No. 3,515,792 entitled DIGITAL OR- GAN. Such advantages include:
a. accurate, realistic simulation of any air driven organ pipe tone or other instrument sound such as v a piano, flute, horn, bell or string;
b. production of the same waveshape, and hence tonal quality, regardless of which note or octave is being played;
c. use of a single frequency standard which does not determine the waveshape of the produced note;
(I. simplified implementation of both foundation and mutation stops; 7
e. controlled selection of the attack and decay characteristics of the produced musical notes;
f. implementation of multiple voices without requiring additional oscillators or frequency standards;
g. all electronic operation; and
h. ease of construction using batch fabricated, digital microelectronic techniques.
In' the organ described in U.S. Pat. No. 3,515,792, musicalnotes are produced by storing a digital representation of a waveshape characteristic eg of an organ pipe tone, and repetitively reading out this stored waveshape at a selectable clock rate determining the fundamental frequency of the produced note. Stored in the waveshape memory are the actual amplitude values at a plurality of sample points, or the incremental difference in amplitude between successive sample points. A frequency synthesizer produces a clock signal at a rate determined by the note selected on the organ keyboard or pedals. The stored amplitudes or amplitude increments are read out of the memory repetitively at the selected clock rate (which differs for each note) to generate the selected musical tone. Attackand decay is provided by programmed division, or division and subtraction, of the read out amplitude or increment values.
Anobject of the present invention is to provide an electronic musical instrument wherein waveshape synthesis is accomplished in a manner totally different from that known in the prior art, yet exhibiting all of the above listed advantages of digital wave-shape generation.
SUMMARY OF THE INVENTION The foregoing objective is achieved by providing an electronic musical instrument wherein the sample point amplitudes of a complex waveshape are computed at regular time intervals, and the amplitudes converted to musical notes as the computations are carried out. A discrete Fourier algorithm is implemented to calculate the individual harmonic components at each sample point, using a stored set of harmonic coefficients which characterize the resultant waveshape. The computations are carried out at a constant time rate regardless of the note fundamental frequency. Depression of a manual or pedal key-causes selection of a frequency board switch causes the corresponding frequency number R to be added to the previous contents of a note interval adder to specify the sample point at which the amplitude is calculated. For each such sample point,
the amplitudes of W harmonic components are calculated individually by multiplying the coefficient associated with each harmonic by a sin valuerelated to the sample point. The harmonic component amplitudes are summed algebraically in an accumulatorto obtain the net amplitude at the sample point. The sample point amplitudes are converted to an analog voltage, as by a digital-to-analog converter, for input to a sound system which reproduces the musical note. The resultant sound has a tonal quality determined by the stored harmonic coefficient values, yet is produced without actual storage of a digital representation of a waveshape. The calculations are performed at a rate independent of the period of the produced note.
In a polyphonic system the amplitudes associated with two or more selected notes are computed independently on a time shared basis, then combined for input to the digitaI-to-analog converter. Foundation and mutation stops may be implemented by appropriate selection of the stored harmonic coefficient values. Multiple voices can be produced by adding the harmonic coefficients associated with each selected stop. Attack, decay and other note transient effects are obtained by programmatically scaling the harmonic coefficients used in the amplitude computations.
BRIEF DESCRIPTION OF THE DRAWINGS A detailed description of the invention will be made with reference to the accompanying drawings wherein like numerals designate like components in the several figures. I
FIG. 1 is a block diagram of a monophonic computor organ in accordance with the present invention.
' FIG. 2 is a program flow chart ofthe note generation algorithm employed in the present invention.
FIG. 3 shows typical musical waveshapes generated by the musical instrument of FIG. 1.
FIG. 3A illustrates the typical harmonic spectra of a tibia organ pipe tone.
FIG. 3B is a timing diagram illustrating computation of the wave-shape'amplitude at a sample point.
FIG. 4 is a block diagram of a computor organ embodiment having multiple voices and provision for attach and decay control .of each note.
FIG. 5 is a block diagram showing other means for obtaining programmed attack, decay or amplitude modulation of the produced musical notes.
FIG. 6 is a block diagram of a polyphonic electronic musical instrument in accordance with the present invention.
FIG. 7 is a timing diagram associated with the polyphonic system of FIG. 6.
DESCRIPTION OF THE PREFERRED EMBODIMENTS of the invention is best defined by the appended claims.
Structural and operational characteristics attributed to forms of the invention first described shall also be attributed to forms later described, unless such characteristics are obviously inapplicable or unless specific exception is made.
The computer organ l of FIG. I operates to produce via a sound system 1 1 a musical note selected by closing one of the keyboard switches 12. FIG. 3 illustrates typical musical waveshapes supplied to the sound system 11 via a line 13 when the keyboard switch associated with the musical note C D 6 or C respectively is selected. As described below, each waveshape is produced by computing the amplitude at successive sample points, and converting these amplitudes to tones as the computations are carried out.
The amplitude computations occur at regular time intervals I as plottedalong the abscissa ofFIG. 3. The period of the computed waveshape, and hence the fundamental frequency of the generated note, is established by a frequency number R selected by the keyboard switches 12. A set of such frequency numbers corresponding to the notes of the instrument is stored in a frequency number memory 14. The shape of the produced musical note .is established by a set of harmonic coefficients C, stored in a memory 15 and used in computing the amplitude at each sample point.
It is well known that a musical sound charcteristic of a particular instrument includes sinusoidal components at the fundamental and other generally harmonically related frequencies. The relative amplitudes of these components determine the tonal quality of the sound independent of the relative phase of the components. This is illustrated by the typical harmonic spectra of an eight foot tibia organ pipe shown in FIG. 3A. The characteristic tibia waveform includes a sinusoidal component at the fundamental frequency f and another sinusoidal'component of lesser amplitude at the third harmonic frequency 3f.
A musical signal reproduced by a sound system 11 having an amplifier and speaker generally consists of an analog voltage having a waveshape (i.e. voltage as a function of time) which is a super-position" or composite of the harmonic components of the corresponding sound. Such a complex waveshape may be described mathematically'in terms of its harmonic components by the well known Fourier equations. Since the 'human ear is insensitive to phase, a musical waveshape is adequately represented by Fourier representations having only sin or only cos terms.
In the present invention, the waveshape amplitude X,,(qR) at each sample point is computed in accordance with the following discretev Fourier representation of a sampled periodic complex waveshape:
1r Xo(qR)= 2 C sin nqR for q= 1,2,3,
and n =l,2,3...,W=N/2 designates the harmonic com- 'ponent being evaluated. e
As illustrated by FIG. 3A, n -1 corresponds to the fundamental, r; 2-to the second harmonic, n 3 to the third harmonic, and so forth. The harmonic coefficient C, specifies the relative amplitude of the respec tive n""harmonic component. For the tibia sound of FIG. 3A, the coefficient C will be slightly less than-the coefficient C and all other coefficients willbeO. The number W N/2 designates how many harmonics are included in the amplitude calculation. This number is a design choice, however the use of 16 harmonics (W 16 is quite satisfactory for synthesizing pipe organ sounds. g
The circuitry 10 of FIG. 1 implements equation 1 by computing the amplitude value X,,(qR) for each sample point during a time interval t The individual harmonic component amplitudes F" C sinv (1r/W) nqR for each of the W harmonic components are calculated separately during successive time intervals t t /W as illustrated by the timing diagram of FIG. 3B. At the first interval t 1 the amplitude F of the first harmonic (n I) is calculated. This value F is placed in an accumulator 16 FIG. 1). At the interval t 2 the second harmonic amplitude F is computed and added to the accumulator 16 contents. In the case of the 8 feet tibia F 0. At time I 3 the third harmonic amplitude F is calculated and added to the accumulator 16. This routine is iterated until all W harmonic components have been calculated; the resultant algebraic sum then contained in the accumulator 16 will correspond to the amplitude X,,(qR) for the sample point designated by the value qR.
At the end of the computation interval 1, Wt the waveshape amplitude X (qR) in the accumulator 16 is provided via a gate 17 to a digital-.to-analog converter 18. This converter 18 outputs a voltage on the line 13 corresponding to the waveshape amplitude just evaluated. Computation of the amplitude at the next sample point immediately is initiated- The value q is incremented and the W harmonic component amplitudes F"" are calculated for the sample point designated by the new value of R. Eventually, the entire waveshape (FIG. 3) will be generated, the sound system 11 reproducing the musical note as the amplitude computations are carriedout.
The computor organ 10 includes 'a clock 20 which provides timing signals z on a line 21. A counter 22 provides an output for each N/2 pulses received from the clock 20; this output on theline 23 comprises a computation interval timing signal t,. The I, signal enables the gate l7-and clears the accumulator 16 in preparation for the next amplitude computation.
- At the beginning of a computation cycle the'frequency number R selected by a depressed keyboard switch 12 and supplied via a gate 24 is added to the prethe end of each period of the generated waveshape.
The gate 24 is enabled by the interval signal t thus the same value qR is present on a line 26 from the adder throughout the computation cycle. This value qR, supplied via a gate 27, is added to the contents of a harmonic interval adder 28 at each clock time t The harmonic interval adder 28 is cleared before each computation cycle, so that at time t 1 the contents of the harmonic interval adder 28 will be qR. For the second timing interval t 2 the adder 28 contents will be 2qR. Thus the harmonic interval adder 28 will contain the value nqR for the n harmonic component currently being evaluated. Preferably the harmonic interval adder 28 also is of modulo N. The value sin ('n /W) nqR is obtained from a sinusoid table 29 under controlof a memory address decoder '30. The sinusoid table 29 may comprise a read only memory storing values of-sin(1r/W) d) for 0 qb s 2W at intervals of D, where D is called the resolution constant of the memory. The memory address decoder 30 accesses from the sinusoid table 29 the value sin (1r/W) nqR corresponding to the argument nqR received from the harmonic interval adder 28.
The value sin (rr/W) nqR, supplied via a line'32, is multiplied by the coefficient C for the corresponding 15 the coefficient C associated with the n'" harmonic.
Blocks 52 and 53 The harmonic amplitude multiplier 33 is used to calculate the amplitude F" of the n' harmonic component, which is added to the previous contents of the accumulator 16.
Block 54 A determination is made as to whether all N/ 2 harmonic components have been calculated. If not, the exit path 55 is taken back to the block 48 and the subroutine 46 is iterated for the next harmonic component. When all components have been evaluated, the path 56 is taken to the block 57.
n' harmonic by a multiplier 33. The multiplication product represents the amplitude F"" of n harmonic component and is supplied via a line 34 to the accumulator l6. i
The appropriate coefficient C, is accessed from the harmonic coefficient memory 15 by an address control unit 35 synchronized to the clock pulses t,. The memory 15 may comprise an end-around shift register containing the values C, in consecutive order and shifted by the control unit 35 upon each occurrence ofa clock pulse 2,.
The equation 1 algorithm implemented by the computor organ 10 is depicted in program flow chart form in FIG. 2. Referring thereto, at the beginning of each computation cycle a check is made block 41) to determine if a keyboard switch 12 is still selected. If so, the value n is reset to 0 (block 42) and the next computation cycle initiated at block 43. If a key is not still selected, a note decay operation described below inconnection with FIG. 4 is initiated (block 44).
Block-43 Upon occurrence of the timing signal t the frequency number R is gated to the note interval adder 25 to establish therein a new value of qR.
Block 45 The timing signal t, also clears the harmonic interval adder 28 and the accumulator 16. The subroutine 46 is entered for the first time via the path 47 to calculate the amplitude F of the first harmonic component.
Block 48 The timing pulse t gates the contents of .the note interval adder 25 to the harmonic interval adder 28 to obtain the new value of nqR.
Block 49 The memory address decoder 30 is used to look up the value sin (1r/W) nqR in the sinusoid table 29.
Blocks 50 and 51'- The clock pulse t also increments the value of n in the counter 22 and causes the memory address control 35 -to access from the memory Block 57 The contents of the accumulator 16, representing the amplitude value X (qR), is gated to the digital-to-analog converter 18; the path 58 is followed back to the block 41. If the key is still depressed, the entire routine 40 is repeated to calculate the waveshape amplitude at next sample point identified by the incremented value of qR. The frequency numbers R stored in the memory 14 are related to the fundamental frequencies of the musi- I cal notes produced by the computor organ 1.0, to the computation time interval 2,, and to the number of amplitude sample points N for the note of highest fundamental frequency f produced by the organ. For example, if the frequency number R for such note of highest frequency is selected as unity, then with a computation time interval t, given by 2 l/Nf exactly N sample point amplitudes will be computed for that note. The values R for notes of lower frequency readily can be ascertained, knowing that the frequency ratio of any two is In general, the frequency numbers R for notes other than that of highest frequency f will be nonintegers.
By way of example, the following Table 1 lists the frequency, frequency number R, and number of sample points per period foreach note in octave six. The note C (the key of C in octave 7) is designated as the note of highest fundamental frequency produced by the computor organ l0, and hence is assigned the frequency number R of unity. In this example, N 32 sample points are computed for the note C this value of N being satisfactory for accurate synthesis for an organ pipe or most other musical sounds,
. TABLE I Note Frequency R Number of Sample (H2) Points per Period C 2093.00 1.0000 32.00 8,, 1975.53 0.9443 33.90 A 8 1864.66 0.8913 35.92 A 1760.00 0.8412 38.06 G 8 1661.22 0.7940 40.32 G 1567.98 0.7494 42.72 F# 1479.98 0.7073 45.26
1318.51 0.6301 50.80 D 6 1244.51 0.5947 53.82 D 1174.66 0.5613 57.02 C 5 1108.73 0.5298 60.41 C, 1046.50 0.5000 64.00
Using the illustrative values of Table I, the computation time interval t is 14.9 microseconds, as evaluated using t, l/Nf If W harmonic components are calculated for each sample point, then the frequency 1, of the clock 20 is given by:
f 1/r,-= W/r, WNf
oetizguous notes in an equally tempered musical scale Again using Table I, with W N/2 1'6, the clock 20 will have a frequency of 1.072 MHz.
Since the frequency number R forv most notes is a non-integer, the value nqR in general also will be a noninteger. The sinusoid table 29 contains a set of sin values separated by the resolution constant D mentioned above. It may happen that a value nqR present in the harmonic interval adder 28 does not correspond exactly to a stored sin value. in such instance, the memory address decoder 30 may round off the value nqR so as to access from the sinusoid table 29 the closest stored sin value. Alternatively, the decoder 30 may access the next lower stored sin value, or the next higher such value. Of course, the smaller the resolution constant D, and hence the greater the number of entries in the sinusoid table 29, the smaller will be the round off error in evaluating sin (Tr/W) nqR.
Recall that at the beginning of each computation cycle, the frequency number R is added to the contents of the note interval adder 25 to obtain a new value qR. The following table 11 lists these values qR for the notes A G and C, for several timing intervals between t,=la ndt,=45.
TABLE II Computation -qR-- lnterval t, .A a G v l 01891.3 0.7494 1.0000 2 1.7826 1.4988 2.0000 3 2.6739 2.2482 3 4 3.5652 2.9976 4 5 4.4565 3.7470 5 6 5.3478 4.4964 6 For the fundamental or first harmonic (n'= 1) the values of Table 11 also represent the argument nqR for which the sinusoid table 29 is accessed. Thus these values determine the period or fundamental frequency of the generated waveshape. Thus the period of the note C is computedin exactly 32 intervals 1,, as illustrated in FIG. 3. For the note C the modulo N note interval adder 25 resets exactly to zero at the interval t ='32.
For notes havingnon-integer frequency members R, the note interval adder 25 will not reset exactly to zero, but rather to a number which differs each period. From Table 11 it is apparent that for the first period of the note A,# 6 the note interval adder 25 (if initially empty)-will contain 0.8913, but at the beginning of the second period will reset to 0.0868. Thus consecutive periods of the same note will have sample point amplitudes slightly different from those of the preceeding 'pe-. riod. This is illustrated in FIG. 3 for the note D The amplitude 59 at the first sample point (t, 54) of the second period differs from the amplitude computed at the first sample point of both the preceeding period and the succeeding period. This effect is beneficial since it provides decoupling? when two different notes are played simultaneously.
FIG. 4 shows implementation of multiple voicing in the computororgan 10. Several harmonic coefficient memories. 15a, 15b. 15d are provided, each containing a different set of coefficients C,,. Appropriate stop tabs determine which coefficients are used in the waveshapeamplitude computation, and hence establish the voice or tonal quality of the generated musical sound.
As an example, the harmonic coefficient memory 15a may contain coefficient values for generation of an 8' tibia tone, while the memory 15b may' have coefficients producing an 8' diapason sound. To select the diapason, the stop tab switch ST,, is closed, so that coefficient s from thememory lSb are supplied to the multiplier 33 via adders 61, 62 and a scaler 63 when accessed by the memory address control 35. If both the tibia stop tab ST and'the diapason stop tab ST are'selected, the coefficients from the memories 15a and 15b are algebraically summed by an adder 61 and supplied to the multiplier 33. The resultant waveshape will be characteristic of the combined tibia and diapason tones. 1
As an alternative, a separate memory may store coefficients producing a composite tone. Thus the memory 15c (FlG. 4) may store coefficients for a flute voice,
the memory 15d contain values for a bourdon pipe, and the memory 156' contain coefficients (equal to the sum of the values contained in the memories 15c and 15d) producing a combined flute and bourdon sound. When the flute stop tab ST, is selected but the bourdon stop tab ST -is not selected, a gate 64 is enabled to supply the values C from the memory 15c to the multiplier 33. A flute sound results. When only the bourdon stop tab ST -is selected, coefficients from the memory 15d are supplied via a gate 65 to the multiplier 33. When both the flute and bourdon stop tabs are selected, the gates 64 and 65 are disabled, and the coefficients defining the combined waveshape are supplied from the memory 15c via a gate 66 to the multiplier 33. Use of an adder 62- permits combination of one or both stops ST, ST,, with one or both stops ST ST,,.
To simulate the inherent mechanical lag ininitiating and ending the sound produced'by anair driven organ pipe, it is necessary to shape appropriately the rise (attack) and fall (decay) of each note. Circuitry 67 for achieving such amplitude control in the computor organ 10 also is shown in FIG. 4. The circuitry 67 functions to scale the harmonic coefficients C supplied to the multiplier 33 in programmed relationship to the number of periods of the generated note. 1n a pipe or-' gan, the attack and decay duration each is approxi- 1 accessed from a memory 70 by a transient memory address control circuit 71 cooperating with an attackldecay cycle counter 72. Occurrence of the 'attack? mode-signal on the line 69 resets the cycle counter 72 to zero. A signal supplied on a line 73 when the note interval adder 25 resets" advances the cycle counter 72 at the end of each waveshape period. The counter 72 and control 71 cause a different scale factor to be supplied from the attack memory 70 to the coefficient scaler during each successive period of the generated note. The scaler 63 multiplies each harmonic coefficient C by the currently supplied factor. As a result, the overall amplitude of the generated waveshape increases progressively from zero to maximum value during the attack period.
After seven note periods have been generated, the attack/decay cycle counter 72 will stop incrementing and the attack memory 70 will supply to the scaler 63 the value of unity. As a result, during the sustain'portion of the note being played, the coefficient scaler 63 will pass on to the multiplier 33 the unaltered values C supplied from the selected harmonic coefficient memory 15. When the keyboard switch 12 is released at the end of a note, the switch close-open detect circuit 68 will supply a fdecay" mode signal on the line 69. As a result, a decay hold control 74 will cause the frequency number memory 14 to continue to output the value R selected by the keyboard switch just released. Generation of the note will continue for a preselected number of periods established by the attack/decay cycle counter 72. During this decay duration, a memory 75 will supply decay scale factors to the coefficient scaler 63 under direction of the transient memory address control 71.
The memory 75 may supply scale factors progressively decreasing in value for each of seven periods of the generated waveform. At the end of these seven periods, the attack/decay cycle counter 72 and the decay hold control 74 will stop output of the frequency number R from the memory 14. This will terminate note generation at the end of the decay duration.
The attack and decay scale factors may be selected to provide unusual note amplitude effects. Moreover, the attack and decay durations need not be exactly sevenperiod of the produced note, but may be of longer or shorter. The attack/decay cycle counter might be replaced by other timing circuitry. Similar scale factor coefficient modification might be utilized during the sustain portion ofa note. The accessed scale factors may be constant during computation of all sample point amplitudes for a given waveform period, or may be of different value for successive sample point amplitude computations. The scale factors even may differ for calculation of different harmonic components at the same sample point. It may be desirable only to scale the harmonic coefficients associated with a particular voice. To accomplish this, output of the adder 62 (FIG. 4) may feed directly to the harmonic amplitude multiplier 33. The scale factors then may be utilized by a coefficient scaler 63a in circuit with the output of the particular harmonic coefficient memory 15a.
An alternative programmed amplitude control circuit is shown in FIG. 5. Referring thereto, the scale factor memories 70', 75 are accessed by a transient memory v stop tab ST,.. The output of the scaler 63b may be com-' bined in an adder 79 with the scaler 63 output (FIG. 4)
for input to the harmonic amplitude multiplier 33. Alternatively, the scale factor memories may be connected directly to the coefficient scaler 63 of FIG. 4.
The computer organ 10 of FIG. 1 is a monophonic instrument which can produce only one musical note at a time. A polyphonic computerorgan capable of playing two notes at a time is shown in FIG. 6. The system readily can be expanded to generate several (M) notes at once.
In the computer organ 80, certain of the amplitude computation circuitry is duplicated in the respective channels A and -B. When two keyboard instrument switches 12'are depressed at the same time, a channel assigner 81 allocates the channel A equipment to computation of one selected note, and assigns the channel B equipment to the other selected note. Waveform amplitude computations for each sample point are carried out on a time shared basis, as indicated by the timing diagram of FIG. 7. During the first half of each computation interval 2 the channel A note amplitude is computed and added to the accumulator 16'. The amplitude of the channel B note is computed during the second half of the interval 1, and also added to the accumulator 16. Thus at the end of-each computation cycle, the accumulator 16 contains an amplitude value equal to the sum of the amplitudes of each selected note at the same sample point. Upon occurrence of the I, timing pulse, this total amplitude is supplied via a gate 17' to a digital-to-analog converter 18 and sound system 11' corresponding to the like numbered units of the computer organ (FIG. 1).
Since there are many keyboard switches 12 and only two (in general, M) channels available for note computation, time division multiplexing is employed. A multiplexer 82 periodically scans all of the switches 12,a complete scan occurring in less time than the computation interval t and provides to the channel assigner 81 signals indicating which keys are selected. In turn, the channel assigner 81 directs the frequency number memory 14 to supply to channel A (during the first half of the computation cycle) the frequency number R for one selected note, and to supply the frequency number R for the other selected note to the channel B during the second half of the computation interval I Channel A incorporates a gate 24A, a note interval adder 25A, a gate "27A and a harmonic interval adder 28A all corresponding to the like numbered but unlettered components of the computer organ 10. These units cooperate to provide on a line 32A the appropriate value nqR for each harmonic component of the channel A note, such values occurring at the computation clock times t,( A) shown in FIG. 7.
A channel gate 83 operated by the assigner 81 directs these values nqR to a memory address decoder 30 which accesses the corresponding value sin rr/W) nqR from a sinusoid table 29 for input to a harmonic amplitude multiplier 33.. Simultaneously, the appropriate coefiicients C,, are supplied to the multiplier 33 from abled by a memory assigner 84 operated by the channel assigner 81. The multiplier 33 computes the harmonic component amplitudes F for the channel A note and that the note which must be sounded is an even harmonic of the depressed -key.'Thus, if the key B is selected with a 4 stop, the note which actually must be produced is (2 X B B When a-mutation stop (e.g.
supplies these to the accumulator 1 2 2/3 foot flute or IV 3/5 foot diapason) is selected, the
Similarly, during the Second 1 1f f each comPutanote sounded is not an even harmonic of the key which tion cycle, the values nqR for the channel B note are BF ,7 V
P y the q F y number memory and In the present invention, harmonic and mutation the units 273 and 283-11165? I Values a stops can be implemented by the use of appropriate supplied via a line 323 and e C e g e 83 I0 the IQ harmonic coefficient values. Such a voice generation memory addresidecoder 3 sorresponding h t1.. 1lutratsdinlablellltqratjb at ne,
TABLE 111 voice QM"- '(Tibia) l2 3456789101] 1213141516 l0lO0000O00*00 000 0 I 0 0 0 l 0 0 0 0 0 O 0 0 0 0 O 0. O 0 l 0 0 0 0 0 O 0 0 0, I 0
O 0 0 0 0 O O l 0 0 0 0 0 0 0 0 ues sin (rr/W) nqR' are provided to the multiplier 33,
which simultaneously receives harmonic coefficients C, from a channel B harmonic coefficient memory 15B. The computed harmonic component amplitudes F"" for the channel B note are supplied by the multiplier 33to the accumulator 16' in unison with the clock pulses t (B) shown in FIG. 7.
The pulse t, (FIG. 7) enables the gate 17 to pass the composite waveshape amplitude from the accumulator 16' to the digitaI-to-analog converter 18'. The resultant musical sound reproduced by the sound system llis a composite of the two (generally, N) simultaneously selected notes.
Timing pulses for the computer organ 80 are supplied by a clock 20' and a counter 22" (FIG. 6). The computation interval I, may be the same as in the embodiment of FIG. 1. If the amplitudes for M notes are computed during each interval t the basic clock interval for the computor organ 80 is t, t /M where I is asspecificed for the computor organ 10. The clock 20 provides such pulses 1,. to the counter 22' which is of modulo (N/2 X M).
Appropriate outputs from the counter 22 provide thesignals t,(A) and (B) used to time harmonic component calculations in the respective A and B channels. The counter 22' also provides outputs t (A) and 1 (8) (see FIG. 7) used to clear the harmonic interval adders 28A, 28B and to enable the gates 24A, 24B. The counter 22' resets at the end of each (N/2 X M) clock times t and provides a computation interval pulse t, upon such resetting.
Harmonic and mutation stops are easily mechanized in the inventive computor organ. A harmonics stop e.g., a 4 2' or I tibia or diapason is characterized in .As indicated'in FIG. 3A, the eight foot tibia voice consists of a fundamental and a third harmonic; only the coefficients C and C are non-zero. The 4 foot tibia voice has components at twice the freuqency of the 8 foot tibia and can be implemented by a set of coefficients wherein only C and C are non-zero (see Table III). When this set is selected, depression. of the B key will'produce a B soundhaving tibia tonal quality, exactly as required. Similarly, a 2 foot tibia soundresults from use of non-zero. coefficients C and C with all other values of C equal to zero. I I
A one foot tibia tone is achieved using a single nonzero coefficient C The third harmonic coefficient for the 1 foot tibia would be the value C which is not present in a sixteen harmonic (W=l6) system.
Table III also indicates that the 2 2/3 foot tibia and 1 3/5 foot tibia mutation stops can be implemented using coefficient sets respectively in which the values C and C are non-zero and in which the coefficients C and C are non-zero.
Various modifications of the computer organ disclosed herein should be apparent to those skilled in the art. For example, a Fourier algorithm utilizing only cosine components, or sin and cos components, might be employed. The table 29 then would contain cos, or sin and cos, values, rather than only sin values. While a digital mechanization has been disclosed, this is not necessary; the waveshape computations could be carried out in analog form.
The various components of the computer organ disclosed herein are conventional circuits well known in the digital computer artQAs indicated by the following Tables A and B, many of these items are available commercially as integrated circuit components.
TABLE A Reference in Component specification Conventional integrated circuit* (FIG. 1) (page! line) (or other reference) Remarks Frequency number 8/33 thru 9/2. (a) SIG 8223 field-programmable The stored values of R are memory 14; Table I. read only memory (ROM) [p. 37]. listed in Table I of (b) Tl SN5488A, SN7488A 256-bit specification. ROM Ip. 9-235].
(c) Also can be implemented using a tliudev urroy memory, as per US.
piilcnt N0. 3.377.5l3 to Ashby et u.
i TABLE X: Continued Reference in v specification (page! line) Component Conventional integrated circuit* (F IG. 1)
(or other reference) Remarks (a) SIG 826,0 arithmetic logic element [p. 37].
-(b) SIG 8268 gated full adder [p. 97].
(c) TI SN5483, SN7483 4-bit binary full adders [p. 9-271] (may be connected as shown in Flores Section tt-iau si Typigalcontents (qR) of adder I duringmciim listed in Table I of specification.
Note interval adder 11/59 thru 12/1 25. 16/25-29. Table Harmonic interval 12/6-14. Same as note interval adder 25.
Gates I7, 24, 27 TI SN5408, SN5409 quadruple AND gates [p. 6-17].
Sinusoid table 29 and 12/ 16-22 (roundoff, (a) TI TMS4405 sinusoid table and memory address 1571 123l. addressing circuitry. decoder 30. (b) TI TMS4400 ROM containing 512 words of 8-bits [p. 14-188] programmed to store sin values.
Roundoff, if required, may be implimented per Ledley section4-6.
Harmonic coefficient 13/2-5. /1-6.
memory 15 and Table III. FIG. memory address 3A. control Harmonic amplitude 12/24-28.
(a) May be implemented as shown in multiplier'33.
application sheet SIG catalog, p. 28 using SIG 8202 bufier registers and 8260 arithmetic element.
(b) Also can be implemented using SIG 8243 sealer [p.
Accumulator 16. 10/19-27. 14/7-8. (a) SIG 8268 or TI SN5483, SN7483 full adders connected as shown in Flores, section 11.1 Accumulators.
Counter 22 11/ 12-14. (a) SIG 828] sixteen-state binary counter [p. 123].
Clock 20 16/3-9. Any oscillator. Frequency is given in specification by Eq. 2.
*TI Iexas Instrument Co. (Page eferences are to the TI I ntegrated Circuits Catalog for Design Engineers, First Edition, January 1972). SIG=Signet|cs, Sunnyvale, California (Page references are to the SIG Digital 8000 Series TTL/MSI" catalog, copyright 1971).
Flores, Ivan, -Computer Logic Prentice-Hall, 1960. 2 d e rtQQisitalQawtet nd; E9l FBi G IL 1 M qr jjl 96 TABLE B Reference-in I specification Component (page/line) Conventional integrated circuit* Remarks Attack/decay scale factor mem- 20/ 10-13. 21/ 12,13. SIG 8223 field-programmable read ories 7Q, and address cononly memory [p. 37]. trol 71 (FIG. 4).
Coefficient scaler 63 (FIG. 4). 20/19-21. SIG 8243 scaler [p. 65].
v SIG 8230 thru 8235, 826610r 8267 Time division multiplexer 82. v
' digital multiplexers [p. 51, 55, 93].
Intending to claim all novel, useful and unobvious 0 means, operative during each regular time interval,
forseparately evaluating each of said harmonic components by multiplying the coefficient value for that harmonic component, accessed from said memory, by a sinusoid value associated with that component at each sample point, the argument of said sinusoid value being the product of a number designating said sample point times the order of said harmonic component,
means for selecting a number indicative of the intervalbetween successive sample points, 7
a note interval adder, operative each successive amplitude computation time interval, to add said selected number to the sum previously contained in said note interval adder, the resultant contents of said note interval adder representing said sample point designating number, and
means for obtaining said sinusoid values in response to the contents of said note interval adder, said sinusoid values being provided to said means for evaluating.
3. A musical instrument according to claim 2 wherein said means for obtaining comprises;
a-harmonic interval adder cleared before each amplitude computation time interval and operative during said time interval repeatedly to add the contents'of said note interval adder to the sum previously in said harmonic interval adder, the contents of said harmonic interval adder representing said arguments, a sinusoid table, and sinusoid table accessing circuitry foraccessing from said table the sinusoid values corresponding to the arguments developed in said harmonic interval adder. l 4. A musical instrument according to claim 1 wherein said computing is performed digitally and wherein said means for converting comprises a sound system and a digital-to-analog converter receiving said waveshape amplitudes at the end ofeach computation and providing to said sound system an analog signal corresponding to said waveshape.
5. In a musical instrument: first means forcomputing the generalized Fourier components of a periodic complex waveshape at successive sample points, said Fourier components being computed separately for each sample point, said computations occurring ata clock rate independent of the period'of said waveshape, accumulator means for algebraically adding, the component values computed by said first means to obtain the waveshape amplitude at said each samplepoint, and means for providingmusical notes from the waveshape amplitudes obtained in said accumulator means, and wherein said first means comprises: note selection means for selecting a frequency num-' ber establishing the separation betweensuccessive sample'points, said number thereby establishing the period of the resultant musical note, a note interval adder, operative during each succesv sive amplitude computation, to add said selected number of the sum previously contained in said note interval adder, the resultant contents of said note interval adder. representing the sample point for which said waveshape amplitude is computed,
means for obtaining a .trigonometric value, the argument of said trigonometric value being the product of the said sample point designated by the contents of said note interval adder times the order of said harmonic component,
a harmonic coefficient memory storing values desig- 5 nating the relative amplitude of each harmonic component, i
a multiplier for multiplying each obtained trigonometricvalue by the corresponding relative amplitude value accessed from said harmonic coefficient the calculated harmonic component values which are added by said accumulator means to obtain the sample point amplitudes.
6. A musicalinstrument comprising:
first means for computing at regular time intervals r, the amplitudes X, gR) of a waveshape, where q is an integer incremented each time interval 2;, in accordance with the relationship a w X.,(qR)= 2 0, sin 1 nqR where n l,2,3,...W andW is the number of harmonic components defining said waveshape, C is the coefficient of the corresponding n" harmonic component, and R is a ,number'specifying the period of said waveshape,
said first means comprising:
a memory storing said harmonic coefficients C a sinusoid table comprising a memory storing the values of s in (1r/W for ()2 2? at intervals of D where D is a resolution constant, harmonic component evaluation; circuitry utilizing said memory and said table to calculate F =C,, sin(1r/W)nqR for each of the 'W harmonic components in accordance with a selected value R, and I an accumulator for algebraically summingthe calculated values F and v second means responsive to said first means for providing musical notes from said computed amplitudes. 1 y 7, A musical instrument according to claim 6 wherein said harmonic component evaluation circuitry comprises;
a note interval adder for adding said selected value R to the previous contents of said note interval adder at the beginning of each time interval t,, the contents of said note interval adder thereby representing gR,
sin calculation circuitry responsive tothe contents of said note interval adder for calculating the term sin (Tr/W) nqR for n l,2,3...,W and i a harmonic amplitude multiplier for multiplying each such calculated term sin (rr/W) nq'R by the coefficient C for the corresponding n" harmonic component, the products of suchmultiplication being supplied to said accumulator.
. 8. A musical instrument according to claim 7 wherein said sin calculation circuitry comprises;
a harmonic interval adder, cleared at the beginning of each time interval 1,,- for repetitively adding the value qR obtained from said note interval adder to the previous contents of said harmonic interval ad-- thereby representing nqR where n equals the number of such repetitive additions since the beginning of each time interval,
memory, the products of such multiplication being.
der, the-contents of said harmonic interval adder wherein said sinusoid table memory is addressed by the argument KnqR where K is a constant, and
a memory address decoder for addressing said sinusoid table memory in response to the value nqR contained in said harmonic interval adder, to access from said sinusoid table'memory the corresponding stored value sin(1r/W)nqR.
9. A musical instrument according to claim 8 together with means for selecting a value R comprising a frequency number memory containing values of R associated with selectable musical notes, some of said R values being non-integers, wherein N represents the number of computed amplitude intervals per period of the highest selectable note, and wherein said note interval adder is modulo N.
10. A musical instrument according to claim 9 wherein said memory address decoder rounds off the argument KnqR to address said sinusoid table memory.
11. A musical instrument according to claim 6, said instrument being polyphonic, said first means using time sharing to compute the amplitudes for a plurality of selected notes, the number of said notes not to exceed M, each amplitude being computed in an interval s z /M.
12. A musical instrument according to claim 6 further comprising;
a frequency number memory storing values of R,
note selection switches, and
a multiplexer accessing from said memory, on a time shared basis for use by said first means for computing, values of R selected by said switches.
13. A musical instrument according to claim 12 wherein f is the'frequency of the highest musical note selectable by said note selection switches, wherein N is the number of amplitudes X,,(qR) computed by said first means per period of said highest musical note, and including a clock directing computation by said first means of each of said amplitudes X,,(qR) in a time interval [,st l/N fH).
14. A musical instrument according to claim 13 further comprising gating circuitry enabling said second means at each time interval I l/NnfH) to convert said amplitude X(qR) computed for the corresponding interval to a signal reproduceable as a musical sound.
15. A musical instrument according to claim 14,-said instrument being monophonic, each of said amplitudes XMqR) being computed in a time interval t ufn- I I 16. A musical instrument according to claim 6 wherein said memory and said table are digital devices in which said coefficients and values are stored in digital form, wherein said first means for computing functions digitally, and wherein said second means comprises a digital-to-analog converter.
17. A musical instrument according to claim 6 wherein note selection is accomplished by;
a frequency number memory storing selectable values of R, at least some of which are non-integers, chosen to produce notes in an equally tempered musical scale,
note selection switches, and
- circuitry for accessing from said frequency number memory the values of R selected by said switches for utilization by said first means for computing.
18. A musical instrument according to claim 6 further comprising a scaler, cooperating with said first means, for sealing the values C,, during computation of said waveshape.
19. A musical instrument according to claim 18 wherein said scaler is operative to scale said values C,, during successive periods of said computed waveshape to provide attack and decay of said musical notes.
20. A musical instrument according to claim 6 further comprising transient control means, cooperating with said first means. for scaling said harmonic coefficients as said coefficients are utilized in the individual harmonic component calculations.
21. A musical instrument according to claim 20 further comprising means for programming said scaling to provide attack and decay for said notes.
22. A musical instrument according to claim 6 wherein said first means comprises:
first and second memories respectively storing different sets of harmonic coefficients selected to produce notes of first and second tonal quality, and
20 first and second stop tab switchesfor selecting respectively whether said first or second memory is used by said harmonic component evaluation circuitry for waveshape amplitude computation.
23. A musical instrument according to claim 22 further comprising circuitry cooperating with said stop tab switches for providing to said harmonic component evaluation circuitry the combination of both sets of stored harmonic coefficients when both said first and second stop tab switches are actuated, said instrument thereby producing notes having the combined first and second tonal quality.
24. A musical instrument according to claim 6 further including transient control means, cooperating with said first-means, for sealing said harmonic coefficients as said coefficients are utilized in the individual Fourier component calculations, and transient control means comprising:
a scale factor memory,
program control circuitry operative during note production to access certain scale factors from said scale factor memory, and
a coefficient scaler for scaling said harmonic coefficients by amounts specified by said accessed scale factors, and for supplying the scaled harmonic coefficients to said harmonic component evaluation circuitry for utilization in the said Fourier component calculations.
25. A musical instrument according to claim 24 50 wherein said program control circuitry accesses progressively increasing scale factors during the initial sev-v eral periods of said produced note to implement attack.
26. A musical instrument according to claim 24 wherein said program control circuitry accesses progressively decreasing scale factors during the final several periods of said produced note to implement decay.
cessive sample points of that waveshape, said waveshape amplitudes being converted to musical signals as the computations are carried out, each waveshape amplitude being computed by individually calculating the constituent harmonic components of that musical waveshape and summing these harmonic components, the relative amplitudes of said harmonic components being established by a set of harmonic coefficients, the improvement comprising:
a first memory storing a first set of harmonic coefficients having non-zero values for harmonics of certain frequencies,
a second memory storing a second set of harmonic coefficients having non-zero values only for the harmonics of twice said certain frequencies,
a first stop tab switch and circuitry for providing said first set of harmonic coefficients to said generation means when said first stop tab switch is closed, and
a second stop tab switch and circuitry for providing said second set of ,harmonic coefficients to said generation means'when said second stop tab switch is closed, utilization of said second set of coefficients to compute said waveshape amplitudes pro ducing notes of like tonal quality but twice the fundamental frequency of notes produced by utilization of said first set.
29. In a musical instrument of the type including generation means wherein a musical waveshape is synthesized by computing in real time the amplitudes at successive sample points of that waveshape, said waveshape amplitudes being converted to musical signals as the computations are carried, out, each waveshape amplitude being computed by individually calculating the constituent harmonic components of that musical waveshape and summing these harmonic components, the relative amplitudes of said harmonic components being established by a set of harmonic coefficients, the
one memory storing one set of harmonic coefficients having non-zero values for harmonics of certain frequencies including the fundamental, said values being selected so that utilization of said one set of coefficients produces notes having the tonal quality of a particular 8 foot organ pipe,
another memory storing another set of harmonic coefficients having like, non-zero values only for the harmonics of i 2,3,4,5, or 8 times said certain frequencies, I
stop tab switches and circuitry for selectively providing said one or said other set of harmonic coefficients respectively to said generation means, utilization of said other set of coefficients to compute said waveshape amplitudes producing notes having said particular organ pipe tonal quality but of 4' feet, 2 2/3 feet, 2 feet, 1 3/5 feet; or 1 foot rank respectively for i= 2,3,4,5, and 8.
- UNITED STATES PATENT OFFICE CERTIFICATE OF CORRECTION Patent No. 809 786 D d May 7, 1974 Inventor(s) RALPH- DEUTSCH It is certified that error appears in the above identified patent and that said Letters Patent are hereby corrected as shown below:
In the Abstract, second column, line 13, change gR to qR,
- both occurrences;
same line, after "where" changeg to q;
line 15, correct the formula to read C sin n/W)n qR; 1
Claim 6, column 16, line 16 chan ge X (gR) to X- (qR) line 30, correct the formula to read sinhr/W) 1);
line 49, change gR to qR;
Claim 13, column l7, line 40, correct the formula to read t sl/ (N f Claim 14, column l7, line 43 correct the formula to read t =l/ (NHfH) r Claim 15, column l7, lines 49 and 50 correct the formula to read t =l/ (N f v Claim 24 column 18 line 37 change "and" to -said; Claim 29, column 20, line 4, after "carried" delete the comma.
Signed and sealed this 3rd day ofllecgamlaer: 1974.
(SEAL) Arrest: I
McCOY M. GIBSON JR; -c. MARSHALL DANN Arresting Officer 4 Commissioner of Patents FORM PO-105 0 (10-69) USCOMWDC 603mm" I LLS. SOVERNMENT PRINTING Oi'FlCE: I969 O-366-33 UNITED STATES PATENT OFFICE. CERTIFICATE OF CORRECTION lhnmht No. 3 809 786 a Dated May 7, 1974 Inventor(s) RALPH DEUTSCH It is certified that error appears in the above -ide'ntified-patent and that said Letters Patent are hereby corrected as shown below:
Ih the Abstract, second column, line 13, change gR to qR,
both occurrences; f
sameline, after "where" change g to q;
' line 15, correct the formula to read C sin(w/W)nqR; v
Claim 6, column l6, line 16 change X (gR) to x flqR);
line 30, correct the formula to read sin(v/W); 1
-line 49, change gR to qR;
Claim 13, column 17, line 40, correct the formula to read t Sl/(N f 7 Claim 14, column 17, line 43 correct the formula to read t =l/ (NHf Claim 15, column 17, lines 49 and 50 correct the formula to read t =l/(NHfH); Y
Claim 24, column 18, line 37 change laud" to+said;
Claim 29, column 20, line 4, after "carried" delete the comma,
Signed ahd sealed this 3rd day of December 1974.
McCOY M. mason JR.. 4c. MARSHALL DANN Attesting Officer Commissioner of Patents F ORM PO-1OSO (10-69) usco M-oc scan-ps9 LL54 GOVERNMINT PRINTING OFFICE I959 0-366-334