|
|
|
| United States Patent | 4201105 |
| Link to this page | http://www.wikipatents.com/4201105.html |
| Inventor(s) | Alles; Harold G. (Bridgewater, NJ) |
| Abstract | Linearly binary-coded digital control signals representing specific time
segments of musical sounds are used in part to control stepped ramp signal
generators in a digital synthesizer which runs continuously on a fixed
program. The ramp signals are used to control amplitude and frequency
parameters of multiple digital oscillators that produce respective
constituent tones of the musical sound segments. The synthesizer is
operable in response to time-multiplexed digital control signals for
multiple musical voices, one voice portion of which is also being computed
in real time for multiplexing with previously computed and stored digital
control signals for other voices. The indicated computations are effected
by known techniques on a commercially available computer to translate
performer-actuated transducer output signals, designating notes of a
composition, into the aforementioned binary-coded digital control signals. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 4201105 |
|
|
Real time digital sound synthesizer |
|
|
|
|
|
| Publication Date |
May 6, 1980 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 3821714
|      Your vote accepted [0 after 0 votes] | | 4149440 Deforeit 84/617 Apr,1979 |      Your vote accepted [0 after 0 votes] | | 4135427 Deutsch 84/608 Jan,1979 |      Your vote accepted [0 after 0 votes] | | 4133241 Niimi 84/607 Jan,1979 |      Your vote accepted [0 after 0 votes] | | 4114496 Deutsch 84/605 Sep,1978 |      Your vote accepted [0 after 0 votes] | | 4085644 Deutsch 84/608 Apr,1978 |      Your vote accepted [0 after 0 votes] | | 4036096 Tomisawa 84/607 Jul,1977 |      Your vote accepted [0 after 0 votes] | | 4018121 Chowning 84/696 Apr,1977 |      Your vote accepted [0 after 0 votes] | | 3970998 Weisbecker 712/32 Jul,1976 |      Your vote accepted [0 after 0 votes] | | 3915047 Davis 84/635 Oct,1975 |      Your vote accepted [0 after 0 votes] | | 3913442 Deutsch 84/623 Oct,1975 |      Your vote accepted [0 after 0 votes] | | 3882751 Tomisawa 84/605 May,1975 |      Your vote accepted [0 after 0 votes] | | 3823390 Tomisawa 708/272 Jul,1974 |      Your vote accepted [0 after 0 votes] | | 3727037 Zorn 708/9 Apr,1973 |      Your vote accepted [0 after 0 votes] | | 3662160 Hoppes 708/270 May,1972 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
I claim:
1. A synthesizer for producing digital pulse-coded signal samples
corresponding to predetermined analog signal samples in response to
received digital signals defining constituent tones of said analog signal
samples, the synthesizer comprising
means, responsive to digital amplitude control signals, for generating
digital output signals representing corresponding analog samples of
different ones of said tones,
a ramp signal generator, responsive to said received digital signals, for
producing sets of digital amplitude control signals to control said
generating means for each of said tones, and
means for combining selectable different outputs of said generating means
to produce the first-mentioned digitally coded samples of analog signals.
2. The synthesizer in accordance with claim 1 in which
said generating means is a time-shared digital oscillator, and
means are provided for cyclically sequencing said oscillator through a
predetermined fixed program using different sets of digital control
signals from said ramp signal generator, said oscillator producing in each
cyclic recurrence of said program a digital sample of at least one of said
constituent tones.
3. The synthesizer in accordance with claim 1 in which said ramp signal
generator comprises
means for storing, in multi-word sets of locations for each of a plurality
of ramp functions, digital signals defining the ramp function in terms of
a control word, an accumulation increment magnitude word, a final ramp
value word, and a current ramp value word; and
means for recurrently sequentially accessing all of said sets of ramp words
to process each set according to the steps of
adding the current ramp value to the increment value,
comparing the resulting sum value to the final value to produce a match
signal in response to attainment of at least the final value, and
if there is no match signal writing the sum word back into said storing
means at the current ramp value word location and if there is a match
signal generating a signal indicating termination of the ramp function.
4. The synthesizer in accordance with claim 3 in which
said generating means is a time-shared digital oscillator,
means are provided for cyclically sequencing said oscillator through a
predetermined fixed program using different sets of digital control
signals from said ramp signal generator, said oscillator producing in each
cyclic recurrence of said program digital samples of a plurality of said
constituent tones, and
said sequencing means including means for processing a different set of
said ramp words in each cycle of said program.
5. The synthesizer in accordance with claim 3 in which there are provided
means responsive to a portion of said received digital signals for
addressing said digital ramp signal storing means, and
means for coupling another portion of said received digital signals as data
for writing into said digital ramp signal storing means.
6. The synthesizer in accordance with claim 3 which comprises in addition
means for queueing signals, responsive to the aforementioned ramp
termination signals, in the form of the number of the respective
terminated ramp function in the aforementioned recurrent accessing
sequence, and
means for transmitting a queued ramp termination signal on a
first-in-first-out basis.
7. The synthesizer in accordance with claim 1 in which
said digital signal generating means comprises means for storing digital
sample amplitude signals of a predetermined signal wave as an addressable
wavetable,
means in said ramp signal generator, and responsive to said received
digital signals, for producing sets of digital frequency control signals
to control said generating means,
means, including said frequency control signal of one of said ramp
generator signal sets, for addressing said digital sample storing means,
said digital signal generating means further including means for
multiplying successive digital sample signals from said digital sample
storing means by corresponding digital amplitude control signals from a
different one of said ramp generator signal sets, and
said combining means comprises
switch memory means including a plurality of digital registers, and means
for selectively connecting an input signal port to one of said registers
and selectively connecting an output signal port to one of said registers,
the sequence for selection of said input port and output port connections
for said registers being determined by said received digital signals, and
means for adding a digital output word of said multiplying means to the
digital signal contents of a predetermined register of said switch memory
means to produce a digital signal representing one of said analog signal
samples for storage in a predetermined register of said switch memory
means.
8. The synthesizer in accordance with claim 7 which comprises in addition,
means for substituting the contents of one of said switch memory means
registers for a sample from said wavetable memory means to effect
selectable multiplier input options.
9. The synthesizer in accordance with claim 7 which further comprises
means for adding the contents of a further register of said switch memory
means to the aforementioned ramp generator amplitude control signal to
effect amplitude modulation of said analog signal sample.
10. The synthesizer in accordance with claim 7 which further comprises
means for substituting the contents of a further register of said switch
memory means for the aforementioned ramp generator frequency control
signal at said multiplying means to effect frequency modulation of said
analog signal sample.
11. The synthesizer in accordance with claim 7 in which there are provided
means for coupling received digital signals as data for writing into said
digital sample storing means.
12. The synthesizer in accordance with claim 7 which further comprises
means for converting linearly coded digital signals to corresponding
signals in exponential form, and
means for selecting either said exponential form signals or said
corresponding linear signals as data for writing into said digital ramp
signal storing means.
13. In a sound synthesizing system,
means, including a plurality of transducers, for transducing a plurality of
mechanical movements into corresponding digitally coded data signals
identifying a particular transducer and the character of movement thereof,
each transducer and the character of movement thereof corresponding to a
predetermined tonal sound,
means for processing said data signals to produce a first set of digitally
coded signals representing the same sounds in terms of control signals for
a predetermined synthesizer, and
digital synthesizer means, responsive to said first set of coded signals,
for operating cyclically through a predetermined fixed program to produce
a second set of digitally coded signals representing said same sounds in
terms of digitally coded multibit characters each defining the amplitude
of a different time sample of said sounds, said synthesizer means
comprising
means, responsive to digital amplitude control signals for generating
digital output signals representing corresponding analog samples of
different ones of said tones,
a ramp signal generator, responsive to said first set of coded signals, for
producing sets of digital amplitude control signals to control said
generating means for each of said tones, and
means for combining selectable different outputs of said generating means
to produce the first-mentioned digitally coded samples of analog signals.
14. The synthesizing system in accordance with claim 13 in which
means are provided for converting said amplitude samples into said sounds
in sound real time with respect to movements of said transducers.
15. The synthesizing system in accordance with claim 13 in which said
processing means comprises
means for filtering said data signals received from said transducing means
to eliminate redundant signals and signals representing change of less
than a predetermined change magnitude threshold, and
means, responsive to occurrence of filtered data signals at a rate outside
of a predetermined range of rates, for modifying said threshold to bring
said occurrence rate within said range.
16. In a digital sound synthesizer,
means for providing functions of a plurality of digital oscillators,
means for fixing at least one cyclical base signal waveform comprising a
fundamental waveform of said sound,
means, responsive to received digital signals, for storing digital
oscillator function word sets, one for each of said oscillators, and each
set including at least a coefficient word for fixing a predetermined
modification of said base waveform for such oscillator, and
means in said providing means, and responsive to each of said coefficient
words, for separately modifying said base signal waveform of the
oscillator corresponding to said set including such coefficient word to
produce a digitally coded amplitude sample of a different constituent tone
of said sound, said amplitude samples of each tone being produced at a
rate at least equal to twice the highest frequency of said sound.
17. The synthesizer in accordance with claim 16 in which said waveform
fixing means comprises
means for fixing a plurality of cyclical base signal waveforms, each being
a fundamental waveform of a different portion of said sound, and
each of said oscillator function word sets includes a word portion
identifying one of said plurality of waveforms for use by the
corresponding oscillator.
18. The synthesizer in accordance with claim 16 in which said plurality of
digital oscillators comprises a corresponding plurality of oscillator
functions executed at a fixed sampling rate in different time portions of
the operation of a single time-shared digital oscillator.
19. The synthesizer in accordance with claim 18 in which said waveform
fixing means comprises
a wavetable memory for storing a plurality of samples of different phases
of said waveform,
each of said sets includes an oscillator phase word, and
means for recurrently applying said oscillator phase words in a sequence of
said sets for addressing said wavetable memory to produce samples for said
modifying means.
20. The synthesizer in accordance with claim 19 in which
said word set storing means further includes means, responsive to said
received digital signals, for storing plural amplitude control signal ramp
word sets and plural frequency control signal ramp word sets, one set of
each type for each of said oscillators, each of said sets defining a
piecewise time segment of the amplitude or frequency envelope of a
constituent tone of said sound, and
means are provided for recurrently processing said ramp word sets in a
sequence of such sets for producing and applying to said oscillator
function word sets said coefficient words from said amplitude ramp word
sets and a plurality of oscillator phase change words from said frequency
ramp word sets, said recurrent processing means also processing said
oscillator word sets to modify respective phase words to the extent of
corresponding ones of said phase change words.
21. The synthesizer in accordance with claim 16 in which there are provided
means for combining said amplitude samples of selectable ones of said
tones, said combining means comprising
a plurality of digital registers comprising a switch memory having an input
port and an output port,
means for selectively connecting said input port to one of said registers
and selectively connecting said output port to one of said registers,
means responsive to a control word in each of said oscillator function word
sets for addressing said switch memory,
means for adding respective outputs of said oscillators to predetermined
outputs of said switch memory, and
means for applying outputs of said adding means to said input port.
22. The synthesizer in accordance with claim 16 in which there are provided
a clock counter for fixing a recurrent predetermined sequence for operation
of said synthesizer, and
means for addressing said word set storing means and including means,
responsive to outputs of said counter, for recurrently selecting addresses
for such storing means from a plurality of different sources, including at
least said counter and said received digital signals, in a predetermined
sequence in each cycle of said counter.
23. A synthesizer for producing digital pulse coded signal samples
corresponding to predetermined analog signal samples in response to sets
of received digital signals wherein each set defines a linear piecewise
approximation segment of the envelope of a constituent tone of said analog
signal samples, at least one group of said sets defining envelope
amplitude segments,
each of said sets define its corresponding envelope segment in terms of a
value ramp having a current value, a final value, and a change, or delta,
value that must be used at a predetermined processing rate to produce a
stepped ramp, that processing rate being substantially higher than the set
occurrence rate for such tone,
means for recurrently processing said ramp signal sets to produce for each
ramp a train of digital signal characters defining the ramp;
a digital oscillator recurrently operatable in response to amplitude
control signals to produce digital samples of said tone, the operation
rate of said oscillator being at least equal to said ramp processing rate,
and
means for coupling the digital signal characters resulting from the
processing of an amplitude ramp set to control said oscillator to produce
a corresponding tone envelope segment.
24. The synthesizer in accordance with claim 23 in which there are provided
buffer storage means for storing each ramp character for utilization by
said digital oscillator until a succeeding new character for the same tone
is produced by said processing means.
25. The synthesizer in accordance with claim 23 in which
said digital signal sets include frequency envelope defining sets and
further include in conjunction with each discrete digital oscillator
function a signal defining a current starting phase for such oscillator
function,
plural buffer storage means are provided there being one such means for
each of a plurality of separate ones of said digital oscillator functions,
each such buffer storage means being adapted for storing an oscillator
function status signal set including at least an amplitude ramp output
digital character, said current starting phase character, and a frequency
defining character from the processing of a corresponding one of said
frequency envelope defining sets,
said processing means including means for recurrently processing oscillator
phase changes by combining said current phase and said frequency
characters to produce a new current phase character, and
means for applying said new current phase characters for further
controlling a corresponding one of said digital oscillator functions.
26. The synthesizer in accordance with claim 25 in which said digital
oscillator comprises
means for multiplying first and second digital signals to produce said
digitally coded sample of said tone,
a wavetable memory storing a plurality of differently phased digitally
coded amplitude samples of a fundamental wave cycle of said sound, said
memory having an output thereof coupled to one input of said multiplier,
means for addressing said wavetable memory in response to said new current
phase word of an oscillator status signal set to produce a corresponding
sample of said basic waveform, and
means for applying said amplitude ramp coefficient character to said second
input of said multiplier.
27. The synthesizer in accordance with claim 23 in which
said received digital signal sets include in time-multiplex the ramp signal
sets for a plurality of tones as well as a plurality of said oscillator
status function signal sets and
means are provided for operating said processing means and said digital
oscillator in a predetermined recurrent sequence of ramp and oscillator
signal set processing operations to produce one of said samples of each of
said tones in each execution of said sequence. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to digital sound synthesizers, and more
particularly, to such synthesizers which are useful for synthesizing, for
example, the real time production of musical sounds.
2. Description of the Prior Art
The synthesizer to be described herein will be described, without
limitation on its possible applications, in terms of a music synthesizer
because that is one of the more difficult applications thereof. Such
machines are, however, also known to be useful, e.g., for performing such
functions as speech synthesis and sound effect synthesis.
It is known in the art to synthesize musical sounds which either are
substantially similar to those of conventional musical instruments, or are
different from the sounds of such instruments, without resort to such
conventional instruments. The equipment used for synthesizing takes many
forms. In one of those forms a performer actuates an input transducer to
define a selected note and its duration in a composition. Such transducers
may include, e.g., a keyboard, slide switches, joy sticks, or others. A
computer is used to translate signals from the input transducer into
differently coded signals representing the same information but in terms
of corresponding signals for controlling a synthesizer circuit to generate
signals representing the selected note in accordance with a
performer-selected instrumental voice. "GROOVE--A Program to Compose,
Store, and Edit Functions of Time" by M.V. Mathews and F.R. More,
Communications of the ACM, Vol. 13, No. 7, December 1970, pages 715-721,
indicates one such system using an undisclosed analog synthesizer.
Although the known type of computer translation can be readily carried out
on a real time basis, synthesizers heretofore available have been unable
to be controlled for operation on a like-real-time basis for producing
sound approaching the complexity of sound producing sound approaching the
complexity of sound produced by a small orchestra, e.g., 10 to 15
instruments, playing any of various kinds of music. Such an involved
performance is herein called a score-real-time, or soundreal-time,
operation that would provide essentially immediate audible feedback so
that a composition can be played in real musical time by the performer.
Clearly, there are existing synthesizing structures, e.g., the Mathews et
al. GROOVE-controlled system, available which can produce score-real-time
outputs. However, those systems are subject to various infirmities such as
working in terms of unique sounds lacking the richness of sounds of
conventional musical instruments, or requiring magnificent analog or
digital structures which involve room-size installations and are
conveniently operable by most artistic performers only with close
cooperation of skilled technicians.
Most prior art synthesizers have utilized concepts such as using separate
circuit modules for different voices or even different note ranges. There
have also been speculative suggestions in the literature for using
separate modules for executing different ones of the constituent functions
involved in particular synthesizing algorithms and of the possibility for
time-sharing some modules. However, the enabling information as to such
speculative suggestions has not been similarly available for operative
apparatus.
It is, therefore, one object of the present invention to improve sound
synthesizing systems.
It is another object to reduce the size and cost of synthesizer systems.
A further object is to synthesize more voices of a musical score than had
been heretofore possible on a substantially simultaneous score-real-time
basis.
SUMMARY OF THE INVENTION
The foregoing and other objects of the invention are realized in one
illustrative embodiment in which ramp signal generating circuits,
responsive to time-multiplexed sets of computed control signals for
different voices, produce sets of digital amplitude control signals. The
latter control signals are applied to control the operation of digital
oscillator circuits which generate digital output signals representing
analog samples of respective constituent tones of an ultimate composite
analog sound. Such digital tone signals are combined and coupled through
digital-to-analog converters to loudspeakers.
It is one feature of the invention that digital oscillator circuits
cooperate with arithmetic and logic circuits and random access memory for
operation on a time-shared basis under control of a short, recurrently
employed microprogram to function as a plurality of controlled digital
oscillators.
It is another feature that input-coded digital signal comprise
time-division multiplexed sets of such signals for a currently executed
musical voice and at least one previously executed and stored voice. Such
multiplexed voice signals operate the digital oscillator circuits to
produce in score-real-time the composite multivoice performance of a
musical score.
Another feature of one embodiment of the invention is the employment of a
first-in-first-out register stack system for queueing indications of ramp
function completions to indicate a readiness to receive additional
ramp-specifying information for processing further time segments of a
desired output sound sequence.
Yet another feature is the provision of exponentiation circuits which are
selectably available to cause output sound variations to occur in
accordance with a rule for exponentially changing sound rather than a rule
for linearly changing sound for more faithful synthesis of certain
acoustic effects.
BRIEF DESCRIPTION OF THE DRAWING
A more complete understanding of the invention and its various features,
objects, and advantages may be obtained from a consideration of the
following detailed description in connection with the appended claims and
the attached drawing in which
FIG. 1 is a block diagram of a music-generating system utilizing the
present invention;
FIG. 2 includes amplitude-versus-time and frequency-versus-time diagrams
for facilitating a description of the operation of the present invention;
FIG. 3 is a functional block diagram of a synthesizer used in the system of
FIG. 1;
FIGS. 4A-4C (hereinafter usually referenced as FIG. 4) comprise a data flow
block diagram of one embodiment of a synthesizer used in the system of
FIG. 1;
FIGS. 5A-5D illustrate memory organization features for memory in FIGS. 4A
and 4B;
FIG. 6 is a schematic diagram of periodic clock signal generating and
program counting arrangements for controlling the synthesizer;
FIG. 7 is a schematic diagram of circuits for interfacing the synthesizer
operation with a computer of FIG. 1;
FIG. 8 is a simplified diagram of read-only memory logic for producing
various control signals which determine the utilization of the data paths
depicted in FIG. 4;
FIG. 9 is a diagram of ramp overflow evaluating logic useful in the
synthesizer of FIG. 4;
FIG. 10 is a schematic diagram depicting an embodiment of the
linear-to-exponential code-converting logic employed in the synthesizer of
FIG. 4; and
FIG. 11 is a timing diagram illustrating the synthesizer recurrent program
sequence.
DETAILED DESCRIPTION
In FIG. 1 a performer 10 operates one or more suitable transducers, such as
a keyboard 11, for producing digital signals indicating selected musical
notes and the duration of the selection thereof. One example of such a
transducer is the keyboard and associated logic disclosed in my copending
application Ser. No. 798,161 filed May 18, 1977, entitled "Multidevice
Position Digital Encoder" and assigned to the same assignee as the present
application. That type of keyboard system indicates not only the notes
selected at a given time and the duration of the selection, but it also
provides information as to the position of each key of the board at each
of a plurality of recurring instants. Thus, in the case of a selected
note, the position information provides attack and decay data as to the
performer actuation of the selected key.
A data filter 12 is advantageously utilized to couple the output of
keyboard 11 to a computer 13. The data filter, or choke, is advantageously
that disclosed in my copending application Ser. No. 829,010 filed Aug. 30,
9177, entitled "PCM Data Throttle", now U.S. Pat. No. 4,129,751, and
assigned to the same assignee as the present application. Such a filter
not only eliminates redundant data prior to transmission to the computer
13, but it also has the capability for changing a data significance
threshold which is used for screening out position signal changes of less
significance than such threshold. Thus, the computer is able to perceive a
flow of data to it which is greater than its data handling capability
during a particularly rapid operation of the keyboard by the performer;
and in response to such perception, transmit signals back to the data
filter 12 for increasing the threshold and thereby reducing the flow of
data. For example, one known technique is for computer 13 to receive data
through a first-in-first-out (FIFO) type of buffer and raise or lower the
filter threshold when the difference between input and output pointers is
greater than a first value or less than a second value, respectively.
The computer 13 is advantageously a commercially available computer, such
as for example, the LSI-11 microcomputer with associated hardware as
marketed by the Digital Equipment Corporation and described in
considerable detail as to hardware, operation, processor organization, and
system software in the DIGITAL MICROCOMPUTER HANDBOOK, published by the
Digital Equipment Corporation under data of 1976. Computer 13 is used to
translate the digitally coded key position signals provided from data
filter 12 into linearly coded digital signals representing the same
information but in terms of corresponding signals for controlling a
digital synthesizing circuit 16. The latter circuit advantageously
generates linear pulse-code modulated signals representing analog sample
amplitudes defining the notes selected by the performer's operation of
keyboard 11 and in accordance with a performer selected instrumental
voice. Such selection is advantageously effected by voice selection logic
18 which is, for example, a teletypewriter-type keyboard. Those coded
sample output signals from synthesizer 16 are typically coupled through at
least one digital-to-analog converter 15 prior to coupling of the
resulting analog signals to suitable loudspeakers 17.
Synthesizer 16 advantageously operates in response to input signals
representing piecewise amplitude ramp segments of a characteristic note
sound envelope pattern for a particular selected instrumental voice. It
also responds to signals representing ramp segments defining frequency
composition of each selected note for that voice. Computer algorithms for
producing control signals of this general type defining parameters of
constituent functions to be utilized in synthesizing individual notes are
well known in the art. Such algorithms operate on commercially available
general purpose computers with ample speed for individual instrumental
voices to permit the operation of the synthesizer 16 of the present
invention sufficiently rapidly to provide real time audible output
feedback to the performer 10 for the instrumental voice which he is
currently executing, as well as for previously executed and stored
instrumental voices.
One example of a code translating lgorithm is found in the "Music V Manual"
which appears as Chapter 3 of the Technology of Computer Music by M. V.
Mathews et al., The M.I.T. Press, Cambridge, Mass., 1969. That manual
describes the process from score (transducer) input digital information to
output pulse-coded analog sample data on magnetic tape, but the Pass I and
Pass II portions indicated, e.g., in the FIG. 48 process block diagram and
otherwise explained throughout the book depict the program concepts
defining one implementation for the programming of computer 13 herein. The
Music V algorithm defines note segments in terms of the duration of each
segment, and the illustrative embodiment described herein defines them in
terms of initial and final amplitude values and rates of change, but that
is a matter only of user coordinate selection for a common piece of
information having both amplitude and time parameters.
A characteristic of the operation of computer 13 is that while computing
the synthesizer control signals for an individual musical voice, those
control signals are simultaneously sent to synthesizer 16 and stored in
memory, not separately shown but included in the schematic representation
of the computer 13. As the computer outputs control signals for a
currently executed voice, it advantageously simultaneously time
multiplexes therewith corresponding signals from previously computed
voices contained in memory files selected by performer 10 through logic
18.
An address and data bus 19 couples to the synthesizer 16 digitally coded
signals defining amplitude and frequency ramps for each of its multiple
generators for a segment of a sound pattern. These definitions include an
initial (or current) value of the ramp, a rate of change (or increment)
value for the ramp, a final value, and a ramp control word. Any or all of
those four ramp-defining items are modified or replaced for each
subsequent piecewise segment of the pattern.
FIG. 2 illustrates a succession of two notes (assumed to be of equal
duration for purpose of illustration) of a composition utilizing a voice
which is assumed to be definable by a triangular amplitude wave for
purposes of simplifying the description of the synthesizing invention. It
will, however, become apparent that piecewise approximation segments of
voices characterized by much more complex patterns are readily synthesized
in the same fashion. Each not has a duration that is typically some tens
of milliseconds extending from time t.sub.1 to time t.sub.3 for note 1 and
from time t.sub.3 to time t.sub.5 for note 2. Each note is here assumed to
have the same envelope evidencing the aforementioned triangular pattern
peaking at times t.sub.2 and t.sub.4, respectively. Similarly, each of the
two notes is assumed to be represented by a constant frequency. However,
it will also become evident that that is not a necessary assumption and
note frequency is also variable in a fashion that is defined by a similar
ramp technique.
It must be recognized that along the time scale in FIG. 2 the illustrated
note ramp segments are by computer 13 advantageously broken into many
processing samples which are interleaved with samples of other voices on
the bus 19 and in synthesizer 16. At the start of the note 1 of a given
voice, computer 13 loads into synthesizer 16 the aforementioned
specifications for the amplitude and frequency ramps thereof. This loading
operation of the synthesizer 16, as will be described; but on the time
scale of FIG. 2 the loading appears to take place essentially at the
beginning of each note segment. Following the loading, each ramp runs to
the end thereof as indicated by attainment of the aforementioned final
value; and the synthesizer 16 signals computer 13 that the ramp function
has been completed and the synthesizer is ready for more information
relating to the next segment of the note.
The aforementioned introductory outline description of the synthesizer
operation typically runs through thousands of basic synthesizer program
cycles during the course of a single piecewise ramp segment of the note
pattern. Groups of those cycles taken together will be shown to operate
advantageously as 64 time-multiplexed digital oscillators controlled by 64
pairs of ramp generators, respectively. This basic program, to be
described in connection with FIG. 11, for the synthesizer in the
illustrative embodiment consumes approximately 2 microseconds during each
32-step cyclic operation thereof. Sixteen repetitions of that basic
program are executed each 32 microseconds with different sets of data for
calculating all 64 oscillators and thereby fixing the sampling period for
32 kHz operation. Eight repetitions of the 32-microsecond sequence are
executed about every 256 microseconds to calculate all 128 ramps,
FIG. 3 is a simplified functio | | |