Computor Organ

Deutsch

Patent Grant 3809786

U.S. patent number 3,809,786 [Application Number 05/225,883] was granted by the patent office on 1974-05-07 for computor organ. This patent grant is currently assigned to Deutsch Research Laboratories, Ltd.. Invention is credited to Ralph Deutsch.


United States Patent 3,809,786
Deutsch May 7, 1974
**Please see images for: ( Certificate of Correction ) **

COMPUTOR ORGAN

Abstract

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 C.sub.n and a selected frequency number R, generally a non-integer, establishing the waveshape period. The computations, preferably digital, occur at regular time intervals t.sub.x independent of the waveshape period. At each interval t.sub.x 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 C.sub.n sin.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. Attack, decay and other note amplitude modulation effects are obtained by programmatically scaling the harmonic coefficients. Foundation and mutation stops are implemented by appropriate selection of the stored harmonic coefficient values. Multiple voices are produced by adding the harmonic coefficients 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.


Inventors: Deutsch; Ralph (Sherman Oaks, CA)
Assignee: Deutsch Research Laboratories, Ltd. (Sherman Oaks, CA)
Family ID: 22846660
Appl. No.: 05/225,883
Filed: February 14, 1972

Current U.S. Class: 84/608; 84/617; 84/623
Current CPC Class: G10H 7/105 (20130101)
Current International Class: G10H 7/10 (20060101); G10H 7/08 (20060101); G10h 001/06 (); G10h 005/02 ()
Field of Search: ;84/1.01,1.03,1.24 ;340/172.5

References Cited [Referenced By]

U.S. Patent Documents
3639913 February 1972 Watson
3696201 October 1972 Arsem et al.
3697661 October 1972 Deutsch
3740450 June 1973 Deutsch
3743755 July 1973 Watson
3755608 August 1973 Deutsch
3763364 October 1973 Deutsch et al.
3515792 June 1970 Deutsch
3610799 October 1971 Watson
Primary Examiner: Wilkinson; Richard B.
Assistant Examiner: Witkowski; Stanley J.
Attorney, Agent or Firm: Flam & Flam

Claims



Intending to claim all novel, useful and unobvious features shown or

1. A musical instrument wherein the amplitudes at successive sample points of a musical waveshape are computed at certain regular time intervals, comprising:

a memory storing a set of harmonic coefficients each specifying the relative amplitude of a respective one of a set of sinusoidal harmonic components which constitute said musical waveshape,

means, operative during each regular time interval, for separately 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 accumulating said evaluated harmonic components to obtain the waveshape amplitude at each sample point, and

2. A musical instrument according to claim 1 further comprising;

means for selecting a number indicative of the interval between successive sample points,

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

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 for accessing from said table the sinusoid values corresponding to the arguments developed in said harmonic

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 of each computation and providing to said sound

5. In a musical instrument:

first means for computing 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 at a 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 sample point, and

means for providing musical notes from the waveshape amplitudes obtained in said accumulator means, and wherein said first means comprises:

note selection means for selecting a frequency number establishing the separation between successive sample points, said number thereby establishing the period of the resultant musical note,

a note interval adder, operative during each successive 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 designating the relative amplitude of each harmonic component,

a multiplier for multiplying each obtained trigonometric value by the corresponding relative amplitude value accessed from said harmonic coefficient memory, the products of such multiplication being the calculated harmonic component values which are added by said accumulator

6. A musical instrument comprising:

first means for computing at regular time intervals t.sub.x the amplitudes X.sub.o (gR) of a waveshape, where q is an integer incremented each time interval t.sub.x, in accordance with the relationship ##SPC4##

where n = 1,2,3,...W and W is the number of harmonic components defining said waveshape, C.sub.n is the coefficient of the corresponding n.sup.th harmonic component, and R is a number specifying the period of said waveshape, said first means comprising:

a memory storing said harmonic coefficients C.sub.n,

