Computor Organ Using Harmonic Limiting

Deutsch May 7, 1

Patent Grant 3809789

U.S. patent number 3,809,789 [Application Number 05/314,681] was granted by the patent office on 1974-05-07 for computor organ using harmonic limiting. This patent grant is currently assigned to Nippon Gakki Seizo Kabushiki Kaisha. Invention is credited to Ralph Deutsch.


United States Patent 3,809,789
Deutsch May 7, 1974

COMPUTOR ORGAN USING HARMONIC LIMITING

Abstract

Harmonic limiting is employed in an electronic musical instrument of the type wherein notes are produced by computing the amplitudes at successive sample points of a musical waveshape and converting these amplitudes to notes as the computations are carried out in real time. Each amplitude is computed by accumulating as many as W individually calculated waveshape discrete Fourier components. In accordance with the present invention, harmonic inhibit means are provided for limiting the Fourier components included in each amplitude computation only to those having frequencies below a certain value preferably within the normal human hearing range.


Inventors: Deutsch; Ralph (Sherman Oaks, CA)
Assignee: Nippon Gakki Seizo Kabushiki Kaisha (Hamamatsu, JA)
Family ID: 23220984
Appl. No.: 05/314,681
Filed: December 13, 1972

Current U.S. Class: 84/608; 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.11,1.12,1.19-1.24

References Cited [Referenced By]

U.S. Patent Documents
3639913 February 1972 Watson
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
3610801 October 1971 Fredkin et al.
3696201 October 1972 Arsem et al.
3697661 October 1972 Deutsch
Primary Examiner: Wilkinson; Richard B.
Assistant Examiner: Witkowski; Stanley J.
Attorney, Agent or Firm: Flam & Flam

Claims



1. In a musical instrument of the type wherein the amplitudes of a waveshape are computed for successive waveshape sample points at certain regular time intervals from stored harmonic coefficient values, each amplitude being computed by individually calculating a set of constituent Fourier components of said waveshape, each Fourier component being calculated by multiplying a trigonometric function of the waveshape sample point by a harmonic coefficient value which establishes the relative amplitude of that Fourier component, said instrument providing a signal indicating which order Fourier component currently is being calculated, said calculated components being combined to obtain the waveshape amplitude at each sample point, musical notes being produced by converting said computed waveshape amplitudes for successive sample points to musical sounds as said computations are carried out, the improvement wherein said instrument includes note selection switches and harmonic inhibit logic for limiting the components in said set only to those having a frequency below a certain value within the normal human hearing range, said harmonic inhibit logic comprising:

circuitry providing, in response to switch selection of each note, a signal designating the highest order Fourier component to be calculated for that note,

a comparator for comparing said highest-order-designating signal and said order-indicating signal, and for providing an output when the compared signals are equal,

inhibit circuitry for inhibiting calculation of higher order Fourier

2. A musical instrument according to claim 1 wherein said certain value is approximately 13 kHz, wherein said set normally includes the first sixteen Fourier components for each note between C.sub.1 and G.sub.5, and wherein said set includes less than 16 Fourier components for each note between

3. A musical instrument according to claim 1 comprising:

a clock providing timing pulses t.sub.cp establishing the Fourier component calculation rate of said instrument,

a counter receiving said timing pulses t.sub.cp and establishing each amplitude computation regular time interval t.sub.x, the count of said counter during each computation interval establishing which order Fourier component currently can be calculated by said instrument, said

4. A musical instrument according to claim 3 wherein said amplitudes are computed digitally and are converted by a digital-to-analog converter, wherein said computation interval t.sub.x is of fixed duration regardless of which note is being produced, wherein said digital-to-analog conversion occurs at the end of each interval t.sub.x, and wherein for notes having inhibited Fourier components, the uninhibited components are calculated in

5. In an electronic musical instrument of the type wherein the amplitudes at successive sample points of a musical waveshape are computed by individually calculating the waveshape discrete Fourier components and combining said components to obtain each amplitude, said amplitudes being converted to musical notes as said computations are carried out, the Fourier components included in each amplitude computation being limited only to those having frequencies below a certain value, said instrument comprising:

a memory storing frequency numbers associated with each note and establishing the separation between successive amplitude sample points,

note selection means for accessing from said memory the frequency number associated with a selected note,

means for providing, in response to selection of a note, a signal designating the highest order L harmonic to be calculated for that note,

Fourier component evaluation circuitry, utilizing said associated frequency number, for calculating as many as W Fourier components for each amplitude computation, all W of said components being calculated and combined to obtain said amplitudes during production of each note for which the W.sup.th component has a frequency below said certain value, said evaluation circuitry providing a signal indicating which Fourier component n currently is being calculated,

a comparator for detecting coincidence between the values n and L, and

harmonic inhibit logic, operative upon detection by said comparator of coincidence between the values n and L, for inhibiting calculation by said

6. A musical instrument according to claim 5 wherein said certain value is

7. A musical instrument according to claim 5 wherein said memory also stores a highest order harmonic designation code for each note, said harmonic inhibit logic being responsive to the designation code accessed from said memory together with said associated frequency number when a

8. A musical instrument according to claim 7 wherein said code itself

