Control device, musical tone generation method, and musical tone generation program

The control device and method allow for individual string pitch control in guitar synthesizers, addressing the limitation of simultaneous pitch changes in conventional systems, enabling fine pitch adjustments and enhanced musical expression.

JP2025006344APending Publication Date: 2025-01-17ROLAND CORP
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
JP2023107076
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-29
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

Conventional guitar synthesizers lack the ability to perform fine pitch changes, as the 'pitch bend' function affects all sound generating means simultaneously, preventing the creation of musical tones with mixed pitches.

Method used

A control device and method that includes an acquisition means for performance information, a sound generation control means, a change amount acquisition means, and a pitch changing means to allow individual control of pitch changes for specific strings, enabling fine pitch adjustments.

Benefits of technology

Enables the production of musical tones with precise pitch changes, allowing for a mixture of strings with and without pitch changes, enhancing musical expression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025006344000001_ABST
    Figure 2025006344000001_ABST
Patent Text Reader

Abstract

To provide a control device, musical tone generation method, and musical tone generation program that can realize fine change in pitch.SOLUTION: In a synthesizer 1, when a tone generation mode is "string pitch bend", the pitch bend is set to an acquired MIDI message MM, and when a string number S of the MIDI message MM is generating a tone and a key-off flag is ON, a pitch of only a tone of the string number S is changed by a pitch change amount PB set in the MIDI message MM. Thereby, the synthesizer can perform a fine change in pitch in which strings subject to the change in pitch based on the pitch change amount PB and strings not subject thereto are both included.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control device, a musical tone generating method, and a musical tone generating program. [Background technology]

[0002] Non-Patent Document 1 discloses a guitar synthesizer (control device) that generates musical tones according to the vibration and pitch of each string of a connected guitar. Synthesizer 500 in FIG. 21, which is an example of such a synthesizer, has analysis means 501a-501f and sound generation means 502a-502f. Each of the analysis means 501a-501f generates a corresponding MIDI message from the vibration state of the string acquired from detection means 100a-100f that acquires the vibration state of each string of a connected guitar G. Each of the sound generation means 502a-502f outputs musical tones corresponding to the MIDI messages generated by each of the analysis means 501a-501f, and the musical tones output from the sound generation means 502a-502f are synthesized (added) and output from a speaker 19. [Prior art documents] [Patent documents]

[0003] [Non-Patent Document 1] BOSS GP-10 instruction manual, [online], [searched June 28, 2023], Internet<URL:https: / / static.roland.com / jp / media / pdf / GP-10_j02_W.pdf> Summary of the Invention [Problem to be solved by the invention]

[0004] Here, there is a function called "pitch bend" that continuously changes the pitch of a sound being generated by a specified amount of pitch change. In synthesizer 500, when pitch bend is executed, a pitch change is instructed to all sound generation means 502a-502f. Therefore, since executing pitch bend changes the pitch of all sounds being generated, there is a problem that fine pitch change is not possible, for example, it is not possible to generate a musical tone that has a mixture of strings whose pitch is changed by pitch bend and strings whose pitch is not changed.

[0005] SUMMARY OF THE PRESENT EMBODIMENT The present invention has been made in order to solve the above-mentioned problems, and has as its object to provide a control device, a musical tone generating method, and a musical tone generating program that are capable of achieving fine pitch changes. [Means for solving the problem]

[0006] In order to achieve this object, the control device of the present invention comprises an acquisition means for acquiring performance information, a sound generation control means for generating a musical sound based on the performance information acquired by the acquisition means, a change amount acquisition means for acquiring a pitch change amount which is the amount of change by which the pitch is changed, a changed string number acquisition means for acquiring the string number of the string of the stringed instrument whose pitch is to be changed, and a pitch change means for changing the pitch of the musical sound generated by the sound generation control means corresponding to the string number acquired by the changed string number acquisition means, based on the pitch change amount acquired by the change amount acquisition means.

[0007] The musical sound production method of the present invention includes an acquisition step of acquiring performance information, a production control step of producing a musical sound based on the performance information acquired in the acquisition step, a change amount acquisition step of acquiring a pitch change amount which is an amount of change by which the pitch is changed, a change string number acquisition step of acquiring the string number of a stringed instrument whose pitch is to be changed, and a pitch change step of changing the pitch of the musical sound produced in the production control step corresponding to the string acquired in the change string number acquisition step based on the pitch change amount acquired in the change amount acquisition step.

[0008] The musical sound pronunciation program of the present invention is a program that causes a computer to execute a musical sound pronunciation process, and causes the computer to execute an acquisition step of acquiring performance information, a pronunciation control step of pronouncing a musical sound based on the performance information acquired in the acquisition step, a change amount acquisition step of acquiring a pitch change amount which is the amount of change by which the pitch is changed, a change string number acquisition step of acquiring the string number of the string of the stringed instrument whose pitch is to be changed, and a pitch change step of changing the pitch of the musical sound produced in the pronunciation control step corresponding to the string acquired in the change string number acquisition step based on the pitch change amount acquired in the change amount acquisition step. [Brief description of the drawings]

[0009] [Figure 1] 1A is a block diagram showing the electrical configuration of a synthesizer, FIG. 1B is a schematic diagram showing a string map, and FIG. 1C is a schematic diagram showing a pitch map. [Diagram 2] 1A is a functional block diagram of a synthesizer, and FIGS. 1B and 1C are schematic diagrams showing the structure of a MIDI message. [Diagram 3] 13 is a flowchart of a GT analysis process. [Figure 4] 13 is a flowchart of a packet creation process. [Diagram 5] 13A is a flowchart of a MIDI process, and FIG. 13B is a flowchart of an acquisition process. [Figure 6] 1A is a diagram for explaining the string mono sound generation mode, and FIG. 1B is a flowchart of the sound generation process in the string mono sound generation mode. [Figure 7] 1A is a diagram for explaining the mono sounding mode, FIG. 1B is a diagram for explaining the mono retrigger sounding mode, and FIG. 1C is a diagram for explaining the string mono retrigger sounding mode. [Figure 8]13A is a flowchart of the sound generation process in mono, mono retrigger, and string mono retrigger, FIG. 13B is a flowchart of the note-on process, and FIG. 13C is a flowchart of the note-off process. [Figure 9] 13 is a flowchart of a sound generation process in string pitch bend. [Figure 10] 1A is a flowchart of the tone generation process in string legato, and FIG. 1B is a flowchart of the pre-legato process. [Figure 11] This is a diagram explaining String Mono & Hold Normal. [Figure 12] This is a diagram explaining String Mono & Hold Keep. [Figure 13] This is a diagram explaining the String Mono & Hold String. [Figure 14] This is a diagram explaining String Mono & Sostenuto. [Figure 15] FIG. 11 is a functional block diagram of a synthesizer according to a second embodiment. [Figure 16] 13(a) to 13(c) are diagrams illustrating string pitch bend in a sound generation mode using the synthesizer of the second embodiment. [Figure 17] FIG. 13 is a block diagram showing the electrical configuration of a synthesizer according to a third embodiment. [Figure 18] FIG. 11 is a functional block diagram of a synthesizer according to a third embodiment. [Figure 19] 13(a) to 13(c) are diagrams each showing a schematic structure of a MIDI message according to a third embodiment. [Figure 20] 13 is a flowchart of an acquisition process according to a third embodiment. [Figure 21] FIG. 1 is a functional block diagram of a conventional synthesizer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] A preferred embodiment will now be described with reference to the accompanying drawings. First, the electrical configuration of synthesizer 1 of this embodiment will be described with reference to FIG. 1(a). FIG. 1(a) is a block diagram showing the electrical configuration of synthesizer 1. Synthesizer 1 is an electronic musical instrument (control device) that outputs musical tones corresponding to the performance input from a connected guitar G (stringed instrument). It has a CPU 10, a flash ROM 11, a RAM 12, an input / output device 13, a sound source 14, and a digital signal processor 15 (hereinafter referred to as "DSP 15"), each of which is connected via a bus line 16.

[0011] The CPU 10 is a calculation device that controls each part connected by a bus line 16. The flash ROM 11 is a rewritable non-volatile storage device that stores programs executed by the CPU 10, fixed value data, etc., and includes a control program 11a. When the control program 11a is executed by the CPU 10, the GT analysis process of Fig. 3 and the like are executed. The RAM 12 is a memory for rewritably storing various work data, flags, etc. when the CPU 10 executes a program, and is provided with a string map 12a and a pitch map 12b. The string map 12a and the pitch map 12b will be described with reference to Figs. 1(b) and (c).

[0012] Fig. 1(b) is a diagram showing a schematic representation of the string map 12a, and Fig. 1(c) is a diagram showing a schematic representation of the pitch map 12b. The string map 12a is a data table that manages whether or not a corresponding string is note-on for each string number S of a string of a guitar G. In the string map 12a, when a string of the guitar G is operated by the user H and it is determined that a note-on has been performed, 1 is added to the count corresponding to the string number S of the note-on string. On the other hand, when a string of the guitar G is operated by the user H and it is determined that a note-off has been performed, 1 is subtracted from the count corresponding to the string number S of the note-off string.

[0013] Moreover, the pitch map 12b is a data table that manages, for each pitch P, whether the corresponding pitch is note-on. When a string of the guitar G is operated by the user H and it is determined that a note-on has been performed, 1 is added to the count corresponding to the pitch P of the note-on musical tone. On the other hand, when a string of the guitar G is operated by the user H and it is determined that a note-off has been performed, 1 is subtracted from the count corresponding to the pitch of the note-off musical tone. Using such string map 12a and pitch map 12b, the synthesizer 1 determines which string number S and which pitch P of the musical tone is note-on.

[0014] Returning to FIG. 1(a), the input / output device 13 is a device that inputs information from an external device and outputs information to an external device. A pickup device 30 and a foot-operated pedal 40 are connected to the input / output device 13 as external devices. The pickup device 30 is a device to which a guitar G is connected and that acquires the vibration state of each string of the guitar G. The pedal 40 in this embodiment is provided with a hold pedal and a sostenuto pedal (neither of which are shown), but may include other pedals. Based on information from the pickup device 30 and the pedal 40 connected to the input / output device 13, the synthesizer 1 generates and outputs musical tones.

[0015] The sound source 14 is a device that outputs waveform data based on performance information input from the CPU 10. The DSP 15 is a calculation device that processes the waveform data input from the sound source 14. A digital-to-analog converter (DAC) 17 is connected to the DSP 15, an amplifier 18 is connected to the DAC 17, and a speaker 19 is connected to the amplifier 18.

[0016] Next, the function of synthesizer 1 will be described with reference to Fig. 2. Fig. 2(a) is a functional block diagram of synthesizer 1. Synthesizer 1 has GT analysis means 101a to 101f, packet generation means 102, PD analysis means 103, and sound generation means 104.

