TECHNICAL FIELD
[0001] The present disclosure relates to an electronic musical instrument, a method and
a program.
BACKGROUND ART
[0002] In the related art, a variety of technologies for reproducing sounds of musical instruments
with strings, including an acoustic piano, a guitar and the like, in an electronic
musical instrument are developed. In the musical instruments with strings, not only
a usual musical instrument sound but also a sound that is generated as a result of
contact of the string with another object is generated. Therefore, also in the electronic
musical instruments, it is attempted to reproduce such contact sound.
[0003] For example,
JP-A-2011-154394 discloses technology of reproducing a sound of a damper coming into contact with
a vibrating string upon key release of an acoustic piano.
[0004] According to the technology disclosed in
JP-A-2011-154394, only the same monotonous contact sound is always reproduced.
SUMMARY OF DISCLOSURE
[0005] An electronic musical instrument includes: means for inputting, based on a user operation
on at least one operation element, first waveform data to a first wave generator and
second waveform data to a second wave generator, wherein the second waveform data
indicates positive/negative inversion data of a portion of the first waveform data
exceeding a certain clipping level, so as to cause the first wave generator to output
first output data and the second wave generator to output second output data; and
means for generating addition data based on the first output data output from the
first wave generator and the second output data output from the second wave generator.
[0006] According to the present disclosure, it is possible to favorably reproduce a contact
sound that is generated when playing the acoustic musical instrument.
BRIEF DESCRIPTION OF DRAWINGS
[0007]
FIG. 1A is a view for illustrating a contact sound that is generated in an acoustic
piano;
FIG. 1B is a view for illustrating Comparative Example where a contact sound that
is generated in the acoustic piano is not reproduced, and an embodiment of the present
disclosure where the contact sound is reproduced;
FIG. 2A is a view for illustrating a contact sound that is generated in a guitar;
FIG. 2B is a view for illustrating Comparative Example where a contact sound that
is generated in the guitar is not reproduced, and an embodiment of the present disclosure
where the contact sound is reproduced;
FIG. 3 depicts an example of an outer shape of an electronic musical instrument in
accordance with an embodiment of the present disclosure;
FIG. 4 is a block diagram depicting a hardware configuration of the electronic musical
instrument;
FIG. 5 is a view for illustrating a normal waveform and a difference waveform;
FIG. 6 is a block diagram depicting a schematic configuration of a sound source LSI;
FIG. 7 is a view for illustrating addition processing of the normal waveform and the
difference waveform;
FIG. 8A depicts an example of an envelope for generating a piano sound;
FIG. 8B depicts an example of the envelope for generating the piano sound;
FIG. 8C depicts an example of the envelope for generating the piano sound;
FIG. 9A depicts an example of an envelope for generating a guitar sound;
FIG. 9B depicts an example of the envelope for generating the guitar sound;
FIG. 9C depicts an example of the envelope for generating the guitar sound;
FIG. 10 is a flowchart depicting a sequence of processing that is executed by a CPU;
and
FIG. 11 is a subroutine flowchart depicting a sequence of sound source LSI control
processing of step S108 in FIG. 10.
DESCRIPTION OF EMBODIMENTS
[0008] Hereinbelow, after describing the principle of the present disclosure, embodiments
based on the principle of the present disclosure will be described with reference
to the accompanying drawings.
[0009] In the description of the drawings, the same elements are denoted with the same reference
signs, and the overlapping descriptions are omitted. Also, for convenience of descriptions,
the dimensional ratios in the drawings may be different from the actual ratios due
to exaggerated illustrations.
<Principle of Present Disclosure>
[0010] First, in a musical instrument with strings, a cause of a contact sound that is generated
as a result of contact of the string with another object, and an output image of a
waveform including the contact sound are described.
[0011] FIG. 1A is a view for illustrating a contact sound that is generated in an acoustic
piano. FIG. 1B illustrates an output image diagram of a waveform that does not include
a contact sound generated in the acoustic piano (Comparative Example), and an output
image diagram of a waveform that includes the contact sound (first embodiment).
[0012] In an acoustic piano 100 as shown in FIG. 1A, when a key 110 is released, a damper
120 comes into contact with a string 130, so that vibration of the string 130 is attenuated.
Even when felt used for the damper 120 is made of a soft material, the felt applies
a larger resistance to the string 130, as compared to the air. Therefore, when the
damper 120 comes into contact with the string 130, the vibration of the string 130
is irregularly attenuated, so that a contact sound is generated. While an amplitude
of the string 130 is large, the damper 120 is bounced (jumped up) by the string 130
and cannot be thus in contact with the string 130 for a long time. However, as the
amplitude of the string 130 becomes smaller over time, a time period for which the
damper 120 is in contact with the string 130 becomes longer, and the contact sound
is emphasized among sounds being produced.
[0013] In an electronic musical instrument configured to reproduce sounds of the acoustic
piano 100, as shown in an upper drawing of FIG. 1B (Comparative Example), a level
of sound, i.e., an amplitude of a waveform upon the key release is controlled so as
to change over time, in accordance with an envelope that reproduces an envelope of
amplitudes of the string 130 upon the key release. However, in the electronic musical
instrument of the related art, the change in contact sound over time as described
above is not reproduced. Therefore, in an electronic musical instrument of the present
embodiment, as shown in a lower drawing of FIG. 1B (the first embodiment of the present
disclosure), a threshold value envelope indicating threshold values of generation
of the contact sound is set, and when an amplitude envelope of a waveform exceeds
the threshold value envelope, amplitudes of the waveform are restricted, so that the
contact sound is generated. Thereby, a distortion sound corresponding to a waveform
of which amplitudes are restricted is generated as a sound that simulates the contact
sound. For example, amplitudes of a waveform with respect to a sound upon the key
release of the acoustic piano 100 are controlled so as to be largely restricted over
time. Also, the distortion sound as the contact sound is controlled so as to be further
emphasized as a time period k1, a time period k2, and a time period k3 progress, as
shown in the lower drawing of FIG. 1B, for example (a difference value between a broken
line value of the broken line indicative of the threshold value envelope and a solid
line value of the solid line indicative of an amplitude envelope gradually increases
as the time period k1, the time period k2, and the time period k3 progress, so that
the amplitudes of the waveform are largely restricted over time and the contact sound
that is the distortion sound is further emphasized over time). Therefore, it is possible
to favorably reproduce the contact sound of the damper 120 and the string 130, which
is generated upon the key release in the acoustic piano 100.
[0014] FIG. 2A is a view for illustrating a contact sound that is generated in a guitar.
FIG. 2B is an output image diagram of a waveform that does not include a contact sound
generated in the guitar (Comparative Example), and an output image diagram of a waveform
that includes the contact sound (second embodiment).
[0015] Also in plucked string instruments such as a guitar 200 as shown in FIG. 2A, when
a string release where a player's finger F releases from a string 210 is performed,
a contact sound is generated. More specifically, while the finger F presses the string
210, the contact sound is not generated because the string 210 vibrates about a fret
220 as a support point. However, when the finger F starts to move away from the fret
220, the support point of the string 210 moves from the fret 220 to the finger F,
so that the string 210 vibrates about the finger F as a support point. When the string
210 comes into contact with the fret 220 or the like, the contact sound is generated.
For this reason, in the guitar 200, the contact sound starts to be heard immediately
after the string releases, unlike the acoustic piano 100. Then, as the amplitude of
the string 210 becomes smaller over time or the finger F moves away from the fret
220, the contact sound becomes difficult to be heard.
[0016] In the electronic musical instrument configured to reproduce sounds of the guitar
200, as shown in an upper drawing of FIG. 2B, a level of sound, i.e., an amplitude
of a waveform upon the key release is controlled so as to change over time, in accordance
with an envelope that reproduces an envelope of amplitudes of the string 210 upon
the key release. More specifically, the amplitude of the waveform is controlled so
as to increase over time during a time period k4 immediately after the key release
of the electronic musical instrument, i.e., immediately after the key release of the
guitar 200, and to attenuate over time during time periods k5 and k6 thereafter, for
example. The threshold value envelope is set as shown in a lower drawing of FIG. 2B,
for example. The distortion sound as the contact sound is controlled so that it is
emphasized over time during the time period k4 (because the difference value between
the broken line value of the broken line and the solid line value of the solid line
becomes gradually larger), is attenuated over time during the time period k5 (because
the difference value between the broken line value of the broken line and the solid
line value of the solid line becomes gradually smaller), and is not heard during the
time period k6 (because the solid line value has not reached the broken line value).
Thereby, it is possible to favorably reproduce the contact sound that is generated
when the string 210 comes into contact with the fret or the like upon the key release
in the guitar 200.
[0017] In the below, a configuration, processing and the like of the electronic musical
instrument configured to reproduce the contact sounds as described above are described
with reference to the drawings.
[Embodiment of Disclosure]
(Configuration)
[0018] FIG. 3 depicts an example of an outer shape of an electronic musical instrument in
accordance with an embodiment of the present disclosure. FIG. 4 is a block diagram
depicting a hardware configuration of the electronic musical instrument. FIG. 5 is
a view for illustrating a normal waveform and a difference waveform.
[0019] As shown in FIGS. 3 and 4, an electronic musical instrument 300 includes a CPU (Central
Processing Unit) 310, a RAM (Random Access Memory) 320, a ROM (Read Only Memory) 330,
a switch panel 340, an LCD (liquid crystal monitor) 350, a keyboard 360, a sound source
LSI (large-scale integration) 370, a D/A converter 380, an amplifier 385 and a timer
counter 390. The CPU 310, the RAM 320, the ROM 330 and the sound source LSI 370 are
each connected to a bus 395. Also, the switch panel 340, the LCD 350 and the keyboard
360 are each connected to the bus 395 via each of an I/O interface 345, an LCD controller
355 and a key scanner 365.
[0020] The CPU 310 as a processor is configured to control the respective constituent elements
and to execute a variety of calculation processing, in accordance with programs. The
RAM 320 is configured to temporarily store programs, data and the like, as a work
area.
[0021] The ROM 330 as a memory has a program area and a data area, and stores a variety
of programs, data and the like in advance. The ROM 330 is configured to store a plurality
of pieces of waveform data corresponding to multiple musical instrument sounds, as
a waveform memory, for example.
[0022] More specifically, the ROM 330 is configured to store first waveform data of a normal
waveform and second waveform data (positive/negative inversion data) of a difference
waveform as shown in FIG. 5, with respect to a sound of a musical instrument that
generates a contact sound of a string. The normal waveform is a waveform corresponding
to a usual musical instrument sound having intervals and not including a contact sound
of a string. On the other hand, the difference waveform is a waveform in which a portion
exceeding a certain clipping level is cut out from the normal waveform and is made
into an opposite phase, i.e., a sign (positive/negative) of the portion is inverted.
The difference waveform is generated in advance, based on a normal waveform and a
clipping level set in accordance with an envelope of the normal waveform. The clipping
level may be set to a level obtained by multiplying a fixed ratio (for example, 90%)
by a level indicated by the envelope of the normal waveform. However, the method of
setting the clipping level is not limited to the above example, and the clipping level
may be varied over time, in accordance with a playing method, and the like. In the
meantime, for a musical instrument that does not generate a contact sound of a string,
the ROM 330 stores data of a normal waveform, and does not store data of a difference
waveform.
[0023] Returning to FIG. 4, the switch panel 340 includes a plurality of switches 341, and
is configured to receive a user operation of pressing each of the plurality of switches
341. For example, the switch panel 340 includes the plurality of switches 341 corresponding
to multiple musical instrument sounds, and receives a user operation of selecting
a certain musical instrument sound from the multiple musical instrument sounds. The
I/O interface 345 is configured to monitor each of the plurality of switches 341 of
the switch panel 340, and, when it is detected that each of the plurality of switches
341 is pressed, notifies the detection to the CPU 310.
[0024] The LCD 350 is configured to display a variety of information. The LCD controller
355 is an IC (integrated circuit) configured to control the LCD 350.
[0025] The keyboard 360 has a plurality of keys 361 as operation elements, and is configured
to receive user operations of pressing and releasing the keys, as a user operation.
Each of the plurality of keys 361 is configured to operate at one end of a leaf spring
or the like, as a support point, and may include a plurality of switches (contact
points) that is sequentially turned on or off by the key pressing or the key release.
[0026] The key scanner 365 is configured to monitor each of the plurality of keys 361 of
the keyboard 360, and to detect whether each of the plurality of keys 361 is pressed
or released. When the key pressing is detected, the key scanner 365 detects and notifies,
to the CPU 310, a key number (note number) of the pressed key 361, and a velocity
upon the key pressing corresponding to a key pressing speed. Also, when the key release
is detected, the key scanner 365 detects and notifies, to the CPU 310, a key number
of the released key 361, and a velocity upon the key release corresponding to a key
release speed. The key scanner 365 may detect the velocity upon the key pressing or
upon the key release by measuring a difference between times at which at least two
switches of each of the plurality of keys 361 are detected to be on or off.
[0027] The sound source LSI 370 as a processor adopts a well-known waveform memory reading
method, and is configured to read out and process waveform data corresponding to a
musical instrument sound selected by the user from the ROM 330, and to output the
same to the D/A converter 380. The sound source LSI 370 will be described later in
detail with reference to FIG. 5.
[0028] The D/A converter 380 is configured to convert digital waveform data output from
the sound source LSI 370 into analog waveform signals, and to output the same to the
amplifier 385. The amplifier 385 is configured to amplify the analog waveform signals
output from the D/A converter 380, and to output the same to a speaker, an output
terminal or the like (not shown).
[0029] The timer counter 390 includes a counter configured to increment a value every 1µsec,
for example, and is configured to measure time.
[0030] In the meantime, the electronic musical instrument 300 may include a constituent
element, in addition to the above-described constituent elements, and may not include
some of the above-described constituent elements.
[0031] Subsequently, the sound source LSI 370 is described in detail. FIG. 6 is a block
diagram depicting a schematic configuration of the sound source LSI. FIG. 7 is a view
for illustrating addition processing of the normal waveform and the difference waveform.
[0032] As shown in FIG. 6, the sound source LSI 370 includes a plurality of generator sections
371 (for example, corresponding to 256 channels), and a generator mixer 372 configured
to mix waveform data that is output from each of the generator sections 371. Each
of the generator sections 371 includes a normal channel (also referred to as a normal
system or a first system) 373 including a normal waveform generator (first waveform
generator) 3731, a normal waveform filter 3732, a normal waveform amplifier (first
waveform amplifier) 3733 and the like, a difference channel (also referred to as a
difference system or a second system) 374 including a difference waveform generator
(second waveform generator) 3741, a difference waveform filter 3742, a difference
waveform amplifier (second waveform amplifier) 3743 and the like, and a section mixer
375 configured to mix (add) waveform data (also referred to as "output data") in each
channel. Also, each of the generator sections 371 further includes a normal waveform
filter envelope generator 3734, a normal waveform amplifier envelope generator 3735,
an envelope detector 3736, a difference waveform filter envelope generator 3744, an
envelope comparison unit 3745 and a threshold value envelope generator 3746 for controlling
each of the constituent elements. Meanwhile, in the below, as shown in FIG. 6, the
envelope generator is also denoted as "EG".
[0033] The normal waveform generator 3731 is configured to read out, from the ROM 330, normal
waveform data corresponding to a musical instrument sound selected by the user at
a reading speed corresponding to the key number of the pressed key 361, and to generate
normal waveform data corresponding to the key number. The normal waveform filter 3732
is configured to control a quality of sound corresponding to the normal waveform data,
in accordance with a filter envelope generated by the normal waveform filter EG 3734
and indicating a temporal change in a cutoff frequency of a filter (for example, a
low-pass filter). The normal waveform amplifier 3733 is configured to control a level
of sound corresponding to the normal waveform data, i.e., an amplitude of the normal
waveform, in accordance with an amplifier envelope generated by the normal waveform
amplifier EG 3735 and indicating a temporal change in a volume of sound (level). That
is, the normal waveform data is input to the normal waveform generator 3731, and is
output from the normal waveform amplifier 3733. The envelope detector 3736 includes
an absolute value circuit (full wave rectification circuit), a low-pass filter and
the like, and is configured to detect an amplitude envelope of a waveform indicated
by the normal waveform data output from the normal waveform amplifier 3733.
[0034] The difference waveform generator 3741 is configured to read out, from the ROM 330,
difference waveform data corresponding to a musical instrument sound selected by the
user at a reading speed corresponding to the key number of the pressed key 361, and
to generate difference waveform data corresponding to the key number. The difference
waveform generator 3741 is configured to read out the difference waveform data at
a timing that is synchronous with the reading timing of the normal waveform data.
The difference waveform filter 3742 is configured to control a quality of sound corresponding
to the difference waveform data, in accordance with a filter envelope generated by
the difference waveform filter EG 3744. The difference waveform amplifier 3743 is
configured to control a level of sound corresponding to the difference waveform data,
in accordance with an amplifier envelope output by the envelope comparison unit 3745.
In the present embodiment, the envelope comparison unit 3745 is configured to output
an amplifier envelope (multiplication coefficient) of the difference waveform, based
on a comparison result of the amplitude envelope of the normal waveform detected by
the envelope detector 3736 and a threshold value envelope generated by the threshold
EG 3746. Therefore, it can be said that an output value of the difference waveform
amplifier 3743 is a value in which a shape of the difference waveform is adjusted
based on the difference between the envelopes. In other words, it can be said that
a waveform of output values when the difference of the comparison result is a second
difference larger than a first difference is adjusted so that it is larger than a
waveform when the difference of the comparison result is the first difference.
[0035] More specifically, the threshold EG 3746 is configured to generate a threshold value
envelope indicating a temporal change in threshold value that is determined in accordance
with a musical instrument sound selected by the user, as shown in FIGS. 1B and 2B.
The envelope comparison unit 3745 is configured to output an amplifier envelope (multiplication
coefficient) indicating a temporal change in level (difference) that is obtained by
subtracting a level of the threshold value envelope generated by the threshold EG
3746 from a level of the amplitude envelope of the normal waveform detected by the
envelope detector 3736. Therefore, as the level obtained by the subtraction is larger,
the envelope comparison unit 3745 outputs an amplifier envelope having a larger level.
Thereby, as shown in FIGS. 1B and 2B, as an amplitude of a waveform corresponding
to the amplitude envelope largely exceeds the threshold value envelope, the amplitude
is largely restricted. In the meantime, when a value of the level obtained by the
subtraction is a negative value, the envelope comparison unit 3745 may output an amplifier
envelope of which a value of a level is zero.
[0036] If the comparison result by the envelope comparison unit 3745 is the same, the multiplication
coefficient becomes zero, so that the difference waveform is not output from the difference
waveform amplifier 3743. The normal waveform output from the normal waveform amplifier
3733 is output from the section mixer 375, as it is.
[0037] As the comparison result becomes larger, the multiplication coefficient approximates
to 1 from 0, and a shape of the difference waveform output from the difference waveform
amplifier 3743 approximates to a shape of the stored difference waveform. A waveform
having such a shape that a waveform of the portions of the normal waveform exceeding
the clipping level is slightly changed so as to approximate to the clipping level
as the multiplication coefficient approximates to 1 from 0 is output from the section
mixer 375.
[0038] When the multiplication coefficient is 1.0, a shape of the difference waveform that
is output from the difference waveform amplifier 3743 becomes the same as the shape
of the stored difference waveform, and a waveform having such a shape that the portions
of the normal waveform exceeding the clipping level are clipped is output from the
section mixer 375.
[0039] As a result, as shown in the embodiment of the present disclosure of FIG. 2B, an
amplitude of a waveform at a boundary between time periods k4 and k5 in which the
difference value between the envelope and the clipping level is large is located on
a broken line-side between the solid line value and the broken line value. On the
other hand, an amplitude of a waveform at a boundary between time periods k5 and k6
in which the difference value between the envelope and the clipping level is small
is located on the solid line-side between the solid line value and the broken line
value.
[0040] In the meantime, the multiplication coefficient may also be a value larger than 1.0.
[0041] In a case where the present disclosure is applied and a half of the 256 waveform
generators, for example, is used for oscillation of the difference waveform, the number
of simultaneous tones may be restricted to 128 from 256. However, according to the
present disclosure, it is possible to favorably express the contact sound by the simple
processing of using the existing waveform generators.
[0042] Each of the EGs 3734, 3735, 3744 and 3746 as described above is configured to generate
each envelope as shown in FIGS. 8A and 8B, based on parameters relating to each envelope
and supplied from the CPU 310, upon the key pressing and upon the key release. The
parameters include a parameter relating to target levels L0 to L4, a parameter relating
to rates R1 to R4 for reaching the target levels, and the like. When the value of
the amplifier envelope generated by the normal waveform amplifier EG 3735 becomes
zero and an operation of the normal waveform amplifier 3733 is thus stopped, an operation
of the normal waveform generator 3731 is also stopped. Also, when the value of the
amplifier envelope output by the envelope comparison unit 3745 becomes zero and an
operation of the difference waveform amplifier 3743 is thus stopped, an operation
of the difference waveform generator 3741 is also stopped.
[0043] In the meantime, each of the EGs 3734, 3735, 3744 and 3746 may be supplied with a
parameter corresponding to a velocity from the CPU 310 or may generate each envelope
corresponding to the velocity. For example, each of the EGs 3734, 3735, 3744 and 3746
may be supplied, from the CPU 310, with parameters including a release rate R4 of
which gradient is set gentler as a value of the velocity is smaller, i.e., a key release
speed is lower.
[0044] The section mixer 375 is configured to mix a normal waveform indicated by the normal
waveform data output from the normal waveform amplifier 3733 and a difference waveform
indicated by the difference waveform data output from the difference waveform amplifier
3743. The section mixer 375 outputs data (addition data) of a waveform (added waveform)
obtained by adding the normal waveform and the difference waveform, for example, as
shown in FIG. 7. Thereby, the section mixer 375 can output the data of the added waveform
corresponding to the distortion sound as a sound that simulates the contact sound.
More specifically, the section mixer 375 is configured to output, as waveform data
reproducing a virtual clipping, data of the added waveform obtained by adding portions
of the normal waveform and a difference waveform corresponding to portions of the
normal waveform exceeding a certain clipping level.
[0045] The amplitudes of the normal waveform and the difference waveform are respectively
controlled, in accordance with the amplifier envelope generated by the normal waveform
amplifier EG 3735 and the amplifier envelope output by the envelope comparison unit
3745, as described above. Therefore, an addition ratio of the normal waveform and
the difference waveform in the section mixer 375 is also controlled in accordance
with the envelopes, and the addition ratio is controlled, so that data of the added
waveform including various clipping shapes is output, as shown in FIG. 7. For example,
when the addition ratio is 1:1, data of the added waveform in which the amplitude
is favorably restricted in the clipping level is output. Also, when the addition ratio
is smaller than 1:1 (namely, the addition ratio of the difference waveform to the
normal waveform is smaller than 1), data of the added waveform in which a degree of
distortion is smaller is output. The added waveform may be a waveform corresponding
to a modest contact sound such as a sound that is generated when the soft damper 120
comes into contact with the string 130 in the acoustic piano 100 as shown in FIG.
1A. Also, when the addition ratio is larger than 1:1 (namely, the addition ratio of
the difference waveform to the normal waveform is larger than 1), data of the added
waveform in which a degree of distortion is larger is output. The added waveform may
be a waveform corresponding to a contact sound in which higher harmonics are emphasized,
such as a sound that is generated when the string 210 comes into contact with the
rigid metal fret 220 in the guitar 200 as shown in FIG. 2A.
[0046] Also, the addition ratio of the normal waveform and the difference waveform may be
controlled in the section mixer 375, instead of the threshold value envelope or in
addition to the threshold value envelope. For example, the operation of the threshold
EG 3746 may be stopped, and an amplifier envelope that is similar to the amplitude
envelope of the normal waveform detected by the envelope detector 3736 may be output
by the envelope comparison unit 3745. In this case, the ratio of the normal waveform
and the difference waveform that are input to the section mixer 375 is controlled
to a value close to 1:1. Then, in the section mixer 375, the addition ratio of the
normal waveform data and the difference waveform data may be adjusted to a setting
value of the addition ratio supplied from the CPU 310. Thereby, the addition ratio
can be controlled by the simpler method than a method of individually controlling
each of the EGs 3735 and 3746 and the like. Alternatively, in the section mixer 375,
a rough addition ratio of the normal waveform and the difference waveform may be set
as a fixed ratio, and a slight variation in the addition ratio over time may be reproduced
by each of the EGs 3735 and 3746 and the like. Also, the section mixer 375 may be
supplied, from the CPU 310, with a setting value of the addition ratio corresponding
to a velocity, and may adjust the addition ratio of the normal waveform and the difference
waveform to the setting value of the addition ratio corresponding to a velocity.
[0047] Also, the sound source LSI 370 may be configured to implement functions, in addition
to the above-described functions, and may also be configured not to implement some
of the above-described functions. For example, each of the waveform generators 3731
and 3741 may be configured to execute loop processing of repeatedly reading out each
waveform data from the ROM 330, thereby generating each waveform data corresponding
to a sustained sound. Also, the generator mixer 372 may be supplied, from the CPU
310, with a setting value of a level corresponding to a velocity or may adjust a value
of a level of sound corresponding to each waveform data output from each generator
section 371 to the setting value of a level corresponding to a velocity.
(Examples of Envelope)
[0048] Subsequently, examples of the envelope that is generated by each of the EGs 3734,
3735, 3744 and 3746 are described. FIGS. 8A to 8C depict examples of an envelope that
is generated for an acoustic piano sound. FIGS. 9A to 9C depict examples of an envelope
that is generated for a guitar sound.
[0049] As described above, in the acoustic piano 100 as shown in FIG. 1A, when the key release
is performed on the key 110, a sound of the damper 120 coming into contact with the
string 130 is generated, and a ratio of the contact sound in the sound being produced
increases over time. In order to favorably reproduce the phenomenon, the normal waveform
filter EG 3734 and the difference waveform filter EG 3744 generate a filter envelope
as shown in FIG. 8A, the normal waveform amplifier EG 3735 generates an amplifier
envelope as shown in FIG. 8B, and the threshold value EG 3746 generates a threshold
value envelope as shown in FIG. 8C. In the example of FIG. 8C, a value of the threshold
value envelope upon the key pressing is set to 1.0 that is the maximum value, so that
the contact sound is not generated upon the key pressing. Also, a value of the threshold
value envelope upon the key release is set smaller over time, so that the contact
sound can be easily heard over time. In the meantime, as described above, in addition
to each envelope as shown in FIGS. 8A to 8C, the addition ratio of the normal waveform
and the difference waveform may be controlled in the section mixer 375, and the addition
ratio of the normal waveform and the difference waveform in the section mixer 375
may be set to about 1:0.6.
[0050] Also, in the guitar 200 as shown in FIG. 2A, when the release is performed on the
string 210, a sound of the string 210 coming into contact with the fret 220 or the
like is generated, and the contact sound is difficult to be heard over time. In order
to reproduce the phenomenon, the normal waveform filter EG 3734 and the difference
waveform filter EG 3744 generate a filter envelope as shown in FIG. 9A, the normal
waveform amplifier EG 3735 generates an amplifier envelope as shown in FIG. 9B, and
the threshold value EG 3746 generates a threshold value envelope as shown in FIG.
9C. In the example of FIG. 9C, a value of the threshold value envelope upon the key
pressing is set smaller than a value of the normal waveform amplifier envelope during
a certain time period immediately after the key is pressed, so that the contact sound
is generated upon the key release and during a certain time period when pressing the
key. Also, a value of the threshold value envelope upon the key release is set to
the minimum value immediately after the key release, and increases toward 1.0 that
is the maximum value. Thereby, the contact sound is difficult to be heard over time.
In the meantime, as described above, in addition to each envelope as shown in FIGS.
9A to 9C, the addition ratio of the normal waveform and the difference waveform may
be controlled in the section mixer 375, and the addition ratio of the normal waveform
and the difference waveform in the section mixer 375 may be set to about 1:1.5.
(Processing)
[0051] Subsequently, processing that is executed by the CPU 310 is described in detail.
FIG. 10 is a flowchart depicting a sequence of processing that is executed by the
CPU. FIG. 11 is a subroutine flowchart depicting a sequence of sound source LSI control
processing of step S108 in FIG. 10. Algorithms shown in each flowchart are stored
as programs in the ROM 330 or the like, and are executed by the CPU 310.
[0052] As shown in FIG. 10, when a power supply becomes on, the CPU 310 first executes initialization
processing on each constituent element of the electronic musical instrument 300 (step
S101). Then, the CPU 310 executes user interface processing (UI processing) of displaying
a variety of information on the LCD 350 or receiving a user operation via the switch
panel 340 (step S 102). For example, the CPU 310 receives a user operation of selecting
a certain musical instrument sound from the multiple musical instrument sounds, via
the switch panel 340.
[0053] Subsequently, the CPU 310 determines whether the user has performed the key pressing
(step S103). When it is determined that the key pressing has been performed (step
S103: YES), the CPU 310 executes key pressing processing (also referred to as "sound
producing processing" or "note-on processing") (step S104). The key pressing processing
includes processing of acquiring a key number and a velocity of the key 361 on which
the key pressing has been performed, processing of assigning the generator section
371, and the like, for example. Also, the key pressing processing includes control
processing for causing the sound source LSI 370 to execute initialization and operation
start of each of the waveform generators 3731 and 3741 in the assigned generator section
371, readout of the waveform data in each of the waveform generators 3731 and 3741
of which operations have started, initialization of each of the EGs 3734, 3735, 3744
and 3746, and the like. In the meantime, the operation of each of the EGs 3734, 3735,
3744 and 3746 is automatically started in EG steady processing of step S107, which
will be described later. On the other hand, when it is determined that the key pressing
has not been performed (step S103: NO), the CPU 310 proceeds to processing of step
S105.
[0054] Subsequently, the CPU 310 determines whether the user has performed the key release
(step S105). When it is determined that the key release has been performed (step S105:
YES), the CPU 310 executes key release processing (also referred to as "silencing
processing ", "sound muffling processing" or "note-off processing") (step S106). The
key release processing includes processing of acquiring a key number and a velocity
of the key 361 on which the key release has been performed, control processing of
each of the EGs 3734, 3735, 3744 and 3746, and the like, for example. That is, the
CPU 310 executes, as the key release processing, processing of shifting each of the
EGs 3734, 3735, 3744 and 3746 to a release state, for example. On the other hand,
when it is determined that the key release has not been performed (step S105: NO),
the CPU 310 proceeds to processing of step S107.
[0055] Subsequently, the CPU 310 executes EG steady processing (step S107). More specifically,
the CPU 310 supplies parameters corresponding to the selected musical instrument sound
and the current state to each of the EGs 3734, 3735, 3744 and 3746, thereby executing
processing of generating envelopes. Then, the CPU 310 executes sound source LSI control
processing (step S108). The sound source LSI control processing will be described
later in detail with reference to FIG. 11.
[0056] Subsequently, the CPU 310 determines whether a value counted by the timer counter
390 is equal to or greater than 1000µsec, i.e., 1ms (step S109). When it is determined
that the counted value is not equal to or greater than 1000µsec, i.e., is less than
1000µsec (step S109: NO), the CPU 310 stands by until the counted value becomes equal
to or greater than 1000µsec. On the other hand, when it is determined that the counted
value is equal to or greater than 1000µsec (step S109: YES), the CPU 310 subtracts
1000µsec from the value counted by the timer counter 390 (step S110), and returns
to the processing of step S102. That is, the CPU 310 executes the processing of step
S109 and S110 so as to execute the processing from step S102 to S108 every 1000µsec
on average.
[0057] Subsequently, the sound source LSI control processing of step S108 is described in
detail. The CPU 310 controls the sound source LSI 370 to execute processing from step
S201 to S206 shown in FIG. 11.
[0058] More specifically, as shown in FIG. 11, in the sound source LSI 370, the filter envelope
generated by the difference waveform filter EG 3744 is set in the difference waveform
filter 3742 (step S201). Also, the amplifier envelope output by the envelope comparison
unit 3745 is set in the difference waveform amplifier 3743 (step S202). Also, the
filter envelope generated by the normal waveform filter EG 3734 is set in the normal
waveform filter 3732 (step S203), and the amplifier envelope generated by the normal
waveform amplifier EG 3735 is set in the normal waveform amplifier 3733 (step S204).
[0059] Then, it is determined whether both a value of the amplifier envelope generated by
the normal waveform amplifier EG 3735 and a value of the amplifier envelope output
by the envelope comparison unit 3745 have reached zero and the operations of both
the normal waveform amplifier 3733 and the difference waveform amplifier 3743 have
stopped (step S205).
[0060] When it is determined that the operations of both the amplifiers 3733 and 3743 have
stopped (step S205: YES), the operations of the normal waveform generator 3731 and
the difference waveform generator 3741 are also stopped (step S206), and the sound
source LSI control processing is over. On the other hand, when it is determined that
the operations of both the amplifiers 3733 and 3743 have not stopped (step S205: NO),
the sound source LSI control processing is over.
[0061] The present embodiment achieves following effects.
[0062] The electronic musical instrument 300 outputs the data of the added waveform obtained
by adding the normal waveform and the difference waveform corresponding to the portions
of the normal waveform exceeding a certain clipping level. Thereby, the electronic
musical instrument 300 can reproduce the contact sound of the string that is generated
in the musical instrument with strings and changes over time and in accordance with
a playing method and the like simply by executing the addition processing that is
relatively simple signal processing.
[0063] Also, in the electronic musical instrument 300, the difference waveform is a waveform
in which a sign of the portions of the normal waveform exceeding a certain clipping
level is inverted. Thereby, the electronic musical instrument 300 can add the normal
waveform and the difference waveform corresponding to the portions of the normal waveform
exceeding a certain clipping level and can output the data of the added waveform in
which a virtual clipping is reproduced.
[0064] Also, in the electronic musical instrument 300, the output value of the difference
waveform amplifier 3743 is adjusted, based on the difference between the amplitude
envelope of the normal waveform detected by the envelope detector 3736 and the threshold
value envelope generated by the threshold EG 3746. Thereby, the electronic musical
instrument 300 can favorably reproduce the contact sound that changes in accordance
with movement of actual strings in a musical instrument with strings.
[0065] Also, in the electronic musical instrument 300, the threshold value indicated by
the threshold value envelope is determined, in accordance with the musical instrument
sound selected by the user. Thereby, the electronic musical instrument 300 can favorably
reproduce the contact sound that is different for each musical instrument.
[0066] Also, in the electronic musical instrument 300, the normal waveform and the difference
waveform are added with a certain ratio. Thereby, the electronic musical instrument
300 can output the data of the added waveform including various clipping shapes.
[0067] Also, in the electronic musical instrument 300, the addition ratio of the normal
waveform and the difference waveform when the guitar sound is selected from the multiple
musical instrument sounds is set larger than the addition ratio when the acoustic
piano sound is selected. Thereby, the electronic musical instrument 300 can favorably
reproduce the contact sound of the soft damper 120 coming into contact with the string
130 in the acoustic piano 100 and the contact sound of the string 210 coming into
contact with the rigid metal fret 220 in the guitar 200.
[0068] In the meantime, the present disclosure is not limited to the above-described embodiment,
and can be diversely changed and improved within the claims.
[0069] For example, in the above-described embodiment, the difference waveform data is generated
in advance and is stored in the ROM 330. However, the difference waveform data may
not be stored in the ROM 330. In this case, when the normal waveform data is read
out from the ROM 330, the difference waveform data may be generated based on the normal
waveform data.
[0070] Also, in the above-described embodiment, the clipping level is set in the positive
region of the normal waveform. However, the clipping level may also be set in the
negative region of the normal waveform. In this case, the difference waveform is generated
as a waveform corresponding to portions in the negative region of the normal waveform
exceeding a certain clipping level. Also, the clipping level may be set for both the
positive and negative regions of the normal waveform.
[0071] Also, in the above-described embodiment, the parameter, the setting value and the
like corresponding to the velocity are supplied from the CPU 310 to the sound source
LSI 370. However, a parameter, a setting value and the like corresponding to an element
other than the velocity may be supplied to the sound source LSI 370. As the element
other than the velocity, after-touch that can be detected by a pressure sensor or
the like may be exemplified.
[0072] Also, in the above-described embodiment, the processing shown in FIG. 10 is executed
by the CPU 310. However, at least some of the processing shown in FIG. 10 may be executed
by the sound source LSI 370.
[0073] Also, in the above-described embodiment, the contact sounds that are generated in
the acoustic piano 100 and the guitar 200 are reproduced in the electronic musical
instrument 300. However, contact sounds that are generated in other musical instruments
with strings may also be reproduced. As the other musical instruments, folk musical
instruments such as sitar having a contact plate (bridge), a fretless bass, and the
like may be exemplified. In the folk musical instruments such as sitar, even when
vibration of the string is small to some extent, a long and stable contact sound is
generated. In order to reproduce such contact sound, the electronic musical instrument
300 may control so that a value of a level obtained by subtracting a level of the
threshold value envelope from a level of the amplitude envelope is a positive value
for a long time.
[0074] Also, in the above-described embodiment, the contact sounds that are generated in
the musical instruments with strings are reproduced in the electronic musical instrument
300. However, the contact sounds may be reproduced in other instruments. As the other
instruments, a PC and the like that are used for music production may be exemplified.
[0075] In addition, the present disclosure is not limited to the above-described embodiment,
and can be diversely modified without departing from the gist thereof, in the implementation
phase. Also, the functions that are executed in the above-described embodiment may
be implemented with being combined appropriately as much as possible. The above-described
embodiment includes inventions of diverse stages, and various inventions can be extracted
by combining appropriately a plurality of constituent elements disclosed in the embodiment.
For example, even if some constituent elements are omitted from all the constituent
elements disclosed in the embodiment, the resultant configuration can be extracted
as an invention, inasmuch as the effects can be achieved.
Reference Signs List
[0076]
- 300:
- electronic musical instrument
- 310:
- CPU
- 320:
- RAM
- 330:
- ROM
- 340:
- switch panel
- 350:
- LCD
- 360:
- keyboard
- 370:
- sound source LSI
- 371:
- generator section
- 372
- generator mixer
- 373:
- normal channel
- 3731:
- normal waveform generator
- 3732:
- normal waveform filter
- 3733:
- normal waveform amplifier
- 374:
- difference channel
- 3741:
- difference waveform generator
- 3742:
- difference waveform filter
- 3743:
- difference waveform amplifier
- 375:
- section mixer
- 380:
- D/A converter
- 385:
- amplifier
- 390:
- timer counter
1. An electronic musical instrument comprising:
means for inputting, based on a user operation on at least one operation element (361),
first waveform data to a first wave generator (3731) and second waveform data to a
second wave generator (3741), wherein the second waveform data indicates positive/negative
inversion data of a portion of the first waveform data exceeding a certain clipping
level, so as to cause the first wave generator (3731) to output first output data
(373) and the second wave generator (3741) to output second output data (374); and
means for generating addition data based on the first output data (373) output from
the first wave generator (3731) and the second output data (374) output from the second
wave generator (3741).
2. The electronic musical instrument according to Claim 1, further comprising:
a first system that includes a first waveform amplifier (3733) configured to output
the first output data (373), and
a second system that includes a second waveform amplifier (3743) configured to output
the second output data (374).
3. The electronic musical instrument according to Claim 2, wherein a degree of distortion
of the addition data is greater when an addition ratio of the second output data (374)
to the first output data (373) is a value larger than 1, and is smaller when the addition
ratio is a value smaller than 1.
4. The electronic musical instrument according to Claim 2 or 3, further comprising:
means for detecting (3736) an envelope of the first output data (373) output by the
first waveform amplifier (3733);
means for generating (3746) an envelope corresponding to a set threshold value; and
means for adjusting an output value of the second output data (374) output by the
second waveform amplifier (3743), based on a difference between the detected envelope
of the first output data (373) and the envelope corresponding to the set threshold
value.
5. The electronic musical instrument according to Claim 4, wherein a waveform of output
values of the second output data (374) when the difference is a first difference is
smaller than a waveform of output values of the second output data (374) when the
difference is a second difference greater than the first difference.
6. The electronic musical instrument according to Claim 4 or 5, wherein the set threshold
value is determined depending on a musical instrument which is selected based on a
user operation from a plurality of musical instruments.
7. The electronic musical instrument according to Claim 6, wherein a waveform of the
second output data that is added when a guitar is selected from the plurality of musical
instruments is greater than a waveform of the second output data that is added when
a piano is selected from the plurality of musical instruments.
8. A method comprising:
inputting, based on a user operation on at least one operation element (361), first
waveform data to a first wave generator (3731) and second waveform data to a second
wave generator (3741), wherein the second waveform data indicates positive/negative
inversion data of a portion of the first waveform data exceeding a certain clipping
level, so as to cause the first wave generator (3731) to output first output data
(373) and the second wave generator (3741) to output second output data (374); and
generating addition data based on the first output data (373) output from the first
wave generator (3731) and the second output data (374) output from the second wave
generator (3741).
9. The method according to Claim 8, wherein a degree of distortion of the addition data
is greater when an addition ratio of the second output data (374) to the first output
data (373) is a value larger than 1, and is smaller when the addition ratio is a value
smaller than 1.
10. The method according to Claim 9, further comprising:
detecting (3736) an envelope of the first output data (373) output by the first waveform
amplifier (3733);
generating (3746) an envelope corresponding to a set threshold value; and
adjusting an output value of the second output data (374) output by the second waveform
amplifier (3743), based on a difference between the detected envelope of the first
output data (373) and the envelope corresponding to the set threshold value.
11. The method according to Claim 10, wherein a waveform of output values of the second
output data (374) when the difference is a first difference is smaller than a waveform
of output values of the second output data (374) when the difference is a second difference
greater than the first difference.
12. The method according to Claim 10 or 11, wherein the set threshold value is determined
depending on a musical instrument which is selected based on a user operation from
a plurality of musical instruments.
13. The method according to Claim 12, wherein a waveform of the second output data that
is added when a guitar is selected from the plurality of musical instruments is greater
than a waveform of the second output data that is added when a piano is selected from
the plurality of musical instruments.
14. A program for causing a computer to execute a process, the process comprising:
inputting, based on a user operation on at least one operation element (361), first
waveform data to a first wave generator (3731) and second waveform data to a second
wave generator (3741), wherein the second waveform data indicates positive/negative
inversion data of a portion of the first waveform data exceeding a certain clipping
level, so as to cause the first wave generator (3731) to output first output data
(373) and the second wave generator (3741) to output second output data (374); and
generating addition data based on the first output data (373) output from the first
wave generator (3731) and the second output data (374) output from the second wave
generator (3741).