9. A musical instrument according to claim 7 further comprising a harmonic limit memory containing certain L designating values, said code causing access from said harmonic limit memory of the L designating value

10. A musical instrument according to claim 5, said instrument being polyphonic and comprising:

like means for separately computing a note-related amplitude for each note played simultaneously, said note-related amplitudes being summed to obtain each waveshape amplitude, and harmonic inhibit logic operable separately to limit the Fourier components included in the computation of each

11. A musical instrument according to claim 5 wherein different subsets of said Fourier components are calculated concurrently in separate parallel processing channels, said harmonic inhibit logic being operable separately

12. A musical instrument according to claim 5 including a clock for controlling the rate at which individual Fourier components are calculated by said evaluation circuitry, said rate being established by the single highest frequency f.sub.h of any uninhibited component included in the amplitude computation for any note, said rate being a multiple of the Nyquist frequency 2f.sub.h times a safety factor S having a value greater

13. A musical instrument according to claim 12 wherein for a polyphonic instrument capable of simultaneously producing K notes, said multiple is K, and wherein for an instrument having P parallel processing channels,

14. A musical instrument according to claim 5 wherein each amplitude is computed within a fixed time interval t.sub.x, and further comprising a clock establishing identifiable calculation intervals within said interval t.sub.x during which certain of said components may be calculated by said evaluation circuitry, said harmonic inhibit logic being responsive to said identifiable calculation intervals and to said value L for inhibiting

15. In an electronic musical instrument of the type having:

first means for computing during consecutive time intervals the amplitudes X.sub.o (qR) of a waveshape, where q is an integer incremented each time interval, in accordance with the relationship ##SPC3##

wherein L signifies the number of Fourier components included in each amplitude computation for a particular note, W is the maximum number of components included in the computation for any note produced by said instrument, C.sub.n is the coefficient of the corresponding n.sup.th Fourier component, and R is a number specifying the period of said waveshape, said first means comprising:

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

a memory containing a table of sinusoid values,

a frequency number memory containing values R for a selectable set of notes,

a keyboard including note selection switches, actuation of any keyboard switch causing access from said frequency number memory of the R value corresponding to the note selected by that actuated key,

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

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

second means responsive to said first means for producing musical notes for said computed amplitudes,

the improvement wherein for each produced note the value L is such that all of the Fourier components included in the amplitude computation have frequencies below some preselected frequency within the human hearing range, said improvement comprising:

harmonic inhibit logic responsive to actuation of at least some keyboard switches for inhibiting said harmonic component evaluation circuitry from calculating F.sup.(n) for those Fourier components of the note selected by said actuated switch which are higher in frequency than said preselected

16. A musical instrument according to claim 15 wherein said frequency number memory stores values of R together with codes designating the value of L associated with each R value, and wherein actuation of each key causes access from said frequency number memory of the corresponding value R and of the L-designating code associated therewith, and

wherein said harmonic inhibit logic is responsive to the accessed L-designating code and inhibits access from said harmonic coefficient memory of the coefficients associated with Fourier components of order higher than L, thereby effectively preventing calculation by said evaluation circuitry of harmonics having frequencies above said

17. A musical instrument according to claim 16 wherein said harmonic component evaluation circuitry calculates all W Fourier components for each note unless inhibited, wherein said harmonic inhibit logic comprises circuitry for detecting coincidence between the value L designated by said code and a signal indicating which Fourier component currently is being calculated by said evaluation circuitry, said harmonic inhibit logic inhibiting readout from said harmonic coefficient memory for the remainder of each amplitude computation interval after detection of such

18. A musical instrument according to claim 17 wherein each waveshape amplitude is computed in a fixed time interval t.sub.x regardless of which note is being produced, said instrument including a clock and a counter cooperating therewith to establish said intervals t.sub.x, and wherein said Fourier component indicating signal is derived from the timing output

19. A musical instrument according to claim 15 wherein said evaluation circuitry provides a signal indicating which order Fourier component currently is being evaluated, said harmonic inhibit logic including;

circuitry, responsive to actuation of said certain keyboard switches, for providing a signal specifying the value L for the note selected by the actuated key,

a comparator for comparing said L-specifying signal and said order-indicating signal, said comparator providing an output when the compared signals are the same, and

means, responsive to said comparator output, for inhibiting calculation of higher order Fourier components for the selected note.
Description



BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to a system for reducing the computational rate requirements of 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. The system limits the Fourier components calculated for each sample point to ones having a frequency below a selected value within the human hearing range.

Related Applications

The present invention is related to the inventor's copending U.S. patent applications Ser. No. 225,883, filed on Feb. 14, 1972 entitled COMPUTOR ORGAN and No. 298,365, filed on Oct. 17, 1972 entitled COMPUTOR ORGAN USING PARALLEL PROCESSING.

Description of the Prior Art