[0017] The GT analysis means 101a to 101f analyze pitch P, level L, etc. from the acquired vibration state of the strings of the guitar G, and are realized by the above-mentioned CPU 10. The vibration state of the strings of the guitar G acquired by the GT analysis means 101a to 101f is acquired by detection means 100a to 100f provided for each string of the guitar G. The detection means 100a to 100f are realized by the above-mentioned pickup device 30. In this embodiment, the guitar G has six strings, and therefore, detection means 100a to 100f corresponding to each string are provided. The number of strings of the guitar G is not limited to six, and may be six or more or six or less. In this case, the detection means and GT analysis means may be provided in the number corresponding to the number of strings of the guitar G.

[0018] Each of the GT analysis means 101a to 101f is provided with pitch detection means 110 for detecting pitch P from the vibration state of the corresponding string, level detection means 111 for detecting level L from the vibration state of the corresponding string, and string number acquisition means 112 for acquiring string number S of the corresponding string.

[0019] The pitch detection means 110 detects the pitch P, and the level detection means 111 detects the level L by known methods. As an example of a method for acquiring the string number S by the string number acquisition means 112, a method for acquiring the string number S of the string of the guitar G pre-allocated to the corresponding detection means 100a to 100f is given, but the string number S may be acquired by other methods. Each of the GT analysis means 101a to 101f can acquire the pitch P, level L, and string number S for each string of the guitar G. The pitch P, level L, and string number S detected and acquired by each of these GT analysis means 101a to 101f are input to the packet generation means 102.

[0020] The packet generating means 102 creates a MIDI (Musical Instrument Digital Interface) message MM, which is performance information in which various pieces of performance-related information based on the pitch P, level L, and string number S input from the detecting means 100a to 100f are set. The MIDI message MM in this embodiment complies with the "MIDI 2.0" standard. The structure of the MIDI message MM and the MIDI message MF, which is the format of the MIDI message MM, will be described with reference to Figs. 2(b) and (c).

[0021] 2(b) and (c) are diagrams showing the structure of MIDI messages MF and MM, respectively. The MIDI message MF used as the format of the MIDI message MM complies with the above-mentioned "MIDI 2.0" standard. In the case of note-off or note-on, as shown in FIG. 2(b) and (c), the fields for type Mt, group Mg, message type Ma, channel Mc, note number Mn, attribute type Mat, velocity Mv, and attribute data Mad are provided. In the case of string pitch bend, which bends the pitch for each string, the field for attribute type Mat in FIG. 2(b) and (c) is omitted, and further, instead of the velocity Mv and attribute data Mad in FIG. 2(b) and (c), the pitch change amount Mp is provided (not shown).

[0022] Message type Ma stores values ​​corresponding to MIDI performance instructions such as note on and note off. The MIDI messages MF and MM in Figs. 2(b) and (c) are examples of note on, so message type Ma stores the value "1001" which represents note on. Message type Ma also stores "1000" for note off and "0110" for string pitch bend. A MIDI message MM stores information related to the performance created by the packet generating means 102 in such a MIDI message MF.

[0023] 2(c), the MIDI message MM created by the packet generating means 102 stores in the group Mg information representing "guitar" indicating that the message is based on the performance of the guitar G. In the attribute type Mat, "attribute: pitch" is stored, indicating that pitch information is stored in the attribute data Mad. In addition, in the note number Mn, the string number S obtained from the GT analysis means 101a to 101f is stored, in the velocity Mv, the velocity V based on the level L obtained from the GT analysis means 101a to 101f is stored, and in the attribute data Mad, the pitch P obtained from the GT analysis means 101a to 101f is stored.

[0024] Although not shown, in the case of a note off, "1000" is stored in the message type Ma, and just like in the case of a note on, information representing "guitar" is stored in the group Mg, "attribute: pitch" is stored in the attribute type Mat, the string number S is stored in the note number Mn, and the velocity V is stored in the velocity Mv. Also, in the case of a "string pitch bend", which bends the pitch for each string, "0110" is stored in the message type Ma, the information representing "guitar" is stored in the group Mg, the string number S is stored in the note number Mn, and the pitch change amount PB, which is the amount of change in pitch when bending the pitch, is stored in the pitch change amount Mp.

[0025] The MIDI message MM thus created is input to the sound generating means 104 and used to generate musical tones. The MIDI message MM is not limited to one that complies with the "MIDI 2.0" standard, but may be one that complies with other standards such as "MIDI 1.0".

[0026] Returning to Fig. 2(a), the PD analysis means 103 creates a control change message based on the information input from the pedal 40. The sound generation means 104 generates musical tones based on the input MIDI message MM, and is realized by the CPU 10, the string map 12a and pitch map 12b, the sound source 14, the DSP 15, the DAC 17, and the amplifier 18. In this embodiment, only one sound generation means 104 is provided, so that the number of sound generation means 104 provided is less than the number of strings (six) of the connected guitar G.

[0027] Specifically, when the performance instruction of the MIDI message MM input from the packet generating means 102 is a note-on, the sound generating means 104 adds "1" to the counts in the string map 12a and pitch map 12b that correspond to the string number S and pitch P of the MIDI message MM. On the other hand, when the performance instruction is a note-off, the sound generating means 104 subtracts "1" from the counts in the string map 12a and pitch map 12b that correspond to the string number S and pitch P of the MIDI message MM.

[0028] A musical tone corresponding to the pitch P and velocity V of the MIDI message MM input from the packet generating means 102 or the like, and the note-on, note-off, etc., is output and emitted from the speaker 19. At this time, the output of the musical tone is controlled based on the count state of the string map 12a and the pitch map 12b.

[0029] As described above, a MIDI message MM is generated by the packet generation means 102 based on the pitch P, level L and string number S detected and acquired by the GT analysis means 101a-101f provided for each of the detection means 100a-100f, i.e., for each string of the guitar G, and input to the sound generation means 104. The sound generation means 104 outputs a musical tone according to the pitch P and velocity V of the MIDI message MM input from the packet generation means 102 and performance instructions such as note-on and note-off. In this way, musical tones based on the MIDI messages MM input from multiple strings of the guitar G can be output by a single sound generation means 104.

[0030] Here, in the conventional synthesizer 500 of Figure 21, analysis means 501a-501f are provided for each detection means 100a-100f, which create a MIDI message MM based on the pitch P and level L detected by the detection means 100a-100f, and further sound generation means 502a-502f are provided for each analysis means 501a-501f, which generate sound based on the created MIDI message MM.

[0031] That is, in conventional synthesizer 500, sound generation means 502a-502f are provided for each string of guitar G. This makes it possible to accurately generate and mute musical tones for each string of guitar G. However, on the other hand, since configuring the sound generation means requires resources related to the processing of synthesizer 500, providing six sound generation means 502a-502f places a heavy processing load on synthesizer 500.

[0032] Therefore, in the synthesizer 1 of this embodiment, by using the string map 12a and pitch map 12b of the sound generation means 104 to manage the state of generating or not generating musical tones for each string number S and pitch P, it is possible to realize accurate generation and muting of musical tones for each string of the guitar G, even if a sound generation means 104 is not provided for each string of the guitar G, that is, even if the number of sound generation means 104 is less than the number of strings of the guitar G. This makes it possible to reduce the processing load required for the sound generation means 104 in the synthesizer 1.

[0033] Next, the processing executed by the GT analysis means 101a-101f, the packet generation means 102, and the sound generation means 104 will be described with reference to Fig. 3-Fig. 14. First, the processing executed by the GT analysis means 101a-101f will be described with reference to Fig. 3. Fig. 3 is a flowchart of the GT analysis processing. The GT analysis processing is processing that is independently executed by each of the GT analysis means 101a-101f after the power supply of the synthesizer 1 is turned on.

[0034] The GT analysis process first obtains a level L according to the state of vibration input from the corresponding detection means 100a to 100f and a string number S assigned to the corresponding detection means 100a to 100f (S1).

[0035] After the process of S1, it is confirmed whether muting has been detected based on the acquired level L (S2). In the process of S2, for example, muting is detected when the level L acquired in the process of S1 falls below a predetermined threshold, but muting may be detected by other methods.

[0036] If no silencing is detected in the process of S2 (S2: No), it is confirmed whether pitch P can be detected from the vibration state input from the corresponding detection means 100a to 100f (S3). If pitch P can be detected in the process of S3 (S3: Yes), the detected pitch P is acquired (S4).

[0037] After the process of S4, it is confirmed whether the string with the string number S assigned to the corresponding detection means 100a to 100f is producing sound (S5). In the process of S5, for example, if the type D_ON (described later) of the corresponding string number S was output in the previous GT analysis process and the type D_OFF (described later) was not output thereafter, it is determined that the string is producing sound, but other methods may be used to detect whether the string is producing sound.

[0038] In the process of S5, if the string with the corresponding string number S is not producing sound (S5: No), it is further confirmed whether an attack has been detected (S6). In the process of S6, for example, an attack may be detected based on the change in level L (more specifically, the amplification factor) obtained in the process of S1, but an attack may be detected by other methods.

[0039] In the process of S6, if an attack is detected (S6: Yes), the string number S and level L obtained in the process of S1, the pitch P obtained in the process of S4, and the type D_ON indicating note-on are output to the packet generation means 102 (S7).

[0040] In the process of S5, if the string with the corresponding string number S is sounding (S5: Yes), it is checked whether an attack has been detected (S8). In the process of S8, the detection of an attack is checked using a method similar to that of S6 described above. In the process of S8, if an attack is detected (S8: Yes), the string number S and level L obtained in the process of S1, the pitch P obtained in the process of S4, and the type D_ON2ON, which indicates that a note-on has been performed on the currently note-on string, are output to the packet generating means 102 (S9).

[0041] If no attack is detected in the process of S8 (S8: No), the string number S and level L obtained in the process of S1, the pitch P obtained in the process of S4, and a type D_RATE_C indicating that the pitch P has changed due to sliding, choking, vibrato, etc. (hereinafter referred to as "slide, etc.") of the corresponding string are output to the packet generating means 102 (S10). If muting is detected in the process of S2 (S2: Yes), a type D_OFF indicating note-off is output to the packet generating means 102 (S11).

[0042] If it is confirmed in the process of S3 that the pitch P cannot be detected (S3: No), if it is confirmed in the process of S6 that the attack has not been detected (S6: No), or after the process of S7, S9, S10 or S11, the process from S1 onwards is repeated.

[0043] Next, the process executed by the packet generating means 102 will be described with reference to Fig. 4. Fig. 4 is a flowchart of the packet creation process. The packet creation process is executed when the string number S, pitch P, etc. are input from any of the GT analysis means 101a to 101f by the processes of S7, S9, S10, and S11 of the above-mentioned GT analysis process.

[0044] The packet creation process first checks the type input from the GT analysis means 101a to 101f (S20). If the type is D_ON in the process of S20 (S20: D_ON), ​​it is checked whether the input pitch P is within the range of the sounding fret (S21).

[0045] In this embodiment, the sounding fret refers to a fret of the guitar G at which sound is produced, which is set in advance by the user H for each string number S. If the input pitch P is within the range of the sounding fret, sound is produced at that pitch P, and if it is outside the range of the sounding fret, sound is not produced at that pitch P. Specifically, in the process of S21, the sounding fret corresponding to the acquired string number S is acquired, and it is confirmed whether the sounding fret includes a fret corresponding to the acquired pitch P. The fret corresponding to the pitch P is determined by the tuning information set by the user H.

