Harmonic interpolation for producing time variant tones in an electronic musical instrument
Abstract
A keyboard operated electronic musical instrument is disclosed which has a number of tone generators that are assigned to actuated keyswitches. Musical tones are produced by computing a master data set from an interpolated sequence of harmonic coefficient values. The master data set points are read out sequentially and repetitively from a memory and converted into an audible tone. A plurality of harmonic coefficient memories are used to store preselected sets of harmonic coefficients. In response to a timing clock, the harmonic coefficients from a cyclically chosen pair of harmonic coefficient memories are selected. A tone having a time variant spectra is produced by using a time variant interpolation between the selected pair of harmonic coefficients.
Claims
exact text as granted — not AI-modifiedI claim:
1. In combination with a musical instrument in which a plurality of data words corresponding to the amplitudes of evenly spaced points defining the waveform of a musical tone are computed in a sequence of computation cycles from a preselected set of harmonic coefficients and are transferred sequentially and converted into musical waveshapes at a rate proportional to the pitch of the musical tone being generated, apparatus for producing musical tones having a time variant spectra comprising; a plurality of harmonic coefficient memory means each storing a preselected set of harmonic coefficients, a waveshape memory means, a harmonic addressing means for simultaneously reading out a sequence of corresponding harmonic coefficients from each of said plurality of harmonic coefficient memory means, a harmonic coefficient select means whereby a subset of said sequence of harmonic coefficients read out from said plurality of harmonic coefficient memory means are selected, an interpolation means whereby a sequence of interpolated harmonic coefficient values is generated in response to said selected subset of said sequence of harmonic coefficients, a computing means responsive to said sequence of interpolated harmonic coefficient values whereby said plurality of data words corresponding to the amplitudes of evenly spaced points defining the waveshape of a musical tone are computed and stored in said waveshape memory means, a memory addressing means for reading out data words stored in said waveshape memory means at said rate proportional to the pitch of the musical tone being generated, and a conversion means whereby said data words read out of said waveshape memory means is converted into an anlog signal thereby producing said musical tone having a time variant spectra.
2. Apparatus according to claim 1 wherein said harmonic addressing means comprises; a clock for providing timing signals, a word counter for counting said timing signals modulo the number of said plurality of data words corresponding to a period of said waveform of a musical tone, a harmonic counter incremented each time said word counter returns to its minimal count state, and a harmonic address decoder responsive to the count state of said harmonic counter whereby corresponding harmonic coefficients are simultaneously read out from each of said plurality of harmonic coefficient memory means.
3. Apparatus according to claim 1 wherein said computing means comprises; an adder-accumulator means, comprising an accumulator, wherein the count state of said harmonic counter is successively added to the contents of said accumulator in response to said timing signals, a sinusoid table for storing a plurality of trigonometric sinusoid function values, an address decoder means responsive to the content of said accumulator whereby an address signal is generated, a sinusoid addressing means for reading out a trigonometric sinusoid function value from said sinusoid table in response to said address signal, and a master data set computing means responsive to said trigonometric sinusoid function value read out from said sinusoid table and to said sequence of interpolated harmonic coefficient values whereby said plurality of data words corresponding to the amplitudes of evenly spaced points defining the waveshape of a musical tone are computed and stored in said waveshape memory means.
4. Apparatus according to claim 1 wherein said plurality of harmonic coefficient memory means are arranged in a preselected numerical order corresponding to integer numbers in the range of 1 to W where W is the number of harmonic coefficient memory means in said plurality of harmonic coefficient memory means.
5. Apparatus according to claim 4 wherein said harmonic coefficient select means comprises; an interpolation clock for providing interpolation timing signals, a first counter for counting said interpolation timing signals modulo a preselected number K, a second counter incremented each time said first counter returns to its minimal count state wherein said second counter counts modulo said number W, and a data select means responsive to the count state of said second counter wherein corresponding harmonic coefficients read out of two members of said plurality of harmonic coefficient memory means chosen in a pointwise cyclic order are selected to form said subset of harmonic coefficients.
6. Apparatus according to claim 3 wherein said data select means comprises; an adder whereby the count state of said second counter is incremented by one count and wherein said adder adds modulo said number W, and a memory output select means whereby a harmonic coefficient is selected from the read out data from a harmonic coefficient memory means corresponding in numerical order to the count state of said second counter and whereby a harmonic coefficient is selected from the read out data from a harmonic coefficient memory means corresponding in numerical order to the incremented count state produced by said adder.
7. Apparatus according to claim 5 wherein said interpolation means comprises; interpolation computation means responsive to the count state of said first counter whereby said interpolated harmonic coefficient value is computed from the harmonic coefficients selected by said data select means.
8. Apparatus according to claim 7 wherein said interpolation means comprises; a complement means for forming the complement of the binary state of said first counter, a first multiplier means for multiplying the output from said complement means by the harmonic coefficient selected by said data select means from harmonic coefficients read out from selected first one of said plurality of harmonic coefficient memory means to form a first scaled harmonic coefficient value, a second multiplier means for multiplying the count state of said first counter by the harmonic coefficient selected by said data select means from the harmonic coefficients read out from the selected second one of said plurality of harmonic coefficient memory means to form a second scaled harmonic coefficient value, and an adder means wherein said interpolated harmonic coefficient value is generated in response to the sum of said first scaled harmonic coefficient value and said second scaled harmonic coefficient value.
9. In combination with a musical instrument in which a plurality of data words corresponding to the amplitudes of evenly spaced points defining the waveform of a musical tone are computed in a sequence of computation cycles from a preselected set of harmonic coefficients and are transferred sequentially and converted into musical waveshapes at a rate proportional to the pitch of the musical tone being generated, apparatus for producing musical tones having a time variant spectra comprising; a plurality or harmonic coefficient memory means each storing a preselected set of harmonic coefficients in the form of binary floating point numbers, a waveshape memory means, a harmonic addressing means for simultaneously reading out a sequence of corresponding harmonic coefficients from each of said plurality of harmonic coefficient memory means, a harmonic coefficient select means whereby a subset of said harmonic coefficients read out from said plurality of harmonic coefficient memory means are selected, an interpolation means whereby an interpolated harmonic coefficient value is generated in response to said selected subset of harmonic coefficients, a computing means responsive to said sequence of interpolated harmonic coefficient values whereby said plurality of data words corresponding to the amplitudes of evenly spaced points defining the waveshape of a musical tone are computed and stored in said waveshape memory means, a memory addressing means for reading out data words stored in said waveshape memory means at said rate proportional to the pitch of the musical tone being generated, and a conversion means whereby said data words read out of said waveshape memory means is converted into an analog signal thereby producing said musical tone having a time variant spectra.
10. Apparatus according to claim 9 wherein said plurality of harmonic coefficient memory means are arranged in a preselected numerical order corresponding to integer numbers in the range of 1 to W where W is the number of harmonic coefficient memory means in said plurality of harmonic coefficient memory means.
11. Apparatus according to claim 10 wherein said harmonic coefficient select means comprises; an interpolation clock for providing interpolation timing signals, a first counter for counting said interpolation timing signals modulo a preselected number K, a second counter incremented each time said first counter returns to its minimal count state wherein said second counter counts modulo said number W, and a data select means responsive to the count state of said second counter wherein corresponding harmonic coefficients read out of a first member and a second member of said plurality of harmonic coefficient memory means chosen in a pointwise cyclic order are selected to form said subset of harmonic coefficients.
12. Apparatus according to claim 11 wherein said interpolation means comprises; a first adder for producing a first scaled harmonic coefficient by adding the count state of said first counter to a harmonic coefficient read out from said first selected member of said plurality of harmonic coefficient memory means which is selected by said data select means, a third counter decremented by said interpolation timing signals and which counts modulo said number K which is the maximum count state of said third counter, a second adder for producing a second scaled harmonic coefficient by adding the count state of said third counter to the harmonic coefficient read out from said second selected member of said plurality of harmonic codfficient memory means which is selected by said data select means, and a third adder means wherein said interpolated harmonic coefficient value is generated in response to the sum of said first scaled harmonic coefficient value and said second scaled harmonic coefficient value.
13. In combination with a musical instrument in which a plurality of data words corresponding to the amplitudes of points defining the waveform of a musical tone are computed from a preselected set of harmonic coefficients at regular time intervals and converted into musical tones, apparatus for producing musical tones having a time variant spectra comprising; a plurality of harmonic coefficient memory means each storing a preselected set of harmonic coefficients, harmonic addressing means for simultaneously reading out a sequence of corresponding harmonic coefficients from each of said plurality of harmonic coefficient memory means, a harmonic coefficient select means whereby a subset of said harmonic coefficients read out from said plurality of harmonic coefficient memory means are selected, an interpolation means whereby an interpolated harmonic coefficient value is generated in response to said selected subset of harmonic coefficients, a means for computing responsive to each said interpolated harmonic coefficient value whereby said amplitudes of points defining the waveform of said musical tone are computed, and a means for producing a musical tone from said amplitudes of points.Join the waitlist — get patent alerts
Track US4677889A — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.