A unique method of digital waveshape generation in an electronic musical instrument is disclosed in the above mentioned U.S. patent application entitled COMPUTOR ORGAN. Therein, waveshape synthesis is accomplished by computing the sample point amplitudes of a complex waveshape at regular time intervals, and converting these amplitudes to musical notes as the computations are performed in real time. 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 calculations are carried out at a constant time rate regardless of the note fundamental frequency. One method of reducing the computational rate requirement in a computor organ of this type is set forth in the above mentioned U.S. patent application entitled COMPUTOR ORGAN USING PARALLEL PROCESSING. In that system, different subsets of the Fourier components are computed in separate parallel processing channels. For example, in a computer organ wherein sixteen Fourier components are evaluated to obtain each sample point amplitude, the computational rate can be halved by concurrently calculating eight components in one processing channel and the other eight harmonics in a second, parallel channel.

An object of the present invention is to provide another approach for reducing the computational rate requirements of such a computor organ. The computational rate is determined in part by the highest frequency component generated by the system. Since the human hearing range is limited, there is no need to generate components above some upper value within that range. By limiting the calculated Fourier components to such range, a significant reduction in computation rate is achieved. Harmonic limiting can be used by itself, or in conjunction with the previously described parallel processing to obtain an even greater reduction in system clock rate.

SUMMARY OF THE INVENTION

In a computor organ of the type described, the musical waveshape is generated in real time. This advantageously (but not necessarily) is achieved by computing each sample point amplitude in a fixed time interval t.sub.x. All of the individual Fourier components are calculated within that interval. For accurate waveshape synthesis, the sample rate must be greater than the Nyquist frequency f.sub.N which is twice the frequency f.sub.h of the highest Fourier component evaluated by the system. By way of example, the highest eight-foot pitch on a standard organ keyboard is C.sub.7 which has a fundamental frequency f.sub.H = 2.093 kHz. If 16 Fourier components are calculated to synthesize this tone, the highest frequency f.sub.h evaluated by the organ corresponds to the sixteenth harmonic of C.sub.7. That is:

f.sub.h = 16f.sub.H = 16(2.093 kHz) = 33.488 kHz (1)

Accordingly, the Nyquist frequency f.sub.N is:

f.sub.N .gtoreq. 2f.sub.h = 66.976 kHz (2)

This sets the upper limit for the computation interval t.sub.x as:

t.sub.x .ltoreq. 1/f.sub.N ( 3)

however, all of the individual harmonic calculations must be carried out within this interval t.sub.x. Thus if sixteen Fourier components are evaluated in a single channel, each calculation must be performed in a clock time t.sub.cp =t.sub.x /16. Accordingly, the system computational clock rate f.sub.c for a monophonic instrument is given by:

f.sub.c = 1/t.sub.cp = 16/t.sub.x .gtoreq. 16 f.sub.N = 16(66.976 kHz) = 1.072 MHz (4)

For a polyphonic organ in which K notes may be played at once, the harmonic components of all notes must be evaluated for each sample point within the time interval t.sub.x. Thus for a polyphonic, single channel instrument, the system computational clock rate f.sub.c ' is given by:

f.sub.c ' = Kf.sub.c ( 5)

In a system where K = 12, permitting ten keys and two pedal notes to be played simultaneously, the computational clock rate f.sub.c ' is:

f.sub.c ' = 12 f.sub.c .gtoreq. (12) (1.072 MHz) = 12.859 MHz (6)

This relatively high computational clock rate may be reduced significantly using the harmonic limiting system of the present invention. The system takes advantage of the fact that for notes in the fifth and sixth octaves, many of the higher harmonics are above the hearing range of the average listener. For example (see Table I below), the sixteenth harmonic of the note C.sub.6 (the key of C in octave 6) is 16.744 kHz which is above the hearing range of the average adult. At C.sub.7, the sixteenth harmonic is 33.488 kHz, far outside the normal hearing range. Accurate waveshape synthesis without significant loss of realism or fidelity can be achieved using only those harmonics having frequencies below some limit within the hearing range of the typical listener. By excluding harmonic components above this limit from the wave-shape amplitude computations, the Nyquist frequency is reduced, with concomitant reduction in the system computational clock rate.

As an illustration, the waveshape amplitudes may be computed using only those harmonics having a frequency below 12.9 kHz. As evident from Table I, all sixteen Fourier components will be included in the amplitude computations for each note up to and including G.sub.5. For these notes, the sixteenth harmonic has a frequency below 12.9 kHz. For G.sub..sub.#5 only fifteen Fourier components will be included in the amplitude computation, since the sixteenth harmonic has a frequency above 12.9 kHz. Similarly, for other notes between G.sub..sub.#5 and C.sub.7 the amplitude computations will be limited to the harmonics indicated in Table I. At C.sub.7, only six components will be employed to synthesize the waveshape, since the sixth harmonic has a frequency of 12.558 kHz and the seventh harmonic lies above 12.9 kHz.

The Nyquist criteria discussed above may be applied to this illustration to determine the system clock rate requirements. Since the highest frequency component (the 13th harmonic of B.sub.5) evaluated by the system has a frequency f.sub.h = 12.841 kHz, the computational clock rate f.sub.c for a monophonic instrument is:

f.sub.c .gtoreq. 16 f.sub.N .gtoreq. (16) (12) (12.841 kHz) = 410.9 kHz (7)

and the computational rate f.sub.c ' for a twelve note (K =12) polyphonic system is:

f.sub.c ' .gtoreq. 12 f.sub.c = 4.930 MHz (8)