[0046] In the process of S21, if the input pitch P is within the range of the sounding fret (S21: Yes), the acquired level L is converted to a velocity V by a known method (S22). After the process of S22, a MIDI message MM is created including the string number S and pitch P input from the GT analysis means 101a to 101f, the velocity V converted in the process of S22, and a note-on, and is output to the sound generation means 104 (S23).

[0047] In the process of S20, if the type is D_ON2ON (S20: D_ON2ON), it is checked whether the input pitch P is within the range of the sounding fret (S24). In the process of S24, if the input pitch P is within the range of the sounding fret (S24: Yes), it is further checked whether the string with the input string number S is sounding (S25). In the process of S25, if the string with the input string number S is sounding (S25: Yes), a MIDI message MM including the input string number S and note off is created and output to the sound generation means 104 (S26). After the process of S26, the processes from S22 onwards are executed.

[0048] As a result, if a further note-on is performed on a string that has already been note-on, the musical tone produced by the previous note-on is muted by the note-off MIDI message MM processed in S26, and the musical tone produced by the subsequent note-on is produced by the note-on MIDI message MM output by the processing of S22 and subsequent steps.

[0049] In the process of S25, if the string with string number S is not sounding (S25: No), the process of S22 and onwards is executed. As a result, even if the musical tone of the previous note-on is muted due to some factor, the musical tone of the subsequent note-on is sounded by the process of S22 and onwards.

[0050] In the process of S20, if the type is other than D_ON or D_ON2ON (S20: other), another type is checked in the process of S27. In the process of S27, if the type is D_RATE_C (S27: D_RATE_C), it is checked whether the input pitch P is within the range of the sounding fret (S28).

[0051] In the process of S28, if the input pitch P is within the range of the sounding fret (S28: Yes), it is checked whether the string with the input string number S is sounding (S29). In the process of S29, if the string with the input string number S is sounding (S29: Yes), it is checked whether the sounding mode of synthesizer 1 is string pitch bend, which bends the pitch for each string (S30). In the process of S30, if the sounding mode is string pitch bend (S30: Yes), the amount of pitch change PB, which is the difference between the pitch of the musical tone sounding on the string with the input string number S and the input pitch P, is calculated (S31).

[0052] After the process of S31, a MIDI message MM including the input string number S, the calculated pitch change amount PB, and pitch bend (PitchBend) is created and output to the sound generation means 104 (S32). As a result, a musical tone is output in a manner in which the pitch of the musical tone generated by the string with the input string number S changes to the input pitch P.

[0053] In the process of S29, if the string with the input string number S is not producing sound (S29: No), the process of S22 and onwards is executed. As a result, when the string with the input string number S is slid or the like, and the pitch P moves from outside the range of the sounding fret to within the range of the sounding fret, the corresponding musical tone is produced.

[0054] In the process of S27, if the type is D_OFF (S27: D_OFF), or if the pitch P input in the processes of S21, S24, and S28 is not within the range of the sounding frets (S21, S24, S28: No), it is confirmed whether the string with the input string number S is sounding (S33). In the process of S33, if the string with the input string number S is sounding (S33: Yes), a MIDI message MM including the input string number S and note off is created and output to the sound generation means 104 (S34).

[0055] After the process of S23, it is checked whether the sound generation mode is string pitch bend (S35). If the sound generation mode is string pitch bend (S35: Yes), the process of S31 and after is executed.

[0056] In the process of S30, if the sounding mode is not string pitch bend (S30: No), it is checked whether the sounding fret has changed (S36). In the process of S36, if the sounding fret has changed (S36: Yes), the above-mentioned processes from S26 onwards are executed.

[0057] After the processes of S32 and S34, if the string with the input string number S is not sounding in the process of S33 (S33: No), if the sounding mode is not string pitch bend in the process of S35 (S35: No), or if the sounding fret has not changed in the process of S36 (S36: No), the packet creation process ends.

[0058] Next, the processing executed by the sound generation means 104 will be described with reference to Fig. 5. Fig. 5(a) is a flowchart of MIDI processing. MIDI processing is processing executed when a MIDI message MM is input to the sound generation means 104 from the packet generation means 102 or the PD analysis means 103. The MIDI processing first executes an acquisition process (S40). Here, the acquisition process will be described with reference to Fig. 5(b).

[0059] 5(b) is a flowchart of the acquisition process. The acquisition process first checks the input MIDI message MM (S50). Specifically, in the process of S50, the value stored in the message type Ma of the input MIDI message MM is checked.

[0060] In the process of S50, if the MIDI message MM is note on or note off (the value of the message type Ma is "1001" or "1000") (S50: "NoteOn / NoteOff"), values ​​are obtained from each field (see FIG. 2(b)) of the note number Mn, velocity Mv, and attribute data Mad of the input MIDI message MM (S51). After the process of S51, the value obtained from the velocity Mv is set to the velocity V (S52). After the process of S52, the value obtained from the attribute data Mad is set to the pitch P (S53).

[0061] In the process of S50, if the MIDI message MM is pitch bend (the value of the message type Ma is "0110") (S50: "PitchBend"), values ​​are obtained from each field of the note number Mn and pitch change amount Mp of the input MIDI message MM (S54). After the process of S54, the value obtained from the pitch change amount Mp is set to the pitch change amount PB (S55).

[0062] After the processes of S53 and S55, the string number S is set to the value obtained from the note number Mn (S56). In the process of S50, if the MIDI message MM is not a note on, note off, or pitch bend (S50: "other"), or after the process of S56, the obtaining process ends.

[0063] Returning to Fig. 5(a), after the acquisition process of S40, it is confirmed whether the input MIDI message MM is note-on (S41). Specifically, it is confirmed whether the message type Ma of the input MIDI message is "1001". In the process of S41, if the MIDI message MM is note-on (S41: Yes), "1" is added to the count in the string map 12a corresponding to the string number S acquired in the acquisition process of S40 (S42), and "1" is added to the count in the pitch map 12b corresponding to the pitch P acquired in the acquisition process of S40 (S43).

[0064] In the process of S41, if the MIDI message MM is not Note On (S41: No), or after the process of S43, it is checked whether the MIDI message MM is Note Off (S44). Specifically, it is checked whether the message type Ma of the input MIDI message is "1000".

[0065] In the process of S44, if the MIDI message MM is note-off (S44: Yes), “1” is subtracted from the count in the string map 12a corresponding to the string number S obtained in the acquisition process of S40 (S45), and “1” is subtracted from the count in the pitch map 12b corresponding to the pitch P obtained in the acquisition process of S40 (S46).

[0066] In the process of S44, if the MIDI message MM is not Note Off (S44: No), or after the process of S46, sound generation process (S47) is executed. The sound generation process is a process related to sound generation according to the sound generation mode of the synthesizer 1, such as "string mono" which will be described later in Fig. 6. The sound generation process according to each sound generation mode will be described later in Fig. 6 and subsequent figures. After the sound generation process of S47, the MIDI process ends.

[0067] Next, the sound generation process of S47 in each sound generation mode will be described with reference to Figs. 6 to 10. In the synthesizer 1 of this embodiment, musical tones are output according to the sound generation mode set by the user H. The sound generation modes provided are "String Mono", "Mono", "Mono Retrigger", "String Mono Retrigger", "String Pitch Bend", "String Legato", "String Mono & Hold Normal", "String Mono & Hold Keep", "String Mono & Hold String", and "String Mono & Sostenuto". First, the sound generation mode "String Mono" will be described with reference to Fig. 6.

[0068] Figure 6(a) is a diagram explaining the string mono sound generation mode. In the string mono sound generation mode, when a note-on is specified for a musical note on a certain string at a different fret while a note-on is being specified for the same string, the musical note generated by the previous note-on is muted and the musical note generated by the subsequent note-on is generated.

[0069] For example, as shown in Fig. 6(a), if a note-on command is issued for the second fret of the first string while a note-on command is issued for the first fret of the first string, the first fret note that was previously pressed is muted, and the second fret note that was subsequently pressed is started. The sound generation process of S47, which realizes this kind of string mono, will be described with reference to Fig. 6(b).

[0070] Figure 6(b) is a flowchart of the sound generation process for string mono. The sound generation process for string mono begins with checking whether the input MIDI message MM is Note Off (S60). If the input MIDI message MM is not Note Off in the process of S60 (S60: No), it checks whether the input MIDI message MM is Note On (S61).

[0071] In the process of S61, if the input MIDI message MM is Note On (S61: Yes), it is confirmed whether the string with string number S acquired in the acquisition process of S40 is producing sound (S62). In the process of S62, if the string with string number S is producing sound (S62: Yes), the musical tone of string number S that is producing sound is released (muted) (S63).

[0072] In the process of S62, if the string with string number S is not sounding (S62: No), or after the process of S63, the musical tone with string number S, pitch P, and velocity V acquired in the acquisition process of S40 is sounded (S64). As a result, a later instructed note-on mutes the musical tone on the same string number S that was previously note-on, and sounds the musical tone that was later note-on.

[0073] In the process of S60, if the input MIDI message MM is Note Off (S60: Yes), it is confirmed whether the string number S and pitch P acquired in the acquisition process of S40 are being sounded (S65). In the process of S65, if the string number S and pitch P are being sounded (S65: Yes), the musical tone of the string number S is released (S66). In the process of S61, if the input MIDI message MM is not Note On (S61: No), in the process of S65, if the acquired string number S and pitch P are not being sounded (S65: No), or after the process of S66, the sounding process ends.

[0074] Next, the sound generation modes "Mono", "Mono Retrigger" and "String Mono Retrigger" will be explained with reference to Figures 7 and 8. First, an overview of these sound generation modes will be explained with reference to Figure 7.

[0075] 7(a) is a diagram explaining the mono sound generation mode. When a note-on command is issued for a musical tone on a different string while a note-on command is issued for a musical tone on a certain string, the musical tone generated by the previous note-on is muted and the musical tone generated by the subsequent note-on is generated.

[0076] For example, as shown in FIG. 7(a), if a note on the second fret of the second string is instructed while a note on the first fret of the first string is being played, the previously played note on the first fret of the first string is muted, and the later note on of the second fret of the second string begins.

[0077] Fig. 7(b) is a diagram explaining the mono retrigger sounding mode. In the mono retrigger sounding mode, when a note-on of a musical tone by the 2nd string is instructed while a note-on of a musical tone by the 1st string is continuing, and then a note-off of the musical tone by the 2nd string is instructed, the musical tone sounded by the note-on of the 1st string is temporarily muted together with the note-on of the musical tone by the 2nd string, and the muted musical tone of the 1st string is sounded again together with the note-off of the musical tone by the 2nd string.

[0078] For example, as shown in FIG. 7(b), while a musical tone at the 1st fret of the 1st string is being note-on, a note-on command is issued for the musical tone at the 1st fret of the 2nd string, and then a note-off command is issued for the musical tone at the 1st fret of the 2nd string. In this case, when the note-on command for the musical tone at the 1st fret of the 2nd string is issued, the musical tone at the 1st fret of the 1st string that is being sounded is temporarily muted, and then when the note-on command for the musical tone at the 1st fret of the 2nd string is issued, the sound of the muted musical tone at the 1st fret of the 1st string begins again.

