U.S. patent number 3,610,805 [Application Number 04/872,598] was granted by the patent office on 1971-10-05 for attack and decay system for a digital electronic organ.
This patent grant is currently assigned to North American Rockwell Corporation. Invention is credited to Ralph Deutsch, George A. Watson.
United States Patent |
3,610,805 |
Watson , et al. |
October 5, 1971 |
**Please see images for:
( Certificate of Correction ) ** |
ATTACK AND DECAY SYSTEM FOR A DIGITAL ELECTRONIC ORGAN
Abstract
In an electronic organ, the actuation of keys in accordance with
corresponding audible tones to be reproduced effects the gating of
pulses into time slots of a time division multiplexed signal, the
time slots of the multiplexed signal being structured in accordance
with a desired assignment sequence to correspond to the keys and to
be representative thereof for identifying each note capable of
being generated by the organ. A set of note, or tone, generators
with availability assignment control means for capturing a pulse in
the multiplexed signal are each rendered responsive to a given
captured pulse for generating the tone represented by that pulse.
The appropriate tone is generated digitally in the form of
amplitude samples of a waveform stored in a memory, and the
amplitude samples are subsequently subjected to digital-to-analog
conversion for ultimate production of the audible output of the
organ. Attack and decay of the tone, or note, waveform envelope are
simulated by appropriately scaling the amplitude samples at the
leading and trailing portions of the waveform envelope.
Inventors: |
Watson; George A. (Tustin,
CA), Deutsch; Ralph (Sherman Oaks, CA) |
Assignee: |
North American Rockwell
Corporation (N/A)
|
Family
ID: |
27582831 |
Appl.
No.: |
04/872,598 |
Filed: |
October 30, 1969 |
Current U.S.
Class: |
84/627; 84/663;
984/323; 984/338; 984/332; 984/392 |
Current CPC
Class: |
G10H
1/0575 (20130101); G10H 1/182 (20130101); G06F
1/02 (20130101); G10H 7/04 (20130101); G10H
1/20 (20130101); G06F 1/0328 (20130101) |
Current International
Class: |
G10H
1/20 (20060101); G10H 1/057 (20060101); G10H
1/18 (20060101); G06F 1/02 (20060101); G10H
7/04 (20060101); G06F 1/03 (20060101); G10H
7/02 (20060101); G10h 001/02 () |
Field of
Search: |
;84/1.03,1.26,1.01,1.13,1.24,1.28,DIG.12 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Hirshfield; Milton O.
Assistant Examiner: Witkowski; Stanley J.
Claims
We claim:
1. In an electronic musical instrument, the combination
comprising:
means for storing digital samples of a waveform,
a plurality of switches associated with notes of the musical scale
and selectively operable to call forth the related notes,
means responsive to actuation of each of said switches for reading
out selected ones of said digital samples from said storing means
at a rate to produce said waveform at the related note
frequency,
means for storing a plurality of predetermined scale factors
corresponding to desired attack and decay effects,
means defining a succession of time periods over a time interval
corresponding to a desired rate of attack and decay,
further means responsive to actuation and release of each of said
switches and to said time interval defining means for addressing
said scale factor storing means in said succession of time periods
over said time interval to derive therefrom a corresponding
succession of selected ones of said predetermined scale factors,
and
means for combining said selected digital samples read from said
digital sample storing means with said predetermined attack and
decay scale factors derived from said scale factor storing means
over said time interval upon actuation and release of each of said
switches to simulate attack and decay, respectively, of the
waveform at the related note frequency.
2. The combination according to claim 1 wherein said combining
means comprises a multiplier, said multiplier receiving said scale
factors in succession from said scale factor storing means and said
digital samples from said digital sample storing means and
effecting a multiplication thereof to produce a succession of
weighted digital samples at the related note frequency simulating
attack and decay, respectively of the waveform over the
predetermined time interval.
3. The combination according to claim 1 wherein there is further
provided means responsive to initial actuation of a switch to
initiate and maintain the attack effect by said combining means for
the duration of said time interval regardless of subsequent
deactuation of that switch during the said time interval of
attack.
4. The combination according to claim 3 wherein there is further
provided means responsive to subsequent actuation of the last-named
switch during decay of the waveform in said time interval of decay
for reinstituting the attack.
5. The combination according to claim 1 wherein said scale factor
storing means comprises a read-only memory containing a plurality
of digital scale factors for scaling the amplitude of said selected
digital samples read from said digital sample storing means.
6. The combination according to claim 1 wherein said weighting
means includes means for selectively establishing the time interval
of the attack or the decay.
7. The combination according to claim 6 wherein said time interval
establishing means is responsive to the frequency of the note
associated with the actuated switch to establish the duration of
the time interval in relation to the frequency of the selected
note.
8. The combination according to claim 6 wherein said time interval
establishing means is responsive to a fixed time reference to
establish the duration of the time interval of attack or decay,
independent of the frequency of the selected note.
9. An electronic musical instrument, comprising
a plurality of keys individually actuable to cause the production
of sounds corresponding to related notes of the musical scale, and
deactuable to cause the cessation of the respective sounds,
means for sequentially and repetitively scanning said keys to
detect the actuation or deactuation of any one or more thereof,
means responsive to actuation of one or more of said keys as
detected by said scanning means to generate a digital signal
containing assignments of the notes associated with the respective
actuated keys, and responsive to deactuation of a key for removing
the respective note assignment,
means for storing digital samples of a waveform of a musical
note,
means responsive to note assignments in said digital signal for
selectively retrieving digital samples of said waveform from said
storing means at a rate to produce said waveform at the
corresponding note frequencies, and
attack and decay control means selectively responsive to the
initiation and removal of note assignments in said digital signal
for correspondingly weighting the samples appearing at the
beginning and end of the note waveform envelope to effect attack
and decay of the note in accordance with the actuation and
deactuation, respectively, of the key.
10. The instrument according to claim 9 wherein said attack and
decay controlling means further includes means for selecting the
time of the attack and the decay.
11. The instrument according to claim 10 wherein said
duration-selecting means sets the duration as a function of the
frequency of the selected note.
12. The instrument according to claim 10 wherein said
duration-selecting means sets the duration as a fixed time interval
independent of the frequency of the selected note.
13. A digital electronic musical instrument having switches
selectively operate to bring forth respective notes of the musical
scale, comprising
means assigning each of said switches to a distinct and different
time slot in a sequence of cyclically repeated time slots of a
digital signal,
means responsive to selective operation of a switch to provide a
signal representative of such operation of said switch in the
respective assigned time slot for that switch in each cycle of
repetition of said sequence of time slots during which said switch
is operated,
controllable tone generating means for producing a digital
representation of a waveform at a selectable frequency,
means synchronized with said cyclically repeating sequence of time
slots to which said switches are assigned and responsive to a
signal appearing in any time slot for controlling said tone
generating means to produce said digital waveform representation at
a frequency corresponding to the frequency of the respective note
for that time slot, and
attack and decay control means selectively responsive to the
initiation and removal of note assignments in said digital signal
for correspondingly weighting the samples appearing at the
beginning and end of the note waveform envelope to effect attack
and decay of the note in accordance with the actuation and
deactuation, respectively, of the key.
14. The instrument defined by claim 13 wherein said attack and
decay control means comprises:
means for storing a plurality of scale factors,
means responsive to the appearance or removal of a signal in each
time slot for selective accessing of said scale factor storing
means to derive corresponding, selected scale factors therefrom
over a desired time interval of attack and decay, respectively,
and
means for weighting said digital samples with said scale factors to
vary the magnitudes of selected portions of said digital waveform
representation in synchronism with the production thereof from said
tone generating means.
15. The instrument defined by claim 13 wherein said attack and
decay means comprises means for maintaining the attack for the
duration of the attack time interval regardless of release of a
switch prior to completion of that attack time interval.
16. A system for simulating attack and decay of notes generated by
an electronic musical instrument, comprising:
a plurality of keys individually actuable to produce notes at
selectively corresponding frequencies,
means responsive to actuation of a key for producing an electrical
representation of a note to be produced at the corresponding
frequency and for maintaining that representation in a sustain mode
during continuous actuation of the key,
means defining a succession of time periods wherein each period is
not substantially longer in duration than the period of the lowest
note frequency to be produced,
means for establishing a predetermined number of successive time
periods for defining desired time intervals of attack and
decay,
means for storing a plurality of scale factors,
means responsive to initial actuation and subsequent release of a
key and to said time period defining means to effect selective
addressing of said scale factor storing means in successive time
periods to derive therefrom a succession of scale factors over said
time intervals of attack and decay, respectively,
means for combining each said electrical representation with the
succession of said scale factors thus derived upon initial
actuation of a key to effect attack of the note produced over said
time interval of attack prior to the sustain mode thereof, and
means for maintaining the electrical representation of the note for
said time interval of decay following release of the corresponding
key, said combining means combining the succession of scale factors
with said electrical representation of said time interval of decay
to produce a decay of the note following the sustain mode
thereof.
17. A system as recited in claim 16 wherein said time interval
defining means comprises:
counting means for counting said time periods,
means for storing a predetermined count in accordance with the
duration of each said time period for defining the desired time
intervals of attack and decay, and
comparison means for comparing the count of said time periods with
said predetermined count for terminating further attack and decay
of each note when said counts are equal.
18. A system as recited in claim 17 wherein said counting means is
responsive to a fixed clock frequency for defining said time
periods.
19. A system as recited in claim 17 wherein said counting means is
responsive to the frequency of the note to be produced to define
each said time period in accordance with the time period of that
note frequency.
20. A system as recited in claim 16 wherein there is further
provided means responsive to a successive actuation of a key during
the time interval of decay of the corresponding note continuing
form a prior actuation of that key to reinitiate the attack mode
for that note.
21. A system as recited in claim 16 wherein there is further
provided means for maintaining the electrical representation of a
note for the time interval of attack despite release of the
corresponding key within that time interval.
22. A system as recited in claim 16 wherein
said electronic musical instrument comprises an electronic organ
and
said time interval defining means and said scale factors stored in
said scale factor memory are selected to simulate attack and decay
effects of a pipe organ.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention resides broadly in the field of electronic musical
instruments, and is particularly adaptable for use in the
electronic organ as a digital selection system for calling forth
desired tones from those available to be produced by the organ, and
for impressing upon the tone envelopes the appropriate attack and
decay characteristics. The term "organ" is used throughout the
specification and claims in a generic sense (as well as in a
specific sense) to include any electronic musical instrument having
a keyboard such as an electronic organ, an electric piano or
accordion, and so forth, and in fact, the principles of the present
invention are applicable to any musical instrument in which musical
sounds are generated in response to the actuation of key switches,
regardless of whether the switches are actuated directly, i.e., by
the musician's fingers, or indirectly, e.g., by the plucking of
strings. The term "key" is also used in a generic sense, to include
depressible levers, actuable on-off switches, touch- or proximity-
responsive (e.g., capacitance- or inductance- operated) devices,
closable apertures (e.g., a hole in a "keyboard" of holes which
when covered by the musician's finger closes or opens a fluidic
circuit to produce a tonal response), and so forth.
2. Description of the Prior Art
The function of an electronic organ is to faithfully reproduce, or
to simulate by electronic means, the sounds or tones developed by a
true pipe organ upon selection of notes and other special effects
by the organist. In order to provide other than an abrupt start and
an abrupt end of the tone envelope generated when a particular key
is depressed and released, respectively, it is desirable to
simulate attack and decay of the tone by gradually increasing the
tone envelope at the leading edge and gradually decreasing the
envelope at the trailing edge. In conventional electronic organs,
desired attack and decay may be conveniently handled by use of
circuits having the necessary time constants or whose time
constants may be adjusted according to the desired rise and fall of
the waveform at the leading and trailing edges.
Resistance-capacitance networks are commonly employed for such
purpose.
In the copending application of G. A. Watson entitled "Multiplexing
System For Selection Of Notes And Voices In An Electronic Musical
Instrument, " filed on even date herewith, and assigned to the same
assignee as the present invention, there is described an electronic
organ in which every key of every keyboard is scanned in cyclic
sequence. The actuation of a key or keys on any keyboard is entered
as information in a parallel digital format developed by the
scanning of the keyboards, the information indicating the order and
combination, as well as each individual one, of the keys that have
been actuated and deactuated. This parallel format is continuously
converted to a serial format to provide information regarding key
actuation in the form of pulses in appropriate time slots of the
time division multiplexed signal which is supplied to the tone
generating section of the organ. Each time slot of the multiplexed
signal is representative of a specific key to permit identification
of the notes associated with the respective keys and thereby to
result in the appropriate sounds being generated in response to the
playing of the keys.
The tone generators which respond to the incoming multiplexed
signal to bring forth the appropriate tones corresponding to those
keys that have been actuated, in the order and combination of such
actuation, produce digital amplitude samples of a waveform of the
desired sound at a frequency corresponding to the desired note
frequency.
Such an arrangement permits reduction of complexity that is usually
found in electronic organs and in particular permits elimination of
a substantial number of wires and cables that are usually required
between the keyboards and the tone generators. Furthermore, since
the digital electronic organ of the aforementioned Watson
application provides assignment in a simple and efficient manner of
a small number of tone generators, relative to the number of keys
available, to the keys which have actuated, there is a further
reduction in complexity of mapping the subset of depressed keys
into the available tone generators by means of special wiring
arrangements, as in conventional requirements. Still further, the
digital electronic organ overcomes such difficulties as may occur
when a key switch has faulty or dirty contacts, a situation that
would ordinarily lead to intermittent electrical contact and
discontinuity of tone. By use of a multiplexed signal, the presence
of a pulse in a particular time slot of a repeating signal is
sufficient to represent the actuation of the corresponding key, and
less than perfect contact is required to produce that pulse.
Each of the limited number of tone generators provided in the
digital electronic organ of the aforementioned Watson application
is associated with generator assignment logic constructed and
arranged to assign an available tone generator to an incoming pulse
in the multiplexed signal which has not yet captured a tone
generator. Each tone generator includes a memory means storing
digital representations of amplitudes of the waveshape to be s
synthesized at a large number of sample points. When the tone
generator is captured by a pulse, the memory means associated with
that tone generator is accessed to read out amplitude samples in
accordance with the frequency of the tone to be generated.
It is a principal object of the present invention to provide an
attack and decay simulation system by which the amplitude of the
leading and trailing portions of the note envelope of a digital
electronic organ are appropriately scaled.
SUMMARY OF THE INVENTION
Briefly, according to the present invention, the duration of the
attack or decay is controlled by a counter which may be selectively
enabled to count timed pulses having a rate independent of the note
frequency, or to count cycles or half cycles of the specific note
frequency. In essence, the counter serves to determine the abscissa
in a graph of amplitude versus time for the attack or decay. The
ordinate or amplitude scale of the graph is provided by a plurality
of amplitude scale factors stored in a fixed memory accessed by the
counter. The scale factors are read from the fixed memory as
required and supplied to a multiplier which receives as a second
input the digital amplitude samples being read from the tone
generator memory, the multiplier forming the product of these two
inputs to scale the leading and trailing portions of the note
waveform.
In a preferred embodiment of the invention, the count is initiated
when the note generator is assigned a pulse and the attack mode is
entered. Unless the attack system is disabled, a positive attack is
provided in which the counter is forced to complete the attack
regardless of whether or not the key remains depressed. When the
key is subsequently released, and the corresponding pulse fails to
appear in the multiplexed signal, the count for decay is initiated.
If the pulse representative of the same key should reappear during
decay, indicating that the latter key has again been actuated, the
attack mode is reassumed. However, if the key is again released
prior to completion of attack, the system is constructed and
arranged such that positive attack is not in effect and the decay
mode is reinitiated immediately. This operation simulates that
which occurs in a pipe organ.
BRIEF DESCRIPTION OF THE DRAWINGS
In describing the present invention, reference will be made to the
accompanying FIGURES of the drawings in which:
FIG. 1 is a simplified block diagram of a system for producing a
time division multiplexed signal containing a recycling sequence of
time slots each associated with a particular key of the organ and
in which each time slot containing a pulse is indicative of the
actuation of the associated key;
FIG. 2 is a circuit diagram of an exemplary decoder for use in the
system of FIG. 1;
FIG. 3 is a more detailed circuit diagram of the switching array
and encoder used in the system of FIG. 1;
FIG. 3A is a circuit diagram of an alternative encoder to that
shown in FIG. 3, for use in the system of FIG. 1;
FIG. 4 is a circuit diagram of the input-output bus connecting
means at each intersection of the switching array of FIG. 3;
FIG. 5 is illustrative of a multiplex waveform developed by the
system of FIG. 1 in response to actuation of selected keys;
FIG. 6 is a simplified block diagram of generator assignment and
tone generating apparatus for processing the multiplexed signal
produced by the system of FIG. 1 to develop the desired tones as an
audible output of the organ;
FIGS. 7A and 7B together constitute a circuit diagram of one
embodiment of the tone generator assignment logic for the system of
FIG. 6;
FIG. 8 is a block diagram of a tone generator suitable for
synthesizing the frequency of every note capable of being played in
the organ, for use with the assignment logic of FIGS. 7A and 7B in
the system of FIG. 6;
FIG. 9 is illustrative of a complex waveshape of the type produced
by a pipe organ, and of the sample points at which amplitude values
are taken, for simulation at selected note frequencies; and
FIG. 10 is a block diagram of a preferred embodiment of an attack
and decay control unit for use in an electronic digital musical
instrument of the type shown and described with reference to the
preceding FIGURES of drawing.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1, the keyboard multiplexing system or note
selection system includes a keyboard counter 1 which is implemented
to provide a specified count for each key of each keyboard
(including manuals and pedal divisions) of the organ. If, for
example, the electronic organ in which the multiplexing system is
used has four keyboards, such as three manuals and a pedal board,
each encompassing up to eight octaves, then keyboard counter 1
should have the capability of generating 4.times.8.times.12=384
separate counts (digital words). It is essential that the counter
be capable of developing a count representative of every key on
every keyboard of the organ; however, it may be desirable to
provide a counter that can produce a count greater than the number
of available keys in order to have available certain redundant
counts not associated with any keys. Such redundancy is readily
provided by simply utilizing a counter of greater capacity than the
minimum required count.
Keyboard counter 1 is divided into three separate sections (or
separate counters) designated 2, 3 and 4. The first section
(designated 2) is constructed to count modulo 12 so as to designate
each of the 12 keys associated with the 12 notes in any octave. The
second section (designated 3) is adapted to count modulo 8, to
specify each of the eight octaves encompassed by any of the four
keyboards. The last section (designated 4) is designed to count
modulo 4 to specify each keyboard of the organ. Therefore, the
overall keyboard counter is arranged to count modulo 384, in that
at the conclusion of every 384 counts, the entire set of keyboards
have been covered (scanned) and the count repeats itself. To that
end, each counter section may be composed of a separate
conventional ring counter, the three counters being connected in
the typical cascaded configuration such that when section 2 reaches
its maximum count it advances the count of countersection 3 by one,
and will automatically initiate a repetition of its own count.
Similarly, attainment of its maximum count by countersection 3 is
accompanied by advancement of the count of section 4 by one.
Advancement of the count of counter 2 is accomplished by
application of clock pulses thereto from a master clock source 5
which delivers clock pulses at a sufficiently rapid repetition rate
(frequency) to ensure resolution of depression (actuation) and
release (deactuation) of any key on any keyboard, i.e., to supply a
pulse at the instant of either of these events. Scanning of all
keyboards of the organ at a rate of 200 or more times a second is
deemed quite adequate to obtain this desirable resolution. For the
exemplary keyboard counter set forth above, this is equivalent to a
minimum of 200.times.384=76,800 counts per second, so that a master
clock delivering clock pulses at a rate of 100 kc./s. is quite
suitable.
A total of four lines emanate from counter 4, one line connected to
each ring counterstage, to permit sensing of the specific keyboard
which is presently being scanned. Similarly, eight lines are
connected to the eight ring counterstages, respectively, of octave
counter 3 to detect the octave presently being scanned. Thus, a
total of 12 lines extend from counters 3 and 4, and these 12 lines
can carry signals indicative of 32 (8.times.4) possible states of
the keyboard counter. The specific one of the 32 states,
representative of a particular octave on a particular keyboard,
which is presently being scanned is determined by use of a decoder
circuit 7 composed of 32 AND gates designated 8-1, 8-2, 8-3, 8-32
(FIG. 2), each with two input terminals and an output terminal. The
gates are arranged in four groups of eight each, with every gate of
a particular group having one of its two input terminals (ports)
connected to one of the four lines of counter 4. Distinct and
different ones of the eight lines from counter 3 are connected to
the other input terminal of respective ones of the eight AND gates
of that group. A corresponding situation exists for each group of
AND gates, with the only difference being that each group is
associated with a different output line of counter section 4. Using
this arrangement, the decoder logic designates every octave of keys
in the organ by a respective driver pulse when a count
corresponding to that octave is presently contained in the
counter.
The output pulses deriving from the AND gates (or drivers) of
decoder circuit 7 are supplied on respective ones of 32 bus bars
(or simply, buses), generally designated by reference numeral 10,
to a keyboard switching array 11. From the preceding description,
then, it will be clear that array 11 has one input bus 10 for every
octave of keys in the organ (including every octave on every
keyboard), and that a drive pulse will appear on each input bus
approximately 200 times per second, the exemplary rate of scan of
the keyboards, as noted above, for obtaining adequate resolution of
operation of the keys. Switching array 11 also has 12 output buses,
generally designated by reference number 12, each to be associated
with a respective one of the 12 notes (and hence, the 12 keys) in
any given octave.
Array 11 is basically a diode switching matrix, in which spaced
input buses 10 and spaced output buses 12 are orthogonally arranged
so that an intersection or crossing occurs between each input bus
and each output bus (see FIG. 3), for a total of 384 intersections,
one for each count of the keyboard counter 1. As is typical in this
type of matrix, the crossed lines or buses are not directly
interconnected. Instead, a "jump" diode, such as that designated by
reference number 13 in FIG. 4, is connected between the input bus
10 and the output bus 12 at each intersection, the diode poled for
forward conduction (anode-to-cathode) in the direction from an
input bus 10 to an output bus 12. Wired in series circuit or series
connection with each diode 13 is a respective switch 14 which is
normally open circuited and is associated with a distinct
respective one of the keys of the organ, such that depression of
the associated key produces closure (close circuiting) of the
switch 14 whereas release of the associated key results in return
of the switch to its open state. Alternatively, each of switches 14
may itself constitute a respective key of the various keyboards of
the organ.
While switch 14 is shown schematically as being of mechanical
single-pole, single-throw (SPST) structure, it will be understood
that any form of switch, electronic, electromechanical,
electromagnetic, and so forth, may be utilized, the exact nature of
the switch depending primarily upon the nature of the energization
produced upon operation of the associated key. Switch 14, then, is
adapted to respond to the particular form of energization or
actuation produced upon operation of a key on any keyboard (or, as
observed above, may itself constitute the key), to complete the
circuit connecting associated diode 13 between a respective input
bus 10 and a respective output bus 12 at the intersection of those
buses, when the key is depressed, and to open the circuit
connecting the diode between respective input and output buses at
that intersection when the key is released. Positive pulses
occurring at the rate of approximately 200 per second, for example,
according to the timing established by master clock 5, are
transferred form input bus 10 to output bus 12 via the respective
diode 13 and closed switch 14 when the associated key is depressed.
While a switch alone (i.e., without the series connected diode)
would serve the basic purpose of transferring a signal between the
input and output lines of array 11, the diode provides a greater
degree of isolation from sources of possible interference (noise)
and acts to prevent feedback from output to input lines.
In FIG. 3, the output buses 12 from switching array 11 are
connected to an encoder circuit 15 to which are also connected the
12 output lines, generally designated by reference number 16, from
keyboard counter section 2. To produce an orderly arrangement in
which each key of the organ is assigned a distinct and different
time slot in a time-division multiplex waveform, the switches 14
associated with the respective keys are conveniently arranged in a
specific sequence in the switching array 11. Assume, for example,
that specific output bus 17 of the switching array is to be
associated with note A of any octave, a second output bus 18 is to
be associated with note B of any octave, and so forth. Then
switches 14 in the row corresponding to output bus 17 in array or
matrix 11 are associated with the keys corresponding to the note A
in each octave of keys in the organ. The column position of each
switch 14 in matrix 11 corresponds to a specific octave of keys in
the organ, and hence, to a specific octave encompassed by a
specific keyboard of the organ.
Each of the output buses 12, including 17, 18, and so forth, is
connected to one of the two input ports or terminals of a
respective AND gate of the twelve AND gates 20-1, 20-2, 20-3, . .
., 20-12, of encoder circuit 15. An output lead 16 of
countersection 2 associated with the ring counterstage designating
the count for a particular note (key) in a given octave is
connected to the remaining port of an encoder circuit AND gate
having as its other input a pulse on the output bus 12 associated
with that same note. A similar arrangement is provided for each of
the remaining 11 output lines 16 of countersection 2 with respect
to the AND gates 20 and the output buses 12. Thus, for example, if
output bus 17 (associated with the row of switches 14 in matrix 11
for note A) is connected to one input terminal of AND gate 20-1,
then output line 22 from the stage of counter 2 designating the
count associated with note A is connected to the remaining input
terminal of gate 20-1. The output terminal of each of AND gates 20
is connected to a respective input terminal of OR gate 23, the
output of the OR gate constituting the output signal of the encoder
circuit. By virtue of its structure, encoder circuit 15 is
effective to convert the parallel output of array 11 to a serial
output signal in accordance with the scanning of output buses 12 as
provided by the advancing and repeating count sensed in the form of
pulses (at a rate of about 200 per second) appearing on output
lines 16. The end result of this circuitry is the production of a
time-division multiplex (TDM) signal on a single conductor 25
emanating from encoder 15.
As an alternative to the specific logic construction shown for
encoder 15 in FIG. 3, the encoder may have the circuit
configuration exemplified by FIG. 3A. Referring to the latter
FIGURE, the encoder includes a shift register 80 having 12 cascaded
stages designated SR1, SR2, SR3, . . . , SR12, each connected to a
respective output bus 12 of switching matrix 11 to receive a
respective output pulse appearing thereon. The shift register
stages are loaded in parallel with the data read from switching
array 11 on output buses 12, in response to each of the pulses
appearing (i.e., each time a pulse appears) on one of the 12 output
leads 16 of note counter 2. That one output of the note counter
which is to supply the load command for all 12 stages of shift
register 80 is selected to permit the maximum amount of settling
time to elapse between each advance of octave counter 3 and
keyboard counter 4 and the loading of the shift register. In other
words, it is extremely desirable that the data to be entered into
the shift register from the switching array be stabilized to the
greatest possible extent, and this is achieved by allowing the
counters whose scanning develops this data, to settle at least
immediately prior to loading. Thus, the first note counterstage, or
one of the early stages, is selected to provide "load" pulses to
shift register 80.
"Shift" pulses are supplied to the shift register by master clock
5, which also supplies note counter 2, to shift the contents of
each shift register stage to the next succeeding stage except
during those bit times when the shift pulse is preempted by a load
pulse from the note counter. Accordingly, shift register 80 is
parallel loaded, and the date contents of the register are then
shifted out of the register in serial format on encoder output line
25 until a 1-bit pause occurs when another set of data is parallel
loaded into the shift register, followed again by serial readout on
line 25. This serial pulse train constitutes the time division
multiplexed output signal of encoder 15 just as in the embodiment
of FIG. 3, except that with the FIG. 3A configuration, decoder 7
(and the counters 3 and 4 supplying pulses thereto) undergo a
greater amount of settling time.
It will be observed that this operation constitutes a
parallel-to-serial conversion of the information on output buses 12
to a time-division multiplexed waveform on the output line 25 of
encoder 15.
In the TDM signal, each key has a designated time slot in the 384
time slots constituting one complete scan of every keyboard of the
organ. In the specific example of the time base provided by master
clock 5, the TDM waveform (shown by way of example in FIG. 5) is
initiated about 200 times per second. This waveform contains all of
the note selection information, in serial digital form on a single
output line, that had heretofore required complex wiring
arrangements. This waveform development will be more clearly
understood from an example of the operation of the circuitry thus
far discussed. It should be observed first, however, that all of
the counter and logic circuitry described up to this point can be
accommodated within a very small volume of space by fabrication in
integrated circuit form using conventional microelectronic
manufacturing techniques.
When the main power switch for the electronic organ is turned on,
all components are energized to an operational state, the master
clock delivering pulses to keyboard counter 1 at the aforementioned
rate. Upon depression of a key on any keyboard of the organ,
including the manuals and pedal divisions, a respective switch 14
associated in series connection with a diode 13 at the intersection
between the appropriate input bus 10 and output bus 12 of the
switching array 11 is closed, thereby connecting the two buses to
supply pulses appearing on a given bus 10 from decoder 7, to the
appropriately connected output bus 12 for application to encoder
15. If, for example, the key that was depressed is associated with
note C in the second octave, C.sub.2 appears in the appropriate
time slot of the multiplexed signal emanating from encoder 15 and
will repetitively appear in that time slot in each scan of the
keyboards of the organ as long as that key is depressed. That is to
say, a pulse appears on output line 10 of decoder 7 associated with
the second octave in the manual being played, in accordance with
the scan provided by master clock 5, as the counterstage associated
with that octave is energized in keyboard counter octave section 3
and the counterstage associated with that manual is energized in
section 4 of the keyboard counter. The connection between the
appropriate input bus 10 and output bus 12 of switching array 11
for the particular octave and keyboard under consideration is
effected by the depression and continued operation of the key
associated with the switch 14 for that intersection in the array.
Since, as previously stated, each switch is associated with a
particular note (key) and is positioned in a specific row of the
switching array, a signal level is thereby supplied to the
appropriate output bus 12 of the switching array arranged to be
associated with that note. Each time the specified note, here the
note C, is scanned in the sequence of count in the note section 2
of the keyboard counter, a second input is provided to the AND gate
20 receiving the signal level on output bus 12, and a pulse is
delivered to OR gate 23. By virtue of this operation, the pulse
which appears at the output of OR gate 23 always appears in the
identical specified time slot in the multiplexed signal for a
specific note associated with a particular key on a particular
keyboard of the organ.
If more than one key is depressed, regardless of whether one or
more keyboards is involved, operation corresponding to that
described above for a single depressed key is effected for every
operated key. Thus, for example, assume that the key associated
with note C.sub.2 is played on one manual, the note B.sub.4 is
played on a second manual, and the notes D.sub.5, E.sub.5, and
G.sub.5 are played on a third manual, the associated keys being
depressed substantially simultaneously to produce desired
simultaneous reproduction of all notes as the audio output of the
organ. Under these conditions, the associated switches 14 in the
switching array 11 are closed to provide through connections
between the respective input buses 10 and output buses 12 for the
specific octaves and manuals involved. As the appropriate AND gates
20 in encoder 15 are supplied with gating signals from the
sequentially energized counterstages of note section 2, during the
scanning operation provided by that keyboard counter section, pulse
levels appearing on output buses 12 for which switches 14 have been
closed are gated in the appropriate time slots of the multiplex
signal on the output lead 25 from OR gate 23 of encoder 15, for the
specific notes involved.
An example of the multiplex signal waveform thus generated is shown
in FIG. 5. While the pulses appearing in the time slots associated
with the specific notes mentioned above are in a serial format or
sequential order, their appearance is repetitive during the
interval in which the respective keys are actuated. Hence, the
effect is to produce a simultaneous reproduction of the notes as an
audio output of the organ, as will be explained in more detail in
connection with the description of operation of the tone generation
section.
Referring now to FIG. 6, the multiplexed signal arriving from
encoder 15 is supplied to generator assignment logic network 26
which functions to assign a tone generator 28 to a depressed key
(and hence, to generate a particular note) when the associated
pulse first appears in its respective time slot in the multiplexed
signal supplied to the assignment logic. If only 12 tone generators
28 are available in the particular organ under consideration, for
example, the assignments are to be effected in sequence (order of
availability), and once particular pulses have been directed to all
of the available generators (i.e., all available tone generators
have been "captured" by respective note assignments), the organ is
in a state of saturation. Thereafter, no further assignments can be
made until one or more of the tone generators is released. The
availability of 12 (or more) tone generators, however, renders it
extremely unlikely that the organ would ever reach a state of
saturation since it is quite improbable that more than 12 keys
would be depressed in any given instant of time during performance
of a musical selection. The output waveforms from the captured tone
generators at the proper frequencies for the notes being played,
are supplied as outputs to appropriate waveshaping and
amplification networks and thence to the acoustical output speakers
of the organ. If the tone generators 28 supply a digital
representation of the desired waveform, as is the case in one
embodiment to be described, then the digital format is supplied to
an appropriate digital-to-analog converter, which in turn supplies
an output to the waveshaping network.
At any given instant of time, each tone generator 28 may be in only
one of three possible states, although the concurrent states of the
tone generators may differ from one tone generator to the next.
These three states are as follows:
1 a particular note represented by a specific pulse in the
multiplexed signal has captured (i.e., claimed) the tone
generator;
2 the tone generator is presently uncaptured (i.e., unclaimed or
available), but will be captured by the next incoming pulse in the
multiplexed signal associated with a note which is not presently a
tone generator captor; and
3 the tone generator is presently available, and will not be
captured by the next incoming pulse.
It should be apparent from this delineation of possible states that
any number of the tone generators provided (12, in this particular
example) may be in one or the other of the states designated (1)
and (3), above, but that only one of the tone generators can be in
state (2) during a given instant of time. That is, one and only one
generator is the next generator to be claimed. When the specific
tone generator in state (2) is claimed by an incoming pulse, the
next incoming pulse which is not presently claiming a tone
generator is to be assigned to the generator that has now assumed
state (2). For example, if the third tone generator (-3) of the 12
generators is captured by an incoming pulse (note representation)
and the fourth generator (-4) was and still is captured by a
previous note selection, then tone generator -4 is unavailable to
the next incoming pulse, and the privilege of capture must pass to
the next tone generator which is not presently in a state of
capture. If all of the tone generators are captured, that is, all
are in state (1) as described above, then the organ is saturated
and no further notes can be played until at least one of the tone
generators is released. As previously observed, however, the
saturation of an organ having 12 (or more) tone generators is
highly unlikely.
Generator assignment system 26 is utilized to implement the logic
leading to the desired assignment of the tone generators 28, and
thus to the three states of operation described above. An exemplary
embodiment of the generator assignment logic is shown in FIGS. 7A
and 7B. Referring to FIG. 7A, a ring counter 30, or a 12-bit
recirculating shift register in which one and only one bit position
is a logical "1" at any one time, is used to introduce a claim
selection, i.e., to initiate the capture, of the next available
tone generator in the set of tone generators 28 provided in the
organ. A shift signal appearing on line 32 advances the "1" bit
from one register or counterstage to the next, i.e., shifts the "1"
to the next bit position. Each bit position is associated with and
corresponds to a particular tone generator, so that the presence of
the logical "1" in a particular bit position indicates selection of
the tone generator to be claimed next, provided that it is not
already claimed.
Each time the logical "1" appears in a stage of shift register 30,
a "claim select" signal appears on the respective output line 34
associated with the stage. This "claim select" signal is supplied
in parallel to one input of a respective one of AND gates 35, on
line 36, and to further logic circuitry (to be described presently
with reference to FIG. 7B), on line 37. The output line of each of
AND gates 35 is connected to a separate and distinct input line of
an OR gate 40 which, in turn, supplies an input to an AND gate 42
whose other input constitutes pulses from the master clock 5.
In operation of the portion of the generator assignment logic shown
in FIG. 7A, assume that shift register stage -2 contains the
logical "1." That stage therefore supplies "claim select 2" signal
to the respectively associated AND gate 35 and, as well, to further
logic circuitry on line 37. If this further logic circuitry
determines that the associated note generator may be claimed, a
"claimed" signal is applied as the second input to the respectively
associated AND gate 35. Since both inputs of that AND gate are now
"true," an output pulse is furnished via OR gate 40 to the
synchronization gate 42. The latter gate produces a "shift" pulse
on line 32 upon simultaneous occurrence of the output pulse from OR
gate 40 and a clock pulse from master clock 5. Accordingly, the
logical "1" is advanced one bit position, from stage -2 to stage -3
of shift register 30, in preparation for the claiming of the next
tone generator.
Suppose, however, that the tone generator 28 corresponding to stage
-3 is already claimed by a previous note pulse in the multiplexed
signal. In that event a "claimed" signal appears as one input to
the associated AND gate 35, and with the "claim select" signal
appearing as the other input to that gate by virtue of stage -3
containing the single logical "1," another shift pulse is
immediately generated on line 32 to advance the logical "1" to
stage -4 of the shift register. Similar advancement of bit position
of the "1" continues until an unclaimed tone generator is selected.
If it should happen that no note is presently being selected on a
keyboard of the organ at the time when an unclaimed tone generator
is selected, the "1" bit remains in the shift register stage
associated with the selected tone generator until such time as a
"claimed" signal is concurrently applied to the respective AND gate
35, i.e., until the selected tone generator is claimed, because
until that time no further shift signals can occur.
Referring now to FIG. 7B, each tone generator also has associated
therewith a respective portion of the generator assignment logic as
shown in that FIGURE. In other words, the circuitry of FIG. 7B,
with minor exceptions to be noted in the ensuing description, is
associated with the i'th tone generator (where i=1, 2, 3, . . . ,
12), and since each of these portions of the assignment logic is
identical, a single showing and description will suffice for all.
An AND gate 50 has three inputs, one of which is the multiplexed
signal deriving from encoder 15 (this being supplied in parallel to
the AND gates 50 of the remaining identical portions of the
assignment logic for the other tone generators, as well), a second
of which is the "claim select" signal appearing on line 37
associated with the i'th stage of shift register 30 (FIG. 7A), and
the third of which is a signal, on line 52, indicating that the
pulse in the multiplexed signal has not captured any tone generator
as yet. Of course, these signals are not present unless the
respective events which produce them are actually occurring but if
all three signals are simultaneously presented as inputs to AND
gate 50, a "set" signal is applied to a claim flip-flop 53 to
switch that flip-flop to the "claimed" state and simultaneously
therewith to supply a "claimed" signal to the AND gate 35
associated with the i'th stage of shift register 30 and to the
respectively associated tone generator 28.
A modulo 384 counter 55 is employed to permit recognition by the
respective portion of the generator assignment logic of the
continued existence in the multiplexed signal of the pulse (time
slot) which resulted in the capture of the associated tone
generator. To that end, counter 55 is synchronized with keyboard
counter 1 (also a modulo 384 counter) by simultaneous application
thereto of clock pulses from master clock 5. The count of each
counter 55 associated with an uncaptured tone generator is
maintained in synchronism with the count of keyboard counter 1 by
application of a reset signal to an AND gate 58 each time the
keyboard counter assumes a zero count; i.e., each time the count of
the keyboard counter repeats. However, that reset signal is
effective to reset counter 55 only if the associated tone generator
is uncaptured. The latter information is provided by the state of
flip-flop 53, i.e., a "not claimed" signal is supplied as a second
input to AND gate 58 whenever flip-flop 53 is in the "unclaimed"
state.
When the flip-flop (and hence, the associated tone generator) is
claimed, however, it is desirable to indicate the time slot
occupied by the pulse which effected the capture, and for that
reason a "reset" signal is applied to counter 55 at any time that
an output signal is derived from AND gate 50. Thus, in the captured
state, the zero count of counter 55 occurs with each repetition of
the "capturing" pulse in the TDM waveform. Such information is
valuable for a variety of reasons; for example, to prevent capture
of an already captured tone generator when the zero count continues
to appear simultaneously with a pulse in the TDM waveform, and to
provide a "key released" indication when the zero count is no
longer accompanied by a pulse in the TDM waveform. Capture
prevention is effected by feeding a signal representative of zero
count from counter 55 to the appropriate input terminal of an OR
gate 60 associated with all of the tone generators and their
respective generator assignment logic. The logical "1" supplied to
OR gate 60 is inverted so that simultaneous identical logical
inputs cannot be presented to AND gate 50. On the other hand, when
the zero count is merely synchronized with the zero count of the
keyboard counter and is not the result of capture of the associated
tone generator it does not interfere with subsequent capture of
that tone generator since it does not occur simultaneously with a
pulse in the TDM signal. A "key release" indication is obtained by
supplying the "zero count" signal to an AND gate 62 to which is
also supplied any signal deriving from an inverter 63 connected to
receive inputs from the TDM signal. If the zero count coincides
with a pulse in the multiplexed signal, the inversion of the latter
pulse prevents an output from AND gate 62, and this is proper
because the coincidence of the zero count and the TDM pulse is
indicative of continuing depression of the key which has captured
the tone generator. Lack of coincidence is indicative that the key
has been released, and results in the "key release" signal.
Scanning of the keyboards is sufficiently rapid that any delay
which might exist between actual key release and initiation of the
"key release" signal is negligible, and in any event is
undetectable by the human senses. Furthermore, the generation of a
false "key release" signal when the tone generator is presently
unclaimed, as a result of the occurrence of a zero count from
counter 55 synchronized with the zero count of the keyboard counter
and the simultaneous absence of a pulse in the TDM signal, can have
no effect on the audio output of the organ since the associated
tone generator is not captured and is therefore not generating any
tone. In any case, the "key release" signal deriving from AND gate
62 is supplied to attach decay logic of the tone generator to
initiate the decay of the generated tone.
The "set claim" signal output of AND gate 50 that occurs with the
simultaneous appearance of the three input signals to that gate is
utilized to provide a "key depressed" indication to the
attack/decay circuitry of the tone generator (and to percussive
controls, if desired), as well as to provide its previously recited
functions of "setting" flip-flop 53 and "resetting" counter 55.
The assignment logic embodiment of FIGS. 7A and 7B may be
associated with only a small number of tone generators (12, in the
example previously given), the exact number being selected in view
of the cost limitations and the likely maximum number of keys that
normally may be actuated simultaneously. In that case, each tone
generator must supply every desired frequency corresponding to
every note in every octave that may be played on the electronic
organ. To that end, a digital tone generator of the exemplary
configuration shown in block diagrammatic form in FIG. 8 is
employed.
Before describing the cooperative structural and functional
relationships between the elements of the tone generator shown in
FIG. 8, it is instructive to consider some of the available
alternatives in the construction and operation of digital tone
generators for ultimately generating a desired audiofrequency for a
note corresponding to an actuated key. When a key is depressed on
any keyboard of the digital electronic organ, a waveform is to be
generated with a periodicity corresponding to the desired note
frequency in the audible range. The waveform is computed in digital
format consisting of a series of numbers (digital words) which
represent the magnitude of the waveform at a series, or sequence,
of uniformly spaced sample points. The digital sample point values
thus generated are subsequently converted to analog form.
The sample points are preferably uniformly spaced because such a
format permits the most direct analysis, and therefore the most
direct synthesis, of the desired waveform. If desired, the uniform
spacing of sample points may be such that there is provided an
integral number of samples per cycle for each note frequency to be
generated. Such a technique requires a sampling rate that varies
directly with the frequency. Alternatively, the samples may be
spaced uniformly in time, in which case the phase angle between
samples points varies with the frequency of the note to be
generated. Although the synthesis of a multiplicity of note
frequencies can be implemented for either technique, using a single
clock frequency, the preferred frequency synthesis technique is
that in which the phase angle between the sample points synthesis
technique is that in which the phase angle between the sample
points varies with frequency, i.e., in which the sampling rate is
fixed for all note frequencies to be generated, and the various
generated note frequencies are produced as a result of the
different phase angles.
FIG. 8 shows, in block diagram form, a specific exemplary structure
of a tone generator for generating the required note frequencies of
the organ from a memory containing amplitude samples of the desired
waveform obtained at uniformly spaced points in time. The sample
points are accessed at a fixed, single clock frequency for all note
frequencies to be generated and the phase angle between the sample
points thereby varies with the frequency of the note to be
generated. The tone generator includes, as basic components, a
phase angle calculator 100, a phase angle register 101, a sample
point address register 102, a read-only memory 103, an address
decoder 103a, an accumulator 104, a sampling clock 105, and a
comparator 107. As will be apparent hereafter, the phase angle
calculator 100 and the read-only memory 103 may be shared by all of
the tone generators 28. In addition, each tone generator is
addressed or accessed individually and in sequence and thus once in
each cycle of addressing all tone generators. For that reason, the
sampling clock 105 may comprise a clock rate provided by a master
sampling clock, successive clock pulses of which are directed to
the series of tone generators. The sampling clock addressed to a
given tone generator is thus at a rate comprising the pulse
repetition rate of the master sampling clock divided by the number
of tone generators provided in the system. Further, since the same
read-only memory may be addressed by all tone generators, the
accumulator 104 may be a composite structure associated with
appropriate gating circuitry related to each tone generator for
accumulating the information read from the memory 103 in response
to accessing thereof by a given tone generator.
When a claim flip-flop of the tone generator assignment logic, such
as flip-flop 53 (FIG. 7B), is switched to the claimed state in
accordance with capturing of a pulse in the incoming multiplexed
waveform by a given tone generator 28, the phase angle calculator
100 is instructed to determine the appropriate phase angle for the
frequency of the note to be reproduced as identified by the
captured pulse. A determination of the value of the phase angle
constant, and hence, of the particular note corresponding to the
key that has been actuated, is initiated by supplying both the
count from the main keyboard counter 1 and the count of the modulo
384 counter 55 (e.g., of FIG. 7B) associated with the captured
flip-flop, and which is reset to zero upon that capture, to a count
comparator 107. Comparator 107 subtracts the count of counter 55
from the count of the keyboard counter 1 and supplies a number
representative of the difference, and hence, representative of the
time slot position corresponding to a particular note (i.e., that
note which captured the flip-flop), to phase angle calculator 100.
The difference computed by comparator 107 will always be positive,
or zero, because the computation is elicited from the comparator
only when the associated flip-flop 53 is captured and at that
moment counter 55 is reset to zero, whereas the keyboard counter
probably has some greater count or contains a least count, i.e.,
zero.
On the basis of the difference count supplied by comparator 107,
calculator 100 is informed as to the note for which the phase angle
calculation is to be performed, i.e., the note and thus the
frequency to be produced by the tone generator. The calculator 100
may compute the phase angle as a function of the frequency of the
note to be reproduced and of the number of memory sampling points
of the waveform in storage and thus as approximately equal to the
phase angle of the fundamental between adjacent memory sampling
points for the frequency to be produced. An alternative embodiment
of the phase angle calculator 100 is a conventional storage unit
with look-up capabilities, or simply a memory from which the
correct phase angle is extracted when the memory is suitably
addressed with the identification of the count of the captured
pulse. Alternatively, a combination of a memory with look-up
capabilities and of a calculator capable of computation for
determination of the phase angles may be employed. The synthesis of
note frequencies in accordance with the digitally stored waveform
sample points may be arbitrarily as accurate as desired and, in
effect, provides a true equally tempered scale of the synthesized
note frequencies wherein the notes within the scale differ by the
power of 2.sup.1/12. The degree of accuracy in a practical system,
however, must be realized within a finite maximum information
content and thus the stored phase angles are quantized and rounded
off.
The phase angle thus developed is supplied to and stored in the
phase angle register 101. Thus, upon capture of a given tone
generator, a command control means such as flip-flop 53 which
establishes the captured state of the tone generator controls the
operation of the comparator 107 and, in turn, the phase angle
determination function of the phase angle calculator 100 for the
given note frequency to be generated, for supply of that phase
angle to the register 101. Since this operation must precede the
addressing function, a delay may be provided (as by use of a delay
multivibrator 106) to actuate a switch 108 for passage of pulses
from the sampling clock source 105 (which may be an appropriately
gated pulse from a master sampling clock source) to the registers
101 and 102.
If desired, the sample point address register 102 may be cleared
when claim flip-flop 53 reverts to a noncaptured state, so that it
is prepared for entry of information from the phase angle register
101 upon each calculation. However, it is important to note that
during accessing of the memory it is the rate at which the value of
register 102 increases and not the absolute value thereof which is
significant in the control of the rate of read out of the memory
103 and thus the cyclic frequency of read out of the memory and,
ultimately, the frequency of the note reproduced by the given tone
generator.
Once each sampling clock time as determined by the sampling clock
source 105, the phase angle value stored in phase angle register
101 is added to the previously stored value of the sample point
address register 102. An address decoder 103a decodes preselected
bit positions of the count established in register 102 to effect
accessing, or addressing, of the memory 103. The transfer from the
register 101 to the register 102 is a nondestructive transfer such
that the phase angle value is maintained in the register 101 as
long as that tone generator is captured by a given pulse.
Thus, once each clock time, the phase angle register value,
comprising a digital binary word, is added to the sample point
address register value and correspondingly, for each such clock
time, the memory location corresponding to the sample point address
then existing in the register 102 is accessed. As a practical
matter, only a relatively small, finite set of amplitudes can be
stored in the memory 103, because of practical limitations on its
capacity, and thus only a finite number of addresses are available.
Furthermore, the registers such as 101 and 102 must be of a finite,
practical length. In particular, the length of the phase angle
register 101 is determined by the accuracy with which the frequency
of the note is to be generated. The frequency actually produced
will be exactly the value of the phase angle in register 101 times
the memory sampling rate. The sample point address register 102, on
the other hand, must be sufficiently long to accept data from the
phase angle register 101. The register 102, however, preferably
includes additional bit positions which are not used, or not used
at all times, for accessing the memory. In this respect, it will be
apparent that one bit position in the register 102 is scaled at one
cycle of the fundamental of the frequency of the note to be
generated. A set of next successive less significant bits may
therefore specify the sample point address in accordance with the
function of the decoder 103a. The more significant bits of the
register 102 may be used to count numbers of cycles of the waveform
for various control functions not here pertinent. In addition, by
selecting appropriate bit positions by means of decoder 103a, the
frequency of the note reproduced may be readily adjusted to
different octaves. That is, a 1-bit positional shift constitutes
division or multiplication by two, depending upon direction of
shift. For example, if the most significant bit is numbered 1 and
thus bit positions 2 through 6 comprise the sample point address
bits normally used for an 8 foot voice, then a 16 foot voice can be
obtained by using bits 1 through 5 as the sample point address
source. Correspondingly, a 4 foot voice can be obtained by using
bits 3 through 7 as the sample point address bits.
The read-only memory 103 contains digital amplitude values of a
single cycle of the complex periodic waveform to be reproduced for
all note frequencies. That is to say, the same complex periodic
waveform is to be reproduced for each note played, the only
difference being the frequency at which the complex waveform is
reproduced.
Referring to FIG. 9, illustrating a typical complex waveshape 110
of the type that may be produced by a pipe organ, the wave may be
sampled at a multiplicity of points, shown as vertical lines in the
Figure, to provide the amplitude data for storage in memory 103. If
absolute amplitude data is stored in memory 103, then the data
accessed is the actual amplitude of the output waveform at the
respective sample points (i.e., with respect to a "zero" level at
time axis 111). In that event, the digital amplitude data
successively read from the memory may be applied directly to an
appropriate digital-to-analog conversion system. On the other hand,
if incremental amplitude information (i.e., simply the difference
in amplitude between the present sample and the immediately
preceding sample) is stored in memory 103, then the data accessed
must be added to an accumulator (e.g., 104 in FIG. 8) to provide
the absolute amplitude information at each sample point prior to
digital-to-analog conversion. Each of the sample points of the
memory 103 may comprise a digital word of approximately 7 or 8
bits.
The digital words thus read out from the memory 103 are supplied to
the accumulator 104 which provides a digital representation of the
waveform at selected sample points over a cycle of the waveform and
at a frequency corresponding to the note to be reproduced. As
above-described, this digital waveform representation may itself be
operated upon for waveshape control, e.g., attack and decay, and
subsequently is supplied to a digital-to-analog converter for
producing an analog signal suitable for driving the acoustical
output means, such as audio speakers, of the organ.
Memory 103 may be a microminiature diode array of the type
disclosed by R. M. Ashby et al. in U.S. Pat. No. 3,377,513, issued
Apr. 9, 1968, and assigned to the same assignee as is the present
invention. The array may, for example, contain an amplitude
representation of the desired waveform in the form of an 8-bit
binary word at each of 48 or more sample points. Such a capacity
permits the storage of up to 128 amplitude levels in addition to a
polarity (algebraic sign) bit. In any event, the capacity of memory
103 should be sufficient to allow faithful reproduction of note
frequencies.
If whole values of amplitude levels at the sample points of the
waveform are read from memory 103 in the embodiment of FIG. 8, the
same sample point may be addressed several times in succession.
This is the result of the requirement that the memory be accessed
at a fixed rate for every note frequency, a requirement which
implies that for decreasing note frequencies an increasing number
of sample points must be read out during each cycle; and since the
number of sample points is fixed and no sample points can be
skipped regardless of note frequency, this simply means repetition
of the same sample point possibly several tines in succession. This
does not undesirably affect the ultimate waveform generated,
however, because there is consistent plural sampling of each point
of the stored waveform.
On the other hand, if incremental values of the waveform have been
stored in memory 103, each increment can be read out only once
during each cycle of the waveform. This is because an accumulation
of incremental values is required, and repetition will produce a
significant error in the accumulation and the ultimate waveform to
be generated, regardless of the note frequency. Since the same
sample point may be read out of memory 103 several times in
succession depending upon the note frequency to be produced, just
as in the whole value sample point case noted above, for
incremental values all but one readout for each sample point must
be inhibited to prevent repetitive application to accumulator 104.
To that end, a gate 103b (shown dotted in FIG. 8) is positioned in
the output line of memory 103 preceding accumulator 104 if
incremental values are utilized. Gate 103b is preferably enabled to
pass the sample value being read from the memory only when the
least significant bit in address register 102 changes. Since such
change occurs upon a "carry" into that position, indicating
advancement to the next memory address, a bit change sensor 102a
may be used to detect the change and to enable gate 103b at each
advancement to a new address. The same sample point may still be
accessed several times in succession, but only one such value will
be "read out" (i.e., will be passed by the gate since it is
disabled at all other times).
The phase angle calculations should be such that the highest note
playable is that note for which a sample point value is read out
each time the memory is addressed. Since the ratio between adjacent
notes on the equally tempered musical scale is an irrational
number, it is preferable that the largest number in the phase angle
register be slightly smaller than the least significant bit in the
address register. If the phase angle number were larger, it would
be necessary to occasionally skip a sample point and this would
lead to inconsistency in the note frequency, whereas if the phase
angle number were equal to the least significant bit in the address
register the note frequency would be slightly higher (i.e., about
one-half of a halftone higher) than the highest note that can be
played. By requiring the phase angle number to be slightly smaller,
the highest note capability of the instrument will not be
exceeded.
The same read-only memory 103 may be shared by all of the tone
generators 28 if the data words (amplitude values of sample points)
read therefrom are gated to respective waveshapers in synchronism
with the addressing of the memory for the respective notes being
played. In other words, simultaneous or concurrent play of two or
more notes requires that these be distinguished as separate sets of
sample points, if a single memory is to be shared for all tone
generators.
In the present embodiment, however, it is assumed that each tone
generator has its own memory (and, incidentally, memories composed
of microminiature diode arrays of the type disclosed in the
aforementioned Ashby et al. patent are readily fabricated with more
than 5,000 diode elements per square inch), which supplies its
digital output to a respectively associated attack and decay
control unit. The binary-valued amplitude samples are applied
directly to the attack and decay circuitry if each sample is a
whole value, or may be applied via an accumulator 104 if each
sample is an incremental value. Alternatively, accumulation of
incremental values may be performed after shaping, if desired.
Referring to FIG. 10, an embodiment of the attack and decay unit
associated with each tone generator includes a multiplier 120 to
which the sample values from memory 103 are applied for
multiplication by an appropriate scale factor to control the
leading and trailing portions of the note waveform envelope. As is
well known, the faithful similation of true pipe organ sounds by an
electronic organ requires that the latter be provided with the
capability to shape each tone envelope to produce other than an
abrupt rise and fall. Without special attack and decay control, the
note waveform produced by an electronic organ normally rises
sharply to full intensity immediately upon depression of the
respective key, and ceases abruptly when that key is released. At
times, this may be a desirable effect to maintain during the play
of a musical selection. In those cases, the attack and decay
controls may be avoided entirely, or the scale factor supplied to
multiplier 120, and with which the amplitude samples are to be
multiplied, may be set at unity. More often, however, attack and/or
decay are desirable for or in conjunction with special effects,
such as percussion, sustain, and so forth.
The multiplying scale factor is varied as a function of time to
correspondingly vary the magnitude of the digital samples, with
which it is multiplied, on a progressive basis to simulate attack
and/or decay. In the embodiment of FIG. 10, the total time duration
and the time constant(s) for the attack or decay are controlled by
a counter 122 which may be selectively supplied with uniformly
timed pulses that are independent of the specific note frequency
under consideration, such as pulses obtained or derived from the
master clock, or with pulses having a repetition rate
representative of or proportional to the note frequency. In this
respect, the counter 122 may e considered as determining the
abscissa of a graph of envelope amplitude versus time and
representative of the attack or decay. The ordinate or amplitude
scale of the graph is represented by the series of scale factors
stored in a read-only memory 125 to be accessed by the counter
itself, or by an address decoder 126 which addresses the memory for
readout of scale factors on the basis of each count (or timed,
separated counts) of counter 122.
The counter may be of the reversible, up-down (forward-backward)
type in which it is responsive to incoming pulses to count upwardly
when its "up" (here, attack) terminal is activated, and to count
downwardly when its "down" (here, decay) terminal is activated. The
attack mode of the overall control unit is entered when the
associated tone generator is captured by a hitherto unclaimed note
pulse in the multiplexed signal. The capture of a tone generator is
accompanied by a signal indicative of a key having been depressed
(see FIG. 7B), from the assignment logic, and it is this signal
which initiates the attack count of counter 122. In particular, the
first "key depressed" signal (and possibly the only one) that
occurs upon capture of a tone generator 28 is effective to produce
a count in the first stage of ring counter 128, thereby supplying a
trigger signal from that stage to a monostable delay multivibrator
130 which is set to have an ON time (delay time) of sufficient
duration to ensure that the attack is completed despite release of
the key prior to the normal end of the attack interval. It has been
found that a delay time equal to or greater than approximately the
time occupied by seven cycles (i.e., seven periods) of the lowest
frequency note is quite adequate for multivibrator 130 to ensure
this positive attack. During that interval, the "up" control of
counter 122 is activated by the quasi-stable state of multivibrator
130 and the counter continues to count incoming pulses until the
multivibrator spontaneously returns to its stable state, or until
the note envelope reaches the full desired intensity (magnitude),
if earlier. This full intensity value may be preset into the
attack/decay control logic or it may be determined by logic
circuitry responsive to such factors as the force with which the
respective key is struck (i.e., to velocity-responsive or
touch-responsive device outputs). In the embodiment shown in FIG.
10, the former arrangement is utilized in which a maximum desired
count is set into a fixed counter 131 for continuous comparison in
comparator 133 with the preset count of up-down counter 122. If the
latter exceeds the former, a "disable" command is applied to the
counter to terminate the attack.
Pulses to be counted by counter 122 may be obtained at a rate which
is a function of note frequency, as by supplying the output of
phase angle calculator 100 to a phase-to-frequency converter 135,
or at a rate based on the master clock rate, whichever is desired.
Selection of either rate is accomplished by appropriately setting a
switch 136 coupled to an associated switch or key on or adjacent to
one of the keyboards.
In operation of the attack/decay control unit of FIG. 10, after
switch 136 has been set at the desired position, the pulses to be
counted appear at the input of counter 122 but no count is
initiated until a key is depressed and the associated pulse in the
multiplexed signal from the keyboard results in the capture of a
tone generator 28. The "key depress" signal from the generator
assignment logic initiates a count in ring counter 128, which had
been reset by completion of decay the immediately preceding time
the attack/decay control unit had been used. Preferably, the latter
reset signal is obtained upon switching of the claim flip-flop 53
in the assignment logic 26 to the "not claimed" (decay complete)
state. The up count of counter 122 is thereby enabled and continues
through completion of attack regardless of whether or not the key
remains depressed. If the count pulses are a function of note
frequency, the duration of attack is based upon note frequency as
well; otherwise, the positive attack interval is fixed regardless
of note frequency.
With each count of counter 122 (or less frequently, by use of
suitably timed "enabling" commands), address decoder 126 develops a
related address code for accessing a digital scale factor stored in
the appropriate address of read-only memory unit 125, to be
combined as a product in multiplier 120 with the amplitude samples
being read from tone generator 28 of FIG. 8. By presetting memory
125 such that the scale factors stored therein are logarithmically
increasing (up to the equivalent of unity) with addresses decoded
according to progressively increasing count in counter 122 (up to
the maximum desired count, representing full note intensity), a
logarithmic attack is provided in the note being played.
Furthermore, since the initial attack is positive, i.e., continues
to completion regardless of the present condition of the key which
was struck to produce the attack, the logarithmic rise at the
leading edge of the note waveform continues smoothly to full
intensity of the note.
When the key is released, a "key release" signal is applied from
AND gate 62 of assignment logic 26 (FIG. 7B) to a flip-flop 138 to
initiate the decay mode of the attack/decay control unit by
enabling the "decay" (down) count of counter 122. Accordingly,
incoming pulses to the counter are counted downwardly from the
count representative of full intensity, until a zero count is
obtained unless decay is terminated earlier. As in the case of the
attack mode, the count in counter 122 is periodically decoded
(e.g., once each count) by unit 126 for addressing of memory 125,
thereby supplying logarithmically decreasing scale factors, from
unity to zero, for multiplication with amplitude samples from the
tone generator in multiplier 120. This produces the desired fall in
note intensity at the trailing portion of the note waveform.
Alternatively to relying on zero count, scaler control logic may be
implemented to signal completion of the decay mode.
If during decay the same note pulse should reappear in the
multiplexed keyboard signal, indicating depression of the
associated key virtually immediately after release thereof, a
second "key depress" signal is applied to ring counter 128 thus
increasing the count therein to the second stage and switching
flip-flop 138 from the decay state to its other state, which
reintroduces the attack mode. Since decay is incomplete in this
particular instance, the count of counter 122 now proceeds upward
from the minimum count which had been attained when decay was
interrupted. If, however, the key is again released, prior to
completion of attack, positive attack is no longer in effect and
the flip-flop 138 reverts immediately to the decay state by virtue
of application of the "key release" signal thereto.
To prevent flip-flop 138 from being in the "decay" state when the
initial attack condition is established in counter 122 (by the
quasi-stable state of delay MV 130), flip-flop 138 may be switched
to its "attack" state upon full completion of decay, by the "not
claimed" signal of flip-flop 53 in the assignment logic unit which
produced capture of the associated tone generator. Concurrent
operation of flip-flop 138 in the "attack" state and MV 130 in the
quasi-stable state will not affect the above-described operation of
the attack/decay control unit.
Upon completion of decay of a note whose representative pulse in
the keyboard multiplexed signal resulted in capture of a tone
generator, a "decay complete" signal is applied to the claim
flip-flop 53 (FIG. 7B) of the respective assignment logic unit to
cause that flip-flop to return to its "not claimed" state, and
thereby to release the tone generator for claiming by another note.
The "decay complete" signal may be supplied by the zero count of
counter 122 or by any conventional detector for sensing the absence
of further output from multiplier 120.
* * * * *