Thus for a computer organ in which the harmonic components are limited to those below 12.9 kHz, the computational rate is reduced by a factor of about 2.66 as compared with a system wherein all sixteen harmonics are computed for every note up to C.sub.7. Clearly this represents a very significant reduction in the system computational rate, and permits the computor organ more readily to be implemented using presently available microelectronic integrated circuits.

TABLE I

Frequency Highest Harmonic Fundamental of 16th Less Than 12.9 kHz Note Frequency Harmonic Frequency Harmonic (Hz) (kHz) (kHz) (L) C.sub.228 5 554.4 8.870 D.sub.5 587.3 9.397 D.sub..sub.#5 622.3 9.957 E.sub.5 659.3 10.549 F.sub.5 698.5 11.176 F.sub..sub.#5 740.0 11.840 G.sub.5 784.0 12.544 G.sub..sub.#5 830.6 13.290 12.459 15 A.sub.5 880.0 14.080 12.320 14 A.sub..sub.#5 932.3 14.917 12.120 13 B.sub.5 987.8 15.805 12.841 13 C.sub.6 1046.5 16.744 12.558 12 C.sub..sub.#6 1108.7 17.740 12.196 11 D.sub.6 1174.7 18.795 11.747 10 D.sub.#.sub.6 1244.5 19.912 12.445 10 E.sub.6 1318.5 21.096 11.867 9 F.sub.6 1396.9 22.350 12.572 9 F.sub.#.sub.6 148.0 23.680 11.840 8 G.sub.6 1568.0 25.088 12.544 8 G.sub.#.sub.6 1661.2 26.579 11.628 7 A.sub.6 1760.0 28.160 12.320 7 A.sub.#.sub.6 1864.7 29.835 11.188 6 B.sub.6 1975.5 31.608 11.853 6 C.sub.7 2093.0 33.488 12.558 6

brief description of the drawings

a detailed description of the invention will be made with reference to the accompanying drawings, wherein like numerals designate corresponding parts in the several figures.

FIG. 1 is an electrical block diagram of a computer organ employing harmonic limiting.

FIG. 2 is an electrical block diagram of a first embodiment of the harmonic inhibit logic utilized in the computor organ of FIG. 1.

FIG. 3 shows typical musical waveshapes generated by a computor organ employing the harmonic inhibit logic of FIG. 2.

FIG. 4 is a timing diagram illustrating inhibition of the Fourier component calculations during generation of the musical waveshapes illustrated in FIG. 3.

FIG. 5 is an electrical block diagram of an alternative embodiment of the harmonic inhibit logic utilized by the computor organ of FIG. 1.

FIG. 6 shows typical musical waveshapes generated using the harmonic inhibit logic of FIG. 5.

FIG. 7 is a timing diagram illustrating harmonic limiting in a polyphonic computor organ.

FIG. 8 is an electrical block diagram showing implementation of harmonic limiting in a parallel processing computor organ.

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 best is 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 computor organ 10 of FIG. 1 operates to produce via a sound system 11 a musical note selected by the keyboard switches 12. This is accomplished by calculating the discrete Fourier components associated with amplitudes at successive sample points of a wave-shape characterizing the selected note. The components are algebraically summed in an accumulator 13 which, at the end of each computation time interval t.sub.x contains the amplitude at the current sample point. This amplitude is provided via a gate 14, enabled by the t.sub.x signal on a line 15, to a digital-to-analog converter 16 which supplies to the sound system 11 a voltage corresponding to the waveshape amplitude just computed. Computation of the amplitude at the next sample point subsequently is initiated, so that the analog voltage supplied from the converter 16 comprises a musical waveshape generated in real time.

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 17. The wave shape itself, and hence the tonal quality of the produced musical note, is established by a set of harmonic coefficients C.sub.n stored in a memory 18 and used in computing the Fourier components at each sample point.

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,...,L designates the Fourier component being evaluated. The value n = 1 corresponds to the fundamental, n = 2 to the second harmonic, n = 3 to the third harmonic, and so forth. The harmonic coefficient C.sub.n specifies the relative amplitude of the respective n.sup.th Fourier component.

The value W designates the maximum number of Fourier components included in any amplitude computation by the organ 10. In general, the use of 16 harmonics (W = 16) is quite satisfactory for synthesizing pipe organ sounds. The number L specifies the number of Fourier components included in a specific amplitude computation. In accordance with the present invention, the number L will depend on which note is being generated. Appropriate harmonic inhibit logic 20, illustrative embodiments of which are shown in FIGS. 2 and 5, limits the components only to those having frequencies below a preselected value preferably within the human hearing range. As discussed above, this reduces the computational rate requirements of the instrument 10.

The computor organ 10 of FIG. 1 implements equation 9 by computing the amplitude value X.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 L harmonic components are calculated separately during successive time intervals t.sub.cp established by a clock 21 and a counter 22. At the first interval t.sub.cp1 the amplitude F.sup.(1) of the first harmonic (n = 1) is calculated. This value F.sup.(1) is placed in the accumulator 13. At the interval t.sub.cp2 the amplitude F.sup.(2) of the second Fourier component is computed and added to the accumulator 13 contents. At time t.sub.cp3 the third harmonic amplitude F.sup.(3) is calculated and added to the accumulator 16. The number W of iterations of this routine is controlled by the harmonic inhibit logic 20 in cooperation with the counter 22. The routine is terminated when all Fourier components associated with the particular amplitude computation have been evaluated. Upon such termination, the algebraic sum contained in the accumulator 13 will correspond to the amplitude ##SPC2##