[0079] Fig. 7(c) is a diagram for explaining the sounding mode String Mono Retrigger. String Mono Retrigger is a sounding mode that combines the String Mono described above in Fig. 6(a) and the Mono Retrigger described above in Fig. 7(b).

[0080] Specifically, in this tone generation mode, while a musical tone from the 1st string is being note-on, a note-on command is issued for a musical tone from the 1st fret of the 2nd string, and then a note-on command is issued for a musical tone from the 2nd fret of the 2nd string, and then a note-off command is issued for each of the musical tones from the 1st fret of the 2nd string and the 2nd fret of the 2nd string, the musical tone generated by the note-on of the 1st string is temporarily muted along with the note-on of the musical tone from the 1st fret of the 2nd string, the musical tone from the 1st fret of the 2nd string is muted along with the note-on of the musical tone from the 2nd fret of the 2nd string, and the musical tone from the 1st fret of the 2nd string is again generated along with note-off for each of the musical tones from the 1st fret of the 2nd string and the 2nd fret of the 2nd string.

[0081] For example, as shown in Fig. 7(c), if a note-on command is issued for the musical tone of the 1st fret of the 2nd string while a note-on command is issued for the musical tone of the 1st fret of the 1st string, and then a note-off command is issued for the musical tone of the 1st fret of the 2nd string, the musical tone of the 1st fret of the 1st string that is being sounded will be muted once along with the note-on command for the musical tone of the 1st fret of the 2nd string, and the muted musical tone of the 1st fret of the 1st string will be restarted along with the note-on command for the musical tone of the 1st fret of the 2nd string. The sound generation process of S47, which realizes these mono, mono retrigger and string mono retrigger, will be described with reference to Fig. 8.

[0082] Figure 8(a) is a flowchart of the sound generation process in mono, mono retrigger, and string mono retrigger. The sound generation process first checks whether the input MIDI message MM is note off (S70). If the MIDI message MM is not note off in the process of S70 (S70: No), it checks whether the MIDI message MM is note on (S71). If the MIDI message MM is note on in the process of S71 (S71: Yes), the note on process (S72), which will be described later in Figure 8(b), is executed.

[0083] In the process of S70, if the input MIDI message MM is a note-off (S70: Yes), the note-off process (S73) described later in Fig. 8(c) is executed. In the process of S71, if the input MIDI message MM is not a note-on (S71: No), or after the processes of S72 and S73, the sound generation process is terminated.

[0084] Next, the note-on process of S72 and the note-off process of S73 will be described. Fig. 8(b) is a flowchart of the note-on process. The note-on process first checks whether the string with string number S acquired in the acquisition process of S40 is producing a sound (S80). If the string with string number S is producing a sound (S80: Yes) in the process of S80, the musical tone of string number S that is producing a sound is released (muted) (S81).

[0085] In the process of S80, if the string with string number S is not producing sound (S80: No), or after the process of S81, it is confirmed whether or not a sound is being produced (S82). In the process of S82, if a sound is being produced (S82: Yes), the sound being produced is released (temporarily muted) (S83).

[0086] In the process of S82, if no sound is being generated (S82: No), or after the process of S83, the musical tone with the string number S, pitch P, and velocity V acquired in the acquisition process of S40 is generated (S84).

[0087] As a result, the later note-on silences the previously note-on musical tone, and the later note-on musical tone is sounded. When the previously note-on musical tone is silenced, if the previously note-on musical tone is on the same string number S as the later note-on, it is completely silenced (released), whereas if the previously note-on musical tone is not on the same string number S, it is temporarily silenced (released) so that it can be sounded again.

[0088] After the process of S83, substitute the latest velocity V' of string number S with the velocity V (S85 Then, the pitch P is substituted for the latest pitch P' of the string number S (S86), and the note-on process is completed.

[0089] 8(c) is a flowchart of the note-off process. The note-off process first checks whether any of the currently sounding notes have not been note-off (S90). If there is any note that has not been note-off in the process of S90 (S90: Yes), the smallest string number S among the string numbers S of the strings that have not been note-off is assigned to string number S' (S91).

[0090] After the process of S91, it is confirmed whether the string number S' is different from the string number S obtained in the acquisition process of S40, and whether the latest pitch P' of the string number S is the same as the pitch P obtained in the acquisition process of S40 (S92).

[0091] In the process of S92, if string number S' is not the same as string number S and the latest pitch P' of string number S is the same as pitch P (S92: Yes), the musical sound of string number S' is re-sounded at the latest pitch P' and latest velocity V' of string number S' (S93). This re-sounds the sound that was muted in the process of S73 of the note-on process in FIG. 8(b). When re-sounding, if there are multiple string numbers S that have not been note-off, the sound of the smallest string number S among them is re-sounded by the process of S91. After the process of S93, the re-sounding flag for the sound of string number S' is set to on (S94).

[0092] In the process of S90, if there is no sound that has not been note-off (S90: No), in the process of S92, if string number S' is the same as string number S or the latest pitch P' of string number S is different from pitch P (S92: No), or after the process of S94, it is confirmed whether the string with string number S is sounding (S95).

[0093] In the process of S95, if the string with string number S is sounding (S95: Yes), it is checked whether the note with pitch P is sounding (S96). In S96, if the note with pitch P is not sounding (S96: No), it is checked whether the re-sound flag for the note with string number S is on (S97).

[0094] If the process of S96 finds that the sound of pitch P is being sounded (S96: Yes), or if the process of S97 finds that the re-sound flag for the sound of string number S is on (S97: Yes), the musical sound of string number S is released (muted) (S98). If the process of S95 finds that the string of string number S is not sounding (S95: No), or if the process of S97 finds that the re-sound flag for the sound of string number S is off (S97: No), or after the process of S98, the note-off process ends.

[0095] Next, the sound generation mode "String Pitch Bend" will be explained with reference to Fig. 9. String Pitch Bend is a sound generation mode in which, when pitch bend is set in the MIDI message MM for string number S, the pitch of only the note generated based on the string with string number S is changed by the pitch change amount PB set in the MIDI message MM.

[0096] Figure 9 is a flowchart of the sound generation process for string pitch bend. The sound generation process first checks whether the input MIDI message MM is note off (S110). If the MIDI message MM is not note off in the process of S110 (S110: No), it checks whether the MIDI message MM is note on (S111). If the MIDI message MM is note on in the process of S111 (S111: Yes), the note on process (S72) in Figure 8(b) is executed, and the key off flag indicating that note has been generated for the note that has been subjected to the above note on process is set to off (S112).

[0097] In the process of S110, if the MIDI message MM is Note Off (S110: Yes), the Note Off process (S73) of Fig. 8(c) is executed, and the key-off flag for the note for which the above Note On process was performed is set to On (S113). In the process of S111, if the MIDI message MM is not Note On (S111: No), it is checked whether the MIDI message MM is a pitch bend (S115).

[0098] In the process of S115, if the MIDI message MM is a pitch bend (S115: Yes), it is checked whether the string with string number S is sounding (S116). In the process of S116, if the string with string number S is sounding (S116: Yes), it is checked whether the key-off flag for that note is off (S117). In the process of S117, if the key-off flag for that note is off (S117: Yes), the pitch change amount PB set in the MIDI message MM is added to the pitch of the note with string number S that is sounding (S118).

[0099] As described above, when the sound generation mode of the synthesizer 1 of this embodiment is "string pitch bend," if pitch bend is set in the acquired MIDI message MM, the pitch of only the note with the string number S is changed by the pitch change amount PB set in the MIDI message MM.

[0100] 21, when a pitch bend is specified based on the operation of a certain string, the pitch of all sounds being generated, not just the sound generated by that string, is changed by the pitch change amount PB. This causes the pitch of sounds of strings other than the string operated by user H, whose pitch is not intended to be changed, to change, making it impossible to generate musical sounds that have a mixture of strings whose pitch is changed by pitch bend and strings whose pitch is not changed, and thus making it impossible to perform fine pitch changes.

[0101] In contrast, with the string pitch bend of synthesizer 1 of this embodiment, when a pitch bend command is input, the pitch of only the note with the corresponding string number S is changed by the pitch change amount PB set in the MIDI message MM. This allows for fine-grained pitch changes, with some strings having their pitch changed based on the pitch change amount PB and others not being changed.

[0102] Furthermore, in the process of S116, if the sound of string number S is not being sounded, the pitch is not changed based on the pitch change amount PB. As a result, when the sound of string number S is to be sounded after the pitch change based on the pitch change amount PB, the pitch P designated by user H can be sounded without being affected by the pitch change based on the pitch change amount PB.

[0103] Furthermore, in the process of S117, when the key-off flag is on, i.e., when a note-off is performed, no change in pitch is made based on the pitch change amount PB. This is because in the synthesizer 1 of this embodiment, a decayed sound is output in a manner that attenuates the corresponding musical tone after a note-off is specified. By not making a change in pitch based on the pitch change amount PB when a note-off is performed, it is possible to prevent the pitch of the decayed sound corresponding to the note-off from changing, thereby suppressing the listener's discomfort when hearing the decayed sound.

[0104] In the process of S115, if the MIDI message MM is not a pitch bend (S115: No), in the process of S116, if the string with string number S is not sounding (S116: No), in the process of S117, if the key-off flag for the note is on (S117: No), or after the processes of S112, S113, and S118, the sounding process ends.

[0105] Next, the tone generation mode "string legato" will be explained with reference to Fig. 10. String legato is a tone generation mode in which, when two sounds (hereinafter referred to as "first sound" and "second sound") are successively generated on a string with a string number S designated in advance by the user H, the pitch is continuously changed from the designated first sound to the designated second sound (i.e., legato operation) only for the string with that string number S. In addition, in string legato, if the string numbers S of the first sound and the second sound are different, legato operation is not performed.

[0106] 10(a) is a flowchart of the sound generation process in string legato. The sound generation process first checks whether the input MIDI message MM is Note Off (S130). In the process of S130, if the MIDI message MM is not Note Off (S130: No), it checks whether the MIDI message MM is Note On (S131). In the process of S131, if the MIDI message MM is Note On (S131: Yes), it checks whether legato is enabled (S132). In the synthesizer 1 of this embodiment, it is configured so that the user H can set whether legato is enabled or disabled.

[0107] In the process of S132, if legato is valid (S132: Yes), legato pre-processing (S133) is executed. Now, the legato pre-processing will be described with reference to FIG.

[0108] FIG. 10(b) is a flowchart of legato pre-processing. In legato pre-processing, first, it is confirmed whether string legato is enabled (S140). In the synthesizer 1 of this embodiment, it is configured so that the user H can set whether string legato is enabled or disabled. In the process of S140, if string legato is enabled (S140: Yes), it is confirmed whether the string with string number S is sounding (S141). In the process of S141, if the string with string number S is not sounding (S141: No), this means that the sounding of the first sound has been instructed, so the first note-on flag, which indicates that the sounding of the first sound has been instructed, is set to on (S142).

