Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

EuropaischesP— MM II II II Ml Ml II II II I II II I II

J European Patent Office _ _


© Publication number: 0 2 3 5_ 5 3 8 B1
_„.
Office europeen des brevets

EUROPEAN PATENT SPECIFICATION

© Date of publication of patent specification: 22.04.92 © Int. CI.5: G10H 7/00

© Application number: 87100845.4

@ Date of filing: 22.01.87

© Waveform generator for electronic musical instrument.

© Priority: 31.01.86 JP 19845/86 (73) Proprietor: CASIO COMPUTER COMPANY


14.03.86 JP 55008/86 LIMITED
6-1, 2-chome, Nishi-Shinjuku
@ Date of publication of application: Shinjuku-ku Tokyo(JP)
09.09.87 Bulletin 87/37
@ Inventor: Kaneko, Yoji Patent Dept. D. D.
© Publication of the grant of the patent: Hamura R&D Center
22.04.92 Bulletin 92/17 CASIO COMPUTER CO.LTD. 3-2-1, Sakae-cho
Hamura-machi Nishitama-gun Tokyo
© Designated Contracting States: 190-11(JP)
DE FR GB IT

© References cited: Representative: KUHNEN, WACKER & PART-


JP-A-58 065 492 NER
US-A- 4 249 447 Alois-Steinecker-Strasse 22 Postfach 1553
W-8050 Freising(DE)

00
00
CO
m
m
oo
CM
O Note: Within nine months from the publication of the mention of the grant of the European patent, any person
^ may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition
qj shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee
has been paid (Art. 99(1) European patent convention).
Rank Xerox (UK) Business Services
EP 0 235 538 B1

Description

The present invention relates to a waveform generator, which generates musical tone waveforms for an
electronic musical instrument, and a method of generating a waveform.
5 Various methods or apparatuses for generating musical tone waveforms are known. Such methods or
apparatuses include:
(A) A method or apparatus for storing a waveform corresponding to each tone color in a memory, and
reading it out. More specifically, such a method or apparatus is described in U.S. P. No. 3,639,913
(issued on February 1, 1972), U.S. P. No. 3,882,751 (issued on May 13, 1975), and the like.
io (B) A method or apparatus for multiplying a sine wave of a fundamental frequency and a sine wave of
each harmonic component with a Fourier coefficient and synthesizing resultant products to produce a
waveform in accordance with a Fourier synthesis method, i.e.,

n
75 Yl - I
n=l