for the sample point designated by the value qR.

As noted earlier, the waveshape amplitude x.sub.o (qR) in the accumulator 13 is gated to the digital-to-analog converter 16 at the end of the computation interval t.sub.x. The accumulator 13 then is cleared by the signal on the line 15, and computation of the amplitude at the next sample point subsequently is initiated. The value qR is incremented and the L harmonic component amplitudes F.sup.(n) are calculated for the sample point designated by the new value of qR. Eventually the entire waveshape will be generated, the sound system 11 reproducing the musical note as the amplitude computations are carried out.

In the system of FIG. 1, a note interval adder 23 contains the value qR identifying the sample point at which the waveshape amplitude currently is being evaluated. This value qR is incremented at the beginning of each computation interval t.sub.x by adding the selected frequency number R to the previous contents of the adder 23. The selected value R is supplied to the adder 23 via a gate 24 enabled by the t.sub.x signal on the line 15. In general, the adder 23 is of modulo M where M is the product of the R number for any note times the number of points per period of that note. The value M is a system design constant related in part to the computational rate of the system.

To calculate each harmonic component, the values nqR (for n = 1,2,...,L) are obtained in a harmonic interval adder 25 which is cleared before each amplitude computation cycle. Upon occurrence of the first t.sub.cp clock pulse of a new cycle, the current value qR contained in the note interval adder 23 is entered into the harmonic interval adder 25 via a line 26 and a gate 27. At each subsequent clock pulse t.sub.cp, the value qR is added to the previous contents of the adder 25. As a result, the harmonic interval adder 25 will contain the value nqR, where n = 1,2,...L for the n.sup.th order harmonic component concurrently being evaluated. Preferably the harmonic interval adder 25 also is of modulo M.

An address decoder 28 accesses from a sinusoid table 29 the value sin (.pi./W) nqR corresponding to the argument nqR received via a line 30 from the harmonic interval adder 25. The sinusoid table 29 may comprise a read only memory storing values of sin (.pi./W) .phi. for 0 .ltoreq. .phi. .ltoreq. 2W at intervals of D, where D is called the resolution constant of the memory.

The value sin (.pi./W) nqR, supplied via a line 31, is multiplied by the coefficient C.sub.n for the corresponding n.sup.th harmonic by a multiplier 32. The multiplication product represents the amplitude F.sup.(n) of the n.sup.th harmonic component and is supplied via the line 33 to the accumulator 13. The appropriate coefficient C.sub.n is accessed from the harmonic coefficient memory 18 by an address control unit 34 advanced by timing signals received from the counter 22 via a line 35. Readout from the harmonic coefficient memory 18 is inhibited by the harmonic inhibit logic 20 for those higher order Fourier components not included in a particular amplitude computation. This is facilitated via an enable/inhibit signal line 36.

FIG. 2 shows illustrative circuitry 20A useful as the harmonic inhibit logic 20 of FIG. 1. With this circuitry, each waveshape amplitude computation is performed in a fixed time interval t.sub.x, regardless of how many Fourier components are included in that computation. The interval t.sub.x is established by the counter 22 which receives t.sub.cp pulses at the system clock rate f.sub.c from the clock 21 via a line 37. The counter 22 preferably is of modulo 16, and produces on the lines 35a - 35d a four-bit binary signal designating the respective calculation timing pulses t.sub.cp1 through t.sub.cp16. As indicated by the timing diagram of FIG. 4, these timing signals occur sequentially within the time interval t.sub.x. The t.sub.x signal is obtained as the counter 22 resets.

When a note between G.sub.#.sub.5 and C.sub.7 is selected at the keyboard switches 12, an input will be provided to the logic 20A on the correspondingly designated line. Encoding circuitry 40 including the OR gates 41 - 46 and a one-of-ten to binary encoder 47 provide on the lines 48a - 48d a signal specifying in binary code the highest Fourier component (L) to be included in the waveshape amplitude computation for that note.

At the beginning of each computation cycle, a flip-flop 49 is set to "1" by the t.sub.x signal on the line 15. The "1" output of the flip-flop 49 functions as an enable signal on the line 36 to the harmonic coefficient memory 18. Thus during the initial computation cycles t.sub.cp1, t.sub.cp2... the flip-flop 49 remains set to "1", the memory 18 is enabled, and calculation of the Fourier coefficients is not inhibited.

The computation pulses t.sub.cp1, t.sub.cp2,... from the counter 22 are compared with the maximum harmonic designation signal (L) on the lines 48a - 48d by a comparator 50. When coincidence occurs, indicating that the highest harmonic concurrently is being evaluated and that subsequent harmonics must be inhibited, an output signal is produced on the line 51 from the comparator 50. After a brief delay (less than an interval t.sub.cp) provided by a delay circuit 52, the coincidence output signal from the comparator 50 resets the flip-flop 49 to "0". This terminates the enable signal on the line 36 and inhibits subsequent readout from the harmonic coefficient memory 18. As a result, on subsequent calculation times when higher harmonics normally would be evaluated, the output of the harmonic coefficient memory 18 is zero. The output F.sup.(n) of the harmonic amplitude multiplier 32 likewise is zero. The higher harmonics effectively are inhibited.

