|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention relates to a musical tone producing device and, more
particularly, to a musical tone producing device of waveform memory
readout type.
A musical tone producing device of this type is used as a musical tone
generator such as an electronic musical instrument. The musical tone
producing device is used to generate a musical tone signal whose waveform
(tone color) elaborately changes in the same manner as tone colors of
natural sounds produced by conventional musical instruments. For this
purpose, a musical tone producing device is proposed, wherein waveform
data of sampling points of the entire musical tone signal waveform from
the beginning of the conventional musical tone to its end are stored in a
waveform memory, and the waveform data of the respective sampling points
are sequentially read out from the waveform memory to produce a musical
tone signal. Such an example is shown in FIG. 3 of U.S. Pat. No.
4,383,462. In FIG. 3, a complete waveform of the period from the beginning
till the end of a tone production is memorized to be read out
subsequently. The complete waveform is stored in the WM31 and the waveform
is read out based on a signal (KD) indicative of a key depression timing.
According to the technique described above, when waveform data obtained by
sampling a tone of a conventional musical instrument are stored in the
waveform memory, the same tones as in the conventional musical instrument
can be produced. However, the amount of data to be stored in the waveform
memory becomes large, and a compact, low-cost musical tone producing
device cannot be obtained. It is thus desirable to decrease the capacity
of the waveform memory.
In order to solve the above problem, a method of decreasing the capacity of
the waveform memory is also proposed, wherein waveform data corresponding
to a repeating waveform (i.e., waveform portions of the entire waveform
which are periodically repeated) is stored in the waveform memory and is
read out repeatedly. Such an example is shown in FIG. 6 of U.S. Pat. No.
4,383,462. In the WM61 in said FIG. 6 is stored a complete waveform of the
attack period and the attack waveform is read therefrom based on a key
depression (a KD signal). After the reading out of the attack waveform (an
IMF signal) until the finishing of a tone production (a DF signal), the
musical tone waveform of the fundamental period is read out repeatedly.
According to this technique, however, since waveform data to be stored in
the waveform memory are basically obtained by sampling the amplitude of
the musical tone waveform, the musical tone generated from the musical
tone producing device becomes artificial. As a result, monotonous
expressions in musical performance cannot be avoided.
In addition to the above disadvantage, according to this technique, the
waveform data normally requires a number of bits to represent a maximum
amplitude of the waveform. As a result, the capacity of the waveform
memory must be increased.
In order to solve the above problem, a method of decreasing the capacity of
the waveform memory is described in U.S. Pat. No. 3,515,392, wherein
differences between waveform amplitudes of every two adjacent sampling
points of the tone signal waveform are sequentially calculated, and
difference data are stored in the waveform memory. The number of bits
which represents the difference data is then smaller than that which
represents the maximum waveform amplitude, and the required number of bits
represents only a change in waveform. Therefore, the capacity of the
waveform memory can be decreased.
When this method of storing the difference data in the waveform memory is
considered in detail, however, the waveform includes a moderate-slope
waveform portion and an steep-slope waveform portion subjected to abrupt,
complicated changes. The difference greatly changes from a small value
(represented by a smaller number of bits) to a large value (represented by
a larger number of bits) in the latter. Therefore, when the number of bits
for the difference data is simply limited without consideration, the
musical tone signal produced on the basis of the limited difference data
presents an artificial tone, resulting in inconvenience.
SUMMARY OF THE INVENTION
The present invention has been made in consideration of the conventional
drawbacks, and its principal object is to provide a musical tone producing
device capable of producing a highly precise (high quality) tone signal by
using a waveform memory of smaller capacity while an advantage is
effectively utilized wherein difference data representing differences
between every two adjacent sampling points of a musical tone signal
waveform is stored in the waveform memory.
In order to achieve the above object of the present invention, a waveform
having a plurality of successive periods of a musical tone signal to be
produced is divided into a plurality of blocks (e.g., on a period unit).
With respect to blocks following the first block, differences between
waveform amplitudes of the respective sampling points of a given block and
those of the corresponding sampling points of the immediately preceding
block are calculated, and resultant difference data are in advance stored
in the waveform memory. In this case, since the waveforms of the two
adjacent blocks are extremely similar to each other, the differences
between the amplitudes of the waveforms of the adjacent blocks are very
small. Thus, the number of bits of the difference data may be small, as a
result, the capacity of the waveform memory can be decreased.
On the other hand, when a musical tone signal is produced by using the
waveform memory for storing such difference data, the waveform amplitude
data of the respective sampling points of the first block are read out as
initial waveform data by a proper means. Thereafter, waveform amplitude
data of the respective sampling points of the second and subsequent blocks
are obtained such that the difference data of the sampling points
corresponding to those of initial data are subjected to addition or
subtraction.
According to an aspect of the present invention, there is provided a
musical tone producing device of a waveform readout type, comprising:
reference waveform memory means for storing reference waveform data
constituting a reference waveform, the reference waveform being similar to
each of divided waveforms belonging to a plurality of blocks into which a
musical tone waveform of a musical tone to be produced is divided;
difference waveform memory means for storing difference waveform data which
comprises a plurality of block difference waveform data, each of the block
difference waveform data constituting difference waveform representing a
difference between the reference waveform and each of the divided
waveforms;
readout means connected to the reference waveform memory means and the
difference waveform memory means for reading out the reference waveform
data and for reading out successively the block difference waveform data;
adding means connected to the reference waveform memory means and the
difference waveform memory means for adding the reference waveform data
and each of the block difference waveform data and for outputting
successively added results respectively corresponding to the divided
waveforms; and
sound means connected to the adding means for producing the musical tone
according to the added results.
Other objects, features and advantages will be apparent from the following
detailed description taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a signal waveform for explaining the principle of the present
invention;
FIG. 2 is a block diagram of a musical tone producing device according to a
first embodiment of the present invention;
FIGS. 3A and 3B, FIGS. 4A to 4D, and FIGS. 5A to 5C respectively show
waveforms of signals produced by the main parts of the device shown in
FIG. 2;
FIG. 6 is a block diagram of a musical tone producing device according to a
second embodiment of the present invention;
FIG. 7 shows a signal waveform showing the relationship between the frame
and a musical tone generated by the device shown in FIG. 6;
FIG. 8 shows a memory map of a difference waveform memory shown in FIG. 6;
FIGS. 9 to 11 are block diagrams of modifications of the first embodiment,
respectively;
FIGS. 12A to 12C show waveforms of signals used in the modification shown
in FIG. 11;
FIG. 13 is a block diagram of a musical tone producing device according to
a third embodiment of the present invention;
FIG. 14 shows a waveform of a musical tone generated by the device shown in
FIG. 13;
FIG. 15 shows a reference signal waveform;
FIGS. 16A and 16B and FIGS. 17A and 17B respectively show waveforms of
signals at times t1 and tn of FIG. 2; and
FIG. 18 is a block diagram of a musical tone producing device according to
a fourth embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In order to best understand the present invention, the principle of the
present invention will be described with reference to FIG. 1. Assume
periods 0T, 1T, 2T, . . . of a waveform MW of a musical tone signal to be
produced. Changes in sampled values representing waveform amplitudes at
sampling times t0, t1, t2, . . . of a given period are compared with those
of the period adjacent to the given period.
The sampled values at times t0, t1, t2, . . . of the 0th, first and second
periods 0T, 1T and 2T are given to be (P00, P01, P02, . . . ,), (P10, P11,
P12, . . . ,) and (P20, P21, P22, . . . ,), respectively. When changes in
sampled values of every two adjacent periods at the same relative sampling
time are considered, differences between the sampled values are very
small.
The sampled values P10, P11, . . . of the first period 1T at the respective
times t0, t1, . . . are very similar to the sampled values P00, P01, . . .
of the 0th period 0T at the respective times t0, t1, . . . . Differences
between the sampled values P00 and P10 and between the sampled values P01
and P11 are very small. Similarly, in the relationship between the sampled
values P20, P21, . . . of the second period 2T and the sampled values P10,
P11, . . . of the first period 1T, differences between the sampled values
P10 and P20 and between the sampled values P11 and P21 are very small. The
differences between the corresponding sampled values of the every two
adjacent periods after the third and subsequent periods are very small.
At the times t0, t1, t2, . . . of the first period 1T, differences D10,
D11, D12, . . . are calculated as follows:
##EQU1##
At the times t0, t1, t2, . . . of the second period 2T, differences D20,
D21, D22, . . . are calculated as follows:
##EQU2##
Similarly, the differences are calculated at the respective times t0, t1,
t2, . . . of the third and subsequent periods.
Difference data of differences D10, D11, D12, . . . ; D20, D21, D22; . . .
are stored in the waveform memory. The sampled values P10, P11, P12, . . .
; P20, P21, P22, . . . ; . . . of the respective periods 1T, 2T, . . . are
sequentially generated.
The sampled values P10, P11, P12, . . . of the first period 1T are given as
follows:
##EQU3##
In this manner, the sampled values P00, P01, P02 of the 0th period 0T are
added to the differences D10, D11, D12, . . . of the period 1T which are
obtained by equations (1), respectively.
The sampled values P20, P21, P22, . . . of the second period 2T are given
as follows:
##EQU4##
As is apparent from the above equations, the sampled values P10, P11, P12,
. . . of the first period 1T which are derived from equations (3) are
added to the differences D20, D21, D22, . . . of the second period 2T
which are derived from equations (2), respectively. In this case, the
sampled values P20, P21, P22, . . . have contents obtained by adding the
sampled values P00, P01, P02, . . . of the 0th period 0T to sums of the
differences D10, D11, D12, . . . of the first period 1T and the
differences D20, D21, D22 of the second period 2T, respectively.
Similarly, the sampled values P30, P31, P32 of the third period 3T are
calculated in the same manner as described above.
##EQU5##
As is apparent from equations (5), the sampled values P20, P21, P22, . . .
of the second period 2T are added to the differences D30, D31, D32, . . .
of the third period 3T, respectively.
The differences of a given subsequent period are added to the sampled
values of the immediately preceding period to obtain the sampled values of
the given period, respectively. In general, a sampled value Pni at the ith
sampling time tni of the nth period nT is calculated as follows:
##EQU6##
The sampled values P00, P01, P02, . . . of the 0th period 0T are generated
by a proper means (e.g., by reading out data of sampled values P00, P01,
P02, . . . from the waveform memory).
The above-mentioned description has been made in favor of illustrative
convenience. The present invention is not therefore limited to the case
described above. Various changes and modifications may be made. For
example, in the above explanation, the musical tone signal waveform MW is
divided into blocks each having a single period. However, the block may
also consist of two periods or a half period.
Musical tone producing devices according to the preferred embodiments of
the present invention which are based on the principle described above
will be described in detail hereinafter.
First Embodiment
FIG. 2 shows a first embodiment when a musical tone producing device is
applied to a polyphonic electronic musical instrument for simultaneously
producing a plurality of tones.
A key information KI generated from a keyboard circuit 2 upon depression of
a key is detected and assigned to an empty one among Q time-division
channels by a key assigner 3. Q corresponds to a maximum number of tones
capable of producing simultaneously. The key assigner 3 receives a system
clock .phi. shown in FIG. 3A and generates a channel signal CC (FIG. 3B)
of each of the first to Qth channels for every one period of the system
clock .phi.. In each channel timing, the key assigner 3 generates key
information KI assigned to the channel, a key on signal KON (logic "1"
while the key is being depressed) of the depressed key and a key on pulse
signal KONP (pulse set at logic "1" only during one-channel timing when
the key on signal KON is set at logic "1") in a time-division manner.
Pieces of the key information KI generated from the key assigner 3 are
sequentially supplied to an F number memory 4. The F number memory 4
sequentially generates numerical data (called F numbers) which
respectively represent pitches of depressed keys on the basis of the
pieces of the key information KI which are received by the F number memory
4 in a time-division manner. For example, the F number memory 4 stores
digital data, i.e., 1.0000 (decimal) corresponding to a tone having a
highest pitch. Digital data from the lowest pitch to the second highest
pitch are represented by fractional values.
The F number signals sequentially read out from the F number memory 4 for
the respective channels are supplied to an accumulator 5. The F number
signals of the respective channels are initialized by the key on pulse
signal KONP and are accumulated for every channel. Accumulated outputs qF
representing integral parts of the accumulated values of the F number
signals of the respective channels are generated in synchronism with the
corresponding channel timings in a time-division manner. The higher the
pitch becomes, the shorter a period of accumulated output qF becomes.
In this embodiment, the output qF from the accumulator 5 comprises 5-bit
digital data which periodically varies from "00000" (0 in decimal
notation) to "11111" (31 in decimal notation). When a cycle of changes of
the accumulated output qF allows designation of 32 sampling points (i.e.,
the 0th to 31st sampling points), they can be designated at a speed
corresponding to the pitches of the depressed keys. It should be noted
that FIGS. 4A to 4D show a case for one channel.
The accumulated output qF is given as an address signal to a waveform
memory 6. In this embodiment, data of sampled values P00, P01, P02, . . .
, and P031 of the 0th period 0T described with reference to FIG. 1 are
stored as initial waveform data ID in the waveform memory 6. The waveform
memory 6 also stores difference waveform data DD corresponding to the
differences D10, D11, D12, . . . ; D20, D21, D22, . . . ; . . . (described
with reference to equations (1) and (2)) of the respective periods 1T, 2T,
. . . . The waveform data ID and the difference waveform data DD are
prepared for every tone color so as to cause a tone color selector 7 to
select proper data. A set of the waveform data ID and the difference
waveform data DD is selected by a tone color selection signal TC generated
by the tone color selector 7. In this manner, the waveform data D (ID and
DD) having 32 sampling points/period are read out from the waveform memory
6 and are supplied as a first addition input to an adder 9 through a gate
8 in every channel in a time-division manner.
The waveform memory 6 stores the initial waveform data ID (FIG. 5C) with
block number "0" and the difference waveform data DD1, DD2, . . . (FIG.
5C) with block numbers "1", "2", . . . . The initial waveform data ID
consists of data for 32 sampling points of a waveform (FIG. 5B) of the 0th
period 0T. The waveform (FIG. 5B) of the 0th period 0T corresponds to the
waveform (FIG. 5A) of the 0th period 0T which is generated from the
conventional musical instrument. The block numbers "1", "2", . . . of the
difference waveform data DD1, DD2, . . . correspond to the periods 1T, 2T,
. . . , respectively, and comprises data for 32 sampling points each. When
the respective sampling points included in the respective periods 0T, 1T,
2T, . . . are accessed, only a desired block number and a desired sampling
point number are designated to read out desired data.
The waveforms shown in FIGS. 5B and 5C are illustrated such that the time
base in FIG. 5A is expanded. The waveform in FIG. 5B is obtained such that
the waveform in FIG. 5A is normalized and is corrected to a waveform
having a constant amplitude from the beginning to the end. The normalized
waveforms are stored as the waveform data ID, DD1, DD2, . . . in the
waveform memory 6. However, the waveform data ID, DD1, DD2, . . . may also
be directly derived from the waveform (FIG. 5A) without normalization and
may be stored in the waveform memory 6.
A sum output from the adder 9 is supplied as musical tone waveform data MD
to a multiplier 10 and is multiplied with an envelope signal EV from an
envelope generator 11. A multiplied signal is converted by a sound system
12 to a musical tone. Meanwhile, the musical tone signal waveform data MD
from the adder 9 is delayed by a one period delay circuit 15 by a delay
time corresponding to one period. A delayed signal is fed back to a second
addition input of the adder 9 through a gate 16. The adder 9 performs the
operations given by equations (3) to (5) such that one-period delayed
musical tone waveform data MD* are added to the waveform data D currently
read out from the waveform memory 6. The musical tone waveform data MD at
the respective sampling points during the current period are sequentially
generated. In this case, the musical tone waveform data MD on the
respective channels are generated in a time-division manner.
The one period delay circuit 15 has a qF variation detector 21 for
receiving the accumulated output qF from the accumulator 5. The qF
variation detector 21 generates a shift pulse SP (FIG. 4C) at a given
channel timing when the contents of the accumulated outputs qF (FIG. 4A)
of the given channel change. A change in accumulated output qF indicates
that the sampling point has advanced by one step. Therefore, the shift
pulse SP is generated every time the initial waveform data ID or the
difference waveform data DD is read out from the waveform memory 6. The
readout data are supplied to a distribution circuit 22. The distribution
circuit 22 receives the channel signal CC supplied from the key assigner 3
and distributes the shift pulses SP generated from the qF variation
detector 21 as shift trigger pulses SP1 to SPQ for the respective channel
timings. The shift trigger pulses SP1 to SPQ are supplied to shift
registers 221 to 22Q corresponding to the channels, respectively.
The shift registers 221 to 22Q are 32-stage shift registers, respectively.
The 32 stages correspond to the 32 sampling points of one period of the
musical tone waveform. The shift registers 221 to 22Q commonly receive the
musical tone waveform data MD, which are supplied from the adder 9, every
time the shift registers 221 to 22Q receive the shift trigger pulses SP1
to SPQ, respectively. The shift registers 221 to 22Q shift the data by one
stage each. When the respective shift registers 221 to 22Q receive 32
shift trigger pulses SP1 to SPQ (i.e., when one cycle has elapsed),
outputs from the shift registers 221 to 22Q are sequentially supplied to a
selector 23. The selector 23 sequentially receives the outputs from the
shift registers 221 to 22Q of the first to Qth channels one by one in
response to the corresponding channel signals CC. The selector 23 then
supplies the delayed musical tone waveform data MD* (FIG. 4D) obtained by
delaying the musical tone waveform data MD by one period.
The addresses of the memory area of the waveform memory 6 for storing the
initial waveform data ID and the difference waveform data DD for 32
sampling points/period are accessed in response to the accumulated outputs
qF as described above. The designation of subsequent periods is performed
by a block designation output BL from a block designation circuit 25.
The block designation circuit 25 has a block counter 26. The block counter
26 performs counting in response to a clock signal CA (generated in
synchronism with the corresponding channel timing) generated as a carry
signal through a gate 27 when the accumulated output qF from the
accumulator 5 changes from "11111" to "00000". The block counter 26
receives the key on pulse signal KONP as a reset signal from the key
assigner 3. The block counter 26 then supplies the block designation
outputs BL to the waveform memory 6 so as to designate the blocks in order
of 0, 1, 2, . . . after the block counter 26 receives the key on pulse
signal KONP. It should be noted that the block counter 26 counts the clock
signals CA in a time-division manner in synchronism with the respective
channel timings and that the block designation outputs BL are also
generated in the time-division manner.
The block numbers 0, 1, 2, . . . are assigned the periods 0T, 1T, 2T, . . .
of the musical tone waveform MW, respectively.
The block designation circuit 25 supplies the block designation output BL
to an end-of-final-block (EOB) detector 28. When the content of the block
designation output BL designates a block next to the final block (i.e.,
when the final block is ended), a block detection output BLD of logic "1"
is generated from the EOB detector 28. It should also be noted that this
detection operation is performed in the time-division manner. The output
BLD is inverted by an inverter 29, and an inverted output BLD is supplied
to an enable terminal EN of the gate 27. In this manner, when the EOB
detector 28 detects the EOB, the gate 27 is closed.
The output from the inverter 29 is simultaneously supplied to an enable
terminal EN of the gate 8 connected to the output terminal of the waveform
memory 6. When the EOB detector 28 detects the EOB, the gate 8 is closed.
As a result, the waveform data D as the first addition input is not
supplied to the adder 9, and thus the delayed musical tone waveform data
MD* from the one period delay circuit 15 is supplied as the musical tone
waveform data MD. When the EOB is detected, the musical tone waveform data
MD formed by the EOB is repeatedly supplied to the sound system 12.
The block designation output BL is supplied to an initial block detector 35
and generates an initial block detection output BL1 which is set to be
logic "1" when the block designation output BL is set to be logic "0". The
output BL1 is inverted by an inverter 36, and an inverted output BL1 is
supplied to an enable terminal EN of a gate 16. The gate 16 is disabled
when the initial block is detected, and the adder 9 will not receive the
delayed musical tone waveform data MD* as the second addition input.
Therefore, the initial waveform data ID (FIG. 5C) currently read out from
the waveform memory 6 is supplied as the musical tone waveform data MD to
the sound system 12.
The envelope generator 11 receives the key on signal KON and the tone
selection signal TC and generates the envelope signal EV having a waveform
corresponding to the selected tone color in a time-division manner every
time the key on signal KON is generated.
The operation of the electronic musical instrument shown in FIG. 2 will now
be described. The operation for only one channel is described by way of
simplicity. The same operation as in the selected channel can be performed
in other channels in a time-division manner in synchronism with the
corresponding channel timings.
When the depressed key is assigned by the key assigner 3 to the
corresponding channel, the accumulator 5 and the block counter 26 are
reset in response to the key on pulse signal KONP. The block designation
output BL designates the 0th block. The accumulator 5 generates the
accumulated output qF (FIG. 4A) updated one by one at a period
corresponding to the pitch of the depressed key. The initial waveform data
ID for 32 sampling points which are stored in the memory area assigned
with the corresponding block (BL=0) corresponding to the 0th period 0T are
read out from the waveform memory 6 in response to the block designation
output BL and the accumulated output qF. In this case, the gate 16 is
disabled in response to the output from the initial block detector 35, so
that the initial waveform data ID of the respective sampling points pass
through the adder 9 and are supplied as the musical tone waveform data MD
to the sound system 12. Therefore, the tone having a tone color
corresponding to the portion of the musical tone waveform MW (FIG. 5B) of
the 0th period 0T is generated.
When data access in the 0th block (BL=0) for 32 sampling points is
completed, the accumulated output qF changes from "11111" to "00000". In
this case, the clock signal CA is supplied to the block counter 26 through
the gate 27, so that the content of the block designation output BL
designates the first block (BL=1). The memory area for the difference
waveform data DD1 (FIG. 5C) of the block corresponding to the first period
1T is designated in the waveform memory 6. The difference waveform data
DD1 of 32 sampling points are sequentially read out in response to the
accumulated outputs qF. Therefore, the difference waveform data DD1 of the
respective sampling points in the first period 1T are sequentially
supplied from the waveform memory 6 to the adder 9. In this case, the
initial block detector 35 does not detect the initial block, so that the
gate 16 is enabled. Therefore, the musical tone waveform data MD (i.e.,
initial waveform data ID) stored in the corresponding shift registers
among the shift registers 221 to 22Q of the one period delay circuit 15
are supplied as the delayed musical tone waveform data MD* (second
addition input) to the adder 9 during the 0th period 0T. The adder 9 adds
the differential waveform data DD1 of the first period 1T to the initial
data ID of the 0th period 0T at the respective sampling points. As a
result, the musical tone waveform data MD changing in the respective
sampling points in the same manner as the portion of the musical tone
waveform MW (FIG. 5B) in the first period 1T is generated.
When the data readout operation of the second block is completed, the
accumulated output qF changes again from "11111" to "00000". The block
counter 26 is started to generate the block designation output BL which
designates the second block. In this case, the memory area for storing the
difference waveform data DD2 of the second period 2T corresponding to the
second block (FIG. 5C) is accessed in the waveform memory 6. The
difference waveform data of the second period 2T are sequentially read out
in units of sampling points in the same manner as in the first period 1T.
The readout data are supplied to the adder 9 and are added with the
delayed musical tone waveform data MD* from the one period delay circuit
15 in units of sampling points. The musical tone waveform data MD at the
respective sampling points during the second period 2T are sequentially
generated from the adder 9.
Every time the accumulated output qF from the accumulator 5 changes from
"11111" to "00000" after the one-period (32 sampling points) designation
is completed, the block counter 26 sequentially designates the following
block. In this manner, all the difference waveform data DD at the
respective sampling points during the corresponding period in the
corresponding block are read out from the waveform memory 6. In this case,
the difference waveform data DD at the sampling points during the given
period are added by the adder 9 to the delayed musical tone waveform data
MD* as the musical tone waveform data MD at the corresponding sampling
points during the immediately preceding period, thereby calculating the
musical waveform data MD of the respective sampling point of the given
period. The resultant musical waveform data MD are supplied to the sound
system 12 and the one period delay circuit 15. Therefore, the musical tone
waveform of the successive periods can be produced.
When the block counter 26 completes the final block designation and is
about to designate the next block (in practice, this block does not
exist), the EOB detector 28 detects the EOB, so that the gates 27 and 8
are disabled. Therefore, the block counter 26 stops counting after the EOB
designation is completed, and the adder 9 generates as the musical tone
waveform data MD the delayed musical tone waveform data MD* from the one
period delay circuit 15. As a result, the musical tone waveform data MD
obtained from the adder 9 in the period corresponding to the EOB is
repeatedly supplied to the sound system 12.
When the key is continuously depressed for a period of time longer than the
periods of the waveform data which are stored in the waveform memory 6,
the tone corresponding to the musical tone waveform data MD of the EOB can
be repeatedly produced at the sound system 12.
According to the arrangement shown in FIG. 2, the waveform from the 0th
period 0T to the final period of the musical tone waveform MW to be
produced can be accurately produced. Only the waveform data of the 0th
period 0T among the waveform data stored in the waveform memory 6 requires
a larger number of bits. Only the difference waveform data (FIG. 5C) and
the sampled values of the immediately preceding period are required for
the subsequent periods. Therefore, the waveform memory can have a smaller
capacity. In addition, in comparison with the conventional sample
difference storage system (described in the Background of the Invention)
for storing the waveform data of the 0th period 0T in the waveform memory,
the memory capacity of this embodiment is greatly decreased. Thus, without
impairing the sampled information obtained by sampling the waveform of a
tone produced by a conventional musical instrument, the waveform memory
can have a small capacity. Therefore, highly precise tones resembling the
tones produced from a conventional musical instrument can be produced.
Second Embodiment
FIG. 6 shows a second embodiment of a musical tone producing device
according to the present invention. In this embodiment, the musical tone
waveform MW from the beginning to the end shown in FIG. 7 are divided into
a plurality of frames 0F, 1F, . . . each of which consists of a plurality
of periods. The musical tone waveform MW changes in units of frames.
Within a given frame, a waveform of one period is repeatedly produced,
thereby further decreasing the capacity of the waveform memory.
In this second embodiment, the musical tone producing device is applied to
a monophonic tone electronic musical instrument. When a player depresses
one of the | | |