Electronic musical instruments, electronic musical instrument control methods and software products
By setting multiple keys and processors in electronic musical instruments, the damping state of the keys is determined, and resonant tones with different timbres and pitches are generated. This solves the problem that existing technologies cannot simulate the resonance effect under the damping state of an acoustic piano, and achieves rich resonance tone effects.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-18
- Publication Date
- 2026-03-06
AI Technical Summary
Existing electronic musical instruments cannot simulate the resonance effect under damped conditions in an acoustic piano, resulting in a lack of rich resonance sound effects.
By setting multiple keys and processors in an electronic musical instrument, the damping state of the keys is determined, and resonant sounds with different timbres and pitches are generated to simulate the resonance characteristics of an acoustic piano.
It achieves rich resonance effects and can reproduce the resonance of an acoustic piano under damped conditions.
Smart Images

Figure CN116134510B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to electronic musical instruments, methods, and procedures capable of producing resonant sounds. Background Technology
[0002] In electronic musical instruments, there are known electronic musical instruments that produce a resonance effect between strings when the damper pedal is pressed or when multiple keys are pressed (for example, the technology described in Patent Document 1).
[0003] In the aforementioned prior art, only strings that are released by pressing a key or stepping on a damper pedal to release the damper, and strings that are always released, such as high-range keys or aliquat strings without a damper structure, produce a resonant sound for keyed notes.
[0004] Prior art literature
[0005] Patent documents
[0006] Patent Document 1: Japanese Patent No. 6690763 Summary of the Invention
[0007] The problem the invention aims to solve
[0008] In a real acoustic piano, even when the damper is not fully released (in a damped state), the string will resonate at a certain string with a damper, thus creating the rich sound of the piano. However, since there is no method in the current technology to achieve this damped state effect, it is difficult to reproduce the resonance effect based on the damped state in an acoustic piano.
[0009] The purpose of this disclosure is to produce a good resonant sound.
[0010] Problem-solving methods
[0011] In one example of an electronic musical instrument, the instrument has: a plurality of keys, including a first key and a second key having an overtone relationship with the first key; and at least one processor, the at least one processor performing the following processing: in response to the first key being operated, determining whether the second key is in a damped state or an undamped state; if the second key is in the undamped state, generating a resonant tone corresponding to the second key with at least one of a first resonant pitch and a first timbre; if the second key is in the damped state, generating a resonant tone corresponding to the second key with at least one of a second resonant pitch and a second timbre.
[0012] The effects of the invention
[0013] According to this disclosure, it is able to produce a good resonant sound. Attached Figure Description
[0014] Figure 1 This is a diagram illustrating an example of the hardware structure of an electronic musical instrument implementation.
[0015] Figure 2 This is a block diagram representing a structural example of an LSI (Liquid Sound Source).
[0016] Figure 3 This is a diagram (Figure 1) showing a structural example of the data for calculating the resonance pitch of each key.
[0017] Figure 4 This is a structural example of the data in the table for calculating the resonance pitch of each key (Figure 2).
[0018] Figure 5A This represents the resonance intensity data for each pitch difference. Figure 5B This is the candidate table data for the resonance pitch corresponding to the key press and... Figure 5C This is a diagram showing the structural examples of the vocal resonance information table data.
[0019] Figure 6 This is a flowchart representing a processing instance of the main process.
[0020] Figure 7 This is a flowchart illustrating a detailed example of keyboard processing.
[0021] Figure 8 This is a flowchart illustrating a detailed example of the creation and processing of a candidate table for the resonance pitch corresponding to a key press.
[0022] Figure 9 This is a flowchart illustrating a detailed example of the creation and processing of a vocal resonance information table.
[0023] Figure 10 This is a flowchart illustrating a detailed example of the first implementation of the resonant tone arbitration process.
[0024] Figure 11 This is a flowchart illustrating a detailed example of the second implementation of the resonant tone arbitration process.
[0025] Figure 12 This is a flowchart illustrating a detailed example of the third implementation of the resonant tone arbitration process. Detailed Implementation
[0026] Hereinafter, the methods for carrying out the present invention will be described in detail with reference to the accompanying drawings. Figure 1 This is a diagram illustrating an example of the hardware structure of an electronic keyboard instrument, which is an example of an electronic musical instrument. Figure 1In this system, the electronic keyboard instrument 100 is implemented, for example, as an electronic piano. Its structure includes a CPU (Central Processing Unit) 101, a ROM (Read-Only Memory) 102, a RAM (Random Access Memory) 103, a keyboard 104, a switch unit 105, and a sound source LSI 106, which are interconnected via a system bus 108. Furthermore, the output of the sound source LSI 106 is input to a sound system 107.
[0027] CPU 101 executes the program by simultaneously using RAM 103 as working memory and loading the control program stored in ROM 102 into RAM 103. Figure 1 The control actions of the electronic musical instrument 100.
[0028] The keyboard unit 104 detects the key press or release operation of each key, which is a plurality of playing operation components, and notifies the CPU 101.
[0029] The switch unit 105 detects the performer's operation of various switches and notifies the CPU 101. The switch unit 105 includes a damper pedal.
[0030] The sound source LSI 106 generates digital musical tone waveform data based on the pronunciation instruction data input from the CPU 101 and outputs it to the sound system 107. After converting the digital musical tone waveform data input from the sound source LSI 106 into an analog musical tone waveform signal, the sound system 107 amplifies the analog musical tone waveform signal using a built-in amplifier and plays it out from the built-in speaker.
[0031] The LSI106 is a dedicated large-scale integrated circuit that performs the musical tone generation processing described later. Based on commands from the CPU101, the LSI106 reads waveform data from a waveform memory that is not specifically illustrated, at a speed corresponding to the pitch of the key specified in the performance, adds an amplitude envelope of the dynamics specified in the performance to the read waveform data, and outputs the waveform data as the result as the output musical tone waveform data.
[0032] Figure 2 It means Figure 1 A block diagram illustrating the structure of an audio source LSI 106. The audio source LSI 106 includes: a waveform generator 201, further comprising a waveform generating device 210 capable of simultaneously oscillating 256 waveform data points (#1 to #256); a DSP (Digital Signal Processor) 202; a mixer 204; and a bus interface 203, wherein the waveform generator 201, DSP 202, and mixer 204 are connected to the bus interface 203. Figure 1 The system bus 108 is connected to the system bus for communication. Figure 1 Access to RAM 103 or communication with CPU 101.
[0033] Waveform generators #1 to #256 of waveform generator 201 are oscillators that reproduce timbre by reading waveform data from a waveform ROM (not specifically illustrated) through, for example, time-division processing. DSP 202 is a digital signal processing circuit that brings acoustic effects to the sound signal. Mixer 204 controls the flow of the entire sound signal by mixing signals from each waveform generator 210, or by transmitting and receiving signals with DSP 202, and outputs it externally. Specifically, mixer 204 adds an envelope based on DSP 202 corresponding to the musical tone parameters supplied from CPU 101 to the waveform data read from the waveform ROM by each waveform generator 210 of waveform generator 201 according to the performance, and outputs it as output musical tone waveform data. The musical tone output data of mixer 204 is output to... Figure 1 The sound system 107 outputs an analog musical signal at a specified signal level to a speaker or headphones, etc., via a D / A converter and amplifier (not specifically illustrated) within the sound system 107.
[0034] Figure 3 and Figure 4 This is a diagram illustrating a structural example of the resonant pitch calculation table data for each key. This resonant pitch calculation table data is table data that stores the following data for each key of the keyboard section 104, for example, 88 keys: key pitch, indicating the pitch of the key when it is pressed; first resonant pitch, simulating the vibration of the piano string (hereinafter referred to as "string") of the key when the key is in an undamped (released) state; and second resonant pitch, simulating the vibration of the string of the key when the key is in a damped state. This resonant pitch calculation table data is generated from, for example, when the power to the electronic keyboard instrument 100 is turned on. Figure 1 The ROM102 is loaded into RAM103. Furthermore, Figure 3 and Figure 4 The "Supplementary" column is for illustrating the implementation method and is not included in the data of the key resonance pitch calculation table.
[0035] In a practical acoustic piano, as a basic action, strings that are released by pressing a key or stepping on the damper, and strings that are always released, such as high-pitched keys or evenly spaced strings without dampers, become undamped and vibrate in resonance with the string corresponding to the keyed note, producing a resonant tone. However, not only in this basic action, even on strings with dampers that are not released, resonance occurs with the keyed string, thus producing the rich sound of the piano. In this case, the second resonant pitch of a string vibrating as a resonant tone when a keyed string is in a damped state is, compared to the first resonant pitch corresponding to the original vibration frequency of the string when it is undamped, such as... Figure 3 and Figure 4 As shown in the "Supplementary" section, it is either a triplet or a doublet in frequency. This can vary not only depending on the key range of the key tone but also on the manufacturer or type of acoustic piano. Furthermore, in actual acoustic pianos, for example... Figure 4 As illustrated by keys 54 to 68, there are also strings structurally designed not to resonate. Furthermore, as illustrated by keys 69 to 88, in the high-pitched key range, there are strings that are structurally undamped and always resonate at the first resonance pitch. Additionally, although not illustrated, in a configuration known as equal-segmented stringing, for example in each of the three octaves on the high-pitched side, an additional (fourth) string, called the equal-segmented string, is mounted slightly higher than the other three strings and is not struck by the hammer. When the hammer strikes the existing three strings, the equal-segmented string is always undamped, thus also resonating at the first resonance pitch. Equal-segmented stringing increases the overall vibrational energy of the instrument and can produce very complex and colorful tones. In addition, the key pitch, first resonance pitch, and second resonance pitch assigned to each key are also subtly varied according to the tuning of each string, and sometimes intentionally varied according to the tuning.
[0036] Therefore, in the implementation, in order to simulate the resonance characteristics of an actual acoustic piano as described above, for example, each of the 88 keys can have a key pitch, a first resonance pitch, and a second resonance pitch, as an example... Figure 3 and Figure 4 The illustrated table shows the resonance pitch calculation data for each key. The production control of the resonance tone in this embodiment is performed by referring to this table. Therefore, this embodiment is able to reproduce various characteristics of a real acoustic piano.
[0037] That is, according to one embodiment, the musical tone corresponding to the first key that is pressed is generated by synthesizing the musical tone that directly corresponds to the key number of the first key and the resonant tone corresponding to the key numbers of multiple second keys whose pitch is an overtone to the pitch of the first key. Figure 3 and Figure 4 The resonant tone generated corresponding to the key number of the second key is set to a different sound depending on whether the second key is in a damped or undamped state. In one embodiment, when the second key is determined to be in an undamped state, data of the first timbre is used; when the second key is determined to be in a damped state, data of the second timbre is used. In another embodiment, when the second key is determined to be in an undamped state, the resonant tone of the second key is generated at the first resonant pitch; when the second key is determined to be in a damped state, the resonant tone of the second key is generated at, for example, a second resonant pitch higher than the first resonant pitch. Of course, these embodiments can be combined arbitrarily.
[0038] Here, the damped state of the second key is equivalent to the case where the second key is not pressed and the damper pedal is not depressed. The undamped state of the second key is equivalent to either the case where the second key is pressed or the case where the damper pedal is depressed.
[0039] In addition, Figure 3 and Figure 4 The pitch after tuning is recorded in the key tone calculation table for each key resonance pitch shown in the examples. Figure 1 When a key on the keyboard section 104 is pressed, the key tone is determined by referring to the key tone, and the key tone that reflects the tuning information can be specified.
[0040] Figure 5A This is a diagram illustrating the structure of the resonance intensity table data for each pitch difference. In this table, the pitch of the key being pressed is set to a relative value of 0. The table also sets the pitch difference in semitone units that may produce the resonant sound for that key, and the resonance intensity ratio of the resonant sound in each pitch difference (overtone relationship). This pitch difference is a relative pitch difference corresponding to the overtone relationship of the keyed sound. When the electronic keyboard instrument 100 is powered on, for example, the data in this pitch difference resonance intensity table is generated from... Figure 1 The ROM 102 is loaded into the RAM 103. Furthermore, the resonance intensity ratios can also be changed by the user. Figure 5A In the middle, the "Supplement (Overtones)" column is used to make the relationship between pitch difference and overtones easier to understand, and is not included in the resonance intensity table data for each pitch difference.
[0041] That is, according to Figure 5AIn one illustrated embodiment, when the pitch of the second key is a doublet of the pitch of the first key, the resonant tone corresponding to the key number of the second key is synthesized with the musical tone directly corresponding to the key number of the first key at the same intensity (1x) as the first key. Furthermore, when the pitch of the second key is a triplet of the pitch of the first key, the resonant tone corresponding to the key number of the second key is synthesized with the musical tone directly corresponding to the key number of the first key at a weaker intensity (0.8x) than the doublet. Moreover, when the pitch of the second key is a fiftht of the pitch of the first key, the resonant tone corresponding to the key number of the second key is synthesized with the musical tone directly corresponding to the key number of the first key at a weaker intensity (0.6x) than the triplet.
[0042] Figure 5B This is a diagram illustrating the structure of a candidate table of resonance pitches corresponding to key presses. In this candidate table, the pitch of the key being pressed is set to a relative value of 0. Based on the key pitch, the table stores the pitch differences for each possible resonance tone in both the negative and positive directions. Each possible resonance tone has... Figure 5A The pitch of each pitch difference (overtone relation) set in the pitch difference resonance intensity table data for each pitch difference is illustrated; the pitch candidates for each pitch difference of each resonant tone for the actual pitch value of the key pitch are also illustrated; and the pitch candidates for each resonant pitch are also illustrated. Figure 5A Each resonance intensity ratio candidate is obtained from the resonance intensity table data for each pitch difference illustrated. When performing the keyboard processing described later, the CPU 101 creates a candidate table data for the resonance pitch corresponding to the key in RAM 103 each time a key is detected.
[0043] Figure 5C This is a diagram illustrating an example of the structure of a vocal resonance information table. In this vocal resonance information table, calculations and... Figure 5B The illustrated key corresponds to the resonance pitch candidate table data, which calculates information related to the resonance pitch candidates that can actually be produced. Specifically, the resonance pitch information table data stores: the resonance key tone, which is used as... Figure 5B The illustrated key corresponds to the resonance pitch candidate table data, and the candidate pitch is calculated from each resonance pitch candidate. Figure 1 The keyboard 104 contains 88 keys, each with a string acting as a resonant tone, representing the actual pitch of the key that can produce sound; the timbre of this resonant tone is called the sounding resonance timbre; the pitch of this resonant tone is called the sounding resonance pitch; and the sounding resonance intensity represents the resonance strength (force) when the resonant tone is produced. When the CPU 101 detects a key press during keyboard processing, it creates a key in RAM 103. Figure 5BAfter illustrating the candidate resonance pitch table data for each button, the system retrieves whether the candidate resonance pitch for that button's corresponding entry is registered. Figure 3 and Figure 4 The illustrated key resonance pitch calculation table data includes either the first or second resonance pitch. In this case, the CPU 101 retrieves the first resonance pitch for each key resonance pitch calculation table data when the corresponding key is determined to be in an undamped state, and retrieves the second resonance pitch when the corresponding key is determined to be in a damped state. Then, when the CPU 101 finds the first resonance pitch for a candidate resonance pitch, it... Figure 5C In the new entries of the illustrated vocal resonance information table, the key tone corresponding to the retrieved first resonance pitch is registered as the vocal resonance key tone; the resonance tone used for releasing the strings (hereinafter referred to as "released string resonance tone") is registered as the vocal resonance tone; the retrieved first resonance pitch is registered as the vocal resonance pitch; and the force of the detected key press is multiplied by the resonance pitch candidate and registered in... Figure 5B The illustrated button corresponds to a value obtained by comparing the resonance intensity of the candidate resonance pitch in the resonance pitch candidate table data with the candidate value, and this value is registered as the vocal resonance intensity, representing the strength of the emitted resonance sound. On the other hand, when the CPU 101 finds the second resonance pitch among a resonance pitch candidate, in Figure 5C In the new entries of the illustrated sound resonance information table, the key tone corresponding to the retrieved second resonance pitch is registered as the sound resonance key tone; the resonance tone used for the unreleased string as the second timbre (hereinafter referred to as "unreleased string resonance tone") is registered as the sound resonance tone; the retrieved second resonance pitch is registered as the sound resonance pitch; and the force of the detected key press is multiplied by the resonance pitch candidate and registered in... Figure 5B The value obtained by comparing the resonance intensity in the candidate table data corresponding to the illustrated key is registered as the resonance intensity of the emitted resonance sound, representing the strength of the emitted resonance sound.
[0044] Here, in Figure 1 When the damper pedal included in the switch unit 105 is activated, the CPU 101 determines that all keys in the 88 keys are in a non-damped state. Additionally, the CPU 101 determines that keys pressed in the keyboard unit 104 are in a non-damped state. Furthermore, the CPU 101 calculates the resonance pitch of each key in the key resonant pitch calculation table data, such as... Figure 4As exemplified by keys 54 to 88, keys that are not registered with a second resonance pitch, have a damping state disabled, or are set to non-resonance are determined to be in an undamped state. On the other hand, when the damper pedal is off, the CPU 101 determines keys other than those that are not pressed on the keyboard 104, have not registered a second resonance pitch, have a damping state disabled, or are set to non-resonance to be in a damped state. Based on this undamped or damped state, the CPU 101 controls the sound produced when each key is pressed, thereby simulating the action of the damper pedal in an actual acoustic piano or the like.
[0045] Along with the key tones produced by the buttons, the CPU101 generates indicators and... Figure 5C The table of registered vocal resonance information records the note-on events for each entry corresponding to each resonance sound, and also records the note-on events for each resonance sound. Figure 1 The LSI106 audio source is used for instruction.
[0046] In the embodiment of the electronic musical instrument 100, the CPU 101 executes functions described below. Figures 6 to 12 The control program, including flowcharts and other functionalities, enables the control of the electronic keyboard instrument 100. This control program can be recorded and distributed on a removable recording medium (not specifically illustrated), or obtained from a network via a communication interface (not specifically illustrated) and stored in ROM 102.
[0047] Figure 6 It means as Figure 1 The flowchart illustrates a main processing example where the CPU 101 loads the control program stored in ROM 102 into RAM 103 and executes the actions of that control program. When Figure 1 When the power switch (not specifically shown) inside the switching section 105 is turned on, the CPU 101 causes... Figure 6 The main process is illustrated in the flowchart.
[0048] CPU101 first performs initialization processing, initializing the variable group in RAM103. Additionally, CPU101 will... Figure 3 and Figure 4 The illustrated table of resonant pitch calculations for each key and Figure 5A The data for each pitch difference resonance intensity table shown is loaded from ROM 102 into RAM 103 (as described in step S601). Afterwards, CPU 101 can randomly access the data in each table on RAM 103.
[0049] Next, the CPU101 repeatedly executes the switch processing in step S602, the keyboard processing in step S603, and other processing in step S604.
[0050] In the switching process of step S602, CPU101 detects... Figure 1 The CPU 101 sets the operating states of the switch unit 105 as corresponding variables in the RAM 103. In particular, when the damper pedal in the switch unit 105 is operated, the CPU 101 stores the open or closed state of the damper pedal as a damper pedal variable in the RAM 103.
[0051] The keyboard processing in step S603 will be described later.
[0052] In other processes of step S604, CPU 101 performs processes related to the control of the electronic keyboard instrument 100, other than the switching process of step S602 and the keyboard process of step S603.
[0053] Figure 7 It means Figure 6 The flowchart below shows a detailed example of keyboard processing step S603. First, the CPU 101... Figure 1 Scan each key on keyboard 104 (step S701).
[0054] Next, the CPU101 determines whether the key's button state has changed (step S702).
[0055] If the key press state does not change, CPU101 will terminate directly. Figure 7 The flowchart illustrates this. Figure 6 The keyboard processing step S603.
[0056] If the CPU101 detects a key press in step S702, it will adjust the key according to the key number corresponding to the key on the keyboard 104 when the key press occurred (see reference). Figure 3 or Figure 4 The key pitch and dynamics are determined by the key resonance pitch calculation table data, and a note activation event is created (step S703). This note activation event is then sent to... Figure 1 The sound source LSI106 sends the signal (step S704). When the note activation event is received, the sound source LSI106 assigns a signal to the LSI106. Figure 2 The waveform generator 201 illustrated uses waveform generators #1 to #256, each corresponding to a specific sound channel (CHi) (1≤i≤256). The assigned waveform generator 210 uses, for example, a time-division processing-based sound channel (CHi) to read waveform data of a timbre pre-specified by the switch unit 105 at a waveform readout speed corresponding to the aforementioned key tone from the waveform ROM not specifically illustrated. This waveform data is then amplified in the mixer 204 by the velocity specified by the aforementioned note activation event to generate musical tone waveform data.
[0057] Next, the CPU101 creates a key flag in RAM103 indicating that a key press has occurred (step S705).
[0058] Next, CPU 101 performs the process of creating a candidate table of resonance pitches corresponding to the buttons (step S706). Here, CPU 101 performs the aforementioned process of creating a candidate table of resonance pitches on RAM 103. Figure 5B The illustrated key press corresponds to the processing of the resonance pitch candidate table data. Details of this processing can be found using... Figure 8 The illustrated flowchart will be described later.
[0059] Next, CPU 101 performs the vocal resonance information table creation process (step S707). Here, CPU 101 performs the creation of the aforementioned vocal resonance information table on RAM 103. Figure 5C The processing of the illustrated articulation resonance information table data. Details of this processing can be found using... Figure 9 The illustrated flowchart will be described later.
[0060] Then, CPU101 generates a note activation event for each resonance tone calculated based on each entry of the vocal resonance tone information table data generated in step S707 (step S708), and sends the note activation event to... Figure 1 The sound source LSI106 sends the signal (step S709). When the note activation event of each resonant tone is received, the sound source LSI106 allocates the signal accordingly. Figure 2 The waveform generator 201 illustrated uses a specific sound channel (CHi) (1≤i≤256) of waveform generator 210 from #1 to #256. Thus, using each sound channel, waveform data of each resonant tone is output from each waveform generator 210. The key tone generated using a sound channel of one waveform generator 210 in step S704 and the resonant tones generated using sound channels of more than one waveform generator 210 in step S709 are mixed in mixer 204. After amplitude envelope characteristics are assigned by DSP 202, they are output as musical tone output data. Figure 1 The sound system 107. Then, CPU 101 terminates. Figure 7 The flowchart illustrates this. Figure 6 The keyboard processing step S603.
[0061] If the CPU101 detects a key release in step S702, it generates a note off event (step S710) by using the key tone corresponding to the key number on the keyboard 104 at the time of key release, and sends the note off event to... Figure 1The sound source LSI 106 sends the signal (step S711). When the note-off event is received, the sound source LSI 106 performs a mute process, which stops the output of waveform data of the key tone from the waveform generator 210 in the key tone sounding channel assigned within the note-off event.
[0062] Next, CPU101 deletes the key mark created in RAM103 corresponding to the key tone that occurred (step S712).
[0063] Next, the CPU 101 creates a key in RAM 103 based on the key tone that corresponds to the debonding. Figure 5C The illustrated vocal resonance pitch information table data is used to generate a note closure event for each resonance pitch (step S713), and each note closure event is sent to the sound source LSI 106 (step S714). When each note closure event is received, the sound source LSI 106 performs a mute process, which stops the output of waveform data of each resonance pitch from each waveform generator 210 in each vocal channel that is assigned the vocal resonance pitch within each note closure event.
[0064] Finally, the CPU 101 will generate a corresponding key tone in RAM 103 that corresponds to the debonding key tone. Figure 5C The illustrated vocal resonance information table data is deleted from RAM 103 (step S715). Then, CPU 101 terminates. Figure 7 The flowchart illustrates this. Figure 6 The keyboard processing step S603.
[0065] Figure 8 It means in Figure 7 The flowchart below shows a detailed example of the button-corresponding resonance pitch candidate table creation process performed in step S706. First, the CPU101 will... Figure 7 The key number (key number) of the key tone obtained in step S701 is stored in the variable key_num_on on RAM103 (step S801). Furthermore, in the following explanation, variable names are sometimes referred to as variable values. For example, the value stored in the variable key_num_on is sometimes recorded as "variable value key_num_on", etc.
[0066] Next, in order to process the pitch difference from the direction with the largest negative pitch difference to the key pitch using the key pitch as a reference, the CPU 101 sets the value of variable i in RAM 103 to 6 (and... Figure 5A For each pitch difference resonance intensity table data shown, No. = 6 corresponds to the variable flag on RAM103, which indicates the processing direction, setting it to represent the negative direction (in...). Figure 5AThe value of No in each pitch difference resonance intensity table data shown is -1 (from value 6 to value 0). (Step S802)
[0067] Then, CPU101 adds the value of variable i to the value of variable flag each time, that is, the value of variable flag is -1, so it subtracts 1 each time, while repeatedly executing the following series of processes from S803 to S807, until the determination in step S809 is "yes", and the determination is that the value of variable i has decreased from the value of 6 to the value of -1 (step S810).
[0068] In the series of processes from steps S803 to S807, CPU101 first obtains Figure 5A The information of the i-th entry shown by variable i in each of the pitch difference resonance intensity table data is illustrated in step S803. As a result, CPU 101 sets the negative pitch difference value obtained by multiplying the pitch difference obtained from the i-th entry by the value of variable flag -1 as the variable pitch_def in RAM 103, and sets the value of the resonance intensity ratio obtained in the same way as the variable pitch_def_amp in RAM 103.
[0069] Next, CPU101 calculates the pitch of the position from the key pitch deviation of the current pitch difference by adding the key number value key_num_on set on the variable in RAM103 in step S801 and the pitch difference value pitch_def set on the variable in RAM103 in step S803, and stores the value in the variable key_num_c in RAM103 (step S804).
[0070] Next, CPU101 determines whether the variable value key_num_c falls within the range of 1 to 88 corresponding to key 88 (step S805).
[0071] If the determination in step S805 is "no", then the pitch exceeds the range of 88 keys and cannot be used as a resonant sound. Therefore, CPU101 moves to step S808 and updates the variable value i.
[0072] If the determination in step S805 is "yes", then the pitch can become a candidate for a resonant tone. Therefore, CPU101 first selects from... Figure 3 or Figure 4 The key tone of the entry corresponding to the key number of the candidate resonance pitch calculated in step S804, obtained from the key resonance pitch calculation table data of each illustrated key, is set as the variable key_c on RAM103 (step S806).
[0073] Then, CPU101 in Figure 5B The example button adds an entry to the resonance pitch candidate table data, registering pitch difference = variable value pitch_def, resonance pitch candidate = variable value key_c, and resonance intensity ratio candidate = variable value pitch_def_amp.
[0074] Then, CPU101 proceeds to step S808 to update the variable value i.
[0075] Through the series of processes in steps S803 to S807 above, it is possible to manufacture... Figure 5B The illustrated keys correspond to entries in the resonance pitch candidate table data. For example, assuming the key tone is C3, in step S801, from... Figure 3 In the illustrated key resonance pitch calculation table, key number 28 is taken as the key number for key C3, and key_num_on = 28 is set. Then, firstly, when the variable value i = 6 and the variable value flag = -1, in step S803, according to... Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 6, the variable value pitch_def = pitch difference 36 × variable value flag = -36, resulting in variable value pitch_def_amp = 0.2. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 36 = -8 is calculated. As a result, since the determination in step S805 is "no", no entry is created for the candidate table of resonance pitch corresponding to the key, and the process moves to step S808 where i = 6 - 1 = 5. The determination in step S809 is "yes", and the determination in step S810 is "no", returning to the processing in step S803.
[0076] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 5, the variable value pitch_def = pitch difference 31 × variable value flag = -31 is calculated, resulting in variable value pitch_def_amp = 0.4. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 31 = -3 is calculated. As a result, since the determination in step S805 is "no", no entry is created for the candidate table of resonance pitch corresponding to the key, and the process moves to step S808 where i = 5 - 1 = 4. The determination in step S809 is "yes", and the determination in step S810 is "no", returning to the processing in step S803.
[0077] In the subsequent step S803, according to Figure 5AFor each entry in the pitch difference resonance intensity table data where No. = i = 4, the variable value pitch_def = pitch difference 28 × variable value flag = -28 is calculated, resulting in variable value pitch_def_amp = 0.6. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 28 = 0 is calculated. As a result, since the determination in step S805 is "no", no entry is created for the candidate table of resonance pitch corresponding to the key, and the process moves to step S808 where i = 4 - 1 = 3. The determination in step S809 is "yes", and the determination in step S810 is "no", returning to the processing in step S803.
[0078] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data with No. = i = 3, the variable value pitch_def = pitch difference 24 × variable value flag = -24 is calculated, resulting in the variable value pitch_def_amp = 0.8. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 24 = 4 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 3 In the illustrated key resonance pitch calculation table, the key pitch = C1 of the entry corresponding to the key number key_num_c = 4 is taken as the variable key_c. Then, in step S807, the pitch difference = pitch_def = -24, resonance pitch candidate = key_c = C1, and resonance intensity ratio candidate = pitch_def_amp = 0.8 are set to create... Figure 5B The illustrated key corresponds to the first entry in the candidate resonance pitch table. Then, the process moves to step S808, where i = 3 - 1 = 2, and the determination in step S809 is "yes". The determination in step S810 is "no", and the process returns to step S803.
[0079] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 2 is listed, the variable value pitch_def = pitch difference 19 × variable value flag = -19 is calculated, resulting in the variable value pitch_def_amp = 0.8. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 19 = 9 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 3In the illustrated key resonance pitch calculation table, the key pitch corresponding to the key number key_num_c = 9 is taken as variable key_c, and the key tone = F1 is used as variable key_c. Then, in step S807, the pitch difference = pitch_def = -19, resonance pitch candidate = key_c = F1, and resonance intensity ratio candidate = pitch_def_amp = 0.8 are set to create... Figure 5B The illustrated button corresponds to the entry in the second row of the resonance pitch candidate table data. Then, the process moves to step S808, where i = 2 - 1 = 1, and the determination in step S809 is "yes". The determination in step S810 is "no", and the process returns to step S803.
[0080] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 1, the variable value pitch_def = pitch difference 12 × variable value flag = -12 is calculated, resulting in the variable value pitch_def_amp = 1. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 12 = 16 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 3 In each of the illustrated key resonance pitch calculation table data, the key pitch = C2 of the entry corresponding to the key number key_num_c = 16 is taken as the variable key_c. Then, in step S807, the pitch difference = pitch_def = -12, resonance pitch candidate = key_c = C2, and resonance intensity ratio candidate = pitch_def_amp = 1 are set to create... Figure 5B The illustrated key corresponds to the entry in the third row of the resonance pitch candidate table data. Then, the process moves to step S808, where i = 1 - 1 = 0, and the determination in step S809 is "yes". The determination in step S810 is "no", and the process returns to step S803.
[0081] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 0, the variable value pitch_def = pitch difference 0 × variable value flag = ±0 is calculated, resulting in the variable value pitch_def_amp = 1. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 - 0 = 28 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 3In each of the illustrated key resonance pitch calculation table data, the key pitch = C3 of the entry corresponding to the key number key_num_c = 28 is taken as the variable key_c. Then, in step S807, the pitch difference = pitch_def = ±0, resonance pitch candidate = key_c = C3, and resonance intensity ratio candidate = pitch_def_amp = 1 are set to create... Figure 5B The illustrated key corresponds to the entry in the 4th row of the resonance pitch candidate table data. Then, proceed to step S808 and i = 0 - 1 = -1. Here, the determination in step S809 is "yes", and the determination in step S810 is "yes".
[0082] Thus, the variable value i changes from 6 to 0, creating entries corresponding to the resonant tone candidates on the side with a negative pitch difference and entries corresponding to the keyed tones (the initial 4 rows of entries with pitch differences from -24 to ±0), as... Figure 5B The illustrated key corresponds to the candidate resonance pitch table data. Next, in order to process the pitches from the pitch difference closest to the positive direction to the pitch difference furthest away, based on the key pitch, the CPU 101 sets the value of variable i on RAM 103 to 1 (and...). Figure 5A For each pitch difference resonance intensity table data shown, No. = 1 corresponds to the variable flag on RAM103, which indicates the processing direction, setting it to indicate the positive direction. Figure 5A The value of No in each pitch difference resonance intensity table data shown is 1 (increasing from value 1 to value 6) (step S811).
[0083] Then, CPU101 adds the value of variable i to the value of variable flag each time, that is, since the value of variable flag is 1, it adds the value 1 each time, while sequentially performing a series of processes in the same way as the above-mentioned steps S803 to S807, until the determination in step S809 becomes "no", and it is determined that the value of variable i has been increased from the value of 1 to the value of 7 (step S812).
[0084] Specifically, first, after setting the variable values i = 1 and flag = 1 in step S811, the process returns to step S803. In step S803, according to... Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 1, the variable value pitch_def = pitch difference 12 × variable value flag = +12, resulting in the variable value pitch_def_amp = 1. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 12 = 40 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 3In the illustrated key resonance pitch calculation table data, the key pitch = C4 of the entry corresponding to the key number key_num_c = 40 is taken as the variable key_c. Then, in step S807, the pitch difference = pitch_def = +12, resonance pitch candidate = key_c = C4, and resonance intensity ratio candidate = pitch_def_amp = 1 are set to create... Figure 5B The illustrated key corresponds to the entry in the 5th row of the resonance pitch candidate table data. Then, proceed to step S808, i = 1 + 1 = 2, the determination in step S809 is "no", and the determination in step S812 is "no", returning to the processing in step S803.
[0085] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 2 is listed, the variable value pitch_def = pitch difference 19 × variable value flag = +19 is calculated, resulting in the variable value pitch_def_amp = 0.8. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 19 = 47 is calculated. As a result, since the determination in step S805 is "yes", in step S806, according to... Figure 4 For each key resonance pitch calculation table shown, the key pitch = G4 of the entry corresponding to the key number key_num_c = 47 is obtained as the variable key_c. Then, in step S807, the pitch difference = pitch_def = +19, resonance pitch candidate = key_c = G4, and resonance intensity ratio candidate = pitch_def_amp = 0.8 are set to create... Figure 5B The illustrated key corresponds to the entry in the 6th row of the resonance pitch candidate table data. Then, proceed to step S808, i = 2 + 1 = 3, the determination in step S809 is "no", and the determination in step S812 is "no", returning to the processing in step S803.
[0086] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data with No. = i = 3, the variable value pitch_def = pitch difference 24 × variable value flag = +24 is calculated, resulting in the variable value pitch_def_amp = 0.8. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 24 = 52 is calculated. As a result, since the determination in step S805 is "yes", in step S806, according to... Figure 4For each key resonance pitch calculation table shown, the key pitch corresponding to the key number key_num_c = 52 is taken as variable key_c, and the key tone = C5 is obtained. Then, in step S807, the pitch difference = pitch_def = +24, resonance pitch candidate = key_c = C5, and resonance intensity ratio candidate = pitch_def_amp = 0.8 are set to create... Figure 5B The illustrated key corresponds to the entry in the 7th row of the resonance pitch candidate table data. Then, proceed to step S808, i = 3 + 1 = 4, the determination in step S809 is "no", and the determination in step S812 is "no", returning to the processing in step S803.
[0087] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data with No. = i = 4, the variable value pitch_def = pitch difference 28 × variable value flag = +28 is calculated, resulting in the variable value pitch_def_amp = 0.6. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 28 = 56 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 4 For each key resonance pitch calculation table, the key pitch corresponding to the key number key_num_c = 56 is obtained as variable key_c, with the key tone = E5. Then, in step S807, the pitch difference = pitch_def = +28, resonance pitch candidate = key_c = E5, and resonance intensity ratio candidate = pitch_def_amp = 0.6 are set to create... Figure 5B The illustrated key corresponds to the entry in the 8th row of the resonance pitch candidate table data. Then, proceed to step S808, i = 4 + 1 = 5, the determination in step S809 is "no", the determination in step S812 is "no", and return to the processing in step S803.
[0088] In the subsequent step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data where No. = i = 5, the variable value pitch_def = pitch difference 31 × variable value flag = +31 is calculated, resulting in the variable value pitch_def_amp = 0.4. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 31 = 59 is calculated. As a result, since the determination in step S805 is "yes", in step S806, according to... Figure 4For each key resonance pitch calculation table shown, the key pitch corresponding to the key number key_num_c = 59 is obtained as variable key_c, with the key tone = G5. Then, in step S807, the pitch difference = pitch_def = +31, resonance pitch candidate = key_c = G5, and resonance intensity ratio candidate = pitch_def_amp = 0.4 are set to create... Figure 5B The illustrated key corresponds to the entry in the 9th row of the resonance pitch candidate table data. Then, proceed to step S808, i = 5 + 1 = 6, the determination in step S809 is "no", and the determination in step S812 is "no", returning to the processing in step S803.
[0089] Finally, in step S803, according to Figure 5A For each entry in the pitch difference resonance intensity table data with No. = i = 6, the variable value pitch_def = pitch difference 36 × variable value flag = +36 is calculated, resulting in the variable value pitch_def_amp = 0.2. Next, in step S804, the variable value key_num_c = variable value key_num_on + variable value pitch_def = 28 + 36 = 64 is calculated. As a result, since the determination in step S805 is "yes", in step S806, from... Figure 4 For each key resonance pitch calculation table, the key pitch = C6 of the entry corresponding to the key number key_num_c = 64 is obtained as the variable key_c. Then, in step S807, the pitch difference = pitch_def = +36, resonance pitch candidate = key_c = C6, and resonance intensity ratio candidate = pitch_def_amp = 0.2 are set to create... Figure 5B The illustrated key corresponds to the last entry in the candidate resonance pitch table. Then, proceed to step S808, where i = 6 + 1 = 7. After the determination in step S809 becomes "no", the determination in step S812 becomes "yes", ending all processing.
[0090] As mentioned above, it was made on RAM103. Figure 5B The illustrated buttons correspond to the candidate data for resonance pitch. Then, CPU101 terminates. Figure 8 The flowchart illustrates this. Figure 7 Step S706 involves creating a candidate table for the resonance pitch of the corresponding buttons.
[0091] Figure 9 It means in Figure 7 A detailed flowchart of the example of the vocal resonance information table creation process performed in step S707. First, CPU101 from Figure 5BThe information of each entry is obtained sequentially from the top of the resonance pitch candidate table data corresponding to the illustrated button. The value of the resonance pitch candidate obtained from the entry is stored in the variable res_pitch_c on RAM103, and the value of the candidate with the same resonance intensity ratio is stored in the variable res_amp_c on RAM103 (step S901).
[0092] Next, CPU 101 sets the value of variable N on RAM 103 with the specified key number to 1 (step S902).
[0093] Then, CPU101 increments the value of variable N by 1 each time (step S912), and repeatedly executes a series of processes from S903 to S911 until it is determined that the value exceeds the value 88 corresponding to the 88 key (step S913).
[0094] In the series of processes from step S903 to S911, CPU101 first determines whether the key number variable value N is consistent with the value in the previous step. Figure 7 The key numbers detected in step S701 are equal (step S903). If the determination in step S903 is "yes", since the string of the key that was pressed is not regarded as a resonant string, the CPU101 does not create an entry in the sound resonance information table, and moves to step S912, advancing the value of the key number variable N by 1.
[0095] If the determination in step S903 is "no", then CPU101 will proceed according to... Figure 3 and Figure 4 For each key resonance pitch calculation table data example shown, the key number entry is used to obtain the key tone, the first resonance pitch, and the second resonance pitch (step S904).
[0096] Next, CPU101 makes the following determination: Pass Figure 6 The switch unit in step S602 processes whether the value of the damper pedal variable set in RAM103 indicates whether the damper pedal is on; whether a button mark is made in RAM103 corresponding to the key tone obtained in step S904, and whether the key tone becomes undamped by pressing a button (see reference). Figure 7 Step S705); or whether it is a key tone that is always undamped, where only the first resonance pitch obtained in step S904 has a value and the second resonance pitch has no value (from step S705); Figure 4 (Entries with key numbers 69 to 88) (step S905).
[0097] If the determination in step S905 is "yes", then determine whether the first resonance pitch obtained in step S904 is equal to the variable value res_pitch_c (the value of the resonance pitch candidate) obtained in step S901 (step S906).
[0098] If the determination in step S906 is "no", then CPU101 will not create an entry for the vocal resonance information table, but will proceed to step S912, advancing the value of the key number variable N by 1.
[0099] If the determination in step S906 is "yes", then CPU101 sets the value of the variable in RAM103, namely the selected timbre, to "release string resonance timbre" (undamped timbre) (step S907).
[0100] On the other hand, if the determination in step S905 is "no", it is determined whether the second resonance pitch obtained in step S904 is equal to the variable value res_pitch_c (resonance pitch candidate) obtained in step S901 (step S908).
[0101] If the determination in step S908 is "no", then CPU101 will not create an entry for the vocal resonance information table, but will instead proceed to step S912, advancing the value of the key number variable N by 1.
[0102] If the determination in step S908 is "yes", then CPU101 sets the variable on RAM103, i.e., the selected timbre value, to "non-released string resonance timbre" (damped state timbre) (step S909).
[0103] After the processing of steps S907 or S909 described above, CPU101 performs the resonance tone arbitration process described later, thereby determining whether the current resonance tone candidate should be made to resonate based on its relationship with other resonance tones of the same pitch that have already been pronounced (step S910).
[0104] The result of the resonance pitch arbitration process in step S910, in order to determine whether the current resonance pitch candidate should be pronounced, is that the CPU101 sends a signal to... Figure 5C The illustrated vocal resonance information table data is appended with an entry, registering the vocal resonance key tone = the key tone obtained in step S904, the vocal resonance timbre = the selected timbre set on the variable in RAM103 in step S907 or S909, the vocal resonance pitch = the resonance pitch candidate variable value res_pitch_c obtained in step S901, and the vocal resonance intensity = in Figure 7The key pressure obtained in step S701 is multiplied by the resonance intensity ratio candidate value res_amp_c obtained in step S901. That is, the emitted resonant sound is produced with a force (phonological resonance intensity) that is reduced relative to the key pressure by a proportion of the resonance intensity ratio candidate. This resonance intensity ratio is... Figure 5A The table of resonance intensity for each pitch difference illustrates that the resonance intensity is weaker the higher the pitch relative to the key pitch, the weaker the resonance intensity.
[0105] Then, CPU101 proceeds to step S912 to update the value of the key number variable N.
[0106] right Figure 5B The illustrated key corresponds to an entry in the resonance pitch candidate table data (step S901), which completes the series of processes from steps S902 to S913. The CPU 101 then determines whether there are any unprocessed entries in the resonance pitch candidate table data corresponding to the key (step S914).
[0107] If the determination in step S914 is "yes", then CPU101 returns to the processing in step S901 and transfers to the execution of the above series of processes for the next entry of the candidate table data for the resonance pitch corresponding to the key.
[0108] If the determination in step S914 is "no", then CPU101 ends. Figure 9 The flowchart illustrates this. Figure 7 Step S707 involves creating and processing the vocal resonance information table.
[0109] Through the series of processes described in steps S904 to S911 above, it is possible to manufacture... Figure 5C The entries in the illustrated pronunciation resonance information table data are shown. As a specific example, for those based on... Figure 5B The example shows the creation of the candidate resonance pitch table data for the buttons. Figure 5C The processing of the illustrated vocal resonance information table data will be explained. At this time, with the damper pedal off, the two keys corresponding to the C4 and G4 keys have been pressed, and the key corresponding to the C3 key has been newly pressed. Figure 5B The illustrated candidate table data for the resonance pitch corresponding to the key is generated when the key corresponding to the key tone of C3 is pressed. Based on this condition, since the key is in an undamped state, the determination in step S905 becomes "yes," and only the key with the first resonance pitch is determined. Figure 3 The illustrated key number 40 and Figure 4 The illustrated key number is 47. Since all keys are in a damped state, the determination in step S905 becomes "no", and the second resonance pitch is determined.
[0110] First, in step S901, the information of the first row of the candidate data for the resonance pitch corresponding to the key is obtained, and the variable values res_pitch_c = C1 and res_amp_c = 0.8 are set.
[0111] Next, CPU 101 sets the value of variable N on RAM 103 for the specified key number to 1 (step S902). Then, while incrementing the value of variable N by 1 each time (step S912), a series of processes from steps S903 to S911 are repeatedly performed until it is determined that the value exceeds the value 88 corresponding to key 88 (step S913). Thus, when key number N is 40 or 47, after the determination in step S905 is "yes", step S906 determines that the key number N exceeds the value 88 corresponding to key 88. Figure 5B Does the candidate resonance pitch value res_pitch_c = C1 obtained from the candidate resonance pitch table data corresponding to the illustrated key press match the value obtained from the table? Figure 3 or Figure 4 The first resonance pitch of each key number N obtained from the illustrated key resonance pitch calculation table is consistent. Furthermore, when the key number N is other than 40 or 47, after the determination in step S905 is "No", a determination is made in step S908 from... Figure 5B Does the candidate resonance pitch value res_pitch_c = C1 obtained from the candidate resonance pitch table data corresponding to the illustrated key press match the value obtained from the table? Figure 3 or Figure 4 The second resonant pitch of each key number N obtained from the illustrated key resonance pitch calculation table is consistent. As a result, since the candidate resonant pitch value res_pitch_c = C1... Figure 3 and Figure 4 The data in the illustrated key resonance pitch calculation table does not match the first and second resonance pitches corresponding to any key number, therefore the candidate resonance pitch value res_pitch_c = C1 was not registered. Figure 5C The illustrated table of pronunciation resonance information data.
[0112] Then, after step S914, in step S901, for Figure 5B The illustrated key corresponding to the resonance pitch candidate table data, the second row of resonance pitch candidate values res_pitch_c = F1 and the third row of resonance pitch candidate values res_pitch_c = C2, are also processed in the same way as above, changing the key number variable value N from 1 to 88 while repeatedly executing a series of processes from steps S903 to S911. However, the resonance pitch candidate values res_pitch_c = F1 and C2 in Figure 3 and Figure 4The data in the illustrated key resonance pitch calculation table does not match the first and second resonance pitches corresponding to any key number. Therefore, the candidate resonance pitch values res_pitch_c = F1 and C2 were not registered. Figure 5C The illustrated table of pronunciation resonance information data.
[0113] Then, after step S914, in step S901, for Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = C3 in the 4th row of the resonance pitch candidate table data. Similarly, as described above, while changing the key number variable N from 1 to 88, a series of processes from steps S904 to S911 are repeatedly executed. As a result, when key number N = 16, in step S908... Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = C3 obtained from the resonance pitch candidate table data, and is derived from... Figure 3 The second resonance pitch of key number 16 obtained from the illustrated key resonance pitch calculation table is consistent, so the determination in step S908 becomes "yes". As a result, after steps S909 and S910, in step S911, as... Figure 5C The first entry in the illustrated pronunciation resonance information table registers the pronunciation resonance key tone = C2 (= Figure 3 The key resonance pitch calculation table data for each key shown includes the key number 16 (key tone), the sound resonance timbre = "non-released string resonance timbre", the sound resonance pitch = res_pitch_c = C3, and the sound resonance intensity = key pressure × resonance intensity ratio candidate value (=1).
[0114] Then, after step S914, in step S901, for Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = C4 in the 6th row of the resonance pitch candidate table data. Similarly, while changing the key number variable N from 1 to 88, a series of processes from steps S904 to S911 are repeatedly executed. Figure 3 In the illustrated key resonance pitch calculation table, C4 is registered as the second resonance pitch for key number 28. However, since it matches the key number, step S903 is "yes" when key number N=28, and is not executed. Figure 5C The example shows the registration of entries to the vocal resonance information table data (step S911). Additionally, in Figure 3 In the illustrated table of key resonance pitch calculations, the first resonance pitch for key number 40 is C4. However, since this key is in a damped state, the determination in step S905 becomes "no" when key number N=40, and step S907 is not executed. Figure 5CThe example illustrates the registration of entries to the vocal resonance information table data (step S911). As a result, since the candidate resonance pitch value res_pitch_c = C4... Figure 3 and Figure 4 The data in the illustrated key resonance pitch calculation table does not match the first and second resonance pitches corresponding to any key number, therefore the candidate resonance pitch value res_pitch_c = C4 was not registered. Figure 5C The illustrated table of pronunciation resonance information data.
[0115] Then, after step S914, in step S901, for Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = G4 in the 5th row of the resonance pitch candidate table data. Similarly, while changing the key number variable N from 1 to 88, a series of processes from steps S904 to S911 are repeatedly executed. As a result, when key number N = 35, it is determined in step S908 that it is from... Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = G4 obtained from the resonance pitch candidate table data, and is derived from... Figure 3 The second resonance pitch of key number 35 obtained from the illustrated key resonance pitch calculation table is consistent, so the determination in step S908 becomes "yes". As a result, after steps S909 and S910, in step S911, as... Figure 5C The entry in the second row of the illustrated pronunciation resonance information table records the pronunciation resonance key tone = G3 (= Figure 3 The illustrated key resonance pitch calculation table data includes key number 35 (key tone), sound resonance timbre = "non-released string resonance timbre", sound resonance pitch = res_pitch_c = G4, and sound resonance intensity = key pressure × resonance intensity ratio candidate (= 0.8). Furthermore, when key number N = 47, this time in step S906 it is determined to be from... Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = G4 obtained from the resonance pitch candidate table data, and is derived from... Figure 4 The first resonance pitch of key number 47 obtained from the illustrated key resonance pitch calculation table is consistent, so the determination in step S906 becomes "yes". As a result, after steps S907 and S910, in step S911, as... Figure 5C The entry in the third row of the illustrated pronunciation resonance information table records the pronunciation resonance key tone = G4 (= Figure 4The illustrated key resonance pitch calculation table data includes key number 47 (key tone), sound resonance timbre = "released string resonance timbre", sound resonance pitch = res_pitch_c = G4, and sound resonance intensity = key pressure × resonance intensity ratio candidate (= 0.8). In this example, for sound resonance pitch = G4, the two sets of resonating strings, key number 35 in a damped state and key number 47 in a non-damped state, resonate, and the waveform data of the resonating tone is output from the different waveform generators 210 of different sound channels in the sound source LSI106.
[0116] In this case, the resonance pitch is the same G4, but based on Figure 5C The two articulation resonance information entries in rows 2 and 3 of the illustrated articulation resonance information table are in... Figure 7 In steps S708 and S709, two note activation events with different timbres, namely "non-released string resonance timbre" and "released string resonance timbre," are generated and sent to the sound source LSI106. In this case, in the resonance tone arbitration processing of step S910 described later, in order to suppress the consumption of the sound source LSI106's sound channel, only the resonance tone of one party can be made to sound. However, in the case of different timbres, both parties can also be made to sound in different sound channels (see [reference]). Figure 10 or Figure 11 (Step S1001). Thus, although the vocal channel is consumed, it is able to produce a very rich resonant sound.
[0117] Then, after step S914, in step S901, for Figure 5B The illustrated key corresponds to the resonance pitch candidate values res_pitch_c = C5 and G5 in rows 7 and 9 of the resonance pitch candidate table data. Similarly, while changing the key number variable N from 1 to 88, a series of processes from steps S904 to S911 are repeatedly executed. However, the resonance pitch candidate values res_pitch_c = C5 and G5, and... Figure 3 and Figure 4 The data in the illustrated key resonance pitch calculation table does not match the first and second resonance pitches corresponding to which key number. Therefore, the candidate resonance pitch values res_pitch_c = C5 and G5 were not registered. Figure 5C The illustrated table of pronunciation resonance information data.
[0118] On the other hand, after step S914, in step S901, for Figure 5BThe illustrated key corresponds to the resonance pitch candidate values res_pitch_c = E5 and C6 in rows 8 and 10 of the resonance pitch candidate table data. Similarly, as described above, the key number variable N is changed from 1 to 88 while repeatedly executing a series of processes from steps S904 to S911. As a result, when key number N = 44, it is determined in step S908 that the key is from... Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = E5 obtained from the resonance pitch candidate table data, and is derived from... Figure 3 The second resonance pitch of key number 44 obtained from the illustrated key resonance pitch calculation table is consistent, so the determination in step S908 is "yes". Additionally, when key number N = 52, the determination in step S908 is that it is from... Figure 5B The illustrated key corresponds to the resonance pitch candidate value res_pitch_c = C6 obtained from the resonance pitch candidate table data, and is derived from... Figure 4 The second resonance pitch of key number 52 obtained from the illustrated key resonance pitch calculation table is consistent, so the determination in step S908 becomes "yes". As a result, after steps S909 and S910, in step S911... Figure 5C The entries in rows 4 and 5 of the illustrated pronunciation resonance information table data are registered.
[0119] Figure 10 It means Figure 9 A flowchart detailing a first embodiment of the resonance tone arbitration process in step S910 is provided. The CPU 101 first retrieves data from the previously created audio resonance tone information table data corresponding to other buttons on the RAM 103, which contains information related to the resonance tone in the... Figure 9 After processing in step S907 or S909, entries with the same vocal resonance pitch and vocal resonance timbre as the candidate value res_pitch_c in the vocal resonance pitch information table data should be registered (step S1001).
[0120] Next, CPU101 determines whether the retrieval in step S1001 was successful (step S1002).
[0121] If the determination in step S1002 is "no", there is no need to specifically arbitrate the resonance tone; therefore, the process ends directly. Figure 10 The flowchart illustrates this. Figure 9 Step S910 resonant tone arbitration processing.
[0122] If the determination in step S1002 is "yes", CPU101 will determine that... Figure 7 The key pressure detected in step S701 is related to the... Figure 9After processing in step S907 or S909, it is necessary to register whether the value obtained by multiplying the resonance intensity of the vocal resonance information table data by the candidate value res_amp_c is greater than the total resonance intensity of the same pitch of all entries retrieved in step S1001 (refer to...). Figure 5C (Step S1003).
[0123] If the determination in step S1003 is "no", the CPU 101 does not register the data in the current vocal resonance information table, and transfers to... Figure 9 In step S912, the value of the key number variable N is advanced by 1.
[0124] If the determination in step S1003 is "yes", then CPU 101 generates a note closure event corresponding to the resonance pitch of the entry in the resonance pitch information table data retrieved in step S1001 (step S1004), and sends the note closure event to the sound source LSI 106 (step S1005). When the note closure event is received, the sound source LSI 106 performs a mute process, which stops the output of the waveform data of the resonance pitch from the waveform generator 210 in the sound channel corresponding to the resonance pitch in the note closure event.
[0125] Finally, CPU 101 deletes the entry from the pronunciation resonance information table data retrieved in step S1001 from the pronunciation resonance information table data (step S1006). Thus, the pronunciation of the resonance sound based on the current key press is prioritized. Then, CPU 101 terminates. Figure 10 The flowchart illustrates this. Figure 9 Step S910's resonance arbitration processing proceeds to... Figure 9 Step S911 is the registration and processing of vocal resonance information table data.
[0126] Figure 11 It means Figure 9 A flowchart of a detailed example of the second embodiment of the resonance tone arbitration process in step S910. Figure 11 Steps S1001, S1002 and S1003 are the same as Figure 10 The situation is the same as in the first implementation.
[0127] If the determination in step S1003 is "yes", then CPU101 generates an event that amplifies the amplitude envelope of the vocal channel corresponding to the vocal resonance pitch of the entry in the vocal resonance information table data retrieved in step S1001 (step S1101), and sends the event to sound source LSI106 (step S1102). When the event is received, sound source LSI106 controls DSP202 to perform processing that amplifies the amplitude envelope of the vocal channel corresponding to the vocal resonance pitch in the event.
[0128] Finally, CPU101 updates the vocal resonance intensity of the entries in the vocal resonance information table data retrieved in step S1001 to the level of vocal resonance intensity. Figure 7 The value obtained by multiplying the detected key pressure and resonance intensity ratio candidate value res_amp_c in step S701. Then, the CPU 101 does not register the data in the current vocal resonance information table, but transfers to... Figure 9 In step S912, the value of the key number variable N is advanced by 1.
[0129] Figure 12 It means Figure 9 The flowchart below shows a detailed example of the third embodiment of the resonance tone arbitration process in step S910. First, the CPU 101 counts all the resonance tone heights in all the previously created resonance tone information table data registered in RAM 103, and stores the count result in the variable res_num in RAM 103 (step S1201).
[0130] Next, CPU101 determines whether the count value res_num in step S1201 has reached the maximum allowable value of the resonant tone, for example, 32 (step S1202).
[0131] If the determination in step S1202 is "no", there is no need to specifically arbitrate the resonance tone, so the process ends directly. Figure 12 The flowchart illustrates this. Figure 9 The resonant tone arbitration process in step S910.
[0132] If the determination in step S1202 is "yes", then CPU 101 generates a note closure event for the resonance pitch corresponding to the entry with the smallest resonance intensity value in the resonance intensity information table data already registered in RAM 103, and sends the note closure event to sound source LSI 106 (step S1204). When the note closure event is received, sound source LSI 106 performs a mute process, which stops the output of waveform data of the resonance pitch from waveform generator 210 in the sound channel corresponding to the resonance pitch in the note closure event.
[0133] Finally, CPU 101 deletes the entry retrieved in step S1203 from the vocal resonance information table data in RAM 103 containing that entry (step S1205). Thus, within the maximum number of resonance sounds (e.g., 32 vocal channels), the vocalization of the resonance sound based on the current key press is prioritized. Then, CPU 101 terminates. Figure 12 The flowchart illustrates this. Figure 9 Step S910's resonance arbitration processing proceeds to... Figure 9 Step S911 is the registration and processing of vocal resonance information table data.
[0134] According to the implementation method described above, resonance can be produced even when the strings are damped, and the frequency, volume, and timbre of the resonating strings can be changed according to the state of the strings being released, thereby achieving resonance in a more acoustic way.
[0135] The above-described implementation method uses an electronic piano as an example, but the present invention can be applied to various electronic musical instruments, such as electronic stringed instruments.
[0136] The disclosed embodiments and their advantages have been described in detail above. However, those skilled in the art can make various changes, additions, and omissions without departing from the scope of the invention as expressly described in the claims.
[0137] Furthermore, the present invention is not limited to the embodiments described above, and various modifications can be made during the implementation phase without departing from its spirit. Moreover, the functions performed in the above embodiments can be implemented by combining them appropriately as much as possible. The above embodiments include various stages, and various inventions can be extracted through appropriate combinations of the disclosed constituent elements. For example, even if several constituent elements are deleted from all the constituent elements shown in the embodiments, as long as the desired effect is achieved, the structure with the deleted constituent elements can still be extracted as an invention.
Claims
1. An electronic musical instrument, wherein, The electronic musical instrument has: a plurality of keys including a first key and a second key; and at least one processor, The at least one processor performs a process of: determining whether the second key is a dampened state or a non-dampened state in response to the first key being operated, wherein the dampened state indicates that a string configured with a damper is in a state in which the damper is not detached, and the non-dampened state indicates that the string is in a state in which the damper is detached due to a key or damper pedal being depressed; generating a resonance sound corresponding to the second key with at least one of a first resonance pitch and a first timbre in a case where the second key is the non-dampened state; generating a resonance sound corresponding to the second key with at least one of a second resonance pitch and a second timbre in a case where the second key is the dampened state, wherein the resonance sound is generated based on a resonance intensity ratio corresponding to a pitch difference between the first key and the second key.
2. The electronic musical instrument according to claim 1, wherein the second key includes a plurality of second keys.
3. The electronic musical instrument according to claim 1 or 2, wherein the second resonance pitch corresponding to the second key is higher than the first resonance pitch.
4. The electronic musical instrument according to claim 1 or 2, wherein the resonance sound is generated based on resonance intensity information indicating a dynamic value of the resonance sound.
5. The electronic musical instrument according to claim 1 or 2, wherein the non-dampened state is set by turning on a damper pedal, or is set to an operated key, the dampened state is set to a non-operated key by turning off the damper pedal.
6. The electronic musical instrument according to claim 1 or 2, wherein in a case where a resonance sound corresponding to the second key is newly generated according to a new key in a sound emission including a sound of the resonance sound corresponding to the second key, a first dynamic of the resonance sound in the sound emission and a second dynamic of the resonance sound generated according to the new key are compared, 7. A control method of an electronic musical instrument, wherein, the generation of the resonance sound is controlled according to a comparison result. The electronic musical instrument has: a plurality of keys including a first key and a second key; and at least one processor, The method includes, by the at least one processor: determining whether the second key is a dampened state or a non-dampened state in response to the first key being operated, wherein the dampened state indicates that a string configured with a damper is in a state in which the damper is not detached, and the non-dampened state indicates that the string is in a state in which the damper is detached due to a key or damper pedal being depressed; generating a resonance sound corresponding to the second key with at least one of a first resonance pitch and a first timbre in a case where the second key is the non-dampened state; generating a resonance sound corresponding to the second key with at least one of a second resonance pitch and a second timbre in a case where the second key is the dampened state, wherein the resonance sound is generated based on a resonance intensity ratio corresponding to a pitch difference between the first key and the second key.
8. The control method of the electronic musical instrument according to claim 7, wherein the second key includes a plurality of second keys.
9. The control method of an electronic musical instrument according to claim 7 or 8, wherein the second resonance pitch corresponding to the second key is higher than the first resonance pitch.
10. The control method of an electronic musical instrument according to claim 7 or 8, wherein the resonance sound is generated based on resonance intensity information indicating a dynamic value of the resonance sound.
11. The control method of an electronic musical instrument according to claim 7 or 8, wherein the undamped state is set by opening a damper pedal, or is set to a key being operated, the damped state is set to a key not being operated by closing the damper pedal.
12. The control method of an electronic musical instrument according to claim 7 or 8, wherein in a case where a resonance sound corresponding to the second key is newly generated in response to a new key in a sound production including a sound of a resonance sound corresponding to the second key, a first dynamic of a resonance sound in the sound production and a second dynamic of the resonance sound generated in response to the new key are compared, 13. A program product for execution by at least one processor in an electronic musical instrument, wherein, the generation of the resonance sound is controlled based on a result of the comparison. The electronic musical instrument has: a plurality of keys including a first key and a second key; and the at least one processor, the program product causes the at least one processor to execute the following processing: in response to the first key being operated, determining whether the second key is in a damped state or an undamped state, wherein the damped state indicates that a string of a damper is in a state where the damper is not detached, and the undamped state indicates that the string is in a state where the damper is detached due to a key or a damper pedal being depressed; in a case where the second key is in the undamped state, generating a resonance sound corresponding to the second key with at least one of a first resonance pitch and a first timbre; in a case where the second key is in the damped state, generating a resonance sound corresponding to the second key with at least one of a second resonance pitch and a second timbre, wherein the resonance sound is generated based on a resonance intensity ratio corresponding to a pitch difference between the first key and the second key.
Citation Information
Patent Citations
Resonance sound control device
CN108735190A