The encoding circuitry 40 of course is selected with reference to the highest harmonic (L) desired for each note being produced. Thus for the illustrative example of Table I, the signals provided on the lines 48a - 48d will correspond to the binary representation of the value L listed in that table. For example, when the key G.sub.#.sub.5 is selected, an input to the one-of-ten to binary encoder 47 occurs on the line 54. The encoder 45 produces on the lines 48a - 48d a signal L = 15. When the counter 22 reaches the time interval t.sub.cp15, the signal on the lines 35a - 35d will be identical to that on the lines 45a - 48d. As a result, the comparator 50 will produce a coincidence output, thereby resetting the flip-flop 49 and inhibiting readout from the harmonic coefficient memory during the time t.sub.cp16 (see FIG. 4). The sixteenth Fourier coefficient thus is not included in the amplitude computation.

Similarly, when the note A.sub.#.sub.6, B.sub.6 or C.sub.7 is selected, the OR gate 46 provides an output on a line 55, causing the encoder 47 to provide on the lines 48a - 48d the binary representation of the value L = 6. The comparator 50 then will cause the flip-flop 49 to be reset to "0" after t.sub.cp6, thereby effectively inhibiting calculation of the seventh through 16th Fourier components.

When any note between C.sub.1 and G.sub.5 is selected, the encoder circuitry 40 receives no input. Accordingly, the signal (binary 0000) on the lines 48a - 48d will represent L = 16. The flip-flop 49 will remain set at "1" throughout the entire computation cycle and all sixteen harmonics will be calculated.

The harmonic coefficient memory 18 and the memory address control 34 advantageously are implemented using a commercially available integrated circuit read-only-memory (ROM) such as the Signetics type 8223. This device includes address control circuitry which accepts a binary coded address like that provided on the lines 35, and automatically accesses from the corresponding memory storage location a word of up to eight bits. The same integrated circuit includes memory output enable/inhibit circuitry controlled by a "chip enable" input to which the line 36 (FIG. 2) may be connected. The actual harmonic coefficient values stored in the memory 18 are of course a design choice which will depend on the desired tonal quality of the sound being produced by the organ 10. By way of example only, the following Table II lists typical harmonic coefficient values C.sub.n which will produce a diapason-type organ sound.

TABLE II (DIAPASON)

Value stored in memory 18 (Relative (Decibel Coefficient Amplitude) Equivalent) C.sub.1 127 0 db C.sub.2 71 -5 C.sub.3 90 -3 C.sub.4 36 -11 C.sub.5 23 -15 C.sub.6 25 -14 C.sub.7 8 -24 C.sub.8 8 -24 C.sub.9 4 -31 C.sub.10 4 -31 C.sub.11 2 -38 C.sub.12 2 -38 C.sub.13 2 -38 C.sub.14 1 -42 C.sub.15 1 -42 C.sub.16 1 -42

the one-of-ten to binary encoder 47 may comprise a conventional diode array having ten input lines and four, binary coded output lines. Such devices are shown in the standard text entitled "Computer Logic" by Ivan Flores, Prentice Hall, 1960 at Chapter 11.8. The counter 22 may be implemented using a Signetics type 8280 four-bit binary counter contained in a single integrated circuit chip. The comparator 50 may comprise a Signetics type 8269 integrated circuit four-bit comparator.

In an alternative version of the logic 20A, the encoding circuitry 40 may be eliminated. The number L specifying the highest Fourier component to be computed for each note then may be stored in the memory 17 along with the corresponding frequency number R. When a note is selected at the switches 12, the associated L number will be accessed from the memory 17 and supplied via the lines 54a-54d directly to the comparator 50. The logic 20A will function as just described to limit harmonic production.

Using the harmonic inhibit logic 20A of FIG. 2, the computor organ 10 of FIG. 1 will compute each sample point amplitude in a fixed time interval t.sub.x regardless of how many Fourier components are included in that computation. This is reflected by the waveforms of FIG. 3, which indicate typical amplitude values supplied to the digital-to-analog converter 16 during production of the notes C.sub.7, F.sub.6 and G.sub.5. Although successive sample point amplitudes are computed at fixed time intervals t.sub.x, the number of points computed per period will differ for each note.

The system clock rate f.sub.c may have the minimum value given above in equation 7 (or in Eq. 8 for a polyphonic system). In practice however, the clock rate will be selected slightly higher than the minimum value, to provide a safety factor S greater than 1.000 for the Nyquist criteria. To minimize the likelihood of producing undesirable beat notes or noise, this safety factor may be chosen to be slightly greater than 2.sup.1/12 which is the interval between two adjacent tones in an equally tempered scale. For example, the safety factor may be selected as S = 2 .sup.1.37/12 = 1.082. Using this safety factor, the Nyquist frequency f.sub.N * and the clock rate f.sub.c * for a monophonic instrument system will be:

