WO1996031868A1 - Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux - Google Patents

Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux Download PDF

Info

Publication number
WO1996031868A1
WO1996031868A1 PCT/IB1996/000398 IB9600398W WO9631868A1 WO 1996031868 A1 WO1996031868 A1 WO 1996031868A1 IB 9600398 W IB9600398 W IB 9600398W WO 9631868 A1 WO9631868 A1 WO 9631868A1
Authority
WO
WIPO (PCT)
Prior art keywords
waveform
phase angle
angle input
multiplexer
shifter
Prior art date
Application number
PCT/IB1996/000398
Other languages
English (en)
Inventor
David P. Rossum
Original Assignee
Creative Technology Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/IB1995/000398 external-priority patent/WO1996037226A2/fr
Application filed by Creative Technology Ltd. filed Critical Creative Technology Ltd.
Priority to EP96910151A priority Critical patent/EP0819301B1/fr
Priority to JP53015296A priority patent/JP3228753B2/ja
Priority to AU53447/96A priority patent/AU5344796A/en
Priority to DE69619364T priority patent/DE69619364T2/de
Publication of WO1996031868A1 publication Critical patent/WO1996031868A1/fr

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/10Instruments in which the tones are generated by means of electronic generators using generation of non-sinusoidal basic tones, e.g. saw-tooth