a sinusoid table comprising a memory storing the values of sin(.pi./W.phi. for 0.ltoreq..phi..ltoreq.2W at intervals of D where D is a resolution constant,

harmonic component evaluation circuitry utilizing said memory and said table to calculate F.sup.(n) =C.sub.n sin(.pi./W)nqR for each of the W harmonic components in accordance with a selected value R, and

an accumulator for algebraically summing the calculated values F.sup.(n), and

second means responsive to said first means for providing musical notes

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.sub.x, the contents of said note interval adder thereby representing gR,

sin calculation circuitry responsive to the contents of said note interval adder for calculating the term sin (.pi./W) nqR for n = 1,2,3...,W and

a harmonic amplitude multiplier for multiplying each such calculated term sin (.pi./W) nqR by the coefficient C.sub.n for the corresponding n.sup.th harmonic component, the products of such multiplication being supplied to

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 t.sub.x, for repetitively adding the value qR obtained from said note interval adder to the previous contents of said harmonic interval adder, the contents of said harmonic interval adder thereby representing nqR where n equals the number of such repetitive additions since the beginning of each time interval t.sub.x,

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

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

10. A musical instrument according to claim 9 wherein said memory address decoder rounds off the argument KnqR to address said sinusoid table

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 t.sub.x ' .ltoreq. t.sub.x

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.sub.H is the frequency of the highest musical note selectable by said note selection switches, wherein N.sub.H is the number of amplitudes X.sub.o (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.sub.o (qR) in a time interval t.sub.x = (1/N.sub.H fH).

14. A musical instrument according to claim 13 further comprising gating circuitry enabling said second means at each time interval t.sub.x = 1/N.sub.H f.sub.H) to convert said amplitude X.sub.o (qR) computed for the

15. A musical instrument according to claim 14, said instrument being monophonic, each of said amplitudes X.sub.o (qR) being computed in a time

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

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

18. A musical instrument according to claim 6 further comprising a scaler, cooperating with said first means, for scaling the values C.sub.n during

19. A musical instrument according to claim 18 wherein said scaler is operative to scale said values C.sub.n during successive periods of said

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

21. A musical instrument according to claim 20 further comprising means for

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

first and second stop tab switches for selecting respectively whether said first or second memory is used by said harmonic component evaluation

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

24. A musical instrument according to claim 6 further including transient control means, cooperating with said first means, for scaling 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

25. A musical instrument according to claim 24 wherein said program control circuitry accesses progressively increasing scale factors during the

26. A musical instrument according to claim 24 wherein said program control circuitry accesses progressively decreasing scale factors during the final

27. A musical instrument according to claim 26 further comprising keyboard switches, closure of any keyboard switch causing said first and second means to produce a note, said program control circuitry causing said first and second means to continue to produce said note after said switch is

28. 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 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 producing notes of like tonal quality but twice the fundamental frequency of notes produced by utilization of

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 improvement comprising:

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,

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.
Description



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 U.S. Pat. No. 3,515,792 entitled DIGITAL ORGAN. Such advantages include:

A. accurate, realistic simulation of any air driven organ pipe tone or other instrument sound such as 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;

D. simplified implementation of both foundation and mutation stops;

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, musical notes are produced by storing a digital representation of a waveshape characteristic e.g. 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. Attack and decay is provided by programmed division, or division and subtraction, of the read out amplitude or increment values.

An object 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 number R used in the Fourier computation to establish the period of the musical note. Preferably, the harmonic coefficients and the frequency numbers are stored in digital form, and the computations are carried out digitally.

In one embodiment, closure of an instrument keyboard 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 value related to the sample point. The harmonic component amplitudes are summed algebraically in an accumulator to 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 digital-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.

FIG. 1 is a block diagram of a monophonic computor organ in accordance with the present invention.

FIG. 2 is a program flow chart of the 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

The following detailed description is of 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 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 10 of FIG. 1 operates to produce via a sound system 11 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.sub.7, D.sub..sub.#6 or C.sub.6 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 t.sub.x, as plotted along the abscissa of FIG. 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.sub.n 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.sub.o (qR) at each sample point is computed in accordance with the following discrete Fourier representation of a sampled periodic complex waveshape: ##SPC1##

where R is the frequency number mentioned above, and n =1,2,3...,W=N/2 designates the harmonic component being evaluated.

As illustrated by FIG. 3A, n = 1 corresponds to the fundamental, n = 2 to the second harmonic, n = 3 to the third harmonic, and so forth. The harmonic coefficient C.sub.n specifies the relative amplitude of the respective n.sup.th harmonic component. For the tibia sound of FIG. 3A, the coefficient C.sub.3 will be slightly less than the coefficient C.sub.1, and all other coefficients will be 0. 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.

The circuitry 10 of FIG. 1 implements equation 1 by computing the amplitude value X.sub.o (qR) for each sample point during a time interval t.sub.x. The individual harmonic component amplitudes F.sup.(n) = C.sub.n sin (.pi./W) nqR for each of the W harmonic components are calculated separately during successive time intervals t.sub.c = t.sub.x /W as illustrated by the timing diagram of FIG. 3B. At the first interval t.sub.c = 1 the amplitude F.sup.(1) of the first harmonic (n = 1) is calculated. This value F.sup.(1) is placed in an accumulator 16 (FIG. 1). At the interval t.sub.c = 2 the second harmonic amplitude F.sup.(2) is computed and added to the accumulator 16 contents. In the case of the 8 feet tibia F.sup.(2) = 0. At time t.sub.c = 3 the third harmonic amplitude F.sup.(3) 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.sub.o (qR) for the sample point designated by the value qR.

At the end of the computation interval t.sub.x = Wt.sub.c the waveshape amplitude X.sub.o (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.sup.(n) are calculated for the sample point designated by the new value of qR. Eventually, the entire waveshape (FIG. 3) will be generated, the sound system 11 reproducing the musical note as the amplitude computations are carried out.

The computor organ 10 includes a clock 20 which provides timing signals t.sub.c on a line 21. A counter 22 provides an output for each N/2 pulses received from the clock 20; this output on the line 23 comprises a computation interval timing signal t.sub.x. The t.sub.x signal enables the gate 17 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 previous contents of a note interval adder 25. Initially the adder 25 may be empty, so that during the first computation cycle the note interval adder 25 contents will be qR = 1R. At the beginning of the next computation cycle the value R will be added to the previous contents (1R), so that the adder 25 will contain 2R. In general, the note interval adder 25 will contain the value qR identifying the sample point at which the waveshape amplitude currently is being evaluated.

The note interval adder 25 preferably comprises a conventional adder circuit of modulo N. When the sum in the adder 25 exceeds the value N the adder "resets" and begins summing again. As will become apparent, such resetting of the note interval adder 25 occurs near the end of each period of the generated waveshape. The gate 24 is enabled by the interval signal t.sub.x, thus the same value qR is present on a line 26 from the adder 25 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.sub.c. The harmonic interval adder 28 is cleared before each computation cycle, so that at time t.sub.c = 1 the contents of the harmonic interval adder 28 will be qR. For the second timing interval t.sub.c = 2 the adder 28 contents will be 2qR. Thus the harmonic interval adder 28 will contain the value nqR for the n.sup.th harmonic component currently being evaluated. Preferably the harmonic interval adder 28 also is of modulo N.

The value sin (.pi./W) nqR is obtained from a sinusoid table 29 under control of a memory address decoder 30. The sinusoid table 29 may comprise a read only memory storing values of sin (.pi./W) .phi. for 0.ltoreq..phi..ltoreq.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 (.pi./W) nqR corresponding to the argument nqR received from the harmonic interval adder 28.

The value sin (.pi./W) nqR, supplied via a line 32, is multiplied by the coefficient C.sub.n for the corresponding n.sup.th harmonic by a multiplier 33. The multiplication product represents the amplitude F.sup.(n) of n.sup.th harmonic component and is supplied via a line 34 to the accumulator 16.

The appropriate coefficient C.sub.n is accessed from the harmonic coefficient memory 15 by an address control unit 35 synchronized to the clock pulses t.sub.c. The memory 15 may comprise an end-around shift register containing the values C.sub.n in consecutive order and shifted by the control unit 35 upon each occurrence of a clock pulse t.sub.c.

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 in connection with FIG. 4 is initiated (block 44).

Block 43 -- Upon occurrence of the timing signal t.sub.x, 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.sub.x 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.sup.(1) of the first harmonic component.

Block 48 -- The timing pulse t.sub.c 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 (.pi./W) nqR in the sinusoid table 29.

Blocks 50 and 51 -- The clock pulse t.sub.c also increments the value of n in the counter 22 and causes the memory address control 35 to access from the memory 15 the coefficient C.sub.n associated with the n.sup.th harmonic.

Blocks 52 and 53 -- The harmonic amplitude multiplier 33 is used to calculate the amplitude F.sup.(n) of the n.sup.th 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.

Block 57 -- The contents of the accumulator 16, representing the amplitude value X.sub.o (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 musical notes produced by the computor organ 10, to the computation time interval t.sub.x, and to the number of amplitude sample points N for the note of highest fundamental frequency f.sub.H 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.sub.x given by t.sub.x = (1/Nf.sub.H) 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 contiguous notes in an equally tempered musical scale is 2. In general, the frequency numbers R for notes other than that of highest frequency f.sub.H will be non-integers.

By way of example, the following Table 1 lists the frequency, frequency number R, and number of sample points per period for each note in octave six. The note C.sub.7 (the key of C in octave 7) is designated as the note of highest fundamental frequency produced by the computor organ 10, and hence is assigned the frequency number R of unity. In this example, N = 32 sample points are computed for the note C.sub.7, 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 (Hz) - Points per Period C.sub.7 2093.00 1.0000 32.00 B.sub.6 1975.53 0.9443 33.90 A .sub.6 1864.66 0.8913 35.92 A.sub.6 1760.00 0.8412 38.06 G .sub.6 1661.22 0.7940 40.32 G.sub.6 1567.98 0.7494 42.72 F .sub.6 1479.98 0.7073 45.26 F.sub.6 1396.91 0.6676 47.95 E.sub.6 1318.51 0.6301 50.80 D .sub.6 1244.51 0.5947 53.82 D.sub.6 1174.66 0.5613 57.02 C .sub.6 1108.73 0.5298 60.41 C.sub.6 1046.50 0.5000 64.00

using the illustrative values of Table I, the computation time interval t.sub.x is 14.9 microseconds, as evaluated using t.sub.x = 1/Nf.sub.H. If W harmonic components are calculated for each sample point, then the frequency f.sub.c of the clock 20 is given by:

f.sub.c = 1/t.sub.c = W/t.sub.x = WNf.sub.H (2)

again using Table I, with W = N/2 = 16, the clock 20 will have a frequency of 1.072 MHz.

Since the frequency number R for most notes is a non-integer, the value nqR in general also will be a non-integer. 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 (.pi./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 II lists these values qR for the notes A.sub..sub.#6, G.sub.6 and C.sub.7 for several timing intervals between t.sub.x = 1 and t.sub.x = 45.

TABLE II

Computation qR Interval t.sub.x A .sub.6 G.sub.6 C.sub.7 1 0.8913 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 -- -- -- -- -- -- 31 27.6303 23.2314 31.0000 32 28.5216 23.9808 0.0000 33 29.4129 24.7302 1.0000 34 30.3042 25.4796 2 35 31.1955 26.2290 3 36 0.0868 26.9784 4 37 0.9781 27.7278 5 38 1.8694 28.4772 6 39 2.7607 29.2266 7 40 3.6520 29.9760 8 41 4.5433 30.7254 9 42 5.4346 31.4748 10 43 6.3259 0.2242 11 44 7.2172 0.9736 12 45 8.1085 1.7230 13.0000

for the fundamental or first harmonic (n = 1) the values of Table II 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.sub.7 is computed in exactly 32 intervals t.sub.x, as illustrated in FIG. 3. For the note C.sub.7, the modulo N note interval adder 25 "resets" exactly to zero at the interval t.sub.x = 32.

For notes having non-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 II it is apparent that for the first period of the note A.sub..sub.#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 period. This is illustrated in FIG. 3 for the note D.sub..sub.#6. The amplitude 59 at the first sample point (t.sub.x = 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 computor organ 10. Several harmonic coefficient memories 15a, 15b. . . 15d are provided, each containing a different set of coefficients C.sub.n. Appropriate stop tabs determine which coefficients are used in the waveshape amplitude 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.sub.b is closed, so that coefficients from the memory 15b 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.sub.a and the diapason stop tab ST.sub.b 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.

As an alternative, a separate memory may store coefficients producing a composite tone. Thus the memory 15c (FIG. 4) may store coefficients for a flute voice, the memory 15d contain values for a bourdon pipe, and the memory 15c' 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.sub.c is selected but the bourdon stop tab ST.sub.d is not selected, a gate 64 is enabled to supply the values C.sub.n from the memory 15c to the multiplier 33. A flute sound results. When only the bourdon stop tab ST.sub.d 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.sub.a, ST.sub.b with one or both stops ST.sub.c, ST.sub.d.

To simulate the inherent mechanical lag in initiating and ending the sound produced by an air 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.sub.n supplied to the multiplier 33 in programmed relationship to the number of periods of the generated note. In a pipe organ, the attack and decay duration each is approximately seven periods of the fundamental frequency of that note.

To initiate attack, a detection circuit 68 senses the closure of any keyboard switch 12 at the beginning of a note and provides an "attack" mode signal on a line 69. Scale factors of progressively increasing value are accessed from a memory 70 by a transient memory address control circuit 71 cooperating with an attack/decay 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.sub.n 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.sub.n 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 "decay" 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 seven period 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 of a 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 address control 71' receiving input from an attack/decay program control 76. the program control 76 establishes which attack or decay scale factor is supplied to a coefficient scaler 63b during any amplitude or harmonic component calculation. Scale factor selection may be a function of time, as established by a clock signal supplied on a line 77, may depend on how many note periods have been generated, as indicated by the line 73 period signal, or may be determined manually via an input 78. The control 76 might include a read only or random access memory containing a program directing generation of unusual amplitude effects.

In the embodiment of FIG. 5 the scaler 63b only modifies coefficients from a memory 15e selected by a stop tab ST.sub.e. The output of the scaler 63b may be combined in an adder 79 with the scaler 63 output (FIG. 4) for input to the harmonic amplitude multiplier 33. Alternatively, the scale factor memories 70', 75' 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 computer organ 80 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 computor 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 t.sub.x 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 t.sub.x 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 t.sub.x 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.sub.x, 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 t.sub.x.

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.sub.c (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 (.pi./W) nqR from a sinusoid table 29' for input to a harmonic amplitude multiplier 33'. Simultaneously, the appropriate coefficients C.sub.n are supplied to the multiplier 33' from a channel A harmonic coefficient memory 15A' enabled by a memory assigner 84 operated by the channel assigner 81. The multiplier 33' computes the harmonic component amplitudes F.sup.(n) for the channel A note and supplies these to the accumulator 16'.

Similarly, during the second half of each computation cycle, the values nqR for the channel B note are produced by the frequency number memory 14' and the units 24B, 25B, 27B and 28B. These nqR values are supplied via a line 32B and the channel gate 83 to the memory address decoder 30'. The corresponding values sin (.pi./W) nqR are provided to the multiplier 33', which simultaneously receives harmonic coefficients C.sub.n from a channel B harmonic coefficient memory 15B'. The computed harmonic component amplitudes F.sup.(n) for the channel B note are supplied by the multiplier 33' to the accumulator 16' in unison with the clock pulses t.sub.C (B) shown in FIG. 7.

The pulse t.sub.x (FIG. 7) enables the gate 17' to pass the composite waveshape amplitude from the accumulator 16' to the digital-to-analog converter 18'. The resultant musical sound reproduced by the sound system 11' is 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 t.sub.x may be the same as in the embodiment of FIG. 1. If the amplitudes for M notes are computed during each interval t.sub.x, the basic clock interval for the computor organ 80 is t.sub.c ' = t.sub.c /M where t.sub.c is as specificed for the computor organ 10. The clock 20' provides such pulses t.sub.c ' to the counter 22' which is of modulo (N/2 .times. M).

Appropriate outputs from the counter 22' provide the signals t.sub.c (A) and t.sub.c (B) used to time harmonic component calculations in the respective A and B channels. The counter 22' also provides outputs t.sub.x (A) and t.sub.x (B) (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 .times. M) clock times t.sub.c ', and provides a computation interval pulse t.sub.x upon such resetting.

Harmonic and mutation stops are easily mechanized in the inventive computor organ. A harmonics stop e.g., a 4', 2' or 1' tibia or diapason is characterized in that the note which must be sounded is an even harmonic of the depressed key. Thus, if the key B.sub.2 is selected with a 4' stop, the note which actually must be produced is (2 .times. B.sub.2) = B.sub.3. When a mutation stop (e.g. 2 2/3 foot flute or 1 3/5 foot diapason) is selected, the note sounded is not an even harmonic of the key which is depressed.

In the present invention, harmonic and mutation stops can be implemented by the use of appropriate harmonic coefficient values. Such a voice generation scheme is illustrated in Table III for a tibia tone. ##SPC2##

As indicated in FIG. 3A, the eight foot tibia voice consists of a fundamental and a third harmonic; only the coefficients C.sub.1 and C.sub.3 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.sub.2 and C.sub.6 are non-zero (see Table III). When this set is selected, depression of the B.sub.2 key will produce a B.sub.3 sound having tibia tonal quality, exactly as required. Similarly, a 2 foot tibia sound results from use of non-zero coefficients C.sub.4 and C.sub.12 with all other values of C.sub.n equal to zero.

A one foot tibia tone is achieved using a single non-zero coefficient C.sub.8. The third harmonic coefficient for the 1 foot tibia would be the value C.sub.24, which is not present in a sixteen harmonic (W=16) 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.sub.3 and C.sub.9 are non-zero and in which the coefficients C.sub.5 and C.sub.15 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 art. As indicated by the following Tables A and B, many of these items are available commercially as integrated circuit components. ##SPC3##

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed