The disclosure herein relates to electronic musical instruments, methods and storage media therefor.
In an electronic musical instrument, a technique has been known in which when an operation of repeatedly producing a musical tone for a performance operator having a single pitch (hereinafter referred to as “rapid reiteration operation”) is performed, the tone is changed so that it sounds relatively natural.
See Japanese Patent Application Laid-Open No. 2020-129040.
However, there is room for improvement in the technique of bringing the musical sound produced during the rapid reiteration operations on an electronic musical instrument closer to a natural musical sound.
The present invention has been made in view of the above circumstances, and an object thereof is to provide an electronic musical instrument, a method and a program in which improvements have been made to bring a musical sound to be produced when a rapid reiteration operation is performed to be closer to a natural musical sound.
Additional or separate features and advantages of the invention will be set forth in the descriptions that follow and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, in one aspect, the present disclosure provides an electronic musical instrument, comprising: a performance controller; and at least one processor, configured to perform the following: instructing sound generation of a first musical tone in response to a first operation on the performance controller; in response to a second operation on the performance controller during the sound generation of the first musical tone, obtaining a first amplitude value of the first musical tone at a time of the second operation, and obtaining a second amplitude value at which a second musical tone is to be sound-produced in response to the second operation on the performance controller; acquiring a parameter value for determining at least one of pitch, timbre, and volume of the second musical tone based on a ratio of the first amplitude value to the second amplitude value; and instructing sound generation of the second musical tone in accordance with the acquired parameter value.
In another aspect, the present disclosure provides a method executed by at least one processor in an electronic musical instrument that includes, in addition to the at least one processor, a performance controller, the method comprising, via the at least one processor: instructing sound generation of a first musical tone in response to a first operation on the performance controller; in response to a second operation on the performance controller during the sound generation of the first musical tone, obtaining a first amplitude value of the first musical tone at a time of the second operation, and obtaining a second amplitude value at which a second musical tone is to be sound-produced in response to the second operation on the performance controller; acquiring a parameter value for determining at least one of pitch, timbre, and volume of the second musical tone based on a ratio of the first amplitude value to the second amplitude value; and instructing sound generation of the second musical tone in accordance with the acquired parameter value.
In another aspect, the present disclosure provides a computer readable non-transitory storage medium storing therein instructions, the instructions causing at least one processor in an electronic musical instrument that includes, in addition to the at least one processor, a performance controller to perform the following: instructing sound generation of a first musical tone in response to a first operation on the performance controller; in response to a second operation on the performance controller during the sound generation of the first musical tone, obtaining a first amplitude value of the first musical tone at a time of the second operation, and obtaining a second amplitude value at which a second musical tone is to be sound-produced in response to the second operation on the performance controller; acquiring a parameter value for determining at least one of pitch, timbre, and volume of the second musical tone based on a ratio of the first amplitude value to the second amplitude value; and instructing sound generation of the second musical tone in accordance with the acquired parameter value.
According to at least some of these aspects of the present invention, there is provided an electronic musical instrument, a method, and a program in which an improvement is added to bring a musical sound to be produced when a rapid reiteration operation is performed to be closer to a natural musical sound.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory, and are intended to provide further explanation of the invention as claimed.
The electronic musical instrument according to embodiments of the present invention will be described in detail with reference to the drawings. The method and program according to the embodiments of the present invention are realized by causing a computer/processor (circuit component) of an electronic musical instrument to execute various processes.
It should be noted that the technique of the present invention for producing a natural musical sound during the rapid reiteration operations can be applied to electronic musical instruments other than electronic pianos. Specifically, an acoustic instrument of a type that gives an impact to a vibrating body to generate a musical sound (for example, a percussion instrument, a plucked string instrument, a plucked string instrument, a chromatic percussion, etc.) may be configured as an electronic musical instrument within the scope of the present invention.
As shown in
The processor 10 collectively controls the electronic musical instrument 1 by reading out the programs and data stored in the ROM 12 and using the RAM 11 as a work area.
The processor 10 is, for example, a single processor or a multiprocessor, and includes at least one processor. In the case of a configuration including a plurality of processors, the processor 10 may be packaged as a single device, or may be composed of a plurality of physically separated devices in the electronic musical instrument 1.
As a functional block, the processor 10 has a musical tone/sound instructions part 101 that instructs the sound generation of a first musical tone/sound in response to a first operation on a performance controller (performance elements), an amplitude value acquisition part 102 that obtains a first amplitude value of the first musical sound in response to a second operation on the performance controller that occurs during the sound generation of the first musical sound and that obtains a second amplitude value of a second sound to be produced in response to the second operation, and a parameter value acquisition part 103 that acquires a parameter value for determining at least one of the pitch, timbre, and volume of the second musical tone based on the ratio of the first amplitude value to the second amplitude value. Here, each functional block of the processor 10 shown in
In this specification, two consecutive key pressing operations are defined as a first operation and a second operation. “Two consecutive key pressing operations” means that the next key pressing operation was performed during the sound production of the sound responsive to the first key pressing operation. Therefore, the second operation means the operation that occurs next to the first operation, performed during the sound production corresponding to the first operation (during the sound production of the first musical sound). In the case of three consecutive key press operations (that is, when the next key press operation is performed while two musical tones corresponding to two consecutive key press operations are being sound-produced), the second key press operation becomes the first operation, and the third key pressing operation becomes the second operation.
RAM 11 temporarily holds data and programs. The RAM 11 holds programs and data read from the ROM 12 and other data necessary for communication.
The ROM 12 is a non-volatile semiconductor memory, such as a flash memory, an EPROM (Erasable Programmable ROM), and an EEPROM (Electrically Erasable Programmable ROM), and plays a role as a secondary storage device or an auxiliary storage device. For example, waveform data 121 is stored in the ROM 12. As an additional note, the ROM 12 stores programs and data used by the processor 10 to perform various processes, and data generated or acquired by the processor 10 performing various processes.
The switch panel 13 is an example of an input device. When the user operates the switch panel 13, a signal indicating the corresponding operation is output to the processor 10 via the input/output interface 14. The switch panel 13 may be, for example, a mechanical type, a capacitive contactless type, a membrane type or the like having key switches, buttons, or the like. The switch panel 13 may be a touch panel.
LCD15 is an example of a display device. The LCD 15 is driven by the LCD controller 16. When the LCD controller 16 drives the LCD 15 according to the control signal by the processor 10, the LCD 15 displays a screen corresponding to the control signal. The LCD 15 may be replaced with other types of display device, such as an organic EL (Electro Luminescence) or an LED (Light Emitting Diode). The LCD 15 may be a touch panel. In this case, the touch panel may serve as both an input device and a display device.
The keyboard 17 includes a keyboard having a plurality of white keys and a plurality of black keys as a plurality of performance elements. Each key is associated with a different pitch.
The key scanner 18 monitors the key press and release of the keyboard. When the key scanner 18 detects, for example, a key press operation by a user, the key scanner 18 outputs key press event information to the processor 10. The key press event information includes the pitch (key number) of the key related to the key press operation and its speed (velocity value). The velocity value can be said to be a value indicating the strength of the key press operation.
The processor 10 operates as a musical sound/tone instruction part 101 that instructs the sound generation of a musical tone in response to an operation (first operation or second operation) for a key (performance element). The sound source LSI 19 generates a musical tone based on the waveform data read from the ROM 12 under the instruction of the processor 10. In the present embodiment, the sound source LSI 19 can simultaneously produce 128 musical tones. In the present embodiment, the processor 10 and the sound source LSI 19 are configured as separate devices, but in another embodiment, the processor 10 and the sound source LSI 19 may be configured as one processor.
Waveform data information of various tones such as “guitar” and “piano” are registered in the waveform data 121 stored in the ROM 12. In each of the waveform data information of various tones, waveform data are respectively registered to all key numbers for the target tone color (for example, piano). In more detail, for each key number, waveform data corresponding to a specified velocity value (that is, the strength of the operation on the performance element) is registered. For example, with 1<n1<n2<n3<127, for each key number, the waveform data corresponding to a low velocity value (1 or more and less than n1), the waveform data corresponding to a slightly lower velocity value (n1 or more and less than n2), the waveform data corresponding to a slightly high velocity value (n2 or more and less than n3), and waveform data corresponding to a high velocity value (n3 or more and 127 or less) are registered.
The processor 10 sets a musical tone (guitar, piano, etc.) according to the user's operation on the switch panel 13. The processor 10 reads out the waveform data corresponding to the key press event information (that is, the key number pressed and the velocity value at the time of key press) and the currently set tone color from the waveform data 121.
The musical sound signal generated by the sound source LSI 19 is amplified by the amplifier 21 after DA conversion by the D/A converter 20, and is output to a speaker (not shown).
Each generator section 19A_1 to 19A_128 includes a waveform generator 19a, a pitch envelope generator 19b, a filter 19c, a filter envelope generator 19d, an amplifier 19e, an amplifier envelope generator 19f, and an envelope detector 19g.
The waveform generator 19a reads out the waveform data according to the instruction from the processor 10 from the ROM 12 at the pitch corresponding to the pitch envelope waveform output from the pitch envelope generator 19b.
The pitch envelope generator 19b applies temporal changes in the pitch when the waveform generator 19a reads out the waveform data from the ROM 12.
The pitch envelope generator 19b outputs a pitch envelope according to the instruction by the processor 10 from among the three pitch envelopes respectively set for the key press event, the key release event, and the rapid reiteration event. The pitch envelope at the time of key pressing starts from level L0, reaches level L1 at speed R1, then descends at speed R2, and maintains a fixed level “0” which is a level when the key is continuously pressed. The pitch envelope at the time of key release reaches L3 at a speed R3 from the level at the time of key release, then descends at a speed R4, and finally maintains the level L4. The pitch envelope at the time of rapid reiteration muting stops the current note at the same time as the new note sound generation so that the pitch envelope goes to the level L5 at the speed R5.
The filter 19c changes the cutoff frequency according to the filter envelope output from the filter envelope generator 19d, and adjusts the frequency characteristics of the waveform data output from the waveform generator 19a.
The filter envelope generator 19d changes the cutoff frequency of the filter 19c over time.
The filter envelope generator 19d outputs a filter envelope according to the instruction by the processor 10 from among the three filter envelopes respectively set for the key press event, the key release event, and the rapid reiteration event. The filter envelope at the time of key pressing starts from level L0, reaches level L1 at speed R1, and then descends at speed R2 to maintain level L2. The filter envelope at the time of key release reaches L3 at a speed R3 from the level L2 at the time of key release, then descends at a speed R4, and finally maintains the level L4. The filter envelope at the time of the rapid reiteration muting stops the current note at the same time as the new note sound generation so that the filter envelope goes to the level L5 at the speed R5.
The amplifier 19e adjusts the volume of the waveform data output from the filter 19c by changing the amplification factor according to the amplifier envelope output from the amplifier envelope generator 19f.
The amplifier envelope generator 19f changes the amplification factor of the amplifier 19e over time.
The amplifier envelope generator 19f outputs an amplifier envelope according to an instruction from the processor 10 from among three amplifier envelopes respectively set for the key press event, the key release event, and the rapid reiteration event. The amplifier envelope at the time of key pressing starts from level L0, reaches level L1 at speed R1, and then descends at speed R2 to maintain level L2. The amplifier envelope at the time of key release reaches L3 at a speed R3 from the level L2 at the time of key release, then descends at a speed R4, and finally maintains a fixed level “0”. The amplifier envelope at the time of the rapid reiteration muting stops the current note at the same time as the new note sound generation so that the envelope goes to the level “0” at the speed R5.
The envelope detector 19g detects the envelope of the waveform output from the amplifier 19e. For example, the envelope detector 19g detects the envelope (in other words, the amplitude value) of the waveform output from the amplifier 19e by converting the waveform output from the amplifier 19e into absolute values with a rectifying circuit, and by smoothing the absolute valued waveform with a low-pass filter.
Here, if the waveform level is normalized, the value of the amplifier envelope generator 19f may be applied as the envelope of the waveform output from the amplifier 19e. Even if the waveform level is not normalized, a virtual level envelope generator can be driven separately for each generator section, and the value obtained from the level envelope generator may be applied as the waveform envelope output from the amplifier 19e.
Here, in an acoustic piano, which is an example of an acoustic musical instrument, the characteristics of musical tones generated when an impact is applied to a vibrating body will be described.
As shown in
When the user performs a rapid reiteration operation, the hammer 900 hits the vibrating string 902 that has been already vibrating. In this case, since the wave due to vibration moves on the string 902, the position (phase) of the wave at the time when the hammer 900 collides with the string 902 is basically different every time.
Further, as shown in Example 1 of
These accidental elements (i.e., which phase of the wave on the string 902 the point of collision of the hammer 900 with respect to the string 902 is, what relative velocity these collide with each other, etc.) are related to the characteristics of the vibration amplitude and harmonic components of the string 902 of the string 902 after the key is pressed, and therefore, affects the timbre and volume, etc., of the resulting musical sounds. Accordingly, the pitch, timbre, and volume of the musical tone/sound during the rapid reiteration operation change unpredictably. Therefore, if the exact same pitch, tone, and volume are repeated during the rapid reiteration operation, an artificial or mechanical tone/sound is produced, and the musical tone during the rapid reiteration operation will be heard as an unnatural musical tone.
Therefore, in the present embodiment, a key pressing process described below is executed such that the musical sound generated during the rapid reiteration operation becomes closer to the natural musical tone.
In the key pressing process according to the present embodiment, the ratio of the current amplitude value (first amplitude value a) of the vibrating body that is vibrating to which an impact is to be applied in the rapid reiteration operation and the strength of the key pressing this time (second amplitude value b) is obtained. Based on this, the pitch, timbre, and volume of the musical tone (second musical tone) to be sound-produced this time are controlled. Generator sections 19A_1 to 19A_128 correspond to the vibrating body here. The amplitude value (first amplitude value a) of the vibrating body is detected by the envelope detector 19g in the generator section.
If the interval between repeated hits is short, there may be a situation where multiple generator sections generate the same key number in parallel, albeit momentarily. Generator sections that produce the same key numbered tones are treated as the same vibrating body. The sum of the values detected by the envelope detector 19g of all generator sections that generate the same key number musical tone is treated as the current amplitude value (first amplitude value a) of that key number.
The musical tone generated when a large impact is applied to a vibrating body that is vibrating small does not deviate much from the musical tone generated when an impact is applied while the vibrating body is stationary (referred to as “resting state musical tone” for convenience). On the other hand, the musical tone generated when a small impact is applied to a vibrating body that is vibrating greatly often has a large variation from the stationary musical tone. That is, the larger the ratio (a/b) of the current amplitude value (first amplitude value a) of the vibrating body to the strength of the latest key press (second amplitude value b), the greater the variations in the musical sound during the rapid reiteration operation tend to be. It should be noted that the “variation” here is a uncertainty generated due to the accidental elements exemplified above, and represents the degree of the changes in the musical tone generated when an impact is applied to the vibrating body that is vibrating relative to the stationary musical tone.
As an example, even when the hammer 900 comes into contact with the vibrating string 902, which is vibrating greatly, at a slow speed, the string 902 still violently collides with the hammer 900, so that the impact between them is large and the shape of the waves moving on the string 902 may change in a complicated manner. Therefore, the musical tone generated in that case tends to include complicated overtones that are not found in the stationary musical tone, or the volume tends to be loud. In the key pressing process described below, a musical tone is generated in consideration of these changes so that the musical tone during the rapid reiteration operation can be heard as a natural musical tone.
When the key press operation is detected (step S1: YES), the processor 10 determines whether or not a musical tone (that is, the first musical tone) corresponding to a key number that is the same as the key number acquired in step S1 has been produced (step S2). When the first musical tone has not been produced (step S2: NO), the processor 10 instructs the sound source LSI 19 to generate sound according to the key press event information acquired in step S1 (in other words, the sound generation of the first musical tone now occurs) (step S3). That is, in step S3, the processor 10 operates as a musical tone (sound) instruction part 101 that instructs the sound generation of the first musical tone in response to the first operation on the key (performance element). By this sound generation instruction, the reading of the waveform data is started in the corresponding generator section, and the output of the envelope is started from each envelope generator.
If the first musical tone (sound) has been produced (step S2: YES), the processor 10 acquires the first amplitude value a of the first musical tone (sound) (that is, the amplitude value of the first musical tone at the time of the second operation), and acquires the second amplitude value b for the second musical tone to be produced in response to the second operation, which is the detected key operation (step S4). That is, in step S4, the processor 10 operates as the amplitude value acquisition part 102 that acquires the first amplitude value a of the first musical tone and the second amplitude value b for the second musical tone to be produced, in response to the second operation (of the same key as the first key operation) that is performed during the sound generation of the first musical tone.
The processor 10 determines the parameter value r based on the ratio of the first amplitude value a and the second amplitude value b acquired in step S4 (step S5), and instructs the sound source LSI 19 to generate the sound of the second musical tone (in other words, sound generation according to the second operation) in accordance with the thus determined parameter value r (step S6). By this sound generation instruction, the reading of the waveform data is started in the generator section, and the output of the envelope is started from each envelope generator.
As will be described in detail later, the parameter value r is a parameter value for determining at least one of the pitch, timbre, and volume of the second musical tone. As described above, in step S5, the processor 10 operates as the parameter value determination part 103 that acquires the parameter value r for determining at least one of the pitch, timbre, and volume of the second musical tone based on the ratio of the first amplitude value a and the second amplitude value b. Further, in step S6, the processor 10 operates as the musical tone instruction part 101 that instructs the sound generation of the second musical tone according to the parameter value r acquired in step S5.
By producing the second musical tone according to the parameter value r, the tendency of the change of the second musical tone (that is, the tendency that the larger the ratio (a/b), the larger the change of the second musical tone) is reproduced more faithfully. It is therefore possible to bring the musical tone during the rapid reiteration operations closer to the characteristics of a natural musical tone such as an acoustic instrument.
As described above, when the first musical tone corresponding to the previous key press operation is being produced at the time of the second operation, the processes of steps S4 to S6 in
As shown in
The processor 10 executes a generator section allocation process for allocating a generator section used for sound generation processing based on the key number acquired in step S101 (step S102).
In the generator section allocation process, a generator section that is not currently used for generating a musical tone is detected from the generator sections 19A_1 to 19A_128, and the detected unused generator section is assigned as a generator section for producing a musical tone. If all of the generator sections 19A_1 to 19A_128 have been used to generate the musical tone, the generator section with the lowest level of waveform envelope is dumped and the dumped generator section is assigned as the one for producing a musical tone.
As shown in
Numbers 1 to 128 are assigned to the generator sections 19A_1 to 19A_128, respectively. The processor 10 sets the variable n indicating the number of the generator section for which the status is to be confirmed to 1 (step S202). For convenience, the target generator section whose status is to be checked is referred to as “target generator section”.
The processor 10 checks the status of the target generator section to which the same number as the variable n is assigned (step S203). Specifically, the processor 10 checks whether the target generator section is currently in use to generate a musical tone.
If the target generator section is currently used to generate a musical tone (step S203: YES), the processor 10 acquires the value of the envelope detected by the envelope detector 19g of the target generator section (step S204). The acquired envelope value ranges from a minimum value of 0 to a maximum value of 100.
The processor 10 compares the value of each envelope that has been acquired in step S204 up to now after the start of the allocation process of generator section with the value of the envelope acquired in step S204 at this time, and determines whether or not the value of the envelope acquired in step S204 is the smallest value (step S205).
When the value of the envelope acquired in step S204 this time is the smallest value (step S205: YES), the processor 10 sets the target generator section as a candidate to be used for generating a musical tone corresponding to the current key press operation (step S206). For convenience, the generator section set as such a candidate is referred to as “assignment candidate generator section”. If the assignment candidate generator section is already set, the target generator section is overwritten as a new assignment candidate generator section. If the value of the envelope acquired in step S204 at this time is not the smallest value (step S205: NO), the processor 10 does not set the target generator section as the assignment candidate generator section.
The processor 10 determines whether or not the target generator section is in the process of generating a musical tone with the same key number as the key number acquired in step S101 (step S207). If a musical tone is being generated with the same key number (step S207: YES), the processor 10 adds the value of the envelope acquired in this step S204 to the first amplitude value a (step S208), and proceeds to step S211. When the musical tone is being generated with a different key number (step S207: NO), the processor 10 proceeds to step S211 without adding the value of the envelope to the first amplitude value a.
If the target generator section is not currently used to generate a musical tone (step S203: NO), the processor 10 determines whether or not a generator section for generating a musical tone corresponding to the current key press operation has already been assigned (step S209). For convenience, the one assigned as the generator section that generates the musical tone corresponding to the current key press operation is referred to as the “use assigned generator section”.
If the use assigned generator section is not assigned (step S209: NO), the processor 10 assigns the target generator section as the use assigned generator section (step S210), and proceeds to step S211. If the use assigned generator section has already been allocated (step S209: YES), the processor 10 proceeds to step S211 without executing step S210.
The processor 10 increments the variable n by 1 (step S211). The processor 10 determines whether or not the variable n after the increment is 129 (step S212). If the variable n is not 129 (step S212: NO), the processor 10 returns to step S203 and executes the processes of step S203 and thereafter on the updated target generator section that is specified by the incremented variable n.
When the variable n is 129 (step S212: YES), processing such as status confirmation has been completed for all 128 generator sections 19A_1 to 19A_128. Therefore, the processor 10 determines whether or not the use assigned generator section has been already allocated (step S213). If the use assigned generator section has been assigned (step S213: YES), the processor 10 ends the generator section allocation process of
If the use assigned generator section has not been assigned (step S213: NO), the processor 10 assigns the candidate generator section that has been finally set in step S206 as the use assigned generator section (step S214), and performs dump process on the use assigned generator section at the prescribed speed (for example, immediate dumping) (step S215).
The processor 10 determines whether or not the dumped use assigned generator section has generated the musical tone with the same key number as the key number acquired in step S101 (step S216). If the same key number is used to generate the musical tone (step S216: YES), the processor 10 subtracts the envelope value (that is, the amount muted by the dump processing) in the dumped use assigned generator section from the first amplitude value a (step S217), and ends the generator section allocation process of
Returning to the explanation in
The processor 10 acquires the second amplitude value b of the musical tone corresponding to the latest key pressing operation by using the velocity value v indicating the speed of the current key pressing operation (from another viewpoint, the strength of the key pressing) (step S104). Here, as a specific example of acquiring the second amplitude value b, a method of calculating the second amplitude value b using the following equation (1) is shown.
The second amplitude value b may also be described as “a second amplitude value for the second musical tone (sound) corresponding to the current key pressing operation (second operation)”. That is, in steps S102 to S104, the processor 10 operates as an amplitude value acquisition part 102 that acquires the first amplitude value a of the first musical tone that has been produced in response to the first operation on the performance element (a key of the keyboard 17 in this embodiment) and the second amplitude value b for the second musical tone to be produced according to the second operation on the same performance element (the same key number as the first operation) that is performed during the sound generation of the first musical tone.
b=(v/127)2×100 [Equation (1)]
As described above, the larger the ratio (a/b) of the amplitude value (first amplitude value a) of the vibrating body that is vibrating to the strength of the key press this time (second amplitude value b), the larger the variations in the musical sound during the rapid reiteration operations. Therefore, the processor 10 acquires the parameter value r that indicates the degree of the variations in the second musical tone (i.e., a value indicating the degree of the variations in pitch, timbre, and volume of the second musical during the rapid reiteration operation relative to the pitch, timbre, and volume of the stationary musical tone) (step S105). This way, in step S105, the processor 10 operates as the parameter value acquisition part 103 that acquires the parameter value r for determining the pitch, timbre, and volume of the second musical tone based on the ratio (a/b).
Here, as a specific example of acquiring the parameter value r, a method of calculating the parameter value r using the following equation (2) is shown.
r=log2(a/b)+N [Equation (2)]
N: Adjustment parameter for setting the parameter value r to a value of zero or more
If the ratio (a/b) is less than ½N, the parameter value r is clipped to zero.
If the ratio (a/b) becomes too large, the parameter value r also becomes too large, so there is a risk that the variation in the musical tone during the rapid reiteration operations will be calculated as an excessive value. Therefore, when the ratio (a/b) exceeds 2N, the parameter value r is clipped to a predetermined maximum value.
As an example, the adjustment parameter N is 5. In this case, the parameter value r is clipped to zero when the ratio (a/b) is less than 1/32. Further, when the ratio (a/b) exceeds 32, the parameter value r is clipped to 10 which is a predetermined maximum value. When the ratio (a/b) is 1/32 or more and 32 or less, the parameter value r takes a value of 0 to 10.
The processor 10 generates a random number mdi by a random function in order to give a natural change (for example, a change due to the above-mentioned accidental elements) to the pitch of the second musical tone produced by the latest key pressing operation (second operation) (step S106). The random number mdl is a value from −1 to +1.
The processor 10 acquires the pitch P of the second musical tone to which a natural change is to be given (step S107). Here, as a specific example of acquiring the pitch P, a method of calculating the pitch P using the following equation (3) is shown.
P=P
0
+P
DP·(r/10)·(rnd1+POFF/100) [Equation (3)]
P0: Reference pitch
PDP: Depth of pitch change
POFF: Offset value
The reference pitch P0 is a pitch uniquely determined by the waveform data read from the ROM 12 (in other words, a pitch that is uniquely determined by the currently set tone color and the key press event information where a natural change is not given.). The reference pitch P0 has a minimum value of 0 and a maximum value of 100.
Depth PDP is the depth (degree) of the pitch change, and has a minimum value of 0 to a maximum value of 100.
The offset value POFF adjusts the increase/decrease balance of the change in pitch by being added to the random number rnd1, and takes a value of −100 to +100.
The depth PDP and the offset value POFF are preset to appropriate values for each musical tone (guitar, piano, etc.) and key number, for example. Further, the depth PDP and the offset value POFF may be changed by the user operation on the switch panel 13.
In the present embodiment, the range of the pitch P is a minimum value of 0 to a maximum value of 100. Therefore, when the pitch P becomes less than zero according to the equation (3), the pitch P is clipped to zero. When the pitch P exceeds 100 according to the equation (3), the pitch P is clipped to 100.
The processor 10 sets the pitch P acquired in step S107 as the reference pitch of the second musical tone in the waveform generator 19a (step S108). As a result, when the second musical tone becomes a musical tone generated during the rapid reiteration operation, the musical tone is produced at a pitch with a natural change.
In order to change the reference pitch set in step S108 over time, the processor 10 sets the pitch envelope levels L0, L1 and speed R1 from the information acquired from the currently set tone color and key press event information (step S109).
The processor 10 generates a random number rnd2 by a random function in order to give a natural change (for example, a change due to the above-mentioned accidental elements) to the timbre of the second musical tone produced by the latest key pressing operation (second operation) (step S110). The random number rnd2 is a value from −1 to +1.
The processor 10 acquires the cutoff frequency f for the second musical tone to which a natural change is to be given (step S111). Here, as a specific example of acquiring the cutoff frequency f, a method of calculating the cutoff frequency f using the following equation (4) is shown.
f=f
0
+f
DP·(r/10)·(rnd2+fOFF/100) [Equation (4)]
f0: Reference cutoff frequency
fDP: Depth of change in cutoff frequency
fOFF: Offset value
The reference cutoff frequency f0 is a cutoff frequency uniquely determined by the waveform data read from the ROM 12 (in other words, a cutoff frequency when no natural change is given, and which is uniquely determined by the currently set tone color and key press event). The reference cutoff frequency f0 ranges has a minimum value of 0 and a maximum value of 100.
The depth fDP is the depth (degree) of change in the cutoff frequency, and has a minimum value of 0 and a maximum value of 100.
The offset value fOFF adjusts the increase/decrease balance of the change in the cutoff frequency by being added to the random number rnd2, and takes a value of −100 to +100. It should be noted that the musical sound during the rapid reiteration operation tends to have a higher volume and overtone components than the single striking sound (that is, the stationary musical tone). Therefore, by setting the offset value fOFF to a positive value, it is possible to adjust the cutoff frequency f so that it is likely to change to a value higher than the original reference cutoff frequency f0. In addition, by setting the offset value fOFF to +100, the cutoff frequency f can be adjusted so as to always change to a value equal to or higher than the original reference cutoff frequency f0.
The depth fDP and the offset value fOFF may also be preset to appropriate values for each tone color and key number, or may be changeable by user operation.
In the present embodiment, the range of the cutoff frequency f is a minimum value of 0 to a maximum value of 100. Therefore, when the cutoff frequency f becomes less than zero according to the equation (4), the cutoff frequency f is clipped to zero. When the cutoff frequency f exceeds 100 according to the equation (4), the cutoff frequency f is clipped to 100.
The processor 10 sets the cutoff frequency f acquired in step S111 as the reference cutoff frequency for the second musical tone in the filter 19c (step S112). As a result, when the second musical tone becomes a musical tone generated during the rapid reiteration operation, the musical tone is generated at a cutoff frequency with a natural change.
In order to change the reference cutoff frequency set in step S112 over time, the processor 10 sets the levels L0, L1 and the speed R1 of the filter envelope from the information acquired from the currently set tone color and key press event information (step S113).
The processor 10 generates a random number rnd3 by a random function in order to give a natural change (for example, a change due to the above-mentioned accidental elements) to the volume of the second musical tone produced by the latest key pressing operation (second operation) (step S114). The random number rnd3 is a value from −1 to +1.
The processor 10 acquires the volume level A of the second musical tone to which a natural change is to be given (step S115). Here, as a specific example of acquiring the volume level A, a method of calculating the volume level A using the following equation (5) is shown.
A=A
0·(ADP/100)·2{circumflex over ( )}[(r/10)·{rnd3+(AOFF/100)}] [Equation (5)]
A0: Reference volume level
ADP: Depth of change in volume level
AOFF: Offset value
The reference volume level A0 is a volume level uniquely determined by the waveform data read from the ROM 12 (in other words, a volume level when no natural change is given, which is uniquely determined based on the currently set tone color and key press event information). The reference volume level A0 has a minimum value of 0 and a maximum value of 100.
Depth ADP is the depth (degree) of change in volume level, and has a minimum value of 0 and a maximum value of 100.
The offset value AOFF adjusts the increase/decrease balance of the change in volume level by being added to the random number rnd3, and takes a value of −100 to +100. As described above, the musical sound during the rapid reiteration operation tends to have a higher volume and overtone components than the single striking sound. Therefore, by setting the offset value AOFF to a positive value, it is possible to adjust the volume level A so that it is likely to change to a value higher than the original reference volume level A0.
The depth ADP and the offset value AOFF may also be preset to appropriate values for each tone and key number, or may be changeable by user operation.
In the present embodiment, the range of the volume level A is a minimum value of 0 to a maximum value of 100. Therefore, when the volume level A exceeds 100 according to the equation (5), the volume level A is clipped to 100.
The processor 10 sets the volume level A acquired in step S115 as the reference volume level of the second musical tone in the amplifier 19e (step S116). As a result, when the second musical tone becomes a musical tone during the rapid reiteration operation, the musical tone is generated at a volume level (in other words, an amplification factor) with a natural change.
In order to change the reference volume level set in step S116 over time, the processor 10 sets the amplifier envelope levels L0, L1 and the speed R1 from the information acquired from the currently set tone color and key press event information (step S117).
The processor 10 issues a sound generation instruction for the use assigned generator section set in the generator section allocation process of
Therefore, the second musical tone generated in the use assigned generator section by executing the key pressing process in
The effect of giving the natural change to the second musical tone by executing the key pressing process of
In each of
In each case, in order to compare the second musical tones of the comparative example and the embodiment, the first musical tone is the same in the comparative example and the embodiment. For the second musical tone, the conditions of the second operation (timbre, key number, velocity value) are the same in the comparative example and the embodiment. The second musical tone of each comparative example is the second musical tone with no natural change being given, and is uniquely determined by the currently set timbre and the key press event information. The second musical tone of each embodiment is the second musical tone with a natural change being given by executing the key pressing process of
In the lower figures of
For convenience, in Case 1, the symbol MAX1 is attached to the amplitude value of the second musical tone at the time of T2 when it changes to the largest value, and the symbol MIN1 is attached to the amplitude value of the second musical tone at the time of T2 when it changes to the smallest value. Further, in Case 2, the symbol MAX2 is attached to the amplitude value of the second musical tone at the time of T2 when the value changes to the largest value, and the symbol MIN2 is attached to the amplitude value of the second musical tone at the time of T2 when the value changes to the smallest value. Further, in Case 3, the symbol MAX3 is attached to the amplitude value of the second musical tone at the time of T2 when the value changes to the largest value, and the symbol MIN3 is attached to the amplitude value of the second musical tone at the time of T2 when the value changes to the smallest value.
In the comparative examples, as shown in the lower figures of
On the other hand, in the Embodiments, as shown in the lower figures of
Case 1 has the largest ratio (a/b) among Cases 1 to 3. Case 3 has the smallest ratio (a/b) among Cases 1 to 3. The ratio of Case 2 (a/b) is an intermediate value between the ratio of Case 1 (a/b) and the ratio of Case 3 (a/b). Comparing the lower figures of
The present invention is not limited to the above-described embodiments, and can be modified at the implementation stage without departing from the gist thereof. The functions executed in the above-described embodiment may be combined as appropriate as possible. The embodiments described above include various stages, and various inventions can be extracted by an appropriate combination according to a plurality of disclosed constituent requirements. For example, even if some constituent elements are deleted from the constituent elements shown in the embodiment, if the same or similar effect can be obtained, the configuration in which the constituent elements are deleted can be regarded as an invention.
For example, in the above embodiments, the pitch, timbre, and volume of the second musical tone are all changed based on the parameter value r, but the configuration of the present invention is not limited to this. Even when one or two of the pitch, timbre, and volume of the second musical tone are changed based on the parameter values, the artificial or mechanical unnaturalness of the musical tone during repeated striking operations is avoided and the characteristics of the natural musical tone are approached to adequate degree for some applications.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover modifications and variations that come within the scope of the appended claims and their equivalents. In particular, it is explicitly contemplated that any part or whole of any two or more of the embodiments and their modifications described above can be combined and regarded within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2021-100632 | Jun 2021 | JP | national |
2021-107845 | Jun 2021 | JP | national |