[0109] On the other hand, if the string with string number S is currently sounding in the process of S141 (S141: Yes), the currently sounding note of the string with string number S is set as the "target note" to be legato (S143). After the process of S143, the above-mentioned first note-on flag is set to off (S144).

[0110] In the process of S140, if string legato is disabled (S140: No), when two consecutive notes are specified to be played on any string, not just the string that is the target of string legato, the pitch is changed continuously from the specified first note to the specified second note, regardless of whether or not the strings are crossed. Therefore, it is checked whether any sound is being played from any string, i.e., whether there is a note being played (S145).

[0111] In the process of S145, if there is no sound being sounded (S145: No), the above-mentioned first note-on flag is set to ON (S146). On the other hand, in the process of S145, if there is a sound being sounded (S145: Yes), the sound being sounded is set to "target sound" (S147), and the above-mentioned process of S144 is executed. After the processes of S142, S144, and S146, the legato pre-processing is terminated.

[0112] Returning to Fig. 10(a), after the legato pre-processing in S133, it is confirmed whether the first note-on flag is on (S134). If the first note-on flag is on in the processing of S134 (S134: Yes), or if legato is invalid in the processing of S132 (S132: No), this means that the first note in legato is to be sounded or legato is not to be performed, so the note-on processing (S72) in Fig. 8(b) is executed.

[0113] In the process of S134, if the first note-on flag is off (S134: No), the pitch of the "target sound" being sounded is changed by legato, so it is confirmed whether the pitch P' of the "target sound" being sounded is the same as the pitch P obtained in the process of S40, i.e., the pitch P of the second sound described above (S135).

[0114] In the process of S135, if the pitch P' of the "target sound" being pronounced is different from the pitch P (S135: No), a predetermined pitch value ΔP is added so that the pitch P' of the "target sound" being pronounced approaches the pitch P (S136), and the process of S135 is executed again. As a result, when the pronunciation of two sounds is instructed consecutively, the pitch is changed continuously from the instructed first sound to the instructed second sound.

[0115] In this case, if String Legato is enabled, the pitch will change continuously only if the string number S of the first and second notes is the same. If String Legato is disabled, the pitch will change continuously from the specified first note to the specified second note, regardless of whether or not the strings are crossed.

[0116] On the other hand, in the process of S135, if the pitch P' of the "target note" being sounded is equal to or higher than the pitch P (S135: Yes), the string number of the "target note" is set to the string number S acquired in the acquisition process of S40 (S137). In the process of S130, if the input MIDI message MM is note off (S130: Yes), the note off process (S73) of Figure 8(c) is executed. In the process of S131, if the MIDI message MM is not note on (S131: No), or after the processes of S72, S73, and S145, the sound production process ends.

[0117] In the processes of S135 and S136, the pitch value ΔP is added to the pitch of the first sound to change the pitch of the instructed first sound to the pitch of the second sound, but this is not limited to the above. For example, if the pitch of the first sound is higher than the pitch of the second sound, the pitch of the first sound may be changed to the pitch of the second sound by subtracting the pitch value ΔP from the pitch of the first sound.

[0118] Furthermore, the pitch value ΔP is not limited to a constant value, and may be a variable value. For example, the pitch value ΔP may be a value according to the pitch difference between the first sound and the second sound. In this case, a large pitch value ΔP may be set when the pitch difference between the first sound and the second sound is large, and a small pitch value ΔP may be set when the pitch difference between the first sound and the second sound is small, so that the time until the pitch of the first sound changes to the pitch of the second sound is constant (for example, 2 seconds).

[0119] Although legato operation has been described above with reference to FIG. 10, portamento operation, which is a performance technique in which pitches change continuously from one to another like legato, can also be processed in the same manner.

[0120] Next, the sound generation mode "String Mono & Hold Normal" will be described with reference to Fig. 11. The String Mono & Hold Normal is a sound generation mode that operates in the same manner as the sound generation mode "String Mono" described above in Fig. 6, but when the user H steps on the hold pedal of the pedal 40 (ON), it continues to generate both the sound generated before the hold pedal was stepped on and the sound generated after the hold pedal was stepped on.

[0121] Fig. 11 is a diagram for explaining the string mono & hold normal. Fig. 11 shows the operation of the guitar G and pedal 40 by the user H, and the string mono & hold normal operation in each of the packet generating means 102 and the sound generating means 104. Note that Figs. 12 to 14, which will be described later, also show the operation of the guitar G and pedal 40 by the user H, and the operation of each sound generating mode in each of the packet generating means 102 and the sound generating means 104.

[0122] For String Mono & Hold Normal, first, the sound generating means 104 sets the hold value, which indicates whether the hold pedal is being depressed, to 0x00. If the hold pedal is being depressed, 0xFF is set to the hold value, and if it is not being depressed, 0x00 is set.

[0123] After that, user H plays the first fret (F4) of the first string of the guitar G. In response, the packet generation means 102 creates a MIDI message MM that notes on the sound of the first fret of the first string ("1st string / F4" in the drawing), and the sound generation means 104 that receives the MIDI message MM produces a sound of the first fret of the first string.

[0124] Furthermore, based on the input of a note-on of the first fret of the first string, the sound generation means 104 adds "1" to the count for string number 1 in the string map 12a, and adds "1" to the count for pitch F4 in the pitch map 12b.

[0125] After that, user H plays the third fret (G4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that notes on the sound of the third fret of the first string (in the figure, "first string / G4"). The sound generating means 104 to which this MIDI message MM has been input releases the sound of the first fret of the first string that is being sounded, and then sounds the sound of the third fret of the first string, through the above-mentioned string mono operation.

[0126] At this time, because the third fret of the first string is played in addition to the first fret of the first string that is already sounding, the type D_ON2ON is input to the packet generation means 102 by the process of S9 of the GT analysis process in Fig. 3, and as a result, a MIDI message MM for setting the note-off of the first fret of the first string is created by the process of S26 of the packet generation process in Fig. 4 and input to the sound generation means 104. However, because the sound of the first fret of the first string has already been released by the above-mentioned string mono operation, the sound generation means 104 does not perform any operation.

[0127] Based on the input of the note-on of the 3rd fret of the 1st string and the note-off of the 1st fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch F4 in pitch map 12b and adds "1" to the count of pitch G4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0128] After that, the user H steps on the hold pedal. In response to this, the sound generation unit 104 sets the hold value to 0xFF. Note that the hold pedal is assumed to be continuously stepped on until the user H, who will be described later, releases the hold pedal (the same applies to Figs. 12 and 13, which will be described later).

[0129] After user H depresses the hold pedal, user H plays the fifth fret (A4) of the first string on the guitar G. The packet generation means 102 creates a MIDI message MM that notes on the sound of the fifth fret of the first string (in the figure, "first string / A4"). The sound generation means 104 that receives this MIDI message MM generates a sound of the fifth fret of the first string.

[0130] At this time, since the hold value (=0xFF) is equal to or greater than the threshold value of 0x40, the sound at the third fret of the first string, which is being sounded by the string mono, is not released. Also, since the fifth fret of the first string is played in addition to the third fret of the first string, which is already sounding, the packet generation means 102 creates a MIDI message MM of type D_ON2ON to note off the sound at the third fret of the first string, and inputs this to the sound generation means 104, but since the hold value (=0xFF) is equal to or greater than the threshold value of 0x40, no release is performed by this MIDI message MM. At this time, based on the input of the MIDI message MM to note off the sound at the third fret of the first string, "1" is subtracted from the count of pitch G4 in the pitch map 12b.

[0131] These actions continue the sound of the third fret of the first string that was sounded before user H stepped on the hold pedal, and the fifth fret of the first string that was sounded after the user H stepped on the hold pedal. Based on the input of the note-on of the fifth fret of the first string and the note-off of the third fret of the first string, the sound production means 104 subtracts "1" from the count of pitch G4 in pitch map 12b and adds "1" to the count of pitch A4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0132] Thereafter, when user H releases the hold pedal that he has been stepping on, the sound generation means 104 sets the hold value to 0x00. As a result, the hold value (=0x00) becomes less than the threshold value of 0x40, and therefore, of all the sounds being generated, the sounds whose counts in the string map 12a and pitch map 12b are both set to "0" are released. In the case of FIG. 11, the sound at the third fret of the first string is released. On the other hand, the sound at the fifth fret of the first string, whose counts in the string map 12a and pitch map 12b are both set to "1" or more, is not released and continues to be generated.

[0133] Furthermore, after that, user H mutes the 5th fret of the 1st string, causing the packet generation means 102 to create a MIDI message MM for note-off of the played sound of the 5th fret of the 1st string, and the sound generation means 104 to which this MIDI message MM has been input releases the sound of the 5th fret of the 1st string. Based on the input of note-off of the sound of the 5th fret of the 1st string, the sound generation means 104 subtracts "1" from the count for string number 1 in the string map 12a, and subtracts "1" from the count for pitch A4 in the pitch map 12b.

[0134] Next, the sound generation mode "String Mono & Hold Keep" will be described with reference to Fig. 12. String Mono & Hold Keep is a sound generation mode that operates in the same way as "String Mono", but when user H steps on the hold pedal, it continues to generate the sound that was generated before the hold pedal was pressed, but does not generate the sound that is instructed to be generated after the hold pedal is pressed.

[0135] 12 is a diagram explaining the string mono & hold keep. In the string mono & hold keep, the sound generation means 104 first sets the hold value to 0x00. After that, the user H plays the first fret (F4) of the first string of the guitar G. The packet generation means 102 then creates a MIDI message MM that notes on the sound of the first fret of the first string that was played, and the sound generation means 104 that receives this MIDI message MM produces the sound of the first fret of the first string.

[0136] Furthermore, based on the input of a note-on of the first fret of the first string, the sound generation means 104 adds "1" to the count for string number 1 in the string map 12a, and adds "1" to the count for pitch F4 in the pitch map 12b.

[0137] After that, user H plays the third fret (G4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that notes on the sound of the third fret of the first string that was played. The sound generating means 104 that receives this MIDI message MM releases the sound of the first fret of the first string that is being sounded, and then sounds the sound of the third fret of the first string, through the above-mentioned string mono operation.

[0138] At this time, because the third fret of the first string is played in addition to the first fret of the first string that is already sounding, the type D_ON2ON is input to the packet generation means 102, which creates a MIDI message MM for note-off of the sound of the first fret of the first string, and inputs it to the sound generation means 104. However, because the sound of the first fret of the first string has already been released by the above-mentioned string mono operation, the sound generation means 104 does not perform any operation.

[0139] Based on the input of the note-on of the 3rd fret of the 1st string and the note-off of the 1st fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch F4 in pitch map 12b and adds "1" to the count of pitch G4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0140] After that, the user H steps on the hold pedal, and in response, the sound generation means 104 sets the hold value to 0xFF.