Definitions

  • the present invention relates to a method and apparatus for creating different waveforms when synthesizing musical sounds.
  • phase increment oscillator In digital music synthesis, one of the basic functional units is the phase increment oscillator.
  • a phase increment oscillator generates a "phase sawtooth, " and then employs a "waveshaper” to shape the phase sawtooth into a sine wave, or other desired waveform.
  • a lookup table in RAM or ROM was used to transform the phase sawtooth into the desired waveform. That approach had the virtues of generating waveforms of arbitrary shapes and being relatively cost effective compared to other means available, at least at that time. Because of these virtues, that approach remains common today. However, in the maturing of the digital music synthesizer, certain waveforms have become standard, thus obviating the need for arbitrary waveform generation.
  • the popular Yamaha Corporation "OPL3" synthesizer chip has eight standard waveforms. Because the "OPL3" chip is used in Creative Technology Ltd's "SOUND BLASTER” sound card for IBM-compatible PCs, the popularity of those sound cards has made those eight waveforms a standard for compatible FM music synthesis. Additionally, in the field of VLSI, the speed of computational circuits has increased by orders of magnitude. This enables the use of computational methods of generating waveforms as an improvement (in some cases) to the lookup table methods previously used, particularly where the size of the table must be relatively large to minimize inaccuracies and distortion.
  • This invention provides a new circuit and method for generating waveforms from a phase angle input when synthesizing musical sounds.
  • the invention provides a multiplexer/shifter which modifies the phase angle input according to the particular waveform desired.
  • Boolean logic gates than further modify the multiplexer/shifter output signal based on the two most significant bits of the phase angle input and according to the particular waveform desired.
  • a multiplier multiplies the multiplexer/shifter output signal with the output signal of the Boolean logic gates to produce the desired waveform.
  • the invention may employ banks of exclusive OR gates and AND gates as the Boolean logic.
  • Another embodiment of the invention provides a waveshaping method where a desired waveform is generated from a phase angle input.
  • phase angle input is multiplexed/shifted based on the particular waveform desired.
  • results of the multiplexing/shifting are then modified by Boolean logic gates, based on the two most significant bits of the phase angle input and according to the particular waveform desired.
  • the results of the multiplexing/shifting and the Boolean logic are then multiplied together to produce the desired waveform.
  • Figure 1 shows a signal flow diagram of a known phase increment oscillator.
  • Figure 2 shows graphically the basis of the present invention.
  • Figure 3 shows graphically the creation of the eight "0PL3" waveforms using the present invention.
  • Figure 4 shows a block diagram of a hardware implementation of the present invention.
  • Figure 5 shows the relationship of signals in the present invention for the eight "0PL3" waveforms.
  • the Taylor expansion of the cosine function provides a basis for a computational approximation to a stored sine waveform, but it requires several terms (and the necessary multiplications and additions) to achieve sufficient accuracy through a range of - ⁇ to ⁇ . It can be seen through analysis, however, that if the range is limited from - ⁇ /2 to ⁇ /2, that a single term of the Taylor expansion can be appropriately modified and used, using a quadratic spline method. Specifically, co )f- ⁇ /2 ⁇ x ⁇ /2J * l-(2x/ ⁇ f
  • the present invention provides an efficient, low cost alternative to waveform memory storage in producing standard waveforms from a phase increment oscillator. It also offers improved audio fidelity at low cost.
  • Figure 1 shows, in signal flow diagram form, the well known phase increment oscillator. While many variations of this oscillator exist, including in particular numerous connection topologies for implementing various FM patches, the fundamental core of the oscillator remains unchanged.
  • an adder 12 adds a phase increment ( ⁇ n ) input 10 to the value of the previous phase, which was stored by the delay operator 22.
  • a modulo operator 14 then takes the sum modulo 2 ⁇ , and the resulting new phase is output to both a waveshaper 16 and to the delay operator 22, which stores it for use during the computation of the next sample.
  • a multiplier 18 then multiplies the output signal of the waveshaper 16 by an amplitude envelope (A n ) input 24 to produce the oscillator's output signal (Y n ) 20.
  • phase increment ( ⁇ n ) input 10 is a constant much less than 2 ⁇
  • the signal at the output of the modulo operator 14 will be a "sawtooth" waveform increasing slowly with constant slope from zero to 2 ⁇ , then jumping suddenly back to zero to begin rising again.
  • this signal is commonly referred to as a "phase sawtooth.”
  • Figure 2 shows pictorially the generation, according to the present invention, of an inverted sine waveform.
  • phase angle input need not be limited to a standard phase sawtooth; any phase angle input may be used.
  • Row 2a of Figure 2 shows several cycles of the standard phase sawtooth, with time varying over the horizontal axis and amplitude varying from -1 to +1 on the vertical axis. Note that the vertical axis has been scaled and a fixed offset added to the standard view of the phase sawtooth varying from 0 to 2 ⁇ ; this is of course of no audible consequence.
  • Row 2b shows the standard phase sawtooth with a phase offset of ⁇ added to it. In other words, the phase sawtooth has been shifted 180 degrees along the horizontal axis.
  • Row 2c shows the absolute value of the signal in Figure 2b.
  • Row 2e shows the results of that ANDing.
  • Row 2f shows the end results of the present invention, obtained by multiplying the signal in Row 2a with that in Row 2e, which can be seen to approximate an inverted sine waveform of amplitude ranging from -M to M.
  • Figure 3 shows pictorially the method, according to the present invention, for forming each of the eight standard "0PL3" waveforms (Waveforms #0 to #7) .
  • Each of the steps of the method shown pictorially in Figure 3 will be discussed in greater detail below when describing the operation of the hardware embodiment of the present invention.
  • Column 3a of Figure 3 shows one cycle, from 0 to 2 ⁇ , of each of the eight waveforms.
  • Column 3b shows the first modification, if any, to the input phase sawtooth required by the present invention. This first modification results in either the original phase sawtooth (for Waveforms #0 to #3) , the original phase sawtooth doubled in frequency (for Waveforms #4 and #5) , and in one case, also halved in amplitude (for Waveform #7) , or the signum of the original phase sawtooth, also halved in amplitude (for Waveform #6) .
  • Column 3c shows the modified phase sawtooth shifted in phase, if required, and its absolute value taken, if required, in both cases according to the present invention.
  • Column 3d shows the function which, according to the present invention, is ANDed with the modified phase sawtooth of column 3c, and column 3e shows the results of the ANDing of columns 3c and 3d.
  • column 3f shows the results of the final step of the present invention, multiplying column 3b by column 3e. Note that the vertical scale of column 3e is from -M to M, while the vertical scale of the other columns is -1 to 1.
  • FIG. 4 shows a detailed hardware implementation of the present invention.
  • a phase angle input 300 provides an input to both a multiplexer/shifter 304 and control logic 314.
  • the phase angle input 300 is a 16-bit unsigned value representing the phase taken modulo 2 ⁇ .
  • a phase of zero is hexadecimal 0000
  • a phase of almost 2 ⁇ is hexadecimal FFFF.
  • the multiplexer/shifter 304 is a multiplexer wired as a modified barrel shifter.
  • the control logic 314 drives the multiplexer/shifter 304 through a control signal 316.
  • the control signal has two bits for representing the four possible multiplexer/shifter functions.
  • the control signal 316 can have more than two bits if desired to optimize the logic of the circuit.
  • the multiplexer/shifter 304 operates on the phase angle input 300, as described in detail below.
  • the output signal of the multiplexer/shifter 304 for each waveform is shown in column 3b of Figure 3.
  • the control logic 314 sends a control signal 316 of binary 00 to the multiplexer/ shifter 304
  • the multiplexer/shifter 304 outputs a 16-bit signal identical to the 16-bit phase angle input 300 it received. This produces the output signal shown in rows #0 to #3 of column 3b of Figure 3.
  • control signal 316 to the multiplexer/shifter 304 When the control signal 316 to the multiplexer/shifter 304 is binary 01, it shifts the 16-bit phase angle input 300 left one bit, shifts off and ignores the most significant bit ("MSB”), sets the new least significant bit (“LSB”) to 0, and inverts the new MSB. Mathematically, this is equivalent to adding ⁇ /2 to the phase angle input 300, multiplying the result by two, and then taking the result modulo 2 ⁇ . This produces the output signal shown in rows #4 and #5 of column 3b.
  • control signal 316 to the multiplexer/shifter 304 When the control signal 316 to the multiplexer/shifter 304 is binary 10, it outputs a fixed hexadecimal 3FFF. This produces the output signal shown in row #6 of column 3b.
  • control signal 316 to the multiplexer/shifter 304 when the control signal 316 to the multiplexer/shifter 304 is binary 11, it outputs the fourteen LSBs of the 16-bit phase angle input 300 unchanged, and sets the two MSBs of the output signal both to the inverse of the next to the most significant bit, i.e. bit 14, of the original input signal. In other words, it outputs the fifteen LSBs of the 16-bit phase angle input 300 plus ⁇ /2, sign extended. This produces the output signal shown in row #7 of column 3b.
  • a bank 318 of exclusive OR gates further modifies the 16-bit output signal of the multiplexer/shifter 304.
  • the exclusive OR bank 318 consists of two sections. The first section of exclusive OR gates 306 acts only on the MSB of the multiplexer/shifter 304 output signal, while the second section of exclusive OR gates 308 acts on the other fifteen LSBs. 11
  • the exclusive OR bank 318 performs two functions, phase shifting and a functional approximation to the absolute value function, or a combination of both, or neither (a pass-through) .
  • the output signal of the exclusive OR bank 318 for each waveform is shown in column 3c of Figure 3.
  • the output signal 324 of the exclusive OR bank 318 is the one's complement of the multiplexer/shifter 304 output signal plus ⁇ .
  • the one's complement is only one LSB away from the two's complement, which is, to the accuracy required, the same result as obtained by multiplying by -1. Accordingly, taking the one's complement can be used to produce a functional approximation to the absolute value function. This phase-shifting and absolute value operation is used to produce part of the output signal shown in rows #0 and #4 of column 3c.
  • the output signal 324 of the exclusive OR bank 318 is the sum of the multiplexer/shifter 304 output signal and ⁇ , since the MSB has significance ⁇ . Accordingly, this operation can be used to shift a signal by ⁇ . This operation is used to produce all of the output signal shown in rows #1, #2, #3 and #5 of column 3c, and part of the output signal shown in rows #0 and #4.
  • the output signal 324 of the exclusive OR bank 318 is the one's complement of the output signal of the multiplexer/shifter 304. As discussed above, this operation is a functional approximation to the absolute value function. This operation is used to produce part of the output signal shown in rows #6 and #7 of column 3c of Figure 3.
  • a bank 310 of AND gates further modifies the 16-bit output signal 324 of the exclusive OR bank 318.
  • a control signal 326 to the AND bank 310 can force its 16-bit output signal to hexadecimal 0000, or leave it unchanged. This performs the ANDing of each of the signals shown in column 3c of Figure 3 with the corresponding signal shown in column 3d, with the output signal of the bank 310 for each waveform shown in column 3e.
  • a 16-bit by 16-bit signed two's complement multiplier 312 then receives both the 16-bit output signal of the multiplexer/shifter 304, unmodified (as shown in column 3b of Figure 3) , and the 16-bit output signal of the AND bank 310 (as shown in column 3e) , and multiplies them together. Because most current audio applications use just 16-bit signals, only the sixteen MSBs of the multiplier 312 output signal are needed, so an abbreviated form of the multiplier can be used. The results of this multiplication 13
  • multiplier As will be evident to those skilled in the art, depending on the size of the available multiplier, it may be desirable to have either or both of the arguments of the multiplier be less than 16 bits, since that would have only a minor impact on the waveform fidelity. Moreover, it will also be evident that any type of multiplier could be used, such as a full parallel multiplier, a serial multiplier, or a hybrid parallel/serial multiplier, to accomplish this function.
  • multiplier 312 output signal never reaches more than one fourth of its theoretical maximum output value, since the peak values occur when its inputs are each at an absolute value of half of full scale.
  • the multiplier 312 output signal 328 should be scaled to account for this.
  • control signals 316, 320, 322 and 326 output by the control logic 314 must be set appropriately to form the eight "OPL3" waveforms.
  • These control signals 316, 320, 322 and 326 are determined by the waveform number 302 and the two MSBs of the phase angle input 300.
  • These control signals 316, 320, 322 and 326 then appropriately control the multiplexer/shifter 304, the exclusive OR bank 318, the AND bank 310 and the multiplier 312 to create the desired waveform from the phase angle input 300.
  • the control logic 314 sets the control signals 316, 320, 322 and 326 to the values shown in the truth table, Table 1, below.
  • Table 1 PHn indicates the nth bit of the phase angle input 300, so that, for example, PH15 is the most significant bit.
  • ! indicates logical complement, and A indicates an exclusive OR.
  • Figure 5 shows in graphical form the various steps, described in detail above, for producing each of the eight "OPL3" waveforms.
  • Column 5a shows the output signal of the multiplexer/shifter 304
  • column 5b shows the output signal 324 of the exclusive OR bank 318
  • column 5c shows the output signal of the AND bank 310
  • column 5d shows the output signal 328 of the multiplier 312. Note that the vertical scale of column 5d is from -M to M, while the vertical scale of the other columns is -1 to 1.
  • Figure 4 provides circuitry, or hardware, which embodies the invention. However, as will be evident to those skilled in the art, the invention can also be embodied in firmware and software.
  • the waveshaper of the present invention provides advantages over the prior art.

Abstract

Dans une variante, l'invention concerne un multiplexeur/décaleur (304) modifie le signal d'entrée (300) d'angle de phase selon la forme d'onde souhaitée. Des portes logiques de Boole (306, 308, 310) modifient encore le signal de sortie de ce multiplexeur/décaleur en fonction des deux bits les plus significatifs du signal d'entrée d'angle de phase (300) et de la forme d'onde souhaitée. Enfin, un multiplicateur (312) multiplie le signal de sortie du multiplexeur/décaleur par le signal de sortie des portes logiques de Boole pour produire la forme d'onde souhaitée. On peut utiliser les batteries de portes exclusives OU et ET en guise de logique de Boole. Une autre variante concerne un procédé de mise en forme d'ondes permettant de produire une forme d'onde souhaitée à partir d'un signal d'entrée d'angle de phase qui est multiplexé/décalé selon la forme d'onde souhaitée. Les résultats du multiplexage/décalage sont alors modifiés par les portes logiques de Boole en fonction des deux bits les plus significatifs du signal d'entrée d'angle de phase et de la forme d'onde souhaitée. Les résultats du multiplexage/décalage et de la logique de Boole sont alors multipliés entre eux pour donner la forme d'onde souhaitée.
PCT/IB1996/000398 1995-04-07 1996-04-05 Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux WO1996031868A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP96910151A EP0819301B1 (fr) 1995-04-07 1996-04-05 Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux
JP53015296A JP3228753B2 (ja) 1995-04-07 1996-04-05 楽音を合成する際に異なる波形を生成するための方法および装置
AU53447/96A AU5344796A (en) 1995-04-07 1996-04-05 Method and apparatus for creating different waveforms when s ynthesizing musical sounds
DE69619364T DE69619364T2 (de) 1995-04-07 1996-04-05 Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41851895A 1995-04-07 1995-04-07
US08/418,518 1995-04-07
PCT/IB1995/000398 WO1996037226A2 (fr) 1995-05-26 1995-05-26 Combinaisons pour le traitement de la maladie de parkinson contenant des antagonistes de nmda

Publications (1)

Publication Number Publication Date
WO1996031868A1 true WO1996031868A1 (fr) 1996-10-10

Family

ID=26318650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB1996/000398 WO1996031868A1 (fr) 1995-04-07 1996-04-05 Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux

Country Status (1)

Country Link
WO (1) WO1996031868A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT502264B1 (de) * 2004-04-22 2007-09-15 Univ Wien Tech Verfahren zum verarbeiten von daten in einem logischen system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4259888A (en) * 1979-12-06 1981-04-07 Norlin Industries, Inc. Tone generation system employing triangular waves
EP0454047A2 (fr) * 1990-04-23 1991-10-30 Casio Computer Company Limited Dispositif générateur de son musical
EP0484048A2 (fr) * 1990-11-01 1992-05-06 International Business Machines Corporation Réduction sélective des harmoniques supérieurs de formes d'onde en dents de scie dans les synthétiseurs numériques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4259888A (en) * 1979-12-06 1981-04-07 Norlin Industries, Inc. Tone generation system employing triangular waves
EP0454047A2 (fr) * 1990-04-23 1991-10-30 Casio Computer Company Limited Dispositif générateur de son musical
EP0484048A2 (fr) * 1990-11-01 1992-05-06 International Business Machines Corporation Réduction sélective des harmoniques supérieurs de formes d'onde en dents de scie dans les synthétiseurs numériques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT502264B1 (de) * 2004-04-22 2007-09-15 Univ Wien Tech Verfahren zum verarbeiten von daten in einem logischen system

Similar Documents

Publication Publication Date Title
US4736333A (en) Electronic musical instrument
JPS6325359B2 (fr)
EP0114123A1 (fr) Dispositif pour la production d'ondes
EP0819301B1 (fr) Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux
US5340938A (en) Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
US4256004A (en) Electronic musical instrument of the harmonic synthesis type
EP0819300B1 (fr) Procede et dispositif permettant de synthetiser des sons musicaux par modulation de frequence a l'aide d'un filtre
US4194427A (en) Generation of noise-like tones in an electronic musical instrument
JPH0713793B2 (ja) 楽音発生装置
US5038661A (en) Waveform generator for electronic musical instrument
WO1996031868A1 (fr) Procede et dispositif permettant de creer differentes formes d'ondes lors de la synthese de sons musicaux
US4231277A (en) Process for forming musical tones
JP2766662B2 (ja) 楽音発生装置の波形データ読み出し装置及び波形データ読み出し方法
EP0053892B1 (fr) Dispositif de commande d'enveloppe pour un instrument de musique électronique
US5684260A (en) Apparatus and method for generation and synthesis of audio
JP2643717B2 (ja) 楽音合成装置
JPH09222889A (ja) 電子音楽のための楽音発生方法と装置
JP3085801B2 (ja) 変調信号発生装置
JP2888138B2 (ja) 効果音発生装置
US5578779A (en) Method and integrated circuit for electronic waveform generation of voiced audio tones
US6806413B1 (en) Oscillator providing waveform having dynamically continuously variable waveshape
JP4067169B2 (ja) ノイズ発生装置
JP4254018B2 (ja) 波形生成装置および波形生成方法
Dashow New approaches to digital sound synthesis and transformation
JP3094402B2 (ja) 楽音波形信号形成装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref country code: JP

Ref document number: 1996 530152

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1996910151

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996910151

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

WWG Wipo information: grant in national office

Ref document number: 1996910151

Country of ref document: EP