WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Real time digital sound synthesizer    
United States Patent4201105   
Link to this pagehttp://www.wikipatents.com/4201105.html
Inventor(s)Alles; Harold G. (Bridgewater, NJ)
AbstractLinearly 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4201105
Real time digital sound synthesizer - US Patent 4201105 Drawing
Real time digital sound synthesizer
Inventor     Alles; Harold G. (Bridgewater, NJ)
Owner/Assignee     Bell Telephone Laboratories, Incorporated (Murray Hill, NJ)
Patent assignment
All assignments
Publication Date     May 6, 1980
Application Number     05/901,489
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 1, 1978
US Classification     84/606 84/624 84/627 708/274 708/276 984/389 984/DIG.1
Int'l Classification     G10H 005/10 G10H 005/02
Examiner     Truhe; J. V.
Assistant Examiner     Feeney; William L.
Attorney/Law Firm     Phelan; Charles Phelan; Charles Scott, Scott
Address
Parent Case    
Priority Data    
USPTO Field of Search     84/1.01 84/1.03 84/1.24 84/1.25 84/1.26 84/1.27 364/607 364/608 364/718 364/721 364/719
Patent Tags     real time digital sound synthesizer
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
3821714



[0 after 0 votes]
4149440
Deforeit
84/617
Apr,1979

[0 after 0 votes]
4135427
Deutsch
84/608
Jan,1979

[0 after 0 votes]
4133241
Niimi
84/607
Jan,1979

[0 after 0 votes]
4114496
Deutsch
84/605
Sep,1978

[0 after 0 votes]
4085644
Deutsch
84/608
Apr,1978

[0 after 0 votes]
4036096
Tomisawa
84/607
Jul,1977

[0 after 0 votes]
4018121
Chowning
84/696
Apr,1977

[0 after 0 votes]
3970998
Weisbecker
712/32
Jul,1976

[0 after 0 votes]
3915047
Davis
84/635
Oct,1975

[0 after 0 votes]
3913442
Deutsch
84/623
Oct,1975

[0 after 0 votes]
3882751
Tomisawa
84/605
May,1975

[0 after 0 votes]
3823390
Tomisawa
708/272
Jul,1974

[0 after 0 votes]
3727037
Zorn
708/9
Apr,1973

[0 after 0 votes]
3662160
Hoppes
708/270
May,1972

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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