[0141] After user H depresses the hold pedal, user H plays the fifth fret (A4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that notes on the sound of the fifth fret of the first string that was played. In the sound generating means 104 to which this MIDI message MM is input, the hold value is set to 0xFF, which is greater than or equal to the threshold value of 0x40, so the sound of the fifth fret of the first string based on the input MIDI message MM is not generated, and the sound of the third fret of the first string is not released due to the operation of the string mono.

[0142] Furthermore, as the fifth fret of the first string is played in addition to the third fret of the first string that is already being sounded, the packet generation means 102 creates a MIDI message MM of type D_ON2ON to note off the sound of the third fret of the first string, and inputs this to the sound production means 104. However, since the hold value (=0xFF) is greater than or equal to the threshold value of 0x40, no release is performed by this MIDI message MM.

[0143] These actions cause the sound of the third fret of the first string that was produced before user H pressed the hold pedal to continue, while synthesizer 1 does not produce the sound of the fifth fret of the first string that was instructed after the hold pedal was pressed. However, since the first string does vibrate based on user H's playing of the fifth fret of the first string, a (live) sound based on that vibration is produced. As a result, it is possible to produce expressive musical sounds that combine the sound of the third fret of the first string produced by synthesizer 1 and the live sound based on user H's playing of the fifth fret of the first string.

[0144] Based on the input of the note-on of the 5th fret of the 1st string and the note-off of the 3rd fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch G4 in pitch map 12b and adds "1" to the count of pitch A4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0145] Thereafter, when the user H releases the hold pedal that he has been stepping on, the sound generation means 104 sets the hold value to 0x00. As a result, the hold value (=0x00) becomes less than the threshold value of 0x40, and therefore, of all the sounds being generated, the sounds whose counts in the string map 12a and the pitch map 12b are set to "0" are released. In the case of FIG. 12, the sound at the third fret of the first string is released. On the other hand, the sounds whose counts in the string map 12a and the pitch map 12b are set to "1" or more are not released and continue to be generated.

[0146] Furthermore, after that, user H mutes the 5th fret of the 1st string, causing the packet generation means 102 to create a MIDI message MM to note off the sound of the 5th fret of the 1st string that was played, and this MIDI message MM is input to the sound generation means 104, but since the sound of the 5th fret of the 1st string was not sounded in the first place, no action is taken. Based on the input of the note-off of the sound of the 5th fret of the 1st string, the sound generation means 104 subtracts "1" from the count for string number 1 in the string map 12a, and subtracts "1" from the count for pitch A4 in the pitch map 12b.

[0147] Next, the sound generation mode "String Mono & Hold String" will be described with reference to Fig. 13. String Mono & Hold String is a sound generation mode that operates in the same way as "String Mono", but when user H steps on the hold pedal, it releases (mutes) the sound that was generated before the hold pedal was pressed, and produces the sound that was specified after the hold pedal was pressed.

[0148] 13 is a diagram explaining the String Mono & Hold String. In the String Mono & Hold String, the sound generating means 104 first sets the hold value to 0x00. After that, the user H plays the first fret (F4) of the first string of the guitar G. The packet generating means 102 then creates a MIDI message MM that notes on the sound of the first fret of the first string that was played, and the sound generating means 104 that receives this MIDI message MM produces the sound of the first fret of the first string.

[0149] Furthermore, based on the input of a note-on of the first fret of the first string, the sound generation means 104 adds "1" to the count for string number 1 in the string map 12a, and adds "1" to the count for pitch F4 in the pitch map 12b.

[0150] After that, user H plays the third fret (G4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that notes on the sound of the third fret of the first string that was played. The sound generating means 104 that receives this MIDI message MM releases the sound of the first fret of the first string that is being sounded, and then sounds the sound of the third fret of the first string, through the above-mentioned string mono operation.

[0151] At this time, because the third fret of the first string is played in addition to the first fret of the first string that is already sounding, the type D_ON2ON is input to the packet generation means 102, which creates a MIDI message MM for note-off of the sound of the first fret of the first string, and inputs it to the sound generation means 104. However, because the sound of the first fret of the first string has already been released by the above-mentioned string mono operation, the sound generation means 104 does not perform any operation.

[0152] Based on the input of the note-on of the 3rd fret of the 1st string and the note-off of the 1st fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch F4 in pitch map 12b and adds "1" to the count of pitch G4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0153] After that, the user H steps on the hold pedal, and in response, the sound generation means 104 sets the hold value to 0xFF.

[0154] After user H depresses the hold pedal, user H plays the fifth fret (A4) of the first string on the guitar G. The packet generation means 102 creates a MIDI message MM that notes on the sound of the fifth fret of the first string that was played. In the sound generation means 104 to which this MIDI message MM is input, since the hold value is set to 0xFF and is equal to or greater than the threshold value of 0x40, and the first string is being sounded, the sound of the third fret of the first string that is being sounded is released (temporarily muted), and instead, the sound of the fifth fret of the first string based on the input MIDI message MM is sounded.

[0155] Furthermore, by playing the fifth fret of the first string in addition to the third fret of the first string that is already sounding, the packet generation means 102 creates a MIDI message MM of type D_ON2ON to turn off the sound of the third fret of the first string, and inputs it to the sound generation means 104, but since the hold value (=0xFF) is equal to or greater than the threshold value of 0x40, no release is performed by this MIDI message MM. At this time, based on the input of the MIDI message MM to turn off the sound of the third fret of the first string, "1" is subtracted from the count of pitch G4 in the pitch map 12b.

[0156] As a result of these actions, the sound at the third fret of the first string that was produced before user H pressed the hold pedal is released (temporarily muted), while the sound at the fifth fret of the first string that was instructed after the hold pedal was pressed is produced.

[0157] Based on the input of the note-on of the 5th fret of the 1st string and the note-off of the 3rd fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch G4 in pitch map 12b and adds "1" to the count of pitch A4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0158] Thereafter, when the user H releases the hold pedal that he has been stepping on, the sound generation means 104 sets the hold value to 0x00. As a result, the hold value (=0x00) becomes less than the threshold value of 0x40, and therefore, among all the sounds being generated, the sounds for which the counts in the string map 12a and the pitch map 12b are set to "0" are released. In the case of FIG. 13, among all the sounds being generated, there is no sound for which the counts in the string map 12a and the pitch map 12b are set to "0", so no release is performed. On the other hand, the 5th fret of the 1st string, for which the counts in the string map 12a and the pitch map 12b are set to "1" or more, is not released and sound generation continues.

[0159] Furthermore, after that, user H mutes the 5th fret of the 1st string, causing the packet generation means 102 to create a MIDI message MM for note-off of the played sound of the 5th fret of the 1st string, and the sound generation means 104 to which this MIDI message MM has been input releases the sound of the 5th fret of the 1st string. Based on the input of note-off of the sound of the 5th fret of the 1st string, the sound generation means 104 subtracts "1" from the count for string number 1 in the string map 12a, and subtracts "1" from the count for pitch A4 in the pitch map 12b.

[0160] Next, the sound production mode "String Mono & Sostenuto" will be described with reference to Fig. 14. The String Mono & Sostenuto is a sound production mode that operates in the same way as "String Mono", but when the user H presses the sostenuto pedal of the pedal 40, it continues to produce the sound that was started to be produced before the sostenuto pedal was pressed, and also produces only the most recently instructed sound on that string among the sounds instructed after the sostenuto pedal was pressed.

[0161] 14 is a diagram explaining the String Mono & Sostenuto. In the String Mono & Sostenuto, first, the sound generating means 104 sets the Sost value, which indicates whether the sostenuto pedal is depressed, to 0x00. As with the hold value described above, the Sost value is set to 0xFF when the sostenuto pedal is depressed, and set to 0x00 when it is not depressed.

[0162] After that, user H plays the first fret (F4) of the first string of the guitar G. In response, the packet generating means 102 creates a MIDI message MM that indicates a note-on for the sound of the first fret of the first string that was played, and the sound generating means 104 that receives the MIDI message MM generates the sound of the first fret of the first string.

[0163] Furthermore, based on the input of a note-on of the first fret of the first string, the sound generation means 104 adds "1" to the count for string number 1 in the string map 12a, and adds "1" to the count for pitch F4 in the pitch map 12b.

[0164] At this time, the sound generation means 104 sets the SostOn flag of the first fret of the first string to OFF. The SostOn flag is a flag provided for each note (i.e., string and pitch), and the SostOn flag of the note generated before the sostenuto pedal is pressed is set to OFF, and the SostOn flag of the note generated after the sostenuto pedal is pressed is set to ON. As will be described in detail later, the sound generation of the note with the SostOn flag OFF continues even after the sostenuto pedal is pressed.

[0165] After that, the user H depresses the sostenuto pedal. In response to this, the sound generation means 104 sets the Sost value to 0xFF. It is assumed that the sostenuto pedal is also continued to be depressed until the user H, who will be described later, releases the sostenuto pedal.

