Electronic musical instrument2009-10-12 00:00:00An electronic musical instrument comprising a host processor (10), process/engine interface (12) and sound engine (14) the latter utilizing partial control chip modules (32, 34) and a data path chip module (36) to effect multiple partial (Fourier) synthesis, in conjunction with a sound modelling technique, to generate up to 240 independent partials and impress time-varying amplitude envelopes on them and select and apply them to sound generation, each partial being controlled by selected parameters of frequency, amplitude, phase and attack/decay rate. A modulo-sumdither and oversampling approach to noise reduction is utilized in connection with the data path chip arrangement. Log sine addition is utilized to avoid multiplication apparatus ordinarily required to combine sine wave defining parameters.
Claims
What is claimed is:
1. Electronic musical instrument comprising in combination:
means defining a digitized waveform for utilization with multiple input parameter selections,
means for making parameter selections via a user interface to generate digital inputs,
means for generating logarithms of multiple parameters, adding the same and converting the sum to antilog equivalent and feeding back on itself to produce a sample sum and,
means for applying the sample to output device and further comprising:
means for modulating the sample sum by clipping the bit length of each digital word thereof by clip rounding off the most significant bits, from an original n bit length, and further reducing into p bit length usable as a data unit bytruncate-elimination of the most significant p bits of n.
Description
BACKGROUND OF THE INVENTION
The present invention relates to electronic means for music generation and more particularly has as its object the provision of such instrument with a sound engine comprising an architecture enabling the application of thousands of stored unitsof music digital data to rapid production of analog speaker-driving forms, utilizing practical solid state circuit means.
The invention is described below with reference to electronic piano usage, but is also usable in a number of other electronic musical instrument roles to provide, singly or combined, the sounds of a variety of instrument, elements of human voiceand other sound sources and in analogous instrument contexts not involving music or voice, but involving comparably varying waveform data.
Multiple Partial (Fourier) Synthesis is a technique well known in engineering practice. Any arbitrary periodic waveform (e.g., musical instruments' sound) may be reproduced by summing up a series of sine waves of appropriately determinedfrequencies, amplitudes, and relative phases. This technique allows great flexibility, much more so than subtractive synthesis (which starts out with a complex waveform and filters out unwanted spectral content) or wave-table synthesis (which can onlyreproduce whatever is in the table).
It is the object of the present invention to establish effective instrumentation using Fourier synthesis.
SUMMARY OF THE INVENTION
The musical apparatus of the invention inputs a stream of digital signals which represent a sequence of audio notes to be ultimately produced. The apparatus creates a sequential list of partials and impresses time-varying amplitude envelopes onthem, such that the sequential list completely characterizes the desired audio signal. A multiple partial synthesis, sometimes referred to as a Fourier Synthesis, is formed.
Each partial from the sequential list is digitally generated by stepping through a ROM containing a single cycle forming the frequency of that partial and combining it with the amplitude envelope for that partial resulting in a signal with thedesired frequency, amplitude, duration and attack and decay rates. All the partials are summed into a digital data stream which is converted to an analog form, filtered and made available for use, for example by an audio amplifier and speakers producingsound.
With reference to the preferred embodiment a sine wave is digitally stored and sensed at an appropriate rate of change of phase angle per sample frequency of a given partial. The phase angle determines the next value selected from the storedsine wave so that changing the rate of change of the phase angle changes the resulting frequency. The stored amplitude is scanned synchronously with the sine wave scanning in a pipe line design ensuring the proper time relationship between the two. Since a partial is a waveform multiplied by an amplitude, both are stored in log form, then added and the anti-log generated forming the resultant partial as a digital stream of signals.
The technique has many useful properties. One is that the quality of a given sound increases as more partials are used to represent it. Another is that partials are controlled independently of one another. This feature allows less importantpartials to be "stolen" from notes already sounding, and used to form new notes. Taken together, these two properties allow both the ability to play many complex timbres simultaneously, as well as allowing enhanced quality for notes played singly or insome instances against a demanding background of silence. This is in contrast to many commercially available synthesizers, which allow only a limited number of voices. The latter force entire previously played notes to be silenced as more notes areplayed (e.g., a 10-note chord played on an 8-voice synthesizer).
Additionally, multiple partial synthesis can be used with sound modelling data stored in one or more read only memories to lower the cost of extra installed voices, because of the greatly reduced storage requirements that go withpartials-synthesis. One second of waveform table as in conventional wave table storage may be tens of Kilobytes, whereas the information that describes a sound and the 10 to 50 partials needed to synthesize the same sound with the present inventionwould be smaller by a factor of up to 20. Similarly, having several voices available at once for a keyboard split or orchestral effect is much less expensive.
The sound model data comprises, in accordance with the invention, the amplitude envelope for each partial as a series of exponential "segments" stored in ROM. Segments have the properties of duration (time) and rate/direction of change(attack/decay). During each segment, the amplitude of a given partial increases or decreases exponentially at a fixed rate maintained by the hardware of what is described herein as a sound engine. Thus, all the processor of such engine has to do isupdate the rate of change of amplitude for each partial after the apropriate duration, starting the next segment.
The invention allows maintenance of a far greater number of accurate models for sounds available at all times compared to prior art capability. A digital model of the sound generation process is calculated in real time, as opposed to playing outa sample table. Each note on each pitch of each voice can be modeled separately, to any required accuracy, if so desired.
The "engine" comprises the hardware in VLSI and or TTL and/or other integrated and modular versions to synthesize, control, and sum up a number of sine waves. It can generate (in a typical configuration) up to 240 independent partials, andadditionally can impress time-varying amplitude envelopes upon them. These partials can be put together in any combination, producing 10 different sounds that each require 24 partials, one sound of 236 partials and 2 sounds of 118, or any otherarbitrary combination.
Each partial is controlled by four parameters: frequency, amplitude, phase, and attack/decay rate. All these parameters are made available to the programmer, and are described in detail below.
Generation of each partial is handled by stepping a pointer through a ROM containing a quarter cycle of a sine wave. This pointer is maintained automatically for each partial by one of two partial control chips, each of which contains storagefor 240 16-bit phase pointers and 240 16-bit frequency control values (one of each per partial). Each partial's phase pointer is incremented by the frequency control value one per sample cycle, and the resulting new pointer is handed to a data path chip(DPC) for processing. Thus, the larger the frequency constant, the fewer cycles required to step through the sine wave ROM and the higher the resultant frequency.
Amplitude envelope generation is handled in a VLSI version of the invention by a partial control chip (PPC). The PCC contains RAM arrays for the 240 current amplitude values and the 240 attack/decay increments. Values for the current amplitudeof each partial are derived in a similar manner to that used for the phase pointers, and handed to the DPC for processing.
The DPC takes in the phase and amplitude values in a pipelined stream, and uses the phase pointer to look up the value of the sine wave for that partial (stored in an internal sine wave ROM table herein). It then scales the value of the sine forthat partial by the amplitude value (functionally performing a multiplication). It also accumulates all 240 partials into the final output sample, and provides stable data to a digital to analog converter for conversion via its sample bus.
A host processor maintains control over all this by creating and maintaining a model of the sound desired, and modifying the frequency, attack/decay rate, amplitude, and phase of each partial required, all in real time.
The use of phase angle and frequency information in address form facilitates generating log-sine functions through a look-up table (avoiding use of logarithmic conversion circuitry of analog or digital form and providing an inherently fast, cleansource of the data). Relevant prior art includes the article of Snell, "Design of Digital Oscillator Which Will Generate Up To 256 Low Distortion Sine Waves In Real Time," Computer Music Journal, pp. 4-25 (April, 1977). Snell provides--in electronicmusical instrument context--slope and data phase angle RAM's which yield digital information, an adder thereof, a phase angle RAM determining stored sine wave scan parameters, addition of the phase and slope/delta phase, all with feedback essentially asdescribed for corresponding components of the present instrument. Also, Snell provides a sine wave look up table (but not log-sine information).
Amplitude information is multiplied by the sine wave information--rather than providing an adding of logs as taught herein. The product of such multiplication comprises the partials information which is used (typically as 28 bit words) for latertruncation (to 16 bit words) and then provision to a holding register, DAC's and music output elements. There is no correction or accuracy enhancement of the rounding.
Parks, "Hardware Design Of A Digital Synthesizer," Computer Music Journal, pp. 44-16 (Spring, 1983), shows usage ...