U.S. patent number 3,610,806 [Application Number 04/872,600] was granted by the patent office on 1971-10-05 for adaptive sustain system for digital electronic organ.
This patent grant is currently assigned to North American Rockwell Corporation. Invention is credited to Ralph Deutsch.
United States Patent |
3,610,806 |
Deutsch |
October 5, 1971 |
ADAPTIVE SUSTAIN SYSTEM FOR 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 waveform envelope are simulated
by appropriately scaling the amplitude samples at the leading and
trailing portions of the waveform envelope. An adaptive sustain
operating mode is provided by which the length of decay is varied
according to the availability of tone generators where the number
of tone generators is limited.
Inventors: |
Deutsch; Ralph (Sherman Oaks,
CA) |
Assignee: |
North American Rockwell
Corporation (N/A)
|
Family
ID: |
27582831 |
Appl.
No.: |
04/872,600 |
Filed: |
October 30, 1969 |
Current U.S.
Class: |
84/663; 984/332;
984/338; 84/627; 984/323; 984/392 |
Current CPC
Class: |
G06F
1/02 (20130101); G10H 7/04 (20130101); G10H
1/0575 (20130101); G10H 1/182 (20130101); G06F
1/0328 (20130101); G10H 1/20 (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,DIG.12 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Duggan; D. F.
Assistant Examiner: Witkowski; Stanley J.
Claims
What is claimed is:
1. In an electronic musical instrument having keying means operable
between actuated and released conditions for selection of notes to
be generated, the combination comprising:
a plurality of tone generators substantially smaller in number than
the number of notes which said instrument is capable of generating,
each of said tone generators being capable of generating all of
said notes,
means responsive to the keying of notes in said instrument for
introducing information indicative of the keyed notes into time
slots of a multiplex signal,
means for determining the availability of said tone generators and
responsive to the information in said signal for assigning said
tone generators to generate respectively associated ones of the
tones called for by said information, on the basis of the
availability of said tone generators,
control means further responsive to said information in accordance
with release of the keying means for effecting a decay of the
generated tones over desired time periods of decay, and
means responsive to said availability determining means indicating
the unavailability of a predetermined number of said tone
generators for causing said control means to reduce the length of
the time period of decay of the generated tones, thereby to release
said tone generators from said respectively associated assignments
for earlier availability.
2. The electronic musical instrument according to claim 1 wherein
said means for causing said control means to reduce the length of
the time period of decay includes:
means for detecting the unavailable tone generator whose output
tone has undergone the greatest decay, and
means responsive to detection of the last-named tone generator for
assigning as a priority thereto the reducing of the time period of
decay of the tone generated thereby.
3. The electronic musical instrument of claim 2 wherein said decay
control means comprises:
means for establishing desired, normal time periods of decay,
and
means for preselecting certain of said notes to have a sustained
decay of a greater decay time period than the normal and
wherein;
said detecting means is responsive only to unavailable tone
generators assigned to generate notes preselected to have said
sustain decay.
4. The electronic musical instrument according to claim 3 wherein
said detecting means comprises:
means for detecting the elapsed length of decay of each note
generated by the tone generators assigned to the notes of sustained
decay,
means for comparing each said detected, elapsed length of decay
with the greatest previously detected elapsed length of decay,
and
means for supplying to said decay priority assigning means an
indication of the tone generator associated with the greater of the
two elapsed decay lengths determined by said comparison.
5. The electronic musical instrument according to claim 4 wherein
said decay priority assigning means responds to said greater
indication of the elapsed decay length comparison only upon said
availability determining means indicating the unavailability of
said predetermined number of tone generators.
6. The electronic musical instrument according to claim 5 wherein
said predetermined number of tone generators corresponds to the
total number of said plurality of tone generators.
7. An electronic organ constructed and arranged to emit sounds
corresponding to notes of the musical scale in response to the
keying of desired notes, said organ comprising:
a plurality of tone generating means responsive to the keying of
notes for generating digital amplitude samples of the waveform of
the respective note at a rate related to the frequency of the keyed
note,
means for determining the availability of said tone generating
means and for selecting each thereof to generate said digital
amplitude samples at the frequency of the respectively associated
keyed note,
means responsive to release of the key associated with a note for
which a tone generating means has been selected, for weighting said
amplitude samples generated by the selected tone generating means
to simulate decay of the note, and
means responsive to said availability determining means indicating
a predetermined limited extent of availability of said plurality of
tone generating means for changing the rate of said decay simulated
by said weighting means to expedite the release of said tone
generating means for earlier availability.
8. The electronic organ of claim 7 wherein said weighting means
comprises:
means for establishing a rate of decay corresponding to a desired,
normal decay interval, and
means for selectively establishing a sustain mode in which the rate
of decay of certain preselected notes is lengthened beyond the
normal decay interval, and
said decay rate changing means is operative to change the rate of
decay for only said preselected notes, thereby to adapt the sustain
effect to the availability of tone generating means.
9. The electronic organ of claim 7 wherein said weighting means
includes means for establishing normal rates of decay related to
the frequency of the notes to be generated.
means for selectively establishing a sustain mode for certain
preselected notes having a fixed rate of decay slower than the
normal, and
said decay rate changing means is operative to vary the rate of
decay of only one of the preselected notes from the predetermined
and fixed, longer rate of decay of the sustain mode to the normal
rate of decay determined in relation to the frequency of that
note.
10. The electronic organ of claim 9 wherein there is further
provided means for determining which of the preselected notes has
presently undergone the greatest interval of decay, said decay rate
changing means being operative to vary the rate of decay of that
said note.
11. An electrical keyboard instrument in which keys are actuated
and released to call forth and to terminate, respectively, sounds
associated with the notes of the musical scale to which said keys
are assigned, said instrument including:
means for storing digital samples of the amplitude of a waveform
corresponding to said sounds,
a predetermined number of means responsive to the actuation of any
key of a correspondingly limited number of keys, each of said means
being operable for cyclically reading out said digital amplitude
samples at a rate related to the frequency of the note to which a
respectively corresponding, actuated key is assigned, and
means responsive to the release of each such actuated key to which
one of said cyclical readout means is assigned, affording a
selectively variable rate of termination of the sound associated
with the note to which that key is assigned, and for automatically
varying a selected rate according to the present availability of
another of said readout means to respond to actuation of a further
one of said keys.
12. The electrical keyboard instrument defined by claim 11 wherein
said notes are subject to a rate of sound termination corresponding
to a predetermined normal decay upon release of the respective key,
and wherein there is further provided:
means for selecting certain of said notes to have a sustained decay
of greater length than said normal decay, and
said rate varying means is constructed and arranged to vary the
rate of termination of sounds associated only with those notes
selected to have sustained decay.
13. An adaptive sustain system for an electronic musical instrument
comprising:
keying means actuable for selecting notes to be generated,
a predetermined number of tone generator means each selectively
operable for generating any of the notes capable of being generated
by said instrument,
assignment control means for individually assigning said tone
generating means to generate the notes as selected by said keying
means and for determining the availability of further said tone
generating means for further assignments in response to successive
note selections,
decay control means for selectively establishing a normal time
interval of decay of said notes and for establishing sustained time
intervals of decay for notes preselected to have sustained decay,
upon release of the corresponding keys, and
means responsive to said assignment control means indicating the
unavailability of a predetermined number of said tone generators
for causing said decay control means to reduce the decay time of a
note having sustained decay, thereby more quickly to release the
tone generator assigned thereto for further assignment to a
successive note selection.
14. An adaptive sustain system for an electronic musical instrument
as recited in claim 13 wherein said last-named means is operative
to cause said decay control means to select the normal decay for a
note otherwise preselected to have sustained decay upon said
indication of the unavailability of said note generators.
15. An adaptive sustain system for an electronic musical instrument
as recited in claim 14 wherein said last-named means further
includes means for determining the extent of decay for each such
preselected note and is operative to cause said decay selection
means to select the normal decay for that preselected note having
the maximum extent of sustained decay.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention resides broadly in the field of electronic musical
instruments, and is particularly adapted for use in an 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 decay
characteristics in which the length of decay depends upon
availability of tone generators. The term "organ" is used
throughout this specification and the claims thereof 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, an electric 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, or indirectly in response to
actuation of other, associated elements. The term "key" is also
used in a generic sense, to include depressible levers, actuable
on-off switches, touch or proximity responsive devices (such as
capacitance or inductance-operated elements), closable apertures in
a fluidic system adapted 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 produce 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 tone
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 a
purpose.
In the copending application of George A. Watson entitled
"Multiplexing System for Selection of Notes and Voices in an
Electronic Musical Instrument," 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, and this parallel format is continuously
converted to a serial format to provide information regarding key
actuation in the form of digital data in appropriate time slots of
a time division multiplexed signal which is supplied to the tone
generating section of the organ. Each time slot of the multiplexed
signal corresponds to a specific key of the organ to permit
identification of the notes associated with the respective keys and
thereby to result in the generation of appropriate sounds 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 are effective to produce digital amplitude samples of a
waveform of the desired sounds at a frequency corresponding to the
desired note frequency. Preferably, the number of such tone
generators available in the organ is much fewer than the number of
notes which can be produced.
Each of the limited number of tone generators provided is
associated with tone generator assignment logic constructed and
arranged to assign an available tone generator to data in an
incoming time slot in the multiplexed signal, so long as that data
has not yet captured a tone generator. Each tone generator includes
or has access to a memory means storing digital representations of
amplitude of the waveshapes to be synthesized, at a large number of
sample points. When the tone generator is captured by incoming
data, the memory means associated with that tone generator is
accessed to read out the amplitude samples in accordance with the
frequency of the tone to be generated. Such an arrangement does not
readily admit of the type of attack and decay systems which have
been used with prior art types of electronic organs, unless the
waveshape in its digital form is first converted to an analog
waveform.
In the copending application of G. A. Watson and R. Deutsch
entitled "Attack and Decay System for a Digital Electronic Organ,"
assigned to the same assignee as the present invention, there is
disclosed an attack and decay system for use in a digital
electronic organ of the type disclosed in the aforementioned Watson
application, and in which 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.
It is frequently desirable to employ in an organ a sustain feature
by which a keyed note is selectively caused to have a relatively
longer decay time, typically on the order of 2 seconds, than would
otherwise occur. The purpose of the sustain provision is to cause
the note sound to die away gradually after the key is released.
Usually only one manual, such as the upper manual, is operated in
the sustain mode at any given time. Because of the limited number
of tone generators available in the digital electronic organ
briefly described above, a problem arises when sustain is used if
the organist should key several notes very quickly in succession by
running a finger or fingers down the manual, to produce a glide or
glissando effect. In such an event the available note generators
are very quickly fully assigned, i.e., the organ rapidly becomes
saturated, and the further keying of notes in the glide will result
only in voids, i.e., in the absence of sound when a key is
depressed.
Accordingly, it is the principal object of the present invention to
provide means for varying the length of decay of a note sounded in
an electronic digital organ, of the type disclosed in the
aforementioned Watson application, in accordance with the number of
tone generators available for capture by digital data in the
multiplexed signal containing the note information.
SUMMARY OF THE INVENTION
Briefly, according to the present invention, an adaptive sustain
feature is provided in the digital electronic organ to provide
automatic variation of the duration of decay, when the sustain mode
is used, in those situations where all of the tone generators are
presently assigned, as where a glissando effect is being performed.
As previously observed, the sustain mode is normally used on only
one manual at a time, and while sustain may also be simultaneously
used on the pedal board, it is preferable that the adaptive sustain
feature of the present invention encompass only operation of the
manual on which sustain is being used.
The adaptive sustain mode is always available but is entered only,
and automatically, on the basis of internal information indicating
(a) which tone generators have been committed to the manual
demanding organ sustain, (b) which of these tone generators
committed to sustain is producing a waveform envelope that has
undergone the longest decay, and (c) which, if any, of the tone
generators are idle and therefore available for assignment. In the
normal sustain mode, the tone generator operation follows the
normal assignment, decay, and release sequence so long as an
unassigned tone generator is idle and available. However, as soon
as all tone generators have been assigned, the system automatically
enters the adaptive sustain mode in which any tone generator
assigned to a note associated with a key on the manual having
sustain effect, and which generator is supplying the waveform that
has had the longest duration of decay, is switched immediately from
a long decay (i.e., the normal sustain) to a relatively shorter
decay (which may be the normal decay in the absence of the use of
sustain). Quite clearly, this expedites the availability of a tone
generator for capture of the next note request as in a glissando
situation.
The adaptive sustain feature aptly reflects the fact that average
sustain is a function of the rapidity with which the notes are
successively keyed. That is to say, the faster the keying sequence,
the smaller is the effective sustain interval. Assume, for example,
that there are 12 note generators provided in the digital
electronic organ and that at present a pedal note is being played
in addition to a three note chord on a lower manual, and further,
that the organist now begins a glissando on the upper manual on
which sustain is being used. In that event, there are n= (total
number of tone generators) - (number of tone generators committed
to keyboards other than that using sustain), or n=12-4=8 tone
generators available for the adaptive sustain. If the glissando is
played at a rate, r, of 12 notes per second, then the effect
sustain time, T.sub.e, is
T.sub.e =n/r=8/12=0.67 seconds.
Observe that the last n notes being played will have the full
sustain time.
From a musical standpoint, the adaptive sustain feature of the
present invention is extremely desirable because it very rapidly
damps out the older notes, which appear only to provide a noiselike
background masking the current notes.
BRIEF DESCRIPTION OF THE DRAWINGS
In describing the present invention, reference will be made to the
accompanying figures of drawing 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 slot associated with a particular key of the
organ, and in which each time slot contains data 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 multiplexed waveform developed by the
system of FIG. 1 and responsive to actuation of selected keys;
FIG. 6 is a simplified block diagram of a 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;
FIG. 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;
FIG. 10 is a block diagram of an attack and decay control unit for
use in the system of the preceding figures of drawings; and
FIG. 11 and 12 are block diagrams of a preferred embodiment of an
adaptive sustain unit for use with the electronic 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 court of counter section 3 by
one, and will automatically initiate a repetition of its own count.
Similarly, attainment of its maximum count by counter section 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 counter stage, to permit sensing of the specific keyboard
which is presently being scanned. Similarly, eight lines are
connected to the eight ring counter stages, 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 twelve
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 number 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 twelve 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 from input bus 10 to output bus 12 via the respective
diode 13 and closed switch 14 when the associated key is depressed.
When 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 a 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 8 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 12 AND gates 20-1, 20-2, 20-3, ...,
20-12, of encoder circuit 15. An output lead 16 of counter section
2 associated with the ring counter stage 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 counter section 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 counter stage,
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 data contents of the register are then
shifted out of the register in serial format on encoder output line
25 until a one-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 counter stage
associated with that octave is energized in keyboard counter octave
section 3 and the counter stage 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 counter stages 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 not 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 counter stage 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 ensuring 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 1'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 1'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 relase" signal deriving from AND gate
62 is supplied to attack/delay 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 audio frequency 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 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 thereafter, 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 one bit positional shift constitutes
division or multiplication by 2, 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 seven or
eight 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 times 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 wave shapers 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 microminature 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 simulation 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, to 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 be 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 present 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" (delay 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. The duration of attack depends on whether the
note frequency mode or the fixed time mode is employed.
With each count of counter 122 (or less frequently, by use of
suitably timed "enabling" commands), address decoder 126 developes
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.
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.
If during decay the same note pulse should reappear in the
multiplexed keyboard signal, 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. This
operation is effective to simulate the attack and decay that occurs
in a true pipe organ.
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 associated flip-flop 53.
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.
A preferred embodiment of the adaptive sustain mode control unit
according to the present invention is shown in FIGS. 11 and 12.
Referring first to FIG. 11, there is provided means by which to
apprise the system of the particular information required to
initiate the adaptive sustain mode. In particular, it is required
to know which note generators have been committed to the manual
demanding organ sustain, which of those note generators committed
to sustain is generating the waveform furthest along on its decay
curve (as provided by the decay control unit of FIG. 10), and
which, if any, tone generators are presently idle.
Upon selection of a particular manual to use the sustain mode, a
keyboard select signal is applied to a modulo 384 counter 150 which
is synchronized with keyboard counter 1 by pulses from the master
clock. The keyboard select signal is effective to cause counter 150
to supply pulses in only those time slots associated with keys
corresponding to the manual selected to use the normal sustain. To
that end, counter 150 may include a multiplicity of AND gates each
having an input from a respective stage of the counter, and all of
those gates associated with stages corresponding to the particular
manual which has been selected to have the sustain receiving a
second input by virtue of the keyboard select signal applied to the
counter. The output of the modulo 384 counter 150 is supplied to an
AND gate 152 which receives as a second input the multiplexed
signal from encoder 15, so that the output of AND gate 152 is a
waveform in which signals appear for keyed notes in only those time
slots associated with the keyboard selected to have sustain. The
output of AND gate 152 is supplied to a unit 153 for producing
signals indicative of the tone generator assignments.
Unit 153 includes a plurality of AND gates 155-1, 155-2. . . .,
155-12, each of which has the output signal of AND gate 152 applied
in parallel thereto and each receiving as a second input the output
signal of a respective one of AND gates 35 in the tone generator
assignment logic of FIG. 7A. Thus, the output of each of AND gates
155 is a signal indicative that the associated tone generator has
been claimed or captured by a note associated with the manual on
which sustain is being used. This indication is obtained because
the signals from gates 35 each indicate that the associated tone
generator is claimed (and are synchronized with the instant of
claiming or continued claiming), and the signals in the output of
AND gate 152 each indicate that a note associated with the manual
selected to have sustain has been keyed (and occurs synchronously
with the claim signal).
The output pulses deriving from tone generator designating gates
155 are applied to respective AND gates 157-1, 157-2, . . .,
157-12, to which are applied as an additional input the output
signal of the respective AND gate 62 (FIG. 7B) for the assignment
logic associated with a respective tone generator. The output of
AND gate 62 is the key release signal, and hence the pulse output
of each AND gate 157 is indicative of the instant of release of a
key for the note that has captured one of the tone generators
committed to the manual demanding organ sustain. The occurrence of
an output pulse from one or more of the AND gates 157 may therefore
be utilized to trigger an associated counter 158-1, 158-2, . . .,
158-12, respectively, so as to provide an indication of the extent
of decay undergone by the waveform generated by the respective note
generator, such decay having been impressed thereon by the decay
control unit of FIG. 10. It will be understood that the various
counts of counters 158 will differ as a consequence of the
respective keys presently associated with those counters having
been released at different times. The outputs of counters 158,
containing their respective counts, are detected in cyclic sequence
by a commutator 160 to supply a serial format of decay counts for
the tone generators assigned to the selected manual. Each of
counters 158 preferably also produces a signal indicating the
number of the tone generator with which it is associated so that
the serial format of decay counts emanating from commutator 160
contains tone generator number information for identifying each
decay count.
These decay counts are supplied in sequence to a comparator 162, to
which is also supplied the present count stored in a monitor
register 165. Register 165 is utilized to store the tone generator
number and the decay count for the tone generator which has the
highest present decay count, and is synchronized with the operation
of commutator 160 by sync pulses furnished by a clock 167. If the
comparison of the decay counts as performed in comparator 162
indicates that the decay count from commutator 160 exceeds the
highest present decay count stored in monitor register 165, the
higher decay count is entered as a new count into the register
along with the generator number designating the tone generator with
which that highest decay count is associated.
With each sync pulse arriving from clock 167 the monitor register
165 also produces an output consisting of data representing the
tone generator number stored therein. Use is made of this tone
generator number only if all tone generators in the organ are
presently assigned, i.e., if the organ is saturated such that no
tone generators are presently idle. To that end, an AND gate 170 is
provided with 12 input terminals each connected to a respective one
of the claim flip-flops and in particular to the claimed output
lead of a flip-flop 53 (FIG. 7B) associated with the respective
tone generator. If each input of AND gate 170 is active, i.e., if
each has a signal thereon, it is an indication that all of the tone
generators are presently assigned, so that the resulting output
signal of AND gate 170 is indicative of the unavailability of any
tone generators. This output signal is used to actuate recognition
logic 172 which responds to the tone generator number data read
from monitor register 165 and, on the basis of that data, supplies
an output signal on the appropriate output line thereof to change
the mode of operation of the decay control unit of FIG. 10 by
resetting a mode flip-flop in that unit.
In particular, for the adaptive sustain feature of the present
invention, the decay control unit shown in FIG. 10 is modified
slightly such that switch 136 is implemented the form of a mode
flip-flop 136a, as shown in FIG. 12. The decay mode for the attack
and decay control units associated with those tone generators
committed to the sustain manual, as detected upon capture, may
normally be set so that decay time is based on a preset time as
fixed by master clock pulses. The receipt of a signal from
recognition logic 172 (FIG. 11) by a respective mode flip-flop 136a
is effective to switch that flip-flop to control the count of
counter 122 on the basis of the frequency of the note being
produced by the tone generator, which results in a substantially
shorter decay interval. Thus, tone generators will become available
at an earlier time than would be the case if the normal sustain
interval were adhered to. Preferably, the frequency mode is also
the normal decay mode for those tone generators which are not
committed to the manual using sustain.
To prevent assigning the shorter decay interval to a tone generated
by a counter no longer in the decay mode, and as well, to prevent
the monitor register from reaching and maintaining a fixed maximum
count, the register may be reset when the tone generator with which
the count therein is associated has completed the decay, by
supplying the decay complete signal applied to flip-flop 53 (FIG.
7B) as the reset signal for the register.
The multiplexing system and its features are claimed in the
aforementioned copending application of Watson, while the attack
and decay system without adaptive sustain is claimed in the
aforementioned copending Watson et al. application.
* * * * *