[0166] After user H depresses the sostenuto pedal, user H plays the third fret (G4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that notes on the sound of the third fret of the first string that was played. The sound generating means 104 to which this MIDI message MM is input does not release the first fret of the first string because the SostOn flag of the first fret of the first string that is being sounded is off. This allows the sound that began to be sounded before the sostenuto pedal was depressed to continue to be sounded.

[0167] Based on the input MIDI message MM for note-on of the third fret of the first string, the sound generating means 104 generates a sound of the third fret of the first string and sets the SostOn flag of the third fret of the first string to on.

[0168] At this time, by playing the third fret of the first string in addition to the first fret of the first string that is already being sounded, the type D_ON2ON is input to the packet generation means 102, which creates a MIDI message MM for note-off of the first fret of the first string, and inputs it to the sound generation means 104. However, the sound of the first fret of the first string is not released because the SostOn flag is off, so the sound generation means 104 does nothing.

[0169] Based on the input of the note-on of the third fret of the first string and the note-off of the first fret of the first string, the sound production means 104 subtracts "1" from the count of pitch F4 in pitch map 12b and adds "1" to the count of pitch G4 (the count of string number 1 in string map 12a remains "1" because "1" is added and then subtracted).

[0170] After that, user H plays the fifth fret (A4) of the first string on the guitar G. The packet generating means 102 creates a MIDI message MM that generates a note-on for the sound played at the fifth fret of the first string. The sound generating means 104, to which this MIDI message MM has been input, releases the sound being played at the third fret of the first string. This release is performed because, in addition to the above-mentioned string mono, the SostOn flag for the third fret of the first string is on.

[0171] On the other hand, the note at the first fret of the first string that is being sounded is not released because the corresponding SostOn flag is off. Then, based on the MIDI message MM that specifies a note-on for the fifth fret of the first string, the note at the fifth fret of the first string is sounded and the SostOn flag for the fifth fret of the first string is set to on. As a result, the note that began to be sounded before the sostenuto pedal was pressed (i.e. the note at the first fret of the first string) continues to be sounded, and of the notes that were specified to be sounded after the sostenuto pedal was pressed, only the most recently specified note on that string (i.e. the note at the fifth fret of the first string) is sounded.

[0172] Based on the input of the note-on of the 5th fret of the 1st string and the note-off of the 3rd fret of the 1st string, the sound production means 104 subtracts "1" from the count of pitch G4 in pitch map 12b and adds "1" to pitch A4 (the count of string number 1 in string map 12a remains "1" because "1" is subtracted after adding "1").

[0173] After that, when the user H releases the sostenuto pedal that he has been stepping on, the sound generation means 104 sets the Sost value to 0x00. As a result, the Sost value (=0x00) becomes less than the threshold value of 0x40, and the sound being generated is released. At this time, the sound whose count in the string map 12a and the pitch map 12b is set to "1" is not released. Therefore, in the case of FIG. 14, the sound of the first fret (F4) of the first string whose count in the pitch map 12b is set to 0 is released, and the sound of the fifth fret (A4) of the first string whose count in the string map 12a and the pitch map 12b is set to "1" is not released. In addition, the SostOn flags of all the sounds that were not released at this time are set to off.

[0174] Furthermore, after that, user H mutes the 5th fret of the 1st string, causing the packet generation means 102 to create a MIDI message MM for note-off of the played sound of the 5th fret of the 1st string, and the sound generation means 104 to which this MIDI message MM has been input releases the sound of the 5th fret of the 1st string. Based on the input of note-off of the sound of the 5th fret of the 1st string, the sound generation means 104 subtracts "1" from the count for string number 1 in the string map 12a, and subtracts "1" from the count for pitch A4 in the pitch map 12b.

[0175] It should be noted that the "String Mono & Hold Normal" in FIG. 11 and the "String Mono & Sostenuto" in FIG. 14 are not limited to being operated separately, and may be used in combination.

[0176] Next, a synthesizer 200 of the second embodiment will be described with reference to Figures 15 and 16. The synthesizer 1 of the first embodiment described above is configured to have only one sound generation means 104. In contrast, the synthesizer 200 of the second embodiment is configured to have two sound generation means 104a and 104b, and is configured so that the aspects of musical sounds such as timbre can be set independently by each of the sound generation means 104a and 104b. The same components as those of the first embodiment described above are given the same reference numerals, and detailed description will be omitted.

[0177] 15 is a functional block diagram of synthesizer 200 of the second embodiment. Synthesizer 200 of the second embodiment is provided with two sound generating means 104a and 104b. Sound generating means 104a and 104b are provided with packet generating means 102a and 102b, respectively. Specifically, sound generating means 104a is provided with packet generating means 102a, and sound generating means 104b is provided with packet generating means 102b.

[0178] In addition, each of the packet generating means 102a, 102b is configured to be able to set the sounding fret for each of the string numbers S independently, and furthermore, each of the sounding means 104a, 104b is configured to be able to set the tone color of the musical tone to be sounded at each of the sounding frets independently. As a result, compared to the synthesizer of the first embodiment in which only one sounding means 104 is provided, the synthesizer 200 of the second embodiment can output expressive musical tones by combining sounding frets and tone colors to be sounded.

[0179] Next, the operation of the "string pitch bend" sound generation mode using the synthesizer 200 of the second embodiment will be described with reference to Fig. 16. Figs. 16(a) to (c) are diagrams for explaining the string pitch bend sound generation mode using the synthesizer 200 of the second embodiment.

[0180] In FIG. 16(a), the tone of the sound generating means 104a is set to piano, the sound generating frets of the packet generating means 102a are set to 1st fret to 3rd fret, and string pitch bend is not used. In this case, when the user H holds down the 1st fret of the 3rd string and plucks the 3rd string, and then slides from the 1st fret of the 3rd string to the 3rd fret of the 3rd string, the 1st fret of the 3rd string is plucked to produce a piano sound of pitch P corresponding to the fret. When the 2nd fret is reached, the piano sound of pitch P corresponding to the 1st fret is stopped, and instead, the piano sound of pitch P corresponding to the 2nd fret is produced. Similarly, when the 3rd fret is reached, the piano sound of pitch P corresponding to the 2nd fret is stopped, and instead, the piano sound of pitch P corresponding to the 3rd fret is produced.

[0181] 16(b), the tone of the sound generating means 104a is set to organ, the sound generating fret of the packet generating means 102a is set to only the 4th fret, and string pitch bend is not used. In this case, if user H presses the 1st fret of the 4th string and plucks the 4th string, and then slides from the 1st fret of the 4th string to the 3rd fret of the 4th string, no sound is generated when the 1st fret of the 4th string is plucked, but as the user slides and reaches the 3rd fret, an organ sound with pitch P corresponding to the 3rd fret of the 4th string is generated.

[0182] The start of organ sound production when sliding or the like up to the 3rd fret is realized by processing in steps S27 to S29, S22, and S23 in the packet creation process of Figure 4, where a note is generated with type D_RATE_C when pitch P is within the sounding fret and string number S (=4th string) is not sounding.

[0183] 16(c), the tone of the sound generating means 104a is set to violin, only the 1st and 2nd frets are set to the sound generating frets of the packet generating means 102a, and string pitch bend is used. In this case, when the user H holds down the 1st fret of the 5th string and plucks the 5th string, and slides from the 1st fret of the 5th string to the 3rd fret of the 5th string, a violin sound of pitch P corresponding to the fret is generated by plucking the 1st fret of the 5th string, and by sliding to the 2nd fret, a violin sound of pitch P corresponding to the 1st fret is generated so as to change continuously from the violin sound of pitch P corresponding to the 1st fret to the violin sound of pitch P corresponding to the 2nd fret. After that, when the user slides to the 3rd fret, the violin sound is out of the range of the sound generating frets, and the sound generation of the violin sound is stopped.

[0184] Such stopping of sound production by sliding to the 3rd fret, etc. is realized by processing in S27, S28, S33, and S34 in the packet creation process of Figure 4, where the type is D_RATE_C, pitch P is outside the sounding fret, and string number S (= 5th string) is being sounded, and note-off is performed.

[0185] In this way, by variously setting the sounding frets and the tones that are produced, it is possible to output expressive musical sounds by combining whether or not certain frets sound and the types of tones that are produced.

[0186] In addition, for example, by setting the packet generating means 102a and sound generating means 104a to the setting in Fig. 16(a) and setting the packet generating means 102b and sound generating means 104b to the setting in Fig. 16(c), the third and fifth strings can be plucked by simultaneously pressing down the first frets of these strings, and by sliding only the third string up to the third fret, it is possible to change only the pitch P of the third string without changing the pitch P of the fifth string. This allows the piano sound and the violin sound to be simultaneously generated with their respective pitches P changed, making it possible to output expressive musical sounds.

[0187] 15 and 16, a tone color is set for each of the sound generating means 104a and 104b, but this is not limiting. Furthermore, a tone color may be set for each range of sound generating frets. For example, frets 1 to 3 may be set to generate piano sounds, and frets 4 to 6 may be set to generate organ sounds. By setting in this way, when string pitch bending is performed, the pitch P can be changed continuously and the tone color can also be changed continuously.

[0188] Next, a synthesizer 300 of a third embodiment will be described with reference to Figures 17 to 20. The synthesizer 1, 200 of the first and second embodiments described above generated sounds only in response to MIDI messages MM based on the performance input from the guitar G. In contrast, the synthesizer 200 of the third embodiment is configured so that it can generate sounds based on inputs not only from the guitar G but also from the keyboard 50 and PC 60. The same components as those of the first and second embodiments described above are given the same reference numerals, and detailed description thereof will be omitted.

[0189] 17 is a block diagram showing the electrical configuration of a synthesizer 300 according to the third embodiment. To an input / output device 13 of synthesizer 300, in addition to a pickup device 30 and a pedal 40, a keyboard 50 and a PC 60 are connected.

[0190] Keyboard 50 is an input device having keys. Keyboard 50 creates MIDI messages MM based on the operation of the keyboard by user H, and inputs the MIDI messages MM to synthesizer 300 via input / output device 13. Details of the MIDI messages MM created by keyboard 50 will be described later with reference to FIG. 19. PC 60 is an information processing device (computer) that inputs MIDI messages MM to synthesizer 300.

[0191] 18 is a functional block diagram of a synthesizer 300 according to the third embodiment. In addition to the packet generating means 102 and the PD analyzing means 103, the above-mentioned keyboard 50 and PC 60 are connected to the sound generating means 104 in the synthesizer 300. A MIDI message MM based on an operation of the keyboard by the user H is input to the sound generating means 104 from the keyboard 50.

[0192] The PC 60 stores MIDI tracks 51a-51f each consisting of a series of a plurality of MIDI messages MM, and these are managed by an application program (e.g., DAW (Digital Audio Workstation) or the like) installed in the PC 60. In response to a playback instruction or the like from the application program of the PC 60, the MIDI messages MM are sequentially read out from the MIDI tracks 51a-51f in the PC 60 and input to the sound generation means 104. The MIDI messages MM that make up the MIDI tracks 51a-51f and their order are configured to be editable by the user H, so that the user H can create the MIDI tracks 51a-51f for desired sound generation. The number of MIDI tracks stored in the PC 60 is not limited to six, MIDI tracks 51a-51f, and may be less than six or more than six.

[0193] Next, the structure of a MIDI message MM created by the keyboard 50 will be described with reference to Fig. 19. Fig. 19(a) is a diagram that typically shows the structure of a MIDI message MF, Fig. 19(b) is a diagram that typically shows the structure of a MIDI message MM based on a guitar G, and Fig. 19(c) is a diagram that typically shows the structure of a MIDI message MM based on the keyboard 50.

[0194] The synthesizer 300 also uses the format of the MIDI message MM shown in Fig. 19(a), which is similar to that shown in Fig. 2(b) above, as the format of the MIDI message MM. Also, the MIDI message MM based on the guitar G uses the format shown in Fig. 19(b), which is similar to that shown in Fig. 2(c) above.

[0195] 19(c), the MIDI message MM based on the keyboard 50 stores information indicating "KBD" indicating that it is based on the keyboard 50 in the group Mg, stores the pitch P based on the operated key of the keyboard 50 in the note number Mn, and stores the velocity V based on the speed at which the key was operated in the velocity Mv. In this way, since the pitch P is stored in the note number Mn rather than the attribute data Mad, the attribute type Mat stores "attribute: none", indicating that the attribute data Mad is not used.

[0196] That is, in a MIDI message MM based on a guitar G, the pitch P is stored in attribute data Mad, whereas in a MIDI message MM based on a keyboard 50, the pitch P is stored in a note number Mn. Note that in the MIDI tracks 51a to 51f of the PC 60, a MIDI message MM in the format created by the packet generating means 102 in Fig. 19(b) or a MIDI message MM in the format created by the keyboard 50 in Fig. 19(c) may be set, or a mixture of these formats of MIDI message MM may be set.

[0197] Next, referring to FIG. 20, the acquisition process S40 for acquiring the velocity V, pitch P, and string number S from each of the MIDI message MM in a format created by such a packet generation means 102 and the MIDI message MM in a format created by the keyboard 50 will be described.

[0198] 20 is a flowchart of the acquisition process (S40) of the third embodiment. In the acquisition process of the third embodiment, if the MIDI message MM is note-on or note-off in the process of S50 (S50: "NoteOn / NoteOff"), it is confirmed whether the value of the group Mg of the MIDI message MM corresponds to the value of the attribute type Mat (S150). Specifically, if the value of the group Mg is "guitar" and the value of the attribute type Mat is "attribute: pitch", or if the value of the group Mg is "KBD" and the value of the attribute type Mat is "attribute: none", it is determined that the value of the group Mg of the MIDI message MM corresponds to the value of the attribute type Mat.

[0199] In the process of S150, if the value of the group Mg of the MIDI message MM corresponds to the value of the attribute type Mat (S150: Yes), similar to the processes of S51 and S52 described above, values ​​are obtained from each field of the note number Mn, velocity Mv and attribute data Mad of the input MIDI message MM (S151), and the value obtained from the velocity Mv is set to the velocity V (S152).

[0200] After the process of S152, the value of the attribute type Mat of the input MIDI message MM is confirmed (S153). In the process of S153, if the value of the attribute type Mat of the MIDI message MM is "attribute: pitch" (S153: "attribute: pitch"), that is, if the MIDI message is a MIDI message MM based on a guitar G, the value obtained from the attribute data Mad is set to the pitch P (S154), and the value obtained from the note number Mn is set to the string number S (S155), similar to the processes of S53 and S56 described above.

[0201] On the other hand, in the processing of S153, if the value of the attribute type Mat of the MIDI message MM is "attribute: none" (S153: "attribute: none"), that is, if the MIDI message is a MIDI message MM based on the keyboard 50, the pitch P is set to the value obtained from the note number Mn (S156), and the string number S is set to "8" (S157).

[0202] In the processing of S50, if the MIDI message MM is pitch bend (S50: "PitchBend"), after the processing of S54 and S55 described above, the value of the group Mg of the input MIDI message MM is confirmed (S158). In the processing of S158, if the value of the group Mg of the MIDI message MM is "guitar" (S158: "guitar"), the string number S is set to the value obtained from the note number Mn (S159), as in the processing of S56 described above. On the other hand, in the processing of S158, if the value of the group Mg of the MIDI message MM is "KBD" (S158: "KBD"), the string number S is set to "8" (S160).

[0203] In the processing of S157 and S160, by setting the string number S to "8" for the MIDI message MM from the keyboard 50, even if a MIDI message MM from a keyboard 50 that does not take into account strings, such as a guitar G, is used, the sound generation means 104 can perform sound generation processing equivalent to that of the MIDI message MM created by the packet generation means 102 based on the guitar G.

[0204] In the processing of S157 and S160, the value set for the string number S is not limited to "8", and may be any value greater than or less than "8". In this case, in order to avoid duplication with the string number S of a guitar G that is connected at the same time, it is preferable that the value be greater than the maximum string number S of the guitar G. On the other hand, in the case of the sound production mode "string legato", by specifying the string number S set in the processing of S157 and S160 to be the same value as the string number S of the guitar G, it is possible to produce sound production in a manner that continuously connects the pitch from the performance of the guitar G to the performance of the keyboard 50.

[0205] In the process of S153, the value of the attribute type Mat of the MIDI message MM is used to distinguish between the MIDI message MM based on the keyboard 50 and the MIDI message MM based on the guitar G, but this is not limiting. For example, as in the process of S158, the value of the group Mg of the MIDI message MM may be used to distinguish between the MIDI message MM based on the keyboard 50 and the MIDI message MM based on the guitar G.

[0206] In the processing of S50, if the MIDI message MM is not note on, note off, or pitch bend (S50: "Other"), or in the processing of S150, if there is no correspondence between the value of the group Mg of the MIDI message MM and the value of the attribute type Mat (S150: No), or after the processing of S155, S157, S159, and S160, the acquisition processing is terminated.

[0207] As described above, in addition to the guitar G, the keyboard 50 and the PC 60 are connected to the synthesizer 300 of the third embodiment, and MIDI messages MM are also input from the keyboard 50 and the PC 60. This allows the synthesizer 300 to generate musical tones based on MIDI messages MM from a variety of input sources, thereby improving the usability of the synthesizer 300 for the user H.

[0208] 20, the velocity V, pitch P, and string number S are obtained from the MIDI message MM based on the keyboard 50 and the MIDI message MM based on the guitar G, respectively, so that these two types of MIDI messages MM can be processed by the same sound generation means 104. This makes it possible to realize accurate sound generation and muting of musical tones without having to provide a sound generation means 104 for each type of MIDI message MM that is input, i.e., even with only one sound generation means 104, the processing load required for the sound generation means 104 can be reduced even in synthesizer 300 to which two types of MIDI messages MM are input.

[0209] Although the above description is based on the above embodiment, it can be easily imagined that various improvements and modifications are possible.

[0210] In the above embodiment, the sound generation means 104 is configured to have both the string map 12a and the pitch map 12b, but this is not limited to the above and may be configured to have either the string map 12a or the pitch map 12b. Also, the string map 12a and the pitch map 12b are not limited to being provided separately, and may be integrated into one data table. In this case, a count may be provided for each combination of string number S and pitch P.

[0211] In the above embodiment, when reproducing the sounds by the steps S90 to S93 of the note-off process in Fig. 8(c), the sound with the smallest string number S among the sounds that have not been note-off is reproduced, but this is not limited to the above. The sound with the largest string number S among the sounds that have not been note-off may be reproduced, or the sound with the string number S that has been set by the user H in advance may be reproduced.

[0212] Although the synthesizer 1,300 of the first and third embodiments is provided with one sound generating means, sound generating means 104, and the synthesizer 200 of the second embodiment is provided with two sound generating means, sound generating means 104a and 104b, the number of sound generating means is not limited to this. The synthesizer 1,300 of the first and third embodiments may be provided with two or more sound generating means 104, and the synthesizer 200 of the second embodiment may be provided with three or more sound generating means.

[0213] In the third embodiment, the guitar G, keyboard 50, and PC 60 are connected to the synthesizer 300, but this is not limiting. Only the guitar G and keyboard 50 may be connected to the synthesizer 300, or only the guitar G and PC 60 may be connected to the synthesizer 300, or only the keyboard 50 and PC 60 may be connected to the synthesizer 300. Also, only the keyboard 50 may be connected to the synthesizer 300, or only the PC 60 may be connected to the synthesizer 300. Also, a device for inputting MIDI messages MM other than the keyboard 50 and PC 60 may be connected to the synthesizer 300, and the MIDI messages MM may be input from that device.

[0214] Alternatively, a MIDI track may be stored in the flash ROM 11 of the synthesizer 300, and MIDI messages MM may be read out in sequence from the MIDI track in the flash ROM 11, and musical tones may be generated based on the MIDI messages MM.

[0215] In the above embodiment, when applying a pitch bend such as a string pitch bend, the pitch change amount PB is added directly to the target sound, but this is not limited to the above. For example, a change amount twice the pitch change amount PB may be added to the pitch P for each string to which the pitch bend is applied, or a change amount 0.5 times the pitch change amount PB may be added to the pitch P.

[0216] In the second embodiment, two packet generating means 102a and 102b are provided for each of the two sound generating means 104a and 104b, but this is not limited to the above. For example, one packet generating means common to the sound generating means 104a and 104b may be provided, or two or more packet generating means may be provided for one sound generating means.

[0217] In the above embodiment, a guitar G is used as a stringed instrument connected to the detection means 100a to 100f (pickup device 30), but this is not limiting. For example, other stringed instruments such as a bass, a violin, or a cello may be used. Also, a keyboard instrument may be used instead of a stringed instrument. In this case, the detection means 100a to 100f are connected to the keys of the keyboard instrument, and the detection means 100a to 100f convert information corresponding to the playing of the corresponding keys into the vibration state of the strings, and the GT analysis means 101a to 101f detect the level L, pitch P, and string number S corresponding to the inputted vibration state of the strings.

[0218] In the above embodiment, the synthesizer 1, 200, which is an electronic musical instrument, is used as the control device, but the present invention is not limited to this and may be applied to other control devices. Also, the control program 11a may be executed by other information processing devices such as personal computers and mobile terminals. [Explanation of symbols]

[0219] 1,200 Synthesizer (control device) G Guitar (stringed instrument) 60 PC (information processing device) 11a Control program (musical tone generation program) S40 Acquisition means, acquisition step S47 Sound generation control means, sound generation control step S55: Change amount acquisition means, change amount acquisition step S116: Means for acquiring the number of altered strings, step for acquiring the number of altered strings S118 Pitch change means, pitch change step

Claims

1. An acquisition means for acquiring performance information; a sound generation control means for generating musical tones based on the performance information acquired by the acquisition means; A pitch change amount acquisition means for acquiring a pitch change amount which is an amount of change that changes the pitch; a string number acquisition means for acquiring a string number of a string of a stringed instrument whose pitch is to be changed; and a pitch change means for changing the pitch of the musical tone generated by the sound generation control means corresponding to the string number acquired by the changed string number acquisition means, based on the pitch change amount acquired by the change amount acquisition means.

2. 2. The control device according to claim 1, wherein said pitch changing means does not change the pitch of musical tones that are not being sounded.

3. a decay sound output means for outputting a decay sound which is a sound in a mode in which the musical tone being sounded is decayed when a note-off is designated for the musical tone being sounded, 2. The control device according to claim 1, wherein said pitch changing means does not change the pitch of said musical tone for which note-off has been specified and the decay sound output by said decay sound output means.

4. a tone color setting means for setting a tone color to be generated in accordance with the pitch, 2. The control device according to claim 1, wherein the pitch change means changes the pitch of the musical tone in accordance with the amount of pitch change acquired by the change amount acquisition means, and changes the timbre of the musical tone to the timbre set by the timbre setting means in accordance with the pitch of the musical tone.

5. 5. The control device according to claim 4, wherein the pitch change means changes the pitch of the musical tone in accordance with the pitch change amount acquired by the change amount acquisition means, and when changing the timbre of the musical tone to the timbre set by the timbre setting means in accordance with the pitch of the musical tone, stops generation of the musical tone before changing the pitch and timbre, and starts generation of the musical tone after changing the pitch and timbre.

6. the acquiring means acquires performance information based on the stringed instrument, 6. The control device according to claim 4, wherein said tone color setting means sets a tone color to be generated according to a range of frets of said stringed instrument.

7. 5. The control device according to claim 1, wherein the acquiring means acquires performance information independent of each other for each string of the stringed instrument.

8. An acquisition step of acquiring performance information; a sound generation control step of generating musical tones based on the performance information acquired in the acquisition step; a pitch change amount acquisition step for acquiring a pitch change amount which is an amount of change that changes the pitch; a change string number acquisition step of acquiring a string number of a string of the stringed instrument whose pitch is to be changed; a pitch change step of changing the pitch of the musical tone generated in the sound generation control step corresponding to the string acquired in the change string number acquisition step, based on the pitch change amount acquired in the change amount acquisition step.

9. A musical sound production program for causing a computer to execute a musical sound production process, An acquisition step of acquiring performance information; a sound generation control step of generating musical tones based on the performance information acquired in the acquisition step; a pitch change amount acquisition step for acquiring a pitch change amount which is an amount of change that changes the pitch; a change string number acquisition step of acquiring a string number of a string of the stringed instrument whose pitch is to be changed; and a pitch change step of changing the pitch of the musical tone generated in the sound generation control step corresponding to the string acquired in the change string number acquisition step, based on the pitch change amount acquired in the change amount acquisition step.

Citation Information

Cited By

  • 7cm theory based music control system and method

    JP2026089001A