This application claims the priority of Japan patent application serial no. 2019-191583, filed on Oct. 18, 2019. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The disclosure relates to an electronic percussion instrument, an electronic musical instrument, an information processing device, and an information processing method.
Electronic musical instruments having a plurality of playing operation elements which vibrates individually include electronic percussion instruments and electronic string instruments. For example, an electronic percussion instrument has a plurality of percussive surfaces (which will also be referred to as striking surfaces) as a plurality of playing operation elements. In electronic musical instruments, due to the structure thereof, there may be cases in which if a stroke is applied to a certain percussive surface, vibration on this percussive surface (which will be referred to as self-induced vibration) is transferred to other percussive surfaces and causes vibration (which will be referred to as excited vibration) thereon so that a sensor may erroneously detect the excited vibration as a stroke and erroneous sound generation (which will be referred to as crosstalk) may occur.
In the related art, there is a technology in which an amount of vibration in a playing operation element is detected, a largest value of the amount of vibration is stored, a reference value corresponding to a virtual quasi-envelope curve similar to an envelope curve of actual vibration of the playing operation element generated based on this largest value and the amount of vibration are compared to each other, and generation of musical sound is instructed (for example, refer to Japanese Patent Publication No. H7-69687). Processing for preventing such erroneous sound generation caused by crosstalk received from other percussive surfaces is referred to as crosstalk cancellation (for example, Japanese Patent Laid-Open No. 2013-145262).
[Patent Document 1] Japanese Patent Publication No. H7-69687
However, in the patent literature in the related art, there is no disclosure or implication regarding crosstalk cancellation applied to an electronic percussion instrument having two percussive surfaces directed in directions opposite to each other. That is, applying crosstalk cancellation to an electronic percussion instrument having two percussive surfaces directed in directions opposite to each other is not yet known.
In addition, the technology disclosed in Japanese Patent Publication No. H7-69687 has a problem as follows. As a way of playing a percussion instrument, there is a way of playing that is so-called “simultaneous striking” in which a plurality of percussive surfaces is hit simultaneously. In simultaneous striking, although a player intends to hit percussive surfaces simultaneously, there may be a deviation between timings of hitting the percussive surfaces due to a cause such as the skill or the like of the player. In addition, there are also cases of continuously striking two percussive surfaces during a short period of time
In the technology disclosed in Japanese Patent Publication No. H7-69687 (technology in the related art), a change in a reference value over time indicates a waveform which attenuates gradually with the elapse of time. In such a waveform, there is concern that a stroke on another percussive surface at a timing later than a timing of a stroke on a certain percussive surface may be erroneously canceled as crosstalk.
The problem of such erroneous crosstalk cancellation is not limited to electronic percussion instruments and is also a problem common in electronic musical instruments (for example, electronic string instruments) other than electronic percussion instruments having a plurality of playing operation elements in which excited vibration (crosstalk) is generated.
According to an embodiment of the disclosure, there is provided an electronic musical instrument including a first playing operation element and a second playing operation element. The electronic musical instrument includes a control device that performs processing of generating an envelope indicating a change in a reference value over time based on a waveform indicating vibration of the first playing operation element, wherein the reference value is for determining whether vibration of the second playing operation element is self-induced vibration or excited vibration entailed by vibration of the first playing operation element, and performs processing of not including information on a basis of excited vibration of the second playing operation element in information indicating operation of the second playing operation element by using the reference value indicated by the envelope. The envelope indicates an increase in the reference value during a first period from a starting time point to a first time point and indicates a decrease in the reference value during a second period from the first time point to an ending point.
The electronic musical instrument according to the embodiment of the disclosure may employ a configuration in which after comparison is performed every predetermined time point between a level of a waveform indicating vibration of the second playing operation element and a comparison target level set by adding the reference value at the corresponding time point indicated by the envelope to a threshold, the control device scans a waveform exceeding the comparison target level and does not scan any waveform not exceeding the comparison target level.
In addition, in the electronic musical instrument according to the embodiment of the disclosure, a value of the reference value at the starting time point may be configured to be a value obtained by multiplying a largest vibration value at the first time point by a predetermined coefficient. In addition, the electronic musical instrument is an electronic percussion instrument and may employ a configuration in which the first playing operation element and the second playing operation element are a first percussive surface and a second percussive surface, respectively. In this case, the second percussive surface may employ a configuration of being directed in a direction opposite to a direction of the first percussive surface. In addition, the first percussive surface may employ a configuration of being joined to the second percussive surface with a joint part therebetween.
According to another embodiment of the disclosure, there is provided an information processing device for an electronic musical instrument including a first playing operation element and a second playing operation element, the information processing device including:
a control device that performs processing of generating an envelope indicating a change in a reference value over time based on a waveform indicating vibration of the first playing operation element, wherein the reference value is for determining whether vibration of the second playing operation element is self-induced vibration or excited vibration entailed by vibration of the first playing operation element,
and performs processing of not including information on a basis of excited vibration of the second playing operation element in information indicating operation of the second playing operation element by using the reference value indicated by the envelope.
According to another embodiment of the disclosure, there is provided an information processing method performed by a control device of an electronic musical instrument including a first playing operation element and a second playing operation element, the information processing method including:
generating an envelope indicating a change in a reference value over time based on a waveform indicating vibration of the first playing operation element, wherein the reference value is for determining whether vibration of the second playing operation element is self-induced vibration or excited vibration entailed by vibration of the first playing operation element; and not including information on a basis of excited vibration of the second playing operation element in information indicating operation of the second playing operation element by using the reference value indicated by the envelope.
The embodiment of the disclosure may include an information processing device, an information processing method, a program, and a storage medium storing the program for the electronic percussion instrument described above. In addition, the embodiment of the disclosure may include an information processing device, an information processing method, a program, and a storage medium storing the program of the electronic musical instrument described above.
The disclosure provides an electronic percussion instrument, an electronic musical instrument, an information processing device, and an information processing method capable of executing more appropriate crosstalk cancellation.
Hereinafter, an embodiment will be described with reference to the drawings. The configuration of the embodiment is an exemplification, which is not limited to the configuration of the embodiment.
<Configuration of Electronic Musical Instrument>
In
A digital analog converter (DAC) 15 is connected to the sound source 14, the DAC 15 is connected to an amplifier 16, and the amplifier 16 is connected to a speaker 17. The CPU 11, the storage device 12, and the sound source 14 operate as a musical sound generation device 20. The CPU 11 is an example of “a control unit”, “a control device”, or “a processor”.
The storage device 12 includes a main storage device and an auxiliary storage device. The main storage device is used as a storage domain for a program or data, a working domain of the CPU 11, or the like. For example, the main storage device is formed to have a random access memory (RAM) or in a combination of a RAM and a read only memory (ROM). The auxiliary storage device is used as a storage domain for a program or data, a waveform memory for storing waveform data, or the like. For example, the auxiliary storage device is a flash memory, a hard disk, a solid state drive (SSD), an electrically erasable programmable read-only memory (EEPROM), or the like.
The input device 18 includes operation elements such as keys, buttons, and knobs. The input device 18 is used for inputting various kinds of information and data to the electronic musical instrument 10. The information and data include data for performing various kinds of setting in the electronic musical instrument 10. For example, the output device 19 is a display, which displays information such as parameters set for the electronic musical instrument 10.
The plurality of playing operation elements 13 is percussive surfaces when the electronic musical instrument 10 is an electronic percussion instrument and is a plurality of strings when the electronic musical instrument 10 is an electronic string instrument.
The CPU 11 performs various kinds of processing by executing the program stored in the storage device 12. For example, the CPU 11 generates a stroke waveform in accordance with operation of the playing operation elements 13 and performs sound generation processing of musical sound using musical sound data and the sound source 14. When generating a musical sound signal, the CPU 11 performs processing of avoiding erroneous sound generation (which will be referred to as crosstalk cancellation (XTC) processing) caused by excited vibration which occurs due to vibration transferred from other playing operation elements 13 for each of the playing operation elements 13.
The sound source 14 is a PCM sound source-type sound source circuit having a built-in waveform memory. The CPU 11 stores stroke waveform information after XTC processing in the waveform memory, reads tone information corresponding to the struck percussive surface from the storage device 12, and supplies the read tone information to the sound source 14. The sound source 14 generates and outputs a musical sound signal mimicking that of a percussion instrument (a Japanese drum, a bus drum, a tam-tam, a snare drum, hi-hat opening, hi-hat closing, or the like) through sound generation processing using the stroke waveform and the tone information. A musical sound signal emitted from the sound source 14 is supplied to the DAC 15, is converted into an analog signal, is amplified by the amplifier 16, and is emitted as sound from the speaker 17. An information processing device of the electronic musical instrument 10 includes at least the CPU 11 and the storage device 12. The processing executed by the CPU 11 may be performed by a processor (a DSP or the like) other than a CPU, or an integrated circuit (an ASIC, an FPGA, or the like).
For example, the electronic musical instrument 10 may be an electronic percussion instrument 10A shown in
In the electronic percussion instrument 10A, when one percussive surface of the percussive surfaces 13a and 13b vibrates, vibration thereof is transferred to the other percussive surface of the percussive surfaces 13a and 13b via the joint parts (frames and joint rods) and causes the other percussive surface to vibrate (excited vibration).
A controller 23 is disposed (fixed) inside a space between the percussive surface 13a and the percussive surface 13b surrounded by the joint rods 22. The controller 23 includes a casing in which a button group serving as the input device 18 and a display serving as the output device 19 are provided on a front surface thereof, and constituent elements (of the constituent elements shown in
The electronic percussion instrument 10B shown in
The frame 21c and the frame 21d are respectively supported by rods 24c and 24d which extend individually from an upper end part 24b of a strut 24a of the tripod stand 24. The frame 21c, the rod 24c, the upper end part 24b, the rod 24d, and the frame 21d are examples of a joint part joining the percussive surface 13a and the percussive surface 13b to each other.
In the electronic percussion instrument 10B as well, when one percussive surface of the percussive surfaces 13a and 13b vibrates, vibration thereof is transferred to the other percussive surface of the percussive surfaces 13a and 13b via the joint parts and causes the other percussive surface to vibrate (excited vibration).
In the example shown in
The electronic percussion instrument 10C shown in
In the electronic percussion instruments 10A and 10B, when the percussive surface 13a (13b) is struck, in a case in which the percussive surface 13b (13a) vibrates due to excited vibration, the percussive surface 13a (13b) corresponds to “a first percussive surface (playing operation element)” and the percussive surface 13b (13a) corresponds to “a second percussive surface (playing operation element)”. In this manner, in two percussive surfaces, a percussive surface which becomes a target for determining whether the vibration is self-induced vibration or excited vibration becomes “the second percussive surface (playing operation element)” and the other percussive surface causing excited vibration becomes “the first percussive surface (playing operation element)”. Regarding the percussive surfaces 13a and 13b of the electronic percussion instrument 10C as well, the foregoing definition for the first and second percussive surfaces is valid. Moreover, in the electronic percussion instrument 10C, regarding two pads adjacent to each other in at least one of a vertical direction, a lateral direction, and an oblique direction, crosstalk cancellation having one as the second percussive surface (playing operation element) and the other as the first percussive surface (playing operation element) is executed.
Vibration caused by a stroke on the percussive surface 13a is transferred to the percussive surface 13b via the joint parts and causes the percussive surface 13b to vibrate (excited vibration). An electrical signal output by the vibration sensor 30b includes not only the component of self-induced vibration on the percussive surface 13b but also the component of excited vibration. Similarly, an electrical signal output by the vibration sensor 30a includes not only the component of self-induced vibration on the percussive surface 13a but also the component of excited vibration.
When the CPU 11 executes the program stored in the storage device 12, the electronic instrument 10 operates as an apparatus including a stroke detection device 31 and a sound source unit 32. The stroke detection device 31 is formed to have the CPU 11 and the storage device 12. The sound source unit 32 is formed to have the sound source 14, the DAC 15, and the amplifier 16.
The stroke detection device 31 generates musical sound data (stroke information) corresponding to strokes on the percussive surfaces 13a and 13b, and the sound source unit 32 performs sound generation of musical sound on the basis of the stroke information. Musical sound is emitted as sound through the connected speaker 17.
A waveform analysis processing 70 is executed on demand every time the stroke waveform information is generated. In the waveform analysis processing 70, a stroke waveform indicated based on the stroke waveform information is analyzed, and stroke information including one or more parameters related to a stroke, such as a strength and a polarity of a stroke, is generated. The stroke information is supplied to the sound source unit 32.
Regarding a waveform after the rectification processing 53, rising detection 54 for detecting rising of vibration (stroke) is executed. In the rising detection 54, when there is an input of a level exceeding a predetermined level (comparison target level: threshold) regarding a waveform after rectification, this input is detected as rising.
When rising is detected, an XTC flag (a flag for validity of XTC (calculation of an XTC level)) is set to be valid (turned on). While the XTC flag is valid, in the rising detection 54 cyclically executed regarding a percussive surface other than the percussive surface on which this XTC flag is set to be valid, the XTC level at the corresponding time point t calculated through the XTC processing 60 is supplied for the rising detection 54. For example, when the XTC flag is turned on in the rising detection 54 related to the percussive surface 13a, while the XTC flag is turned on, an XTC level (L(t)) generated based on the vibration waveform of the percussive surface 13a is supplied for the rising detection 54 of the percussive surface 13b.
The XTC level is used for determining whether an input level has exceeded a predetermined level set in consideration of the XTC level. When the input level has not exceeded the predetermined level, a waveform related to this input level is regarded as vibration caused by crosstalk, and scanning (waveform scanning 55) of this waveform does not start. Therefore, the stroke waveform information obtained as an output of the stroke detection processing 50 does not include information of a waveform which has been derived from crosstalk (generated on the basis of excited vibration) and has not been scanned.
When a predetermined time elapses after rising is detected, the XTC flag is set to be invalid (turned off). The waveform scanning 55 is processing in which an input level that is detected during a certain period (for example, from when the XTC flag becomes valid until it becomes invalid) after rising is detected and determined as self-induced vibration on a percussive surface is stored in an internal memory (for example, the storage device 12).
The following are variables used when the XTC flag is valid.
In Step S01 shown in
In Step S02, the CPU 11 determines whether or not the input level IN of a vibration waveform is larger than a value (predetermined value THRE+X_L) indicating a comparison target level set by adding the XTC level to the threshold THRE. As described above, since the XTC level is 0 when the XTC flag for the other (another) percussive surface is not valid, it is determined whether the input level IN is larger than the threshold THRE. In this manner, the XTC level is an example of a reference value for determining whether vibration on a percussive surface is self-induced vibration or excited vibration.
Here, when it is determined that the input level IN is larger than the value (THRE+X_L) (YES in Step S02), the processing proceeds to Step S03. If not (NO in Step S02), the processing shown in
In Step S03, the CPU 11 starts scanning of a waveform related to a level exceeding the threshold THRE (predetermined value THRE+X_L). In Step S04, the CPU 11 makes the XTC flag related to crosstalk cancellation for the percussive surface of itself valid and ends the processing.
In Step S12, the CPU 11 performs largest vibration value calculation processing.
In Step S22, the CPU 11 determines whether the input level IN on the other (another) percussive surface having a valid XTC flag is larger than MAX(t) indicating the largest vibration value at the time point t. When it is determined that the level IN is larger than MAX(t) (YES in Step S22), the processing proceeds to Step S23. If not (NO in Step S22), the processing proceeds to Step S24.
In Step S23, the CPU 11 sets the value of IN to the value of MAX(t). Thereafter, the processing proceeds to Step S13 (
In Step S13, the CPU 11 performs XTC level calculation processing.
In Step S31, the CPU 11 determines whether or not the current time point t precedes the time point T_P (time point at which the Level L(t) of the XTC envelope becomes the largest). When it is determined that the current time point t precedes the time point T_P (YES in Step S31), the processing proceeds to Step S32. When it is determined that it is not so (NO in Step S31), the processing proceeds to Step S33.
In Step S32, the CPU 11 calculates L(t) using the following Expression (a).
L(t)=MAX(t)×X_R×(X_C+t×(1−X_C)/T_P) (a)
In Step S33, the CPU 11 calculates L(t) using the following Expression (b).
L(t)=MAX(t)×X_R/(T_E−T_P)×(T_E−t) (b)
In Step S34, the CPU 11 sets the value of L(t) obtained in Step S32 or S33 to the XTC level X_L, and the processing returns to Step S14 (
The time point T_P in
In this embodiment, the value of the XTC level L(t) at the time point T_P is defined as “MAX(T_P)×X_R”. MAX(T_P) indicates the largest vibration value at the time point T_P. X_R (XTC rate) is a value indicating the degree of effect of crosstalk cancellation. As the XTC rate increases, vibration regarded as crosstalk (excluded from the stroke waveform information) increases.
The value of the XTC level L(t) becomes the largest at the time point T_P. During a period (first period) from the time point of t=0 (an example of a starting point) to the time point T_P (an example of a first time point) which is an amplification period, L(t) increases with the elapse of time. The value of L(t) at the time point of t=0 may be 0. Alternatively, the value of “MAX(T_P)×X_R×X_C” may be used as shown in
X_C is an internal coefficient (predetermined coefficient) for linearly increasing L(t) toward the largest value “MAX(T_P)×X_R” of L(t) and has a value within a range of 0 to smaller than 1. When the time length of the first period is constant, as the value of X_C decreases, the gradient of increase becomes larger. In addition, during a period (second period) from the time point T_P to the ending point T_E (an example of a second time point) which is an attenuation period, L(t) decreases with the elapse of time.
Expression (a) for obtaining L(t) is a function for linearly increasing L(t) during the first period, and Expression (b) is a function for linearly decreasing L(t) during the second period. Expressions (a) and (b) are calculated using the parameters MAX(t), X_R, X_C, t, and T_P which have been described above. MAX(t) is obtained through calculation, and the value oft is obtained from an increment (clocking) of a counter.
Each of the parameters X_R, X_C, T_P, and T_S is a value set in advance through an experiment, a simulation, or the like and is stored in the storage device 12. However, these may be received by the CPU 11 through communication when the XTC rate is calculated or may be acquired from a storage device other than the storage device 12.
In Step S14 (
At the times t1 to t7, all the XTC flags are valid (turned on), and the input level IN is compared to the predetermined level (0<X_L) set by adding the XTC level X_L to the threshold THRE. At the times t1 to t6, the input level IN falls below the predetermined level, and at the time t7, the input level IN surpasses the predetermined level.
The sample exceeding the predetermined level becomes a target of the waveform scanning 55, and the sample not exceeding the predetermined level is excluded from the target of the waveform scanning 55. In other words, the waveform scanning 55 is performed for the sample exceeding the predetermined level, and the waveform scanning 55 is not performed for the sample not exceeding the predetermined level. As a result, as shown in
Here, if the samples at the times t1 to t6 are samples derived from crosstalk (on the basis of excited vibration), information related to these samples is not included in the stroke waveform information. This denotes that no crosstalk-derived component is included in the stroke information supplied to the sound source unit 32. Therefore, crosstalk-derived sound generation is not performed, and crosstalk is canceled. In this manner, the stroke detection device 31 performs processing of preventing information on the basis of excited vibration (crosstalk) on a certain percussive surface from being included in information indicating a stroke (operation) on a certain percussive surface (playing operation element) using the XTC level indicated by the XTC envelope.
The peak (A) in
Since one gradation in the graph of
In
The electronic percussion instrument 10B has rigidities of the joint parts lower than the rigidities of the joint parts of the electronic percussion instrument 10A and has a transfer velocity of vibration slower than that on the electronic percussion instrument 10A. For this reason, the length of T_P is longer than that of the electronic percussion instrument 10A.
Since the pads of the electronic percussion instrument 10C are disposed on a hard resin casing, it is easier for vibration to be transferred therein than in the electronic percussion instruments 10A and 10B. For this reason, the time length of T_P is short.
According to the embodiment, crosstalk cancellation processing can be applied to an electronic percussion instrument such as an electronic percussion instrument 10A having two percussive surfaces 13a and 13b directed in directions opposite to each other. In addition, in the electronic percussion instruments 10A, 10B, and 10C according to the embodiment, crosstalk can be canceled appropriately. Moreover, in a case in which two percussive surfaces are simultaneously struck such as simultaneous striking, even if a deviation occurs between timings of strokes, it is possible to avoid the peak due to a stroke on a side behind time from being removed as crosstalk.
In the embodiment, an aspect of generating an envelope has been described. However, an envelope (a change in L(t) over time) may be stored in the storage device 12 in advance, and the XTC level L(t) corresponding to the time t may be read from the storage device 12 and supplied in the step of calculating an envelope. In this way, a load on the CPU 11 can be reduced, and the processing time can be shortened. The configurations shown in the embodiment can be suitably combined within a range not departing from the objectives.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiment without departing from the scope or spirit of the disclosure. In view of the foregoing, it is intended that the disclosure covers modifications and variations provided that they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2019-191583 | Oct 2019 | JP | national |