ansinncoOt (where c»0 is a fundamental frequency, such a method or apparatus is described in U.S. P. No.
3,809,786 (issued on May 7, 1974).
20 With method or apparatus (A), various waveforms cannot be stored in a memory unless the memory
has a large storage capacity. More specifically, the storage capacity poses a problem. In addition,
waveforms other than those stored in the waveform memory cannot be produced.
With method or apparatus (B), in order to obtain a musical tone having desired harmonic overtone
components, calculations must be performed a plurality of times corresponding to the number of
25 harmonic overtone components, or sine wave generators corresponding in number to the harmonic
overtone components must be required.
In addition, the following method or apparatus is known.
(C) A method or apparatus in accordance with FM modulation.
More specifically, waveforms are produced in accordance with the following equation:
30
Y2 = Asin(c»ct + lsincomt)

(where o>c is a carrier angular frequency, o>m is an angular frequency of a modulated wave, I is a
modulation index, and A is an amplitude.) Such a method or apparatus is disclosed in U.S. P. No.
35 4,018,121 (issued on April 19, 1977).
With this FM modulation method, waveforms including many harmonic overtone components can be
generated by a relatively small sine wave generating system. However, when resultant waveforms are
evaluated in terms of their spectra, a waveform with a moderate spectrum envelope cannot be
generated, and a waveform string whose spectrum distribution gradually changes, cannot be generated.
40 (D) A method or apparatus in accordance with a PD (phase distortion) method.
This method or apparatus relates to a content previously proposed by the present assignee (e.g., USSN
No. 788,669 filed on October 17, 1985 issued on April 21, 1987 under US-4,658,691). With this method,
phase angle signals for reading a sine wave stored in a single musical tone waveform memory are modified
by a phase angle modifying circuit, and various waveforms such as a sawtooth wave and a sine wave can
45 be generated.
However, in a detailed circuit arrangement for method (D), the phase angle modifying circuit is
constituted by divides, resulting in a bulky apparatus.
The present invention has been made in consideration of the above situation, and has as its principal
object to provide a waveform generator for an electronic musical instrument, which can generate various
50 waveforms by a compact circuit arrangement.
It is an object of the present invention to provide a waveform generator for an electronic musical
instrument, wherein a waveform generator which generates a plurality of waveforms in a time-divisional
manner, and outputs accumulated data of these waveforms as a final output for a unit sampling period is
used, and preceding waveforms or accumulated waveforms generated in the same sampling period are
55 selectively used as data for the next waveform generation, so as to obtain various waveforms.
It is another object of the present invention to provide a waveform generator for an electronic musical
instrument, which can generate various waveforms having smooth spectrum envelopes with a simple
arrangement.

2
EP 0 235 538 B1

The object is solved by the waveform generator with the features of claims 1 and 9, and by the method
with features of claims 11 and 12.
According to the present invention, there is provided a waveform generator for an electronic musical
instrument, having control means and waveform generating means for time-divisionally generating a plurality
5 of waveforms and accumulating the waveforms in a unit sampling period to obtain a final output under the
control of the control means, wherein
the waveform generating means comprises a selective operation means which is selectively operated
using at least one of a preceding waveform and a sum of the waveforms already generated in the same
sampling period as data used for a waveform to be generated next.
io According to the present invention, there is further provided a waveform generator for an electronic
musical instrument, comprising:
phase angle generating means for generating phase angle data which changes at a frequency
corresponding to a depressed key;
data setting means for generating control data for modifying the phase angle data;
is phase angle modifying means for modifying the phase angle data in accordance with the control data
and outputting modified phase angle data; and
a musical tone memory whose address is designated by the output from the phase angle modifying
means, wherein
the phase angle updating means has shift means for bit-shifting the phase angle data in different
20 directions using the control data, and bit-shift direction selecting means for switching the direction of bit
shifting to define an inclination of the modified phase angle data as the output from the phase angle
modifying means at a timing during one cycle of the waveform.
This invention can be more fully understood from the following detailed description when taken in
conjunction with the accompanying drawings, in which:
25 Fig. 1 is a block diagram showing an electronic musical instrument to which the present invention is
applied;
Fig. 2 is a format showing module times and channel times in one sampling period used in an
embodiment;
Fig. 3 is a block diagram of waveform generator 6 as the main part of the embodiment of the present
30 invention;
Figs. 4A to 4G are graphs for explaining the function of a phase angle modifying circuit;
Fig. 5 is a block diagram showing the arrangement of a phase angle modifying circuit of the embodiment
of the present invention;
Fig. 6 is a waveform chart showing various waveforms generated in the embodiment of the present
35 invention;
Fig. 7 is a spectrum chart showing spectra of various waveforms produced in the embodiment of the
present invention;
Figs. 8A and 8B show, in combination, a timing chart for explaining the operation of the waveform
generator;
40 Fig. 9 is a block diagram of a control circuit; and
Fig. 10 is a block diagram of another electronic musical instrument using a phase angle modifying circuit
shown in Fig. 5.
Fig. 1 is a block diagram of an electronic musical instrument to which the present invention is applied.
In this case, the electronic musical instrument is of an 8-tone polyphonic type for the sake of simplicity. On
45 keyboard circuit 1, switches for detecting ON/OFF of keys are arranged in a matrix, and are scanned by key
assigner 2. Key assigner 2 detects ON/OFF of the keys of keyboard circuit 1, and generates, upon detection
of key depression, key code KCO and attack start signal AO corresponding to the detected key for a tone
generation channel (assumed to be channel 0) which is not currently subjected to tone generation. Envelope
generator 3, original phase angle generator 4, and waveform generator 6 process four series of data for
50 each of eight tones, i.e., a total of 32 series of data. In Fig. 2, the four series are denoted as modules 0 to 3,
to be assigned within one sampling period. Each module is divided into eight sections to serve as channels
0 to 7. Assuming that a sampling frequency is 50 kHz, the operating frequency is 32 x 50 kHz = 1.6 MHz.
For the sake of simplicity, suffix for modules 0 to 3 is given by i, and suffix for channels 0 to 7 is given by j,
and data Y in module i and channel j is indicated by Yij.
55 In response to attack start signal AO, envelope generator 3 begins to generate envelope waveform EiO
for the four series. (Note that if the above-mentioned key is turned off, key assigner 2 generates decay start
signal DO to tone generation channel 0 to release the envelope. Envelope generator 3 generates envelope
end signal EFiO upon completion of releasing. Upon reception of envelope end signal EFiO, key assigner 2

3
EP 0 235 538 B1

stores that the corresponding tone generation channel is empty.) Original phase angle generator 4 receives
key code KCO from key assigner 2, and accumulates four series of frequency numbers RiO to generate
original phase angle data qRiO. Waveform generator 6 is the main feature of the present invention.
Generator 6 receives clocks 4>L, a, 4>1, and $2 and control signals CO to C8 from the control circuit 5, and
5 original phase angle data qRiO, Trom original phase angle generator 4, and envelope EiO from envelope
generator 3 to generate a desired waveform, and adds the waveforms for the respective channels so as to
output final waveform W. Sound system 7 receives final waveform W as digital data, and D/A converts it to
generate a sound.
Fig. 3 is a detailed block diagram of waveform generator 6. All FFs (flip-flops) and shift registers in Fig.
io 3 are operated in response to two-phase clocks <£1 and $2 (not shown in Fig. 3). Selector 8 selects final
phase angle data and is operated as follows:

S1S0 = 00 -»■ A: output from 2-stage shift register


75 19
S1S0 = 01 > B: output from adder 16
S1S0 = 10 ■»• C: output E'ijsinX' from FF 15
20 S1S0 = 11 > D: original phase angle data qRij
( C2C3 )

5-stage shift register 9 delays an input signal by 5-bit time. Phase angle modifying circuit 10 switches a
conversion coefficient between original phase angle data X and modified phase angle data X', so that the
25 inclination of modified phase angle data X' changes stepwise in accordance with original phase angle data
X. More specifically, Figs. 4A to 4G show the modifying method of phase angle changing circuit 10. Fig. 4G
shows the relationship between original phase angle data X and modified phase angle data X' for finally
accessing sine wave memory 12. As can be apparent from Fig. 4G, in a function characterizing the
relationship between these two data, the inclination, i.e., a multiplier to be multiplied with X, varies in
30 accordance with the value of X. If the multipliers are given as a (0 ^ X < M, N - M ^ X < N) and as /3 (M ^
X < N - M),

a = (N/4)/M
0 = (N/4)/(N/2 - M)
35
Therefore, Ma + 1/0 = 2. Note that N represents one period 2-n of sine wave memory 12, and M
represents a switching point of the multipliers. If X = M, X' = N/4 and the maximum value of the sine
waves in sine wave memory 12 is accessed (see Fig. 6).
For example, if 0 = a/2k,
40
a = (2k + 1)/2
0 = (1 + 2"k)/2

Therefore, multiplication for changing phases can be executed by a bit shift method.
45 Figs. 4A to 4G show the procedures for producing finally modified phase angle data X' from original
phase angle data X. X0' in Fig. 4A is obtained by subtracting most significant bit XMsb from X; X1' and X1"
in Figs. 4B and 4C are obtained by appropriately inverting X0', X2' in Fig. 4D is obtained by multiplying X1'
with /3, X2" in Fig. 4E is obtained by multiplying X1" with a, and X3' in Fig. 4F is obtained by linking X2"
and X2' as follows:
50
J X2" (X2' I N/4)
x3,
\X2' (X2» < N/4)
55
Finally modified phase angle data X' shown in Fig. 4G is obtained using X3' shown in Fig. 4F as follows:

4
EP 0 235 538 B1

X3* (0 < X < M)


I N/2 - X3' (M < X < N / 2 )
=
• + N/2
5 | X3 (N/2 < X < N - M)
(N/2 - X 3 ' ) + N/2 (N - M < X < N)

Fig. 5 shows a circuit for executing the processing explained with reference to Figs. 4A to 4G. Original
io phase angle data X supplied from 5-stage shift register 9 is inverted by inverting circuits 111 and 114
whose outputs are inverted when inverting control inputs R are set at "1 " level in accordance with most
significant bit XMsb- More specifically, since inverting circuit 111 receives XMsb through inverter 110, it is in
the inverting mode if XMsb = 0, and is in noninverting mode if XMsb = 1- On the other hand, inverting
circuit 114 is set in the noninverting mode if XMsb = 0, and is in the inverting mode if XMsb = 1- Therefore,
is the outputs from the inverting circuits 111 and 114 correspond to X1' and X1" shown in Figs. 4B and 4C,
respectively. Inverting circuits 111 and 114 preferably output a complementary number of 2 in the inverting
mode in terms of precision. Alternatively, an exclusive OR group (EX-OR group) for producing a com-
plementary number of 1 can be adopted instead. Left-shift circuit 112 and adder 113 multiply X1' with
above-mentioned multiplier /3 in accordance with control inputs SO to S2, i.e., C4 to C6 (binary data
20 corresponding to k). The input to adder 113 is left-shifted (multiplied with 1/2), and adder 113 executes the
following relation:

X2' = 0X1'
25 = 2-1 (2-kXl' + XI' )

(where k = 0 to 7)
Similarly, right-shift circuit 115 and adder 116 multiply X1" with above-mentioned multiplier a, and
30 execute:

X2" = aXl"
= 2-1 (2^X1" + XI" )
35

Selector 117 produces X3' shown in Fig. 4F, and selects one of outputs X2' and X2" from adders 113
and 116. When adder 113 outputs carry out CO, i.e., only when X2' k N/4 in Fig. 4D, selector 117 selects
X2"; otherwise, it selects X2'.
40 Inverting circuit 118 is set in the inverting mode when inverting control input R is "1" in the same
manner as in inverting circuits 111 and 114. Inverting circuit 118 inverts X3' in accordance with an output
from EX-OR gate 119 receiving XMsb and carry out CO, so that the polarity of the inclination of X3' shown in
Fig. 4F becomes positive.
(a) If X = 0 to M, since XMSb = 0 and CO = 1, X3' is not inverted.
45 (b) If X = M to N/2, since XMSb = 0 and CO = 0, X3' is inverted.
(c) If X = N/2 to N - M, since XMSb = 1 and CO = 0, X3' is not inverted.
(d) If X = N - M to N, since XMSb = 1 and CO = 1, X3' is inverted.
Furthermore, when the output from inverting circuit 118 is added to the output from the EX-OR gate 119
and XMsb as upper bits, X' shown in Fig. 4G, i.e., modified phase angle data can be obtained.
50 Figs. 6 and 7 show waveforms and their spectra generated when sine wave memory 12 is accessed by
output X' from phase angle modifying circuit 10 with respect to various values of k. As the value of k
increases 0 to 7, the spectrum gradually increases in amplitude in a sawtooth wave manner.
More specifically, circuit 10 of this embodiment produces output X' shown in Fig. 4G with respect to
input X, and sine wave memory 12 is accessed by output X', thus obtaining a distorted waveform output
55 shown in Fig. 6. Since the control input to phase angle modifying circuit 10 has a 3-bit configuration,
waveforms distorted by eight-step depths (= k) can be obtained. More specifically, when the output from
the phase angle modifying circuit 10 is used as an address of sine wave memory 12, this is equivalent to
that the apparatus of this embodiment has memories for eight types of waveforms as shown in Fig. 6 (their

5
EP 0 235 538 B1

spectra are shown in Fig. 7). Output sinX' from sine wave memory 12 is multiplied with modified envelope
E'ij by multiplier 14 through FF 13. Output E'ijsinX' from multiplier 14 is input to selector 8 and adder 16
through FF 15. Adder 16 adds output E'ijsinX' from multiplier 14 and the output from gate 24, and its output
is input to selectors 8, 17, and 25. Selector 17 switches whether or not the storage contents of 6-stage shift
5 register 18 and 2-stage shift register 19 are changed. If S = 0, selector 17 selects an A input (storage
content is changed) and if S = 1, a B input (storage content is held). The output from 6-stage shift register
18 is added to envelope Eij by adder 21 through gate 20 to produce changed envelope E'ij, which is input
to multiplier 14. If control input G is "1", gate 20 allows input data to be output to adder 21, and if it is "0",
outputs all "0" data. Thus, it can be selected whether or not the contents of shift registers 18 and 19
io constituting a memory circuit, for example, preceding sine wave data for one module, is multiplied with
waveform sinX' output from sine wave memory 12. Selector 23 selects one of the outputs from FF 26 or 2-
stage shift register 19, and supplies the selected output to adder 16 through gate 24. Selector 23 performs
selection as follows:
GS = 0* - All "0"
w GS = 10 - output from FF 26
GS = 11 -► output from 2-stage shift register 19 Selector 25, FF 26, and gate 27 store data obtained
by accumulating all the output data during a unit sampling period, and the storage operation is performed
by switching whether the content of FF 26 is held or changed by selector 25. Gate 27 sets preceding data
to be all "0" at the beginning of the sampling period. Latch 28 latches the content of FF 26 at a timing
20 corresponding to a sum of all the data during each sampling period, and outputs the latched data. As
described above, when control signals CO to C8 are appropriately switched, various waveform calculations
are allowed.
The operation timings and control signals CO to C8 will now be described. As can be understood from
the above description, the functions of control signals CO to C8 are as follows:
25 CO, C1: B input selection of adder 16
C2, C3: selection of final phase angle data X
C4, C5, C6: designation of phase angle modifying degree
C7: changing of storage data
C8: whether or not waveform multiplication is performed
30 These signals CO to C8 are appropriately generated for each module, so as to perform a desired waveform
calculation. Figs. 8A and 8B show the operation timings of the function blocks in Fig. 3 with reference to the
operation start time of selector 8. Reference symbols <£1 and $2 denote operation clocks. Clock <£1 is a
read clock, and clock $2 is an output clock. Reference symbol ACK denotes an address clock for reading
out control signals CO to C8. (1) to (6) in Figs. 8A and 8B are operation timings of the respective blocks in
35 Fig. 3 to represent the number of bits by which the operations of the respective blocks are delayed from the
operation of selector 8. Control signals CO to C8 and the respective blocks have the following correspon-
dences:
selector 8 C2, C3
phase angle modifying circuit 10 ** C4, C5, C6
40 selector 17 ** C7
selector 23, 25 — CO
gate 24 — C1
gate 20 — C8
Therefore, the timings of control signals CO to C8 are as shown in (9) to (12) in Figs. 8A and 8B. A data
45 reset operation by gate 27 corresponds to a timing at which FF 26 outputs a sum of all the data and signal
a is supplied to the gate 27, as shown in (7) in Figs. 8A, 8B. Latch timing 4>0 of latch 28 for final output
need only be equal to a timing for fetching final data from selector 25, i.e., data in module 3 of channel 7,
as sown in (8) in Figs. 8A and 8B.
Fig. 9 shows the arrangement of controller 5. Timing signal generator 28 generates reference clocks <£1
50 and 4>2, timing signal a, latch timing signal 4>L, and address clock ACK for address counter 30. Address
counter 30 receives address clock ACK, and generates addresses AO and A1 in synchronism with its
leading edge. Control data memory 29 stores control data CO to C8 in units of modules, and its content is
read out in synchronism with the address clock. Shift registers 31 to 37 delay the timing of the readout
control data, and generate control signals CO to C8 as shown in (9) to (12) in Figs. 8A, 8B. With these data,
55 desired waveform calculations can be executed.

Example 1 When EijsinqRij is added to final output

6
EP 0 235 538 B1

Table 1 shows combinations of control data CO to C8 used in this case.

Table 1

5
Module CO C1 C2 C3 C4 C5 C6 C7 C8
i 0 1 1 1 0 0 0 * 0

First, since C2 = 1 and C3 = 1, selector 8 selects original phase angle data = qRij. Phase angle data qRij
is input to phase angle modifying circuit 10 at a timing delayed by 5 bits. However, since 5-bit delayed data
C4, C5, and C6 are "0", a phase angle is not modified, and X' = X = qRij is output, so that sine wave
memory 12 outputs data sinqRij. In gate 20, since 6-bit delayed data C8 is "0", adder 21 outputs data Eij,
and multiplier 14 outputs data EijsinqRij. In selector 23 and gate 24, since 8-bit delayed data CO and C1 are
respectively CO = "0" and C1 = "1", the output from FF 26 is input to a B input of adder 16 through gate
27, and the output from adder 16 is fetched by FF 26 through selector 25. As a result, the output from FF
26 is changed to data obtained by adding a current value to EijsinqRij. If i = j = "0", since the output from
gate 27 is "0", FF 26 fetches EijsinqRij.

Example 2 When sine wave data in module i is used as phase angle data in next module i + 1
2o
Table 2 shows combinations of control data used when Y1 = Ei + 1J *sin(EijsinqRij) is obtained.

Table 2
25
Module CO C1 C2 C3 C4 C5 C6 C7 C8
i 1 * 1 1 0 0 0 * 0
i+1 0 1 0 1 0 0 0 * 0
30
In the case of module i, since C2 = "1 " and C3 = "1 ", selector 8 selects original phase angle data
qRij. Phase angle data qRij is input to phase angle modifying circuit 10 at a timing delayed by 5 bits.
However, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = qRij is output, and sine wave memory
12 outputs data sinqRij. Since 6-bit delayed data C8 is "0" in gate 20, adder 21 outputs data Eij, and
35 multiplier 14 outputs data EijsinqRij. Since 8-bit delayed data CO is "1" in selector 25, FF 26 helds the
preceding data.
In the case of module i + 1, since C2 = 0 and C3 = 1, selector 8 selects output EijsinqRij from FF 15,
i.e., sine wave data in module i. Although EijsinqRij is input to phase angle modifying circuit 10 at a timing
delayed by 5 bits, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = EijsinqRij is output, and the
40 output from sine wave memory 12 becomes sin(EijsinqRij). In gate 20, since 6-bit delayed data C8 is "0",
adder 21 outputs data Ei + 1j, and multiplier 14 outputs data Ei + 1jsin(EijsinqRij). In selector 23 and gate 24,
since 8-bit delayed data CO and C1 are respectively CO = "0" and C1 = "1 ", the output from FF 26 is
input to the B input of adder 16 through gate 27, and the output from adder 16 is fetched by FF 26 through
selector 25. As a result, the content of FF 26 corresponds to a value obtained by adding a current value to
45 Ei + 1jsin(EijsinqRij). At this time, if the waveform produced in module i + 1 is given as Y1 ,

Y1 = Ei + 1jsin(EijsinqRij)

For the sake of simplicity, if Eij -► Ei, Ei + 1j -► Ei + 1, and qRij -► coit, the above equation is developed as
50 follows:

Yl = Ei+lsin(Eisinuit)
eo
= Ei+1 Z Jn(Ei)sinnu>it ...(1)

where Jn(Z) is the Bessel function. Therefore, a large number of tone strings can be produced in
accordance with envelope Ei.

7
EP 0 235 538 B1

Example 3 When sine waves obtained in modules i and i + 1 are added to obtain phase angle data of sine
wave in module i + 2

Table 3 shows combinations of control data used when waveform Y2 = Ei + 2jsin(EijsinqRij +


5 Ei + 1jsinqRi + ij) is obtained.

Table 3

Module CO C1 C2 C3 C4 C5 C6 C7 C8
10
i 1 0 1 1 0 0 0 0 0
i+1 1 1 1 1 0 0 0 * 0
i+2 0 1 1 0 0 0 0 * 0

15
In the case of module i, since C2 = "1 " and C3 = "1 ", selector 8 selects original phase angle data
qRij. Original phase angle data qRij is input to phase angle modifying circuit 10 at a timing delayed by 5
bits. However, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = qRij is output, and sine wave
memory 12 outputs data sinqRij. In gate 20, since 6-bit delayed data C8 is "0", adder 21 outputs data Eij,
and multiplier 14 outputs data EijsinqRij. In gate 24, since 8-bit delayed data C1 is "0", "0" is input to the B
20
input of adder 16, and thus, adder 16 outputs data EijsinqRij. Since 8-bit delayed data C7 is "0", selector 17
causes output EijsinqRij from adder 16 to be fetched by 6-stage shift register 18. In selector 25, since 8-bit
delayed data CO is "1 ", the content of FF 26 is held.
In the case of module i + 1, since C2 = "1" and C3 = "1", selector 8 selects original phase angle data
qRi + 1j. Phase angle data qRi + 1j is input to phase angle modifying circuit 10 at a timing delayed by 5 bits.
25
However, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = qRi + 1j is output, and sine wave
memory 12 outputs data sinqRi + 1j. In gate 20, since 6-bit delayed data C8 is "0", adder 21 outputs data
Ei + 1j, and multiplier 14 outputs data Ei + 1jsinqRi + 1j. In selector 23 and gate 24, since 8-bit delayed data
CO and C1 are respectively CO = "1" and C1 = "1", output EijsinqRij from 2-stage shift register 19, i.e.,
sine wave data obtained in the preceding module is supplied to the B input of adder 16. Therefore, adder
30
16 outputs data EijsinqRij + Ei + 1jsinqRi + 1j. In selector 25, since 8-bit delayed data CO is "1", the content
of FF 26 is held.
In the case of module i + 2, since C2 = 1 and C3 = 0, selector 8 selects output EijsinqRij +
Ei + 1jsinqRi + 1j from adder 16 as phase angle data. Phase angle data EijsinqRij + Ei + 1jsinqRi + 1j is input
to phase angle modifying circuit 10 at a timing delayed by 5 bits. However, since 5-bit delayed data C4, C5,
35
and C6 are "0", X' = X = EijsinqRij + Ei + 1jsinqRi + 1j is output, and sine wave memory 12 outputs data
sin(EijsinqRij + Ei + 1jsinqRi + 1j). In gate 20, since 6-bit delayed data C8 is "0", adder 21 outputs data
Ei + 2j, and multiplier 14 outputs data Ei + 2jsin(EijsinqRij + Ei + 1jsinqRi + 1j). In selector 23 and gate 24,
since 8-bit delayed data CO and C1 are respectively CO = "0" and C1 = "1 ", the output from FF 26 is
input to the B input of adder 16 through gate 27, and the output from adder 16 is fetched by FF 26 through
40
selector 25. As a result, the content of FF 26 becomes a value obtained by adding a current value to
Ei + 2jsin(EijsinqRij + Ei + 1jsinqRi + 1j). At this time, if the waveform produced in module i + 2 is given as
Y2,

Y2 = Ei + 2jsin(EijsinqRij + Ei + 1jsinqRi + 1j)


45
For the sake of simplicity, if Eij -* Ei, Ei + 1j -► Ei + 1, Ei + 2j -► Ei + 2, qRij -* coit, and qRi + 1j -* c»i + 1t, the
above equation is developed as follows:

50
Y2 = Ei+2sin(Eisinui it + Ei+lsiruo i+lt )
= Ei+2 I E Jm(Ei)Jn(Ei+l)sin(mu>it + nui+lt)
m n ... (2)

55
A large number of harmonic overtone strings can be generated in accordance with o>\, coi + 1, Ei, and Ei + 1.

Example 4 When sine wave in module i and sine wave in module i + 1 are multiplied

8
EP 0 235 538 B1

Table 4 shows combinations of control data used when waveform Y3 (Ei + 1j + EijsinqRij)sinqRi + 1j
is obtained.

Table 4

Module CO C1 C2 C3 C4 C5 C6 C7 C8
i 1 0 1 1 0 0 0 0 0
i+1 0 1 1 1 0 0 0 * 1
10
In the case of module i, since C2 = "1 " and C3 = "1 ", selector 8 selects original phase angle data
qRij. Phase angle data qRij is input to phase angle modifying circuit 10 at a timing delayed by 5 bits.
However, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = qRij is output, and sine wave memory
12 outputs data sinqRij. In gate 20, since 6-bit delayed data C8 is "0", adder 21 outputs data Eij, and
15
multiplier 14 outputs data EijsinqRij. In gate 24, since 8-bit delayed data C1 is "0", "0" is input to the B
input of adder 16, and adder 16 outputs data EijsinqRij. Since 8-bit delayed data C7 is "0", selector 17
causes output EijsinqRij to be fetched by 6-stage shift register 18. In selector 25, since 8-bit delayed data
CO is "1 ", the content of FF 26 is held.
In the case of module i + 1, since C2 = "1" and C3 = "1", selector 8 selects original phase angle data
20
qRi + 1j. Phase angle data qRi + 1j is input to phase angle modifying circuit 10 at a timing delayed by 5 bits.
However, since 5-bit delayed data C4, C5, and C6 are "0", X' = X = qRi + 1j is output, and sine wave
memory 12 outputs data sinqRi + 1j. In gate 20, since 6-bit delayed data C8 is "1", adder 21 outputs data
Ei + 1j + EijsinqRij. Therefore, multiplier 14 outputs data (Ei + 1j + EijsinqRij)sinqRi + 1j. In selector 23 and
gate 24, since 8-bit delayed data CO and C1 are respectively CO = "1 " and C1 = "1 ", the output from FF
25
26 is input to the B input of adder 16 through gate 27, and is added to (Ei + 1j + EijsinqRij)sinqRi + 1j.
Thereafter, the sum data is fetched by FF 26 through selector 25. At this time, if the waveform produced in
module i + 1 is given as Y3,

Y3 = (Ei + 1j + EijsinqRij)sinqRi + 1j
30
For the sake of simplicity, if Eij -► Ei, Ei + 1j -► Ei + 1, qRij -* coit, and qRi + 1j <ai + 1t,

Y3 = (Ei + 1 + E i s i n a ) i t ) s i n o j i + l t

35 = Ei + l s i n o i i + l t + Eisinui itsinui i + l t
= Ei + l s i n c o i + l t + E i / 2 { cos (<u i+1 - ui)t
- cos(uii+l + wi)t} ..(3)

40
Therefore, this represents a form of amplitude modulation, and a side wave is produced.
As described above, four ways of waveform generation have been described. In addition to these,
various waveforms can be produced by the same control as above, and they can still be combined to obtain
a large number of waveform variations. In the above description, control inputs C4, C5, and C6 to the phase
angle modifying circuit are "0". However, if they are set for each module, a calculation based on a
45
waveform other than the sine wave can be made. In this case, if sine wave sinwit in module i in equation (1)
is replaced with

N
E ansinnuit ,
50 n=l

N
Yl = Ei + l s i n ( E i E sinnoiit)
55 n=l

If sine wave sin(Eisinncoit) in module 1 +1 in equation (1) is replaced with

9
EP 0 235 538 B1

N
E ansinnwit,
n=l

5
N
Yl = Ei+1 E amsin (mEisinwit)
m=l
N
= Ei+1 E am E Jn (mEi) s i n u i t
70 m=l n

Therefore, the resultant waveform includes a large number of harmonic overtone components.
In the above embodiment, waveform variations can be produced by simple processing, such as
processing for selecting phase angle data to be input to the sine wave memory, processing for appro-
75 priately modifying the selected phase, and the like. If amplitude modulation is selectively added, further
waveform variation can be obtained.
The present invention is not limited to the above embodiment, and various changes and modifications
may be made. For example, in the above embodiment, multiplier 14 performs not only a multiplication of
produced waveforms (amplitude modulation) but also a multiplication of the produced waveform with
20 envelope data, i.e., application of the envelope, thus decreasing the number of circuit components.
However, if necessary, the application of the envelope can be executed by analog circuit means.
Alternatively, a special-purpose multiplier can be used for the envelope application. Similarly, in the
above embodiment, adder 16 is used not only for adding a waveform currently produced through sine wave
memory 12 and an accumulated waveform from FF 26 but also for adding a currently produced waveform
25 to a previously produced waveform from 2-stage shift register 19. Another adder can be used if necessary.
The above arrangement has a polyphonic arrangement. The present invention can also be applied to a
monophonic arrangement.
Although the apparatus of the present invention described above has a simple arrangement in that a
waveform generator operated in a time-divisional manner selects data used for next waveform generation
30 from preceding waveforms in the same sampling period, various waveforms can be produced.
The waveform generator for an electronic musical instrument using phase angle modifying circuit 10
shown in Fig. 5 can also be arranged as shown in Fig. 10.
More specifically, keyboard 201 comprises switches for detecting ON/OFF operations of keys which are
arranged in a matrix. Keyboard 201 is monitored by the scanning operation of key assigner 202. If a new
35 key-on operation is detected, key assigner 202 generates key code KC and attack start signal A
corresponding to the depressed key. In response to attack start signal A, envelope generator 203 begins to
generate predetermined envelope waveform E. On the other hand, phase angle generator 204 generates a
frequency data corresponding to key code KC supplied from assigner 202, and accumulates it to generate
phase angle data X which changes at a constant rate. Phase angle modifying circuit 10 has the same
40 arrangement as in Fig. 5, and modifies the value of phase angle data based on control data k from data
setting circuit 206, thereby producing modified phase angle data X'. Modified phase angle data X' serves as
a final address signal for sine wave memory 207 so as to cause it to produce corresponding sine waveform
sinX'. Sine waveform is multiplied with envelope E by multiplier 208 to obtain musical tone waveform
EsinX'. Sound system 209 D/A converts musical tone waveform EsinX' as digital data, and amplifies it to
45 generate a sound.
Thereafter, when the depressed key is released, key assigner 202 generates decay start signal D to set
the envelope in a released state. Upon completion of the released state, envelope generator 203 generates
envelope end signal EF, and key assigner 202 is set in a tone generation end state.
According to the embodiment shown in Fig. 10, tone colors unique to rubbed string instruments can be
50 easily generated. When value k of control data is changed over time, a musical tone whose tone color
delicately changes can be produced. If a plurality of musical tone generators of this embodiment are
provided and are driven while their frequencies and the degrees of phase modifying are set to be slightly
different from each other (a time-divisional technique is also available), deep rich sounds can be produced.
The present invention is not limited to the embodiment shown in Fig. 10, and various other changes and
55 modifications may be made. For example, in the above embodiment, the sine wave for one period stored in
a waveform memory is accessed. However, the above-mentioned waveform can be produced from the sine
wave for a half or quarter of the period by a simple modification. In the circuit shown in Fig. 5, two different
coefficients are used. However, more coefficients can be switched to produce modified phase angle data. In

10
EP 0 235 538 B1

the above embodiment, the switching operation of the coefficients is performed at a position at which the
modified phase angle data indicates the maximum or minimum value of the waveform. However, the
coefficients can be switched at other positions.
According to the present invention, control data is used as bit-shift signals in different directions to
5 select a bit-shift direction adopted as an output or to change an inclination characteristic of modified phase
angle data, resulting in a simple arrangement. In addition, a waveform whose spectrum gradually changes
can be produced.

Claims
10
1. A waveform generator for an electronic musical instrument, comprising:
waveform generating means (9 to 16) for generating a plurality of digital musical tone, waveform
signals on a time divisional basis for a a unit sampling period, said unit sampling period being divided
into a plurality of module periods; and
is supplying means (17 to 19, 23 to 27) coupled to said waveform generating means (9 to 16) for
supplying said waveform generating means (9 to 16) with one or more of the digital musical tone
waveform signals already generated in preceding module periods in the same sampling period as data
for a digital musical tone waveform signal to be generated in a next module period;
in which
20 said waveform generating means (9 to 16) further includes:
various waveform signal generating means (10, 12) for generating the digital musical tone waveform
signals having various wave shapes, the wave shapes of which are selected by an input signal (C4, C5,
C6);
and that said waveform generating means (9 to 16) further includes:
25 address signal generating means (4) for generating a normal address signal as an address signal of
said various waveform signal generating means (10, 12) which changes at a substantially uniform rate
corresponding to a selected frequency: and
further means (8) for supplying one or more of the digital musical tone waveform signals delivered
from said supplying means (17 to 19, 23 to 27) as an address signal of said various waveform signal
30 generating means (10, 12).

2. The waveform generator according to claim 1, characterized in that said various waveform signal
generating means (10, 12) includes waveform memory means (12) for storing a sine waveform signal.

35 3. The waveform generator according to claim 1, characterized in that said waveform generating means (9
to 16) further includes multiplying means (14) for multiplying the digital musical tone waveform signals
generated in the preceding module periods of the same sampling period or the sum of the digital
musical tone waveform signals with a digital musical tone waveform signal generated in a current
module period.
40
4. The waveform generator according to claim 1, characterized in that said waveform generator means (9
to 16) further includes multiplying means for multiplying envelope data with the digital musical tone
waveform signal.

45 5. The waveform generator according to claim 1, characterized in that said further supplying means (8)
includes data inputs, and wherein said waveform generating means (9 to 16) further includes:
temporary storage means (17 to 19) for storing a digital music tone waveform signal of one module
period obtained through said various waveform signal generating means (10, 12) for delaying said
waveform signal by a time corresponding to a selected number in units of module periods; and
50 linking means for linking the output from said temporary storage means (17 to 19) to one of said
data inputs of said further supplying means (8).

6. The waveform generator according to claim 1, characterized in that


said various waveform signal generating means (10, 12) includes waveform memory means (12) for
55 storing a sine waveform signal;
said further supplying means (8) includes data inputs; and
said waveform generating means (9 to 16) further includes:
adding means (16) for adding a waveform signal output from said waveform memory means (12)

11
EP 0 235 538 B1

and a waveform signal previously output therefrom; and


linking means for linking the output from said adding means (16) to one of said data inputs of said
means (8).

5 7. The waveform generator according to claim 1, characterized in that said various waveform signal
generating means (10, 12) includes waveform memory means (12) for storing a predetermined
waveform, and controllable modifying means (10) coupled to said waveform memory means (12) for
changing an input signal to form a modified signal, the amplitude changing rate of the modified signal
being different from that of the input signal, and that said means (8) supplies the digital musical tone
io waveform signal or the sum of the waveform signals as said input signal to said controllable modifying
means (10), and said modified signal produced by said controllable modifying means (10) is supplied to
said waveform memory means (12) as an address signal.

8. The waveform generator according to claim 7, characterized in that said waveform memory means (12)
is stores a sine waveform signal which is addressed by modified signal obtained from said controllable
modifying means (10).

9. A waveform generator for an electronic musical instrument, comprising:


phase angle generating means (4, 204) for generating phase angle data which changes at a
20 preselected frequency;
data setting means (5, 206) for generating control data (k) designating a level of modifying said
phase angle data generated by said phase angle generating means (4, 204);
phase angle modifying means (10) for modifying said phase angle data, the level of the modifying
being determined by said control data (k), and for outputting modified phase angle data, said phase
25 angle modifying means (10) including;
shift means (112', 115) for bit-shifting said phase angle data in different directions, the level of bit-
shifting being determined by said contorl data (k); and
bit-shifting direction selecting means (117) for switching the direction of bit-shifting to define an
inclination of the modified phase angle data as the output from said phase modifying means (10) at a
30 timing during one cycle of the waveform; and
waveform memory means (12', 207) whose address is designated by the output from said phase
angle modifying means (10);
wherein said waveform memory means (12, 207) stores at least one of a sine wave and a cosine
wave, and the control data (k) controls said phase angle modifying means (10) such that an inclination
35 of the modified phase angle data with respect ot the phase angle data is switched at least twice during
one cycle of the waveform, thereby determining a time elapsing from an origin (0) to a peak value (N/4,
3N/4), when at least one of the sine wave and the cosine wave is read out from said waveform memory
means.

40 10. A generator according to claim 9, characterized in that


said phase angle modifying means (10) includes first and second inverting means (111, 114) for
switching, in accordance with an inverted most significant bit (XMsb) and the most significant bit (XMsb)
itself, inversion or non-inversion of remaining bits excluding said most significant bit;
said shift means (112, 115) includes first and second bit shifting means (112, 115) for receiving
45 outputs from said first and second inverting means (111, 114) and said control data (k), for bit-shifting
said outputs in opposite directions by an amount in accordance with a value of said control data (k);
said phase angle modifying means (10) further includes first adding means (113) for adding the
output from said first inverting means (111) and the output from said first bit-shifting means (112),
second adding means (116) for adding the output from said second inverting means (114) and the
50 output from said second bit-shifting means (115), selecting means (117) for selectively switching an
output from said first adding means (113) and an output from said second adding means (116) during
one cycle of the waveform; and further comprising means (118) for obtaining said modified phase angle
data in accordance with an output from said selecting means (117).

55 11. A method of generating a waveform for an electronic musical instrument, comprising:


generating, in a waveform generating means (9 to 16), a plurality of digital musical tone waveform
signals on a time divisional basis basis for a unit sampling period, said unit sampling period being
divided into a plurality of module periods;

12
EP 0 235 538 B1

generating a normal address signal (qRij) which changes at a substantially uniform rate correspond-
ing to a selected frequency;
characterized by further comprising:
supplying said waveform generating means (9 to 16) with the digital musical tone waveform signal
5 or a sum of the digital musical tone waveform signals already generated in preceding module periods
in the same sampling period as address data for a digital musical tone waveform signal to be generated
in a next module period; and
generating various digital musical tone waveform signals responsive to a selection input signal
which designates various waveshapes of said digital musical tone waveform signals, and said digital
io musical tone waveform signals having various waveshapes being generated based on said signal
selectively supplied to said waveform generating means (9 to 16).

12. A method of generating a waveform for an electronic musical instrument, comprising the steps of:
generating phase angle data which changes at a preselected frequency;
is generating control data (k) designating a level of modifying said phase angle data;
modifying said phase angle data, the level of the modifying being determined by said control data
(k) to output modified phase angle data; and
designating an address of waveform memory means (12, 207) by said modified phase angle data;
wherein said phase angle data modifying step includes;
20 bit-shifting said phase angle data in defferent directions, the level of bit-shifting being determined
by said control data (k); and
switching the direction of bit-shifting to define an inclination of the modified phase angle data as the
output from phase angle modifying means (10) at a timing during one cycle of the waveform;
characterized by storing at least one of a sine wave and a cosine wave in said waveform memory
25 means (12, 207); and
by controlling by said control data (k) said phase angle modifying means (10) such that an
inclination of the modified phase angle data with respect to the phase data is switched at least twice
during one cycle of the waveform, thereby determining a time elapsing from an origin (0) to a peak
value (N/4, 3N/4), when at least one of the sine wave and the cosine wave is read out from said
30 waveform memory means (12, 207).

Revendicatlons

1. Generateur de forme d'onde pour un instrument de musique electronique, comprenant :


35 un moyen de generation de forme d'onde (9 a 16) pour generer une pluralite de signaux
numeriques de forme d'onde de tonalite musicale sur une base de division temporelle pour une
periode d'echantillonnage unitaire, ladite periode d'echantillonnage unitaire etant divisee en une
pluralite de periodes modulaires ; et
un moyen d'alimentation (17 a 19, 23 a 27) couple audit moyen de generation de forme d'onde (9
40 a 16) pour alimenter ledit moyen de generation de forme d'onde (9 a 16) avec un ou plusieurs des
signaux numeriques de forme d'onde de tonalite musicale deja generes lors de periodes modulaires
precedentes de la meme periode d'echantillonnage en tant que donnees pour un signal numerique de
forme d'onde de tonalite musicale qui doit etre genere lors d'une periode modulaire suivante ;
dans lequel :
45 ledit moyen de generation de forme d'onde (9 a 16) comporte en outre :
divers moyens de generation de signal de forme d'onde (10, 12) pour generer les signaux
numeriques de forme d'onde de tonalite musicale presentant diverses formes d'ondes, les formes
d'ondes de ces signaux etant selectionnees au moyen d'un signal d'entree (C4, C5, C6) ;
et ledit moyen de generation de forme d'onde (9 a 16) comporte en outre :
50 un moyen de generation de signal d'adresse (4) pour generer un signal d'adresse normal en tant
que signal d'adresse desdits divers moyens de generation de signal de forme d'onde (10, 12), ce
signal d'adresse variant a une vitesse sensiblement uniforme qui correspond a une frequence
selectionnee ; et
un autre moyen (8) pour appliquer un ou plusieurs des signaux numeriques de forme d'onde de
55 tonalite musicale delivres par ledit moyen d'application (17 a 19, 23 a 27) en tant que signal d'adresse
desdits divers moyens de generation de signal de forme d'onde (10, 12).

2. Generateur de forme d'onde selon la revendication 1, caracterise en ce que lesdits divers moyens de

13
EP 0 235 538 B1

generation de signal de forme d'onde (10, 12) comportent un moyen de memoire de forme d'onde (12)
pour stacker un signal de forme d'onde sinuso'fdale.

3. Generateur de forme d'onde selon la revendication 1, caracterise en ce que ledit moyen de generation
5 de forme d'onde (9 a 16) comporte en outre un moyen multiplicateur (14) pour multiplier les signaux
numeriques de forme d'onde de tonalite musicale generes lors des periodes modulaires precedentes
de la meme periode d'echantillonnage ou la somme des signaux numeriques de forme d'onde de
tonalite musicale par un signal numerique de forme d'onde de tonalite musicale genere lors d'une
periode modulaire courante.
10
4. Generateur de forme d'onde selon la revendication 1, caracterise en ce que ledit moyen de generateur
de forme d'onde (9 a 16) comporte en outre un moyen multiplicateur pour multiplier des donnees
d'enveloppe par le signal numerique de forme d'onde de tonalite musicale.

is 5. Generateur de forme d'onde selon la revendication 1, caracterise en ce que ledit autre moyen
d'application (8) comporte des entrees de donnees et dans lequel ledit moyen de generation de forme
d'onde (9 a 16) comporte en outre :
un moyen de stockage temporaire (17 a 19) pour stacker un signal numerique de forme d'onde de
tonalite musicale d'une periode modulaire obtenu au travers desdits divers moyens de generation de
20 signal de forme d'onde (10, 12) pour retarder ledit signal de forme d'onde d'une periode qui
correspond a un nombre selectionne de periodes modulaires unitaires ; et
un moyen d'etablissement de lien pour etablir un lien entre la sortie qui provient dudit moyen de
stockage temporaire (17 a 19) et I'une desdites entrees de donnees dudit autre moyen d'application
(8).
25
6. Generateur de forme d'onde selon la revendication 1, caracterise en ce que :
lesdits divers moyens de generation de signal de forme d'onde (10, 12) comportent un moyen de
memoire de forme d'onde (12) pour stacker un signal de forme d'onde sinuso'fdale ;
ledit autre moyen d'application (8) comporte des entrees de donnees ; et
30 ledit moyen de generation de forme d'onde (9 a 16) comporte en outre :
un moyen additionneur (16) pour additionner une sortie de signal de forme d'onde qui provient
dudit moyen de memoire de forme d'onde (12) et un signal de forme d'onde qui en est precedemment
sorti ; et
un moyen d'etablissement de lien pour etablir un lien entre la sortie qui provient dudit moyen
35 additionneur (16) et I'une desdites entrees de donnees dudit moyen (8).

7. Generateur de forme d'onde selon la revendication 1, caracterise en ce que lesdits divers moyens de
generation de signal de forme d'onde (10, 12) comportent un moyen de memoire de forme d'onde (12)
pour stacker une forme d'onde predetermined et un moyen de modification commandable (10) couple
40 audit moyen de memoire de forme d'onde (12) pour modifier un signal d'entree afin de former un
signal modifie, le taux de variation d'amplitude du signal modifie etant different de celui du signal
d'entree, et en ce que ledit moyen (8) applique le signal numerique de forme d'onde de tonalite
musicale ou la somme des signaux de forme d'onde en tant que dit signal d'entree audit moyen de
modification commandable (10) et ledit signal modifie produit par ledit moyen de modification
45 commandable (10) est applique audit moyen de memoire de forme d'onde (12) en tant que signal
d'adresse.

8. Generateur de forme d'onde selon la revendication 7, caracterise en ce que ledit moyen de memoire
de forme d'onde (12) stocke un signal de forme d'onde sinuso'fdale qui est adresse par un signal
50 modifie obtenu a partir dudit moyen de modification commandable (10).

9. Generateur de forme d'onde pour un instrument de musique electronique, comprenant :


un moyen de generation de dephasage (4, 204) pour generer des donnees de dephasage qui
varient selon une frequence preselectionnee ;
55 un moyen d'etablissement de donnees (5, 206) pour generer des donnees de commandes (k) qui
indiquent un niveau de modification desdites donnees de dephasage generees par ledit moyen de
generation de dephasage (4, 204) ;
un moyen de modification de dephasage (10) pour modifier lesdites donnees de dephasage, le

14
EP 0 235 538 B1

niveau de la modification etant determine par lesdites donnees de commandes (k), et pour emettre en
sortie des donnees de dephasage modifiees, ledit moyen de modification de dephasage (10) compor-
tant :
un moyen de decalage (112, 115) pour decaler de maniere binaire lesdites donnees de dephasage
5 suivant differentes directions, le niveau du decalage binaire etant determine par lesdites donnees de
commande ( k) ; et
un moyen de selection de direction de decalage binaire (117) pour commuter la direction de
decalage binaire afin de definir une inclinaison des donnees de dephasage modifiees en tant que sortie
qui provient dudit moyen de modification de dephasage (10) selon un certain cadencement lors d'un
io cycle de la forme d'onde ; et
un moyen de memoire de forme d'onde (12, 207) dont I'adresse est indiquee par la sortie qui
provient dudit moyen de modification de dephasage (10) ;
dans lequel ledit moyen de memoire de forme d'onde (12, 207) stocke au moins I'une des ondes
prises parmi une onde sinuso'fdale et une onde cosinuso'fdale, et les donnees de commande (k)
is commandent ledit moyen de modification de dephasage (10) de telle sorte qu'une inclinaison des
donnees de dephasage modifiees par rapport aux donnees de dephasage soit commutee au moins
deux fois lors d'un cycle de la forme d'onde pour ainsi determiner un temps passe depuis une origine
(0) jusqu'a une valeur de pic (N/4, 3N/4), lorsqu'au moins I'une des ondes prises parmi I'onde
sinuso'fdale et I'onde cosinuso'fdale est extraite dudit moyen de memoire de forme d'onde (12, 207).
20
10. Generateur selon la revendication 9, caracterise en ce que :
ledit moyen de modification de dephasage (10) comporte des premier et second moyens d'inver-
seur (111, 114) pour commuter, en relation avec un bit de poids fort inverse (XMsb) et le bit de poids
fort lui-meme (XMsb), une inversion ou une non inversion des bits restants a I'exclusion dudit bit de
25 poids fort ;
ledit moyen de decalage (112, 115) inclut des premier et second moyens de decalage binaire (112,
115) pour recevoir des sorties qui proviennent desdits premier et second moyens d'inverseur (111,
114) et lesdites donnees de commande (k) pour decaler de maniere binaire lesdites sorties suivant des
directions opposees d'une valeur en relation avec une valeur desdites donnees de commande (k) ;
30 ledit moyen de modification de dephasage (10) comporte en outre un premier moyen d'addition
(113) pour additionner la sortie qui provient dudit premier moyen d'inverseur (111) et la sortie qui
provient dudit premier moyen de decalage binaire (112), un second moyen d'addition (116) pour
additionner la sortie qui provient dudit second moyen d'inverseur (114) et la sortie qui provient dudit
second moyen de decalage binaire (115), un moyen de selection (117) pour commuter de maniere
35 selective une sortie qui provient dudit premier moyen d'addition (113) et une sortie qui provient dudit
second moyen d'addition (116) lors d'un cycle de la forme d'onde ; et comprenant en outre un moyen
(118) pour obtenir lesdites donnees dephasees modifiees en relation avec une sortie qui provient dudit
moyen de selection (117).

40 11. Procede de generation d'une forme d'onde pour un instrument de musique electronique, comprenant :
la generation, dans un moyen de generation de forme d'onde (9 a 16), d'une pluralite de signaux
numeriques de forme d'onde de tonalite musicale sur une base de division temporelle pour une
periode d'echantillonnage unitaire, ladite periode d'echantillonnage unitaire etant divisee en une
pluralite de periodes modulaires ;
45 la generation d'un signal d'adresse normal (qRij) qui varie selon un taux sensiblement uniforme
correspondant a une frequence selectionnee ;
caracterise en ce qu'il comprend en outre :
I'application auxdits moyens de generation de forme d'onde (9 a 16) du signal numerique de forme
d'onde de tonalite musicale ou d'une somme de signaux numeriques de forme d'onde de tonalite
50 musicale deja generes lors de periodes modulaires precedentes de la meme periode d'echantillonnage
en tant que donnees d'adresse pour un signal numerique de forme d'onde de tonalite musicale qui doit
etre genere lors d'une periode modulaire suivante ; et
la generation de divers signaux numeriques de forme d'onde de tonalite musicale sensibles a un
signal d'entree de selection qui indique diverses formes d'ondes desdits signaux numeriques de forme
55 d'onde de tonalite musicale, et lesdits signaux numeriques de forme d'onde de tonalite musicale qui
presentent diverses formes d'ondes etant generes sur la base dudit signal applique de maniere
selective auxdits moyens de generation de forme d'onde (9 a 16).

15
EP 0 235 538 B1

12. Precede de generation d'une forme d'onde pour un instrument de musique electronique, comprenant
les etapes de :
la generation de donnees de dephasage qui varient selon une frequence preselectionnee ;
la generation de donnees de commande (k) qui indiquent un niveau de variation desdites donnees
5 de dephasage ;
la modification desdites donnees de dephasage, le niveau de la modification etant determine par
lesdites donnees de commande (k) afin d'emettre en sortie des donnees de dephasage modifiees ; et
I'indication d'une adresse d'un moyen de memoire de forme d'onde (12, 207) par lesdites donnees
de dephasage modifiees ;
io dans lequel ladite etape de modification de dephasage comporte :
le decalage binaire desdites donnees de dephasage suivant differentes directions, le niveau du
decalage binaire etant determine par lesdites donnees de commande (k) ; et
la commutation de la direction du decalage binaire afin de definir une inclinaison des donnees de
dephasage modifiees en tant sortie qui provient du moyen de modification de dephasage (10) selon un
is certain cadencement lors d'un cycle de la forme d'onde ;
caracterise par le stockage d'au moins I'une des ondes prises parmi une onde sinuso'fdale et une
onde cosinuso'fdale dans ledit moyen de memoire de forme d'onde (12, 207) ; et
en commandant au moyen desdites donnees de commande (k) ledit moyen de modification de
dephasage (10) de telle sorte qu'une inclinaison des donnees de dephasage modifiees par rapport aux
20 donnees en phase soit commutee au moins deux fois lors d'un cycle de la forme d'onde pour ainsi
determiner un temps passe depuis une origine (0) jusqu'a une valeur de pic (N/4, 3N/4) lorsqu'au
moins I'une des ondes prises parmi I'onde sinuso'fdale et I'onde cosinuso'fdale est extraite dudit moyen
de memoire de forme d'onde (12, 207).

25 Patentanspruche

1. Wellenformgenerator fur ein elektronisches Musikinstrument, welcher aufweist:

eine Wellenformerzeugungsvorrichtung (9 bis 16) zum Erzeugen einer Vielzahl von digitalen Musikton-
30 wellenformsignalen auf der Grundlage einer Zeitteilung fur eine Einheitsabtastperiode, wobei die
Einheitsabtastperiode in eine Vielzahl von Modulperioden unterteilt ist; und

eine mit der Wellenformerzeugungsvorrichtung (9 bis 16) verbundene Versorgungsvorrichtung (17 bis
19, 23 bis 27) zum Versorgen der Wellenformerzeugungsvorrichtung (9 bis 16) mit einem oder
35 mehreren der digitalen Musiktonwellenformsignale, welche bereits in vorhergehenden Modulperioden
derselben Abtastperiode erzeugt wurden, als Daten fur ein digitales Musiktonwellenformsignal, welches
in einer nachsten Modulperiode erzeugt werden soil;

wobei die Wellenformerzeugungsvorrichtung (9 bis 16) weiterhin aufweist:


40
Wellenformsignalerzeugungsvorrichtungen (10, 12) zum Erzeugen der digitalen Musiktonwellenformsi-
gnale mit verschiedenen Wellenformen, wobei die Wellenformen durch ein Ausgangssignal (C4, C5,
C6) ausgewahlt sind;

45 und die Wellenformerzeugungsvorrichtung (9 bis 16) weiterhin aufweist:

eine Adre/Ssignalerzeugungsvorrichtung (4) zum Erzeugen eines normalen Adre/Ssignals als ein Adre/Ssi-
gnal der verschiedenen Wellenformsignalerzeugungsvorrichtungen (10, 12), das sich bei einer im
wesentlichen gleichformigen Rate entsprechend einer ausgewahlten Frequenz andert; und
50
eine weitere Vorrichtung (8) zum Liefern von einem oder mehreren der digitalen Musiktonwellenformsi-
gnale, die von der Versorgungsvorrichtung (17 bis 19, 23 bis 27) geliefert sind, als ein Adre/Ssignal der
verschiedenen Wellenformsignalerzeugungsvorrichtungen (10, 12).

55 2. Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S die verschiedenen Wellenformsi-


gnalerzeugungsvorrichtungen (10, 12) eine Wellenformspeichervorrichtung (12) zum Speichern eines
Sinus-Wellenformsignals aufweisen.

16
EP 0 235 538 B1

Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S die Wellenformerzeugungsvor-


richtung (9 bis 16) weiterhin eine Multipliziervorrichtung (14) zum Multiplizieren der digitalen Musikton-
wellenformsignale, die in den vorhergehenden Modulperioden derselben Abtastperiode erzeugt sind,
oder der Summe der digitalen Musiktonwellenformsignale, mit einem in einer laufenden Modulperiode
erzeugten digitalen Musiktonwellenformsignal.

Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S die Wellenformerzeugungsvor-


richtung (9 bis 16) weiterhin eine Multipliziervorrichtung zum Multiplizieren von Hullwerten mit dem
digitalen Musiktonwellenformsignal aufweist.

Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S die weitere Versorgungsvorrich-


tung (8) Dateneingange aufweist, und die Wellenformerzeugungsvorrichtung (9 bis 16) weiterhin
aufweist:

eine zeitweise Speichervorrichtung (17 bis 19) zum Speichern eines digitalen Musiktonwellenformsi-
gnals einer einzelnen Modulperiode, welches uber die verschiedenen Wellenformsignalerzeugungsvor-
richtungen (10, 12) erhalten ist, zum Verzogern des Wellenformsignals urn eine Zeit entsprechend einer
ausgewahlten Anzahl in Einheiten der Modulperioden; und

eine Verbindungsvorrichtung zum Verbinden des Ausganges der zeitweisen Speichervorrichtung (17 bis
19) mit einem der Dateneingange der weiteren Versorgungsvorrichtung (8).

Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S

die verschiedenen Wellenformsignalerzeugungsvorrichtungen (10, 12) eine Wellenformspeichervorrich-


tung (12) zum Speichern eines Sinus-Wellenformsignals aufweisen;

die weitere Versorgungsvorrichtung (8) Dateneingange aufweist; und

die Wellenformerzeugungsvorrichtung (9 bis 16) weiterhin aufweist:

eine Addiervorrichtung (16) zum Addieren eines von der Wellenformspeichervorrichtung (12) ausgege-
benen Wellenformsignales und eines vorher hiervon ausgegebenen Wellenformsignals; und

eine Verbindungsvorrichtung zum Verbinden des Ausganges der Addiervorrichtung (16) mit einem der
Dateneingange der Vorrichtung (8).

Wellenformgenerator nach Anspruch 1, dadurch gekennzeichnet, da/S die verschiedenen Wellenformsi-


gnalerzeugungsvorrichtungen (10, 12) eine Wellenformspeichervorrichtung (12) aufweisen zum Spei-
chern einer vorbestimmten Wellenform, und eine mit der Wellenformspeichervorrichtung (12) verbunde-
ne steuerbare Modifiziervorrichtung (10) zum Andern eines Eingangssignals zur Ausbildung eines
modifizierten Signals, wobei die Amplitudenanderungsrate des modifizierten Signals unterschiedlich ist
zu derjenigen des Eingangssignals, und da/S die Vorrichtung (8) das digitale Musiktonwellenformsignal
oder die Summe der Wellenformsignale als das Eingangssignal an die steuerbare Modifiziervorrichtung
(10) liefert, und das durch die steuerbare Modifiziervorrichtung (10) erzeugte Modifiziersignal an die
Wellenformspeichervorrichtung (12) als ein Adre/Ssignal geliefert ist.

Wellenformgenerator nach Anspruch 7, dadurch gekennzeichnet, da/S die Wellenformspeichervorrich-


tung (12) ein Sinus-Wellenformsignal speichert, welches adressiert ist durch das modifizierte Signal,
das durch die steuerbare Modifiziervorrichtung (10) erhalten ist.

Wellenformgenerator fur ein elektronisches Musikinstrument, welcher aufweist:

eine Phasenwinkelerzeugungsvorrichtung (4, 204) zum Erzeugen eines Phasenwinkeldatums, das sich
bei einer vorbestimmten Frequenz andert;

eine Datensetzvorrichtung (5, 206) zum Erzeugen eines Steuerdatums (k), welches einen Pegel der
Modifizierung des durch die Phasenwinkelerzeugungsvorrichtung (4, 204) erzeugten Phasenwinkelda-

17
EP 0 235 538 B1

turns bestimmt;

eine Phasenwinkelmodifiziervorrichtung (10) zum Modifizieren des Phasenwinkeldatums, wobei der


Pegel des Modifizierens durch das Steuerdatum (k) bestimmt ist, und zum Ausgeben der modifizierten
5 Phasenwinkeldatums, wobei die Phasenwinkelmodifiziervorrichtung (10) aufweist:

eine Verschiebevorrichtung (112, 115) zum Bit-Verschieben des Phasenwinkeldatums in verschiedene


Richtungen, wobei der Pegel des Bit-Verschiebens durch das Steuerdatum (k) bestimmt ist; und

io eine Bit-Verschiebungs-Richtungsauswahlvorrichtung (117) zum Schalten der Richtung des Bit-Ver-


schiebens zur Definition einer Inklination des modifizierten Phasenwinkeldatums als der Ausgang von
der Phasenmodifiziervorrichtung (10) bei einem Zeitablauf wahrend eines Zyklus der Wellenform; und

eine Wellenformspeichervorrichtung (12, 207), deren Adresse durch den Ausgang von der Phasenwin-
15 kelmodifiziervorrichtung (10) bestimmt ist;

wobei die Wellenformspeichervorrichtung (12, 207) zumindest eine von einer Sinuswelle und einer
Cosinuswelle speichert, und das Steuerdatum (k) die Phasenwinkelmodifiziervorrichtung (10) derart
steuert, da/S eine Inklination des modifizierten Phasenwinkeldatums bezuglich des Phasenwinkeldatums
20 zumindest zweimal wahrend eines Zyklus der Wellenform geschalten ist, wodurch eine Zeit bestimmt
ist, welche von einem Ursprung (0) bis zu einem Spitzenwert (N/4, 3N/4) verstreicht, wenn zumindest
eine von der Sinuswelle und der Cosinuswelle aus der Wellenformspeichervorrichtung (12, 207)
ausgelesen ist.

25 10. Generator nach Anspruch 9, dadurch gekennzeichnet, da/S

die Phasenwinkelmodifiziervorrichtung (10) eine erste und eine zweite Invertiervorrichtung (111, 114)
aufweist zum Schalten entsprechend eines invertierten meistsignifikanten Bits (XMsb) und des meistsi-
gnifikanten Bits (XMsb) selbst der Inversion oder Nichtinversion der verbleibenden Bits mit Ausnahme
30 des meistsignifikanten Bits;

die Verschiebevorrichtung (112, 115) eine erste und eine zweite Bitverschiebevorrichtung (112, 115)
zum Empfangen der Ausgange von der ersten und der zweiten Invertiervorrichtung (111, 114) und des
Steuerdatums (k) aufweist, zum Bit-Verschieben der Ausgange in entgegengesetzte Richtungen urn
35 einen Betrag entsprechend einem Wert des Steuerdatums (k);

die Phasenwinkelmodifiziervorrichtung (10) weiterhin eine erste Addiervorrichtung (113) zum Addieren
des Ausganges von der ersten Invertiervorrichtung (111) und des Ausganges von der ersten Bit-
verschiebevorrichtung (112), eine zweite Addiervorrichtung (116) zum Addieren des Ausganges von der
40 zweiten Invertiervorrichtung (114) und des Ausganges von der zweiten Bit-Verschiebevorrichtung (115),
eine Auswahlvorrichtung (117) zum selektiven Schalten eines Ausganges von der ersten Addiervorrich-
tung (113) und eines Ausganges von der zweiten Addiervorrichtung (116) wahrend eines Zyklus der
Wellenform aufweist; und weiterhin eine Vorrichtung (118) zum Erhalten des modifizierten Phasenwin-
keldatums entsprechend einem Ausgang von der Auswahlvorrichtung (117) aufweist.
45
11. Verfahren zum Erzeugen einer Wellenform fur ein elektronisches Musikinstrument, welches aufweist:

Erzeugen in einer Wellenformerzeugungsvorrichtung (9 bis 16) einer Vielzahl von digitalen Musiktonwel-
lenformsignalen auf der Grundlage einer Zeitunterteilung fur eine Einheitsabtastperiode, wobei die
50 Einheitsabtastperiode in eine Vielzahl von Modulperioden unterteilt ist;

Erzeugen eines normalen Adre/Ssignals (qRij), welches sich bei einer im wesentlichen gleichformigen
Rate entsprechend einer ausgewahlten Frequenz andert;

55 dadurch gekennzeichnet, da/S das Verfahren weiterhin aufweist:

Versorgen der Wellenformerzeugungsvorrichtung (9 bis 16) mit dem digitalen Musiktonwellenformsignal


oder einer Summe der digitalen Musiktonwellenformsignale, die bereits in vorhergehenden Modulperio-

18
EP 0 235 538 B1

den in derselben Abtastperiode erzeugt sind, als Adre/Sdaten fur ein digitales Musiktonwellenformsignal,
das bei einer nachsten Modulperiode erzeugt ist; und

Erzeugen von verschiedenen digitalen Musiktonwellenformsignalen reagierend auf ein Auswahlein-


gangssignal, welches verschiedene Wellenformen der digitalen Musiktonwellenformsignale bestimmt,
und wobei die digitalen Musiktonwellenformsignale mit verschiedenen Wellenformen auf der Grundlage
des selektiv an die Wellenformerzeugungsvorrichtung (9 bis 16) gelieferten Signales erzeugt sind.

12. Verfahren zum Erzeugen einer Wellenform fur ein elektronisches Musikinstrument, welches die Schritte
aufweist:

Erzeugen eines Phasenwinkeldatums, das sich bei einer vorbestimmten Frequenz andern;

Erzeugen eines Steuerdatums (k), welches einen Pegel des Modifizierens des Phasenwinkeldatums
bestimmt;

Modifizieren des Phasenwinkeldatums, wobei der Pegel der Modifizierung durch das Steuerdatum (k)
bestimmt ist, zum Ausgeben eines modifizierten Phasenwinkeldatums; und

Bestimmen einer Adresse der Wellenformspeichervorrichtung (12, 207) durch das modifizierte Phasen-
winkeldatum;

wobei der Schritt des Modifizierens des Phasenwinkeldatums aufweist:

Bit-Verschieben des Phasenwinkeldatums in verschiedene Richtungen, wobei der Pegel der Bit-
Verschiebung durch das Steuerdatum (k) bestimmt wird; und

Schalten der Richtung des Bit-Verschiebens zur Definierung einer Inklination des modifizierten Phasen-
winkeldatums als der Ausgang von der Phasenwinkelmodifiziervorrichtung (10) bei einem Zeitablauf
wahrend eines Zyklus der Wellenform;

gekennzeichnet durch

Speichern von zumindest einer von einer Sinuswelle und einer Cosinuswelle in die Wellenformspeicher-
vorrichtung (12, 207); und

Steuern durch das Steuerdatum (k) der Phasenwinkelmodifiziervorrichtung (10) derart, da/S eine Inklina-
tion des modifizierten Phasenwinkeldatums bezuglich des Phasendatums zumindest zweimal wahrend
eines Zyklus der Wellenform geschalten wird, wodurch eine Zeit bestimmt wird, die von einem
Ursprung (0) bis zu einem Spitzenwert (N/4, 3N/4) verstreicht, wenn zumindest eine der Sinuswelle und
der Cosinuswelle aus der Wellenformspeichervorrichtung (12, 207) ausgelesen wird.

19
=P 0 235 538 B1

F I G . \

0L_
a
SOUND
0J_ WAVEFORM
CONTROLLER SYSTEM
02_ GENERATOR
:o~c8

3Rij

ORIGINAL
PHASE ENVELOPE
ANGLE GENERATOR
GENERATOR
T>

KCJ

AJ

KEY EL
KEYBOARD
ASSIGNER
EFIJ
3

f i g . ;

SAMPLING TIME

MODULE 0 MODULE I MODULE 2 MODULE 3

0 I 2 3 4l5 6 7 0 I 2 34 5 6 7 0 \ 2 3 4 5 6l7 0 \ \2 3 i 4 ! 5 l 6 7
i i > > i > i i i i i i i i i i i | i j | i
i i i i i i i i i i i i i

20
I
<

J
i i
—I
i
— I
or
n LU
I i h-
(f)
e? LUU
UJ
rv J f/-> a

CM
L i
ii J-
: i

313SI
D
3V
EP 0 235 538 B1

F I G . 4 A

N/2 N

F I G . 4 B F I G . 4 C
N/2 N/2

N/2 N
X

F I G . 4 D F I G . 4 E
N/2 N/2

X2 N / 4 H

0 M N-MN

0 M N/2 N-M N
X

F I G. 4 G
.

0 M N/2 N-M N

22
F I G

xmsi

.4

X2
i r ^z> n
s i LUO
j >pr
EP 0 235 538 B1

24
EP 0 235 538 B1

F I G . 7

\0 20 30 40 50 60

- 4 0
_60i
_

1L

~~
k =2

liLL

k = 3

inn.

k = 4

iiu
^

k"=5

Ujliiu

k ^ 6

UJLLLLL

25
EP 0 235 538 B1

F I G . 8 A

** J U U U U U U U L . .

•z J U U U U U U U L . .

ACK Jl TL JL

MODULE 0 MODULE I MODULE 2,

1 1 1 1 1 1 |
( I ) SELECTOR 'OW ! ! ! ! iJT lOiil !J2i)3il4H5!l6!l7|2Ci2l2323i )
8 ,
0 0 ^ - ^ 2 ^ 0 4 ^ 0 6
rHASL ANGLE
(2) MODIFYING \ 1 \
CIRCUIT 10 1— ■ 1 1 ■ 1
\
\
\
, ^ S I N E WAVE V i
^ ' MEMORY
12

(4) MULTIPLIER 14
\
\
\
/c\ ADDER \6, GATE 2 4
SELECTORS 17, 23, 25

(6) GATE 20, ADDER 2\

1
(7) a u

(8) 0L n
(

(9) C 2 , C 3 0 | 1 1
2

()0)C4, C5, C6 o

:U)C8 0


:i2)co, a, C7 0 1 H

26
EP 0 235 538 B1

F I G . 8 B

J l J L . .

^MODULE 2 r
MODULE 3

I ,! II 1 1
j24J 26271 I^Jl
IsJl I I lI II iI lI

25 30 3 2 ) 3 4 ) 36 ^
33 35 37

i , i ■
\

i i i

1 * ■

■ 1 1 1 1 1 1 1 i i i i

i _ r

J L

H I 2 1 3

( ) 2 3

27
LJ.J L-N-*i
or or
LU LU
" i^1 .M <Q <g
uj p
or to

X X
co CO

fJD CO !
1 1
CO CO
EP 0 235 538 B1

F I G . \ 0

207 208
- 1 . ,209

Sinx or
SINE WAVE
3 ESin x '
MEMORY SOUND
Q_
SYSTEM

206

DATA
SETTING
CIRCUIT

K \0 204 203
4 —
PHASE
X' PHASE
ANGLE ENVELOPE
ANGLE
MODIFYING GENERATOR
GENERATOR
CIRCUIT

KC
20\ ,202

KEY D
KEYBOARD
ASSIGNER EF
3

29

You might also like