f.sub.N * = Sf.sub.N = (1.082) (2) (12.841 kHz) = 27.797 kHz (11) f.sub.c * = Sf.sub.c = 16 Sf.sub.N * = (1.082) (410.9 kHz) (12) 4.59 kHz

The clock 21 utilized with the logic 20A of FIG. 2 thus may have this frequency f.sub.c *. For such an embodiment, the waveshape amplitudes will be computed at successive fixed time intervals t.sub.x = 1/f.sub.N * so that the number of sample points per period of the generated note will be given by:

points/period = (period of note/computation interval) = f.sub.N */f(note) (13)

For example, for note C.sub.7 (f.sub.(C ) = 2.093 kHz) there will be f.sub.N */f.sub.(C ) = (27.797 kHz)/(2.093 kHz) = 13.3 points computed per period of the generated waveshape. Table III below includes a list of the points per period for other notes between C.sub.5 and C.sub.7. The frequency numbers R utilized with such a monophonic, single channel embodiment also are set forth in Table III. These values are obtained from the following relationship:

R = [W f(note)]/f.sub.N * (14)

for example, for C.sub.7 the frequency number is:

R.sub.(C ) = [(16)(2.093 kHz)]/[27.797 kHz] = 1.20474 (Eq. 15)

In general, the frequency numbers R are non-integers. Thus the note interval adder 23 (FIG. 1) will not "reset" exactly to zero at the end of each period of the generated waveshape, but rather to a number which differs each period. Thus consecutive periods of the same note will have sample point amplitudes slightly different than those of the preceeding period. This effect is beneficial in a polyphonic system since it provides "decoupling" when two notes are played simultaneously.

TABLE III

Note Frequency R Number Points Period C.sub.7 2093.00 1.20474 13.3 B.sub.6 1975.53 1.13712 14.1 A.sub.#.sub.6 1864.65 1.07330 14.9 A.sub.6 1760.00 1.01306 15.8 G.sub.#.sub.6 1661.22 .95621 16.7 G.sub.6 1567.98 .90254 17.7 F.sub.#.sub.6 1479.98 .85188 18.8 F.sub.6 1396.91 .80407 19.9 E.sub.6 1318.51 .75894 21.1 D.sub.#.sub.6 1244.51 .71634 22.3 D.sub.6 1174.66 .67614 23.7 C.sub.#.sub.6 1108.73 .63819 25.1 C.sub.6 1046.50 .60237 26.6 B.sub.5 987.77 .56856 28.1 A.sub.#.sub.5 932.33 .53665 29.8 A.sub.5 880.00 .50653 31.6 G.sub.#.sub.5 830.61 .47810 33.5 G.sub.5 783.99 .45127 35.5 F.sub.#.sub.5 739.99 .42594 37.6 F.sub.5 698.46 .40203 39.8 E.sub.5 659.25 .37947 42.2 D.sub.#.sub.5 622.25 .35817 44.7 D.sub.5 587.33 .33807 47.3 C.sub.#.sub.5 554.36 .31909 50.1 C.sub.5 523.25 .30119 53.1

fig. 5 shows an alternative embodiment 20B for the harmonic inhibit logic 20 of FIG. 1. In this embodiment, the counter 22b provides a separate output on one of the sixteen lines designated t.sub.cp1 through t.sub.cp16 for each of the corresponding calculation times. The harmonic coefficient memory 18b is implemented by a set of sixteen registers 61a - 61p which store the respective harmonic coefficients C.sub.1 through C.sub.16. The memory address control 34b readily is implemented by a set of gates 62a - 62p each associated with the corresponding register 61a - 61p and operated by the respective signals t.sub.cp1 - t.sub.cp16 received from the counter 22. Thus when the first calculation timing signal t.sub.cp1 occurs, the gate 62a gates the coefficient C.sub.1 from the register 61a via a buss 63 to the harmonic amplitude multiplier 32.

The harmonic inhibit logic 20B functions to reset the counter 22a after the highest desired Fourier component has been calculated. For example, if the key C.sub.7 is selected at the keyboard switches 12, the signal on the C.sub.7 line is supplied via an OR gate 64 to enable an AND gate 65. When the timing pulse t.sub.cp6 occurs, resulting in calculation of the sixth harmonic, the pulse t.sub.cp6 is gated via the AND gate 65 to a buss 66. After a delay of less than the time interval t.sub.cp, provided by a delay circuit 67, the computation time interval pulse t.sub.x ' is generated. This resets the counter 22b and terminates the current waveshape amplitude computation. The seventh and higher Fourier components are not evaluated, and computation of the waveshape amplitude at the next sample point begins immediately. Eventually the waveshape C.sub.7 shown in FIG. 6 will be generated.

When using the circuitry 20B of FIG. 5, the duration t.sub.x ' taken to compute each amplitude sample point will not be a constant for all notes, but will depend on the number of Fourier components computed for each note. Thus, for example, when the note D.sub.#.sub.6 is selected, the signal provided via an OR gate 68 will enable an AND gate 69. During calculation of the tenth harmonic, the signal t.sub.cp10 will be gated via the AND gate 69 onto the buss 66. This will cause termination of the amplitude computation cycle after evaluation of the first ten Fourier components, and immediately initiate computation of the next sample point amplitude. As a result, the generated D.sub.#.sub.6 waveform will have the appearance shown in FIG. 6. Note that for D.sub.#.sub.6 each sample point interval has a duration t.sub.x '.sub.(D ) = 10t.sub.cp, whereas for the C.sub.7 waveshape, the duration t.sub.x '.sub.(C ) = 6t.sub.cp. The various OR gates 70 - 74 and AND gates 75 - 81 cooperate to gate onto the buss 66 the timing signal t.sub.cp7 - t.sub.cp15 appropriate for limiting harmonic generation for the selected note.

For notes between C.sub.1 and G.sub.5, all 16 harmonics are generated. In this instance, the t.sub.cp16 signal on the line 82 is supplied directly to the buss 66 to reset the counter 22b and terminate the computation cycle at the end of sixteen t.sub.cp intervals. As a result, (FIG. 6) the notes G.sub.5 and D.sub.5 and all others of lower fundamental frequency are generated with sample point intervals of equal length t.sub.x ' = 16t.sub.cp. Of course, each of these notes G.sub.5 through C.sub.1 will have a different number of sample points per period.

Although only monophonic embodiments are illustrated in FIGS. 1 - 6, the invention is not so limited. Harmonic limiting thus can advantageously be employed in a polyphonic system, such as that described in the above identified patent application entitled COMPUTOR ORGAN. In such a polyphonic system, the waveshape amplitude supplied to the digital-to-analog converter is the sum of the separately computed amplitudes for each note of the chord being played. Such computation may be accomplished on a time sharing basis, as illustrated diagrammatically in FIG. 7 for a (K = 3) polyphonic system in which three notes may be played simultaneously.

Referring to FIG. 7 each fixed computation interval t.sub.x includes three consecutive subintervals t.sub.A, t.sub.B, t.sub.C during which the amplitudes for three notes are computed separately. Each of these subintervals includes 16 shorter intervals t.sub.c '.sub.p ' during which the individual Fourier components associated with the respective notes are calculated. For example, if the chord C.sub.6, E.sub.6, G.sub.6 is played, the C.sub.6 amplitude may be computed during the interval t.sub.A, and the E.sub.6 and G.sub.6 amplitudes computed during the t.sub.B and t.sub.C intervals respectively.

Harmonic limiting of the type described herein then may be utilized independently during each subinterval t.sub.A, t.sub.B, t.sub.C to inhibit calculation of harmonics above the respective L value for the selected notes. Thus for the chord C.sub.6, E.sub.6, G.sub.6, the harmonic limiting circuitry will inhibit Fourier component calculation after evaluation of the L = 12, L = 9 and L = 8 components respectively during the intervals t.sub.A, t.sub.B and t.sub.C, as indicated in FIG. 7.

FIG. 8 shows how harmonic limiting may be applied to a COMPUTOR ORGAN USING PARALLEL PROCESSING such as that shown in the above mentioned patent application Ser. No. 298,365. In the illustrated system 90, the odd-valued Fourier components (n = 1,3,5,...) are calculated in a first processing channel 91, and the even harmonics (n = 2,4,6,...) concurrently are calculated in a parallel processing channel 92. The individual components evaluated in the channels 91 and 92 are summed in an adder circuit 93 and supplied via a line 33' to an accumulator 13, digital-to-analog converter 16 and sound system 11 like that of FIG. 1. Note selection is accomplished by keyboard or pedal switches 12 cooperating with a frequency number memory 17' which supplies the selected R numbers via a line 94 to both processing channels 91, 92.

The memory 17' may contain the L number itself, or some other coded designation associated with this L number. When a note is selected at the keyboard switches 12, the designation code is supplied via a line 95 to a harmonic limit memory 96 advantageously implemented by a Signetics type 8223 integrated circuit read-only-memory or like device. The designation code causes the access control circuitry 96a to read out from the memory 96 the stored contents specifying the highest order odd (L.sub.odd) and highest order even (L.sub.even) Fourier component to be calculated. These values are supplied via the respective lines 97, 98 to appropriate comparators 99, 100 associated with the respective processing channels 91, 92. The comparator 99 compares the value L.sub.odd with a signal supplied via a line 101 indicating which component presently is being calculated in the channel 91. When coincidence is obtained, the comparator 99 causes an inhibit circuit 102 to prevent calculation by the channel 91 of all higher order odd Fourier components. The comparator 100 and the inhibit circuit 103 function in like manner for the channel 92.

By way of example, an arbitrary designation code "0001" may be stored in the memory 17' together with the R numbers associated with the notes C.sub.7, B.sub.6 and A.sub.#.sub.6. When one of these notes is played, the code "0001" will be supplied to the memory access control 96a, causing readout from a certain storage location in the memory 96. This location advantageously contains the values L.sub.odd = 5 and L.sub.even = 6. Accordingly, calculations in the channels 91 and 92 will be inhibited respectively after evaluation of the 5.sup.th and 6.sup.th Fourier components, exactly as required for the illustrative L values of Table I. Intending to claim all novel, useful and unobvious features shown or described, the inventor makes the following claims.

* * * * *


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