The invention relates to an electronic musical instrument for selecting a note to be sounded according to operation state of plural controls, a storage medium storing a program for causing a computer to realize such a note selecting function, and a note selecting method selecting a note to be sounded according to operation state of the plural controls.
It has been conventionally known to provide an electronic musical instrument with plural assigners selecting a note to be sounded according to a predetermined rule from among notes of depressed keys, and sound the note selected by each assigner in a timbre corresponding to the assigner.
By using the plural assigners, for example, when rules are defined to make one assigner select a note on a low note side and another assigner select a note on a high note side, it is possible to selectively play sounds of low note side and high note side (for example, an accompaniment and a melody) automatically in different timbres. Further, depending on setting of rules, it is also possible to make plural assigners select the same note and perform tone generations like a unison performance in plural parts, or make plural assigners select different notes from each other and perform tone generations like an ensemble performance in plural parts.
Such an electronic musical instrument is described in, for example, PTL1.
Further, PTL2 discloses an electronic musical instrument which assigns a predetermined number of parts to notes of depressed keys based on rules according to the number of depressed keys, and sounds each note in a timbre of the part assigned to the note. This electronic musical instrument enables to sound a predetermined number of parts constantly irrespective of the number of depressed keys.
Further, besides them, PTL3 discloses a technology related to what is called a mono assigner which generates only a sound corresponding to one key in an electronic musical instrument. In PTL3, as a method to easily regenerate a musical sound desired to be sounded even if a misplay occurs when a performance is given while function of the mono assigner is enabled, there is described to generate, when a key being sounded is released, a musical sound corresponding to the key closest to the released key among keys being depressed.
{PTL1} JP 2565069 B2
{PTL2} JP 2010-79179 A
{PTL3} JP H5 (1993)-143073 A
Incidentally, when the above-described plural assigners are used to select notes to be sounded respectively, it is not always possible to perform a desired tone generation by the method described in PTL1.
For example, in a case where a previous sound and a subsequent sound are played sequentially like a legato performance, there has been a disadvantage in tone generation when the key of the subsequent sound is depressed before the key of the previous sound is released.
An example of this is illustrated in
However, in the method described in PTL1, each assigner is made to select a note to be sounded according to a key depressing operation, and meanwhile, when a key releasing operation is performed, only a key-off signal is sent to a tone generation channel generating sound corresponding to the released key. That is, selection of a note by the each assigner is not performed at the time of key releasing operation.
Therefore, for example, at a timing KON1,2,4 when the key of the note n4 is firstly depressed (simultaneously with keys of n1 and n2), the respective assigners select a note to be sounded in a state that the three keys of the notes n1, n2 and n4 are depressed. However, at a timing KON3 when the key of the note n3 is depressed, the respective assigners select a note to be sounded in a state that the four keys of the notes n1 to n4 are depressed. Further, at a timing KOFF4 when the key of the note n4 is released immediately thereafter, sound generated for the note n4 is simply muted.
Accordingly, relation between note order of the keys being depressed and note being selected by each assigner may differ between in a period from KON1,2,4 to KON3 and in a period after KOFF4. Specifically, although an intention to sequentially generate sound of the note n4 and the sound of the note n3 can be assumed from the performance operation, sounds of these notes may be generated in different timbres, resulting in an unnatural tone generation.
PTL2 describes, although different from the method of using plural assigners, mis-legato processing for preventing an unnatural tone generation in case of such legato performance. This mis-legato processing is to, when there occurs a note-off during a mis-legato judgment time from a note-on of the latest note being sounded, redo part assignment to the notes and tone generation.
In this manner, when the performance operation as in
However, in the mis-legato processing of PTL2, there is a problem that setting of the mis-legato judgment time is difficult. Specifically, when a time in which a previous key and a subsequent key are depressed together exceeds the mis-legato judgment time, the reassignment will not be performed when the previous key is released. The shorter the mis-legato judgment time is, the more often the legato performance operation falls under this condition and the higher the risk of not being judged as legato is.
On the other hand, when the mis-legato judgment time is set to be too long, it is conceivable that even in a performance intended to partly overlap sounds instead of the legato performance, the reassignment is made when the previous key is released, resulting in a tone generation which is conversely different from the performer's intention.
Further, in the mis-legato processing of PTL2, the reassignment is performed for all the notes being depressed at the time of reassignment. Accordingly, there has been a problem that at the time of reassignment, assignments of parts may change unintentionally regarding sounds like the notes n1 and n2 in
Note that the above legato performance is merely an example of the case where a desired performance cannot be performed, and besides this case, a similar problem may occur when there is a poor compatibility between a performance method or performance operation and rules for selecting a note in the assigners.
Further, also when the electronic musical instrument is not a keyboard instrument, such a problem may occur similarly when notes to be sounded are selected according to operation state of plural controls respectively corresponding to notes.
The invention has been made in view of such situations, and it is an object thereof to allow easily performing a tone generation which matches the intention of a performance operation by a performer when one or more selectors are made to select notes to be sounded according to operation state of controls.
To attain the above object, an electronic musical instrument of the invention including: one or more selectors respectively configured to select a note to be sounded according to operation state of plural controls corresponding respectively to notes; a decider configured to decide, for each of the selectors, whether or not to select a note to be sounded in response to a tone generation stopping operation of any of the controls; and a controller configured to instruct, when a tone generation stopping operation of any of the controls is detected, a selector which is decided to select a note to be sounded, to select a note to be sounded according to operation state of the plural controls after the detection of the tone generation stopping operation.
In such an electronic musical instrument, it is conceivable that the decider decides, for each of the selectors, whether or not to select a note to be sounded, based on a setting performed by a user for each selector regarding whether or not to select a note to be sounded in response to a tone generation stopping operation of any of the controls.
It is also conceivable that the decider decides, for each of the selectors, that, when the tone generation stopping operation of any of the controls is detected, if pitch difference is equal to or more than a predetermined value between a note selected by one selector at a timing of the detection and a note predicted to be selected by the one selector according to operation state of the plural controls after the detection of the tone generation stopping operation, the one selector does not select a note to be sounded in response to a tone generation stopping operation of any of the controls, and if the pitch difference is less than the predetermined value, the one selector selects a note to be sounded in response to a tone generation stopping operation of any of the controls.
It is also conceivable that when the tone generation stopping operation of any of the controls is detected, the decider presumes a performance method used in the detected tone generation stopping operation, and makes the decision related to a target selector which is selecting a note for which the tone generation stopping operation is performed based on the presumed performance method.
Further, it is also conceivable that when the presumed performance method is legato performance, the decider decides that the target selector selects a note to be sounded in response to a tone generation stopping operation of any of the controls.
Furthermore, it is also conceivable that wherein assuming the note for which the tone generation stopping operation is performed as note N, the decider presumes that the detected tone generation stopping operation is an operation for legato performance if there is a note M different from the note N satisfying conditions that: operations are performed in an order of a tone generation starting operation for the note N, a tone generation starting operation for the note M, and the tone generation stopping operation for the note N; and at a time of the tone generation starting operation for the note M, none of the controls corresponding to a note between the note M and the note N is being operated.
Alternatively, it is also conceivable that when the presumed performance method is staccato performance, the decider decides that the target selector does not select a note to be sounded in response to a tone generation stopping operation of any of the controls.
In the above electronic musical instruments it is also conceivable that while a certain control is operated, the decider forcibly decides for a predetermined selector among the selectors either one of to select or not to select a note to be sounded in response to a tone generation stopping operation of any of the controls.
It is also conceivable that, for each of the selector, a rule related to a note to be selected by the selector and a timbre to be applied to a sound of a note selected by the selector are set in advance.
The invention can be realized or embodied also as method, system, machine readable storage medium, computer program, or other arbitrary manner other than the above described devices.
With a configuration of the invention as above, it is possible to easily perform a tone generation which matches intention of a performance operation by a performer when one or more selectors are made to select notes to be sounded according to operation state of controls.
Hereinafter, modes for carrying out the invention will be described specifically based on the drawings.
As illustrated in
Then, the CPU 11 executes a required program stored in the ROM 12 or the storage device 14 using the RAM 13 as a work area to control the entire electronic musical instrument 10, realizing various functions such as detection of performance operation, selection of sounding note corresponding to operation state of performance controls, control of tone generation according to the selection, and so on. The timer 21 connected to the CPU 11 supplies a basic clock signal, an interrupt processing timing, and the like to the CPU 11.
Note that the ROM 12 stores, besides the above program, various data files of waveform data corresponding to timbres and the like, various parameters and various tables, and the like.
The RAM 13 is used as a buffer area of a reproduction buffer or the like, besides the work area of the CPU 11.
The storage device 14 is constituted of at least one combination of a storage medium such as a hard disk, a semiconductor memory, or the like and a drive device thereof.
The communication I/F 15 is an interface for communicating with external apparatuses such as a server, an audio apparatus, an external controller, or the like, and can be constituted of a communication device of any standard irrespective of wireless or wired. For example, it is conceivable to use a USB (Universal Serial Bus), or a MIDI (Musical Instrument Digital Interface) I/F.
The detection circuit 16 is an interface for connecting the performance control 22 and the setting control 23 to the system bus 19.
The performance control 22 are connected to the detection circuit 16, and supplies performance information (performance data) according to a performance operation of the user. The performance control 22 has plural controls corresponding respectively to notes, for accepting a performance operation of a user. Each of the controls supplies an operation start timing and an operation end timing with respect to the control by the user as key-on data and key-off data including information of the pitch corresponding to the control operated by the user to the CPU 11 via the detection circuit 16. Further, the performance control 22 can also supply various parameters such as a velocity value corresponding to the performance operation of the user. Note that in this example, a performance control 22 is assumed to be of keyboard type and the above respective controls are assumed to be keys, but they are not restrictive.
Further, the performance control 22 includes a retrigger release control, which is a specific control for instructing to temporarily disable a key-off retrigger, which will be described later. This retrigger release control is desirably one which can be operated without using hands, such as a pedal, so that they can be operated while the keyboard is played, and here it is assumed to be a pedal.
Further, the setting control 23 may be any one as long as it is able to output a signal corresponding to the user's input, such as a button, a slider, a rotary encoder, a text inputting keyboard, a mouse, or the like for example. Further, the setting control 23 may be a pointing device for performing an operation on a GUI (Graphical User Interface) displayed on the display 24, or a touch panel laminated on the display 24.
In any case, the user can perform various inputs and settings, selections by using the setting control 23.
The display circuit 17 is an interface for connecting the display 24 to the system bus 19.
The display 24 is a display device for displaying various information for setting of the electronic musical instrument 10, an operation state of the electronic musical instrument 10, and the like, and can be constituted of, for example, a liquid crystal display device, light emitting diodes (LED), and the like.
The tone generation circuit 18 has a function to generate an audio signal (digital waveform data) by plural tone generation channels according to a tone generation instruction from the CPU 11. The tone generation instruction from the CPU 11 includes a specification of a timbre, a note, a sound volume, and the like. When a performance operation to the performance control 22 is detected, the CPU 11 selects a note to be sounded corresponding to each assigner from among notes of keys being depressed by function of the assigners, and instructs tone generation according to the selection to the tone generation circuit 18. Details thereof will be described later.
The tone generation circuit 18 outputs a generated audio signal to the DAC 25. The DAC 25 converts the audio signal into an analog audio signal, and supplies it to the sound system 26 connected to the DAC 25. The sound system 26 is a sound generator including an amplifier and a speaker, and performs a sound generating output of the analog audio signal supplied from the DAC 25. The DAC 25 and the sound system 26 may be located outside the electronic musical instrument 10.
A characteristic point in the electronic musical instrument 10 above is a point related to operation of the assigner. Accordingly, the operation of the assigner will be described more specifically next.
As illustrated in
The tone generation instruction acceptor 31 has a function to accept (receive) a tone generation instructing operation by the user. For example, when the keyboard as the performance control 22 accepts a key depressing operation (tone generation starting operation) of any key, the tone generation instruction acceptor 31 detects the operation, and transmits to the operation state detector 32 key-on data as an operation signal indicating the occurrence of the key depressing operation and a note number which indicates a pitch of the depressed key. When a key releasing operation (tone generation stopping operation) is accepted, the tone generation instruction acceptor 31 transmits to the operation state detector 32 key-off data indicating the occurrence of the key releasing operation and note number of the released key similarly.
Note that in the following description, an operation to instruct start of tone generation, such as a key depression, will be referred to as a “key-on operation”, and an operation to instruct stop of tone generation, such as a key release, will be referred to as a “key-off operation”. Further, a state from the key-on operation to the key-off operation will be referred to as “being operated”. In the case of a key of a keyboard, “being depressed” corresponds to the “being operated”. However, when there is an instruction of start of tone generation, the tone generation is not always started actually. This is because there may be cases where a setting not to perform tone generation for a certain note (pitch) is allowed, or a limit is provided to the number of simultaneous tone generations.
The operation state detector 32 detects current operation state (here a key depression state because it is a keyboard) of the performance control 22 based on the operation signal transmitted from the tone generation instruction acceptor 31. More specifically, the note (of the key) being operated is obtained. This key depression state can be obtained by, for example, adding a note number included in key-on data to a list of notes being operated, and deleting a note number included in key-off data from the list of notes being operated.
Upon detecting the key-on data, the operation state detector 32 supplies information of the detected operation state to the assignment controller 33 and makes the assignment controller 33 select a note to be sounded. A specific supply destination is an assigner whose function is enabled out of n assigners from a first assigner AS-1 to an n-th assigner AS-n provided in the assignment controller 33.
Note that when a person gives a performance, even when he or she had intended to perform operations of plural keys simultaneously, it is difficult to perform the operations at exactly the same timing. Thus, as long as a timing difference of plural operations is within a predetermined threshold (for example, about 15 to 30 milliseconds) of the degree that they can be assumed as simultaneous operations, it is desired to handle these operations as performed simultaneously. The description here will be given assuming that this handling is employed. It is also possible that key-on operation of a certain key and key-off operation of another key are performed simultaneously.
Moreover, the operation state detector 32 has a function to stop tone generation of a note for which key-off operation is performed in the tone generator 34 when the key-off data is received.
Moreover, upon receiving the key-off data, the operation state detector 32 notifies the reception and the note thereof to the key-off retrigger controller 35, and makes the key-off retrigger controller 35 judge whether or not it is necessary for the assigner AS to select a note to be sounded according to the key-off operation. This point will be described later.
Next, the assignment controller 33 has one or more (here, n) assigners AS-1 to AS-n (when it is not necessary to specify an individual assigner, a symbol “AS” is used). Each assigner AS is a selector selecting a note to be sounded by the tone generator 34 from among notes being operated (being depressed) according to information of operation state of the performance control 22 supplied in response to the key-on operation from the operation state detector 32. This selection is performed according to rules set in every assigner.
The item of “target depressed key” is for determining what range of notes being depressed should be considered as a target of the selection. “All depressed keys” indicates that all the notes being depressed are considered. “UP to X notes from lower pitch side” indicates that only up to X notes from a lower pitch side are considered among the notes being depressed, and if the number of notes being depressed is less than X, all the notes being depressed are considered. Further, although not illustrated in
The item of “priority method” is for determining how a note to be sounded is selected from among the notes considered as a target of the selection. “Higher-pitch-prior-to-lower-pitch” indicates that a note of the highest pitch among the notes considered is selected. “Lower-pitch-prior-to-higher-pitch” indicates that a note of the lowest pitch among the notes considered is selected.
From the above, regarding the first assigner, it can be seen that a rule to select a note of the highest pitch from among all the notes of the keys being depressed is set.
Regarding the second assigner, when the number of depressed keys is three or less, a note of the highest pitch is selected from the notes of the keys being depressed. When the number of depressed keys is four or more, a note of the highest pitch among the three notes from lower pitch side, namely, a note of the third lowest pitch is selected.
Regarding the third assigner, similarly, when the number of depressed keys is two or less, a note of the highest pitch is selected from the notes of the keys being depressed, or when the number of depressed keys is three or more, a note of the second lowest pitch is selected.
Regarding the fourth assigner, it can be seen that a rule to select a note of the lowest pitch from among all the notes of the keys being depressed is set.
Any assigner not presented in the table may be considered such that its function is disabled.
When selecting a note to be sounded according to the above rules, each assigner AS instructs the tone generator 34 to start tone generation of the selected note (send a tone generation starting instruction). Further, a correspondence with one of timbres T1 to Tn is set to each assigner AS, and the assigner AS instructs the tone generator 34 to generate a tone (sound) in the corresponding timbre (applying the corresponding timbre to the sound to be generated). Note that it is also possible to set a corresponding part to the assigner AS, and set a timbre corresponding to the part. In this case, the assigner AS and the timbre are corresponded with each other via the part, and the part corresponded with the assigner AS-n is expressed as n-th part.
Note that each assigner AS retains information regarding what note the assigner AS itself selected last time until the assignor AS selects a note next time. Then, even when the assignor AS selects a note, if the selected note is the same as that in the previous selection and the selected note is not a note for which the key-on operation is presently performed (being operated from before), the assignor AS preferably does not instruct the tone generator 34 to generate sound. This is because, in this case, it is conceivable that the note presently selected by the relevant assigner AS is not related to the presently detected key-on operation, and it will be desired to continue the tone generation started in response to a key-on operation before.
Further, in this example, to simplify the description, the description will be given such that each assigner selects one note, but it is also possible to set a rule allowing a selection of plural notes. One example is to select up to two notes by the higher-pitch-prior-to-lower-pitch.
Further, it would not be a problem if plural assigners select the same note. In this case, the selected note will be sounded in plural timbres, respectively.
The tone generator 34 has m tone generation channels TC1 to TCm (when it is not necessary to identify an individual tone generation channel, a symbol “TC” is used). When receiving a tone generation starting instruction from the assigner AS, the tone generator 34 searches for a tone generation channel not being generating sound, and make the found tone generation channel TC produce an audio signal (perform tone generation) of musical sound of the pitch and the timbre specified by the tone generation starting instruction. Note that in
Further, the tone generator 34 has a function to, upon instructed to stop a tone generation of a certain note by the operation state detector 32, a search for a tone generation channel TC which is performing tone generation of the certain note from among the tone generation channels TC, and make the found tone generation channel stop the tone generation. This stop includes shift to a release state.
Further, the tone generator 34 mixes audio signals generated by the respective tone generation channels TC and supplies the resultant signal to the output portion 38, making the output portion 38 output a sound according to the signal.
Next, the key-off retrigger controller 35 has a function of a decider deciding, upon notified that there is a key-off operation from the operation state detector 32, whether or not it is necessary to make the assigner AS select a note to be sounded in response to the key-off operation for each assigner AS of the assignment controller 33. Then, when deciding that it is necessary, the key-off retrigger controller 35 instructs the relevant assigner AS to select a note to be sounded.
Making the assigner select a note to be sounded in response to key-off operation in this manner will be referred to as “key-off retrigger”. Further, the assigner AS which receives an instruction for the key-off retrigger performs processing of selecting a note to be sounded and instructing the tone generator 34 to start tone generation similarly to the case of selection in response to an instruction from the operation state detector 32. The instruction itself need not be distinguished in particular between the case of the selection in response to a key-on and the case of the key-off retrigger.
The key-off retrigger setter 36 has a function to set whether or not to perform the key-off retrigger for every assigner AS. This setting is made according to an operation of the setting control 23 by the user, and data of the setting is stored in a key-off retrigger setting table illustrated in
The retrigger release operation acceptor 37 has a function to accept (receive) an operation of the pedal which is a retrigger release control by the user. When the pedal in the performance control 22 is depressed down or released from the depression, the retrigger release operation acceptor 37 detects the operation, and supplies the key-off retrigger controller 35 with information of the operation state (whether it is depressed down or not) of the pedal at an appropriate time.
The key-off retrigger controller 35 decides whether or not to perform the key-off retrigger for every assigner AS based on the setting made by the key-off retrigger setter 36 and the information of the operation state of the retrigger release control supplied from the retrigger release operation acceptor 37. Details of this decision will be described later.
Next, processing which is executed by the CPU 11 for realizing functions which the CPU 11 are responsible for among the functions illustrated in
Upon receiving the key-on data and/or key-off data from the detection circuit 16, the CPU 11 starts processing illustrated in the flowchart of
In the processing of
Next, the CPU 11 judges whether a key-on operation is included in the detected operation or not (S12). When plural operations are detected simultaneously, it is Yes if there is at least one key-on operation therein.
Then, when it is Yes, if there is a key-off operation in the detected operation, the CPU 11 instructs the tone generator 34 to stop tone generation of the note related to the detected key-off operation (S13). Thereafter, the CPU 11 sets a tone generation assignment flag for all the assigners AS (S14) in order to select a note to be sounded in response to the detected key-on operation by the assigners AS, and then the process proceeds to tone generation assignment processing described in
In the processing of
When the flag is set here, the CPU 11 selects a note to be sounded from among notes of keys being operated (S23) according to the rule set to the n-th assigner AS-n. Then, the CPU 11 instructs the tone generator 34 to start tone generation of the note selected in step S23 in the n-th part corresponding to the n-th assigner AS-n (S24). In this case, a timbre used for the tone generation is the timber set with respect to the n-th part.
Steps S23 and S24 above are processing corresponding to one assigner AS. Thereafter, the CPU 11 judges whether the currently processed assigner is the last assigner or not (S25), and if it is not, adds 1 to n (S26), and the process returns to step S22 to repeat the processing.
When it is No in step S22, the selection of note is not performed regarding the n-th assigner, and thus the process proceeds to step S25 while skipping the intervening steps.
When it is No in step S25, it can be seen that the processing regarding all the assigners AS has finished, and thus the processing of
Note that before starting the processing of
On the other hand, when it is No in step S12 of
In the processing of
On the other hand, when it is No in step S32, that is, when the setting of key-off retrigger is OFF, the CPU 11 decides not to perform the key-off retrigger for the n-th assigner (S36). In this case, the tone generation assignment flag is not set for the n-th assigner. The same applies when the retrigger release control is being operated in step S33.
In either case, thereafter, the CPU 11 judges whether the currently processed assigner is the last assigner or not (S37), and when it is not the last, adds 1 to n (S38), and the process returns to step S32 to repeat the processing.
When it is Yes in step S37, it can be seen that the processing regarding all the assigners is finished, and thus the CPU 11 ends the processing of
The processing of
By executing the above processing, the CPU 11 can appropriately discriminate, according to the setting by the user, the case where the assigner AS should perform the selection of the note to be sounded and the tone generation starting instruction in response to key-off operation, and have it performed. Moreover, when the retrigger release control is being operated, temporarily and forcibly the key-off retrigger can be set to OFF irrespective of the setting for every assigner AS. This enables to perform tone generation which matches the intention of the user's performance operation. Further, it is not necessary to do the setting of parameter values by trial and error, such as the mis-legato judgment time described in PTL2, in order to perform the above tone generation.
Note that when it is Yes in step S12 of
Next, effects of the retrigger setting processing will be described using
In
Here, the example of
In this case, at a first timing KON1,2,3, each assigner AS selects a note to be sounded in a state where keys of three notes n1, n2 and n3 are being depressed. As a result, according to the rule set to each assigner AS illustrated in
At a next timing KON4, each assigner AS selects a note to be sounded in a state where the keys of four notes n1, n2, n3 and n4 are being depressed. As a result, selection by the first assigner AS-1 changes to the present highest note n4 according to the rule set to each assigner AS, and tone generation of the selected note n4 is newly started. Selections by the other three assigners are not different from the selections at the timing KON1,2,4.
Then, at a next timing KOFF3, the tone generation of the note n3 for which the key-off operation is performed is stopped. At this time, since the key-off retrigger is set at OFF for all the assigners, selection of note to be sounded is not newly performed. Thus, tone generation in a timbre corresponding to the second assigner AS-2 which has selected the note n3 is stopped here.
In a next timing KON5, each assigner AS selects a note to be sounded in a state where keys of four notes n1, n2, n4 and n5 are being depressed. As a result, selection by the first assigner AS-1 changes to the present highest note n5 according to the rule set to each assigner AS, and tone generation of the selected note n5 is newly started. The second assigner AS-2 selects the third lowest note n4 and tone generation of the selected note n4 is newly started. Selections by the other two assigners are not different from the selections at the previous timing KON4.
Next, at a timing KOFF4, the tone generation of the note n4 for which the key-off operation is performed is stopped. At this time, since the key-off retrigger is set at OFF for all the assigners, selection of note to be sounded is not newly performed. Accordingly, although it has been just started, tone generation in a timbre corresponding to the second assigner AS-2 which has selected the note n4 is stopped here.
In a next timing KOFF1,2, the tone generations of the notes n1 and n2 for which the key-off operation is performed are stopped. In a next timing KOFF5, the tone generation of the note n5 for which the key-off operation is performed is stopped. Also at these timings, the key-off retrigger is not performed.
As can be seen from the above, if the key-off retrigger is OFF for all the assigners, that is, the key-off retrigger is not performed at all, sounds of the notes n3 to n5, for which it is assumed that the performer intends to generate sounds sequentially, are generated in different timbres. The first note n3 is in a timbre TG1 corresponding to the first assigner AS-1 and a timbre TG2 corresponding to the second assigner AS-2, and the subsequent notes n4 and n5 are only in the timbre TG1 corresponding to the first assigner AS-1. A tone generation in the timbre TG2 also occurs at the end of note n4, but this becomes a tone generation close to noise because its time is short.
Next, the example of
In the example of
Further, also at a timing KOFF4, all the assigners select a note to be sounded. As a result, the second assigner AS-2 selects the highest note n5, and newly starts a tone generation. There is no change in selections by the other assigners, and thus the tone generations as have been performed is continued regarding the notes selected by the other assigners.
Thus, for all the sounds of the notes n3 to n5, tone generations can be performed in the timbre TG1 and the timbre TG2 without causing the timbre TG2 corresponding to the second assigner AS-2 to disappear in mid-course.
However, at the timing KOFF1,2, all the assigners select a note to be sounded. As a result, although there is no change in the selections by the first assigner AS-1 and the second assigner AS-2 from the selections at the previous KOFF4, the third assigner AS-3 and the fourth assigner AS-4 select n5 which is the only note of a depressed key at this point, and tone generation of the selected note n5 is newly started
Accordingly, the sound of the timbre which has been sounded on the lower pitch side is suddenly sounded on the higher pitch side. Considering that the key depressions of the notes n1 and n2 are of accompaniment and the key depresses of the notes n3 to n5 are of melody, the melody is sounded suddenly in timbres of the accompaniment, resulting in unnatural tone generations.
Next, an example of
In the example of
On the other hand, at a timing KOFF1,2, the third assigner AS-3 and the fourth assigner AS-4 do not select a note to be sounded, and thus tone generation of the note n5 is not newly started as in the example of
As described above, there are cases where performing the key-off retrigger results in tone generation which matches the performer's intention and the cases where not performing the key-off retrigger results in tone generation which matches the performer's intention, depending on the note selection rule of the assigner and the actually performed performance operation. Therefore, it is conceivable that the tone generation which matches the performer's intention can be realized more easily by allowing setting of whether to perform the key-off retrigger or not in every assigner as illustrated in
Further, by providing the retrigger release control in addition thereto, the tone generation which matches the performer's intention can be performed still more easily.
In this case, the first assigner AS-1 and the second assigner AS-2 select a note at a timing KOFF5, select the highest note n2 out of the notes n1 and n2 being depressed according to the rule set to each assigner AS, and tone generation of the selected note n2 is newly started.
Accordingly, a timbre which has been sounded on the higher pitch side is suddenly sounded on the lower pitch side, resulting in unnatural tone generations such as sounds of an accompaniment are suddenly generated in timbres of a melody.
However, when the timing KOFF5 is reached in a state where the performer operates the retrigger release control, the first assigner AS-1 and the second assigner AS-2 do not select a note. Therefore, it becomes possible to give a performance which matches the intention of the performer as illustrated in
Even when setting of the key-off retrigger for every assigner is made an optimum one, a preferred result cannot always be obtained, and thus it is preferred to allow further adjustment by the retrigger release control.
Further, when the retrigger release control has been operated, the retrigger may be prohibited only for a predetermined assigner rather than prohibiting the retrigger for all the assigners. Further, plural retrigger release controls may be prepared, and each of them may be corresponded with a group of one or more assigners and may be used as a control for temporarily stopping the retrigger of the relevant assigners in the corresponding group.
Further, instead of that the user directly sets parameters for setting of the key-off retrigger for every assigner illustrated in
Next, an electronic musical instrument of a second embodiment of this invention will be described.
This second embodiment differs from the first embodiment only in that the key-off retrigger is not performed when a pitch difference is equal to or more than a predetermined value between the note selected by an assigner at a time of key-off operation and a note predicted to be selected by the same assigner according to the operation state of a performance control after the key-off operation, instead of deciding the presence or absence of key-off retrigger according to the setting by the user. Accordingly, only this difference will be described, and same symbols as those in the first embodiment are used for the same or corresponding components to those in the first embodiment.
The electronic musical instrument 10 of the second embodiment has common hardware to that of the first embodiment illustrated in
Here,
In the processing of
The CPU 11 next substitutes 1 for the variable n (S42). Then, the CPU 11 selects the n-th assigner as a target from among the assigners for which information is obtained in step S41 (S43).
Next, for the assigner AS as the target, the CPU 11 selects a note to be sounded from among notes of keys being depressed (in a state after the key-off operation) according to the selection rule set as illustrated in
Then, the CPU 11 judges whether a pitch difference between the note N which the target assigner is selecting at the time of the key-off operation and the note M selected in step S44 is within a predetermined range or not (S45). If it is within the predetermined range, the CPU 11 tentatively decides to perform key-off retrigger for the target assigner AS, and if the retrigger release control is not operated (S46), the CPU 11 finally decides to perform the key-off retrigger (S47). Then, the CPU 11 sets the tone generation assignment flag for the target assigner (S48).
On the other hand, when it is not within the predetermined range in step S45, the CPU 11 decides that key-off retrigger is not performed for the target assigner (S49). In this case, the CPU 11 does not set the tone generation assignment flag for the target assigner. The same applies when the retrigger release control is being operated in step S46.
In either case, thereafter, the CPU 11 judges whether or not the currently processed target assigner is the last assigner obtained in step S41 (S50), and when it is not the last, adds 1 to n (S51), and the process returns to step S43 to repeat the processing.
When it is Yes in step S50, it can be seen that the processing related to all the assigners is finished, and thus the CPU 11 ends the processing of
By executing the above processing, the CPU 11 can appropriately discriminate, according to operation of the performance control 22 and the selection rules set to the assigners, the case where the assigner AS should perform the selection of the note to be sounded and the tone generation starting instruction in response to the key-off operation, and have it performed. This enables to perform tone generation which matches the intention of the user's performance operation.
The retrigger setting processing in the second embodiment is, while the key-off retrigger is basically enabled for an assigner selecting a note whose tone generation is stopped by the key-off operation, to avoid such situation that a note selected by the assigner largely differs, for example from that of an accompaniment sound to that of a melody sound, due to the key-off retrigger.
This point will be described using
In the example of
In the example of
First, regarding the key-off retrigger at a timing KOFF3, the second assigner AS-2 which is selecting the note n3 for which the key-off operation is performed becomes a target of consideration. Then, a predicted value of a note to be selected by the second assigner AS-2 according to the operation state after the key-off is the highest depressed note n4. Assuming that the pitch difference between the notes n3 and n4 is within the predetermined range, the CPU 11 decides that the second assigner AS-2 performs the key-off retrigger, and thus the second assigner AS-2 actually selects the note n4 and tone generation of the selected note n4 is newly started.
Also regarding timing KOFF4, the process is the same. Assuming that the pitch difference between the notes n4 and n5 is within the predetermined range, the CPU 11 decides that the second assigner AS-2 performs the key-off retrigger, and thus the second assigner AS-2 actually selects the note n5 and tone generation of the selected note n5 is newly started.
On the other hand, at a timing KOFF1,2, the third assigner AS-3, which is selecting the note n1 for which the key-off operation is performed, and the fourth assigner AS-4, which is selecting the note n2 for which the key-off operation is performed, become targets of consideration. Then, predicted values of the notes selected by the third assigner AS-3 and the fourth assigner AS-4 according to the operation state after the key-off are both the note n5 of only one depressed key at this timing. However, both of the pitch differences between n1 and n5 and between n2 and n5 are not in the predetermined range. Accordingly, the CPU 11 decides that the third assigner AS-3 and the fourth assigner AS-4 do not perform the key-off retrigger, and as a result, there is no assigner which performs the key-off retrigger at the timing KOFF1,2.
Thus, by deciding whether to perform the key-off retrigger or not by using the predicted pitch difference when it is assumed that the key-off retrigger is performed, it is possible to perform a tone generation similar to
Note that in the processing of
However, it is not hindered that the processing of steps S44 and S45 is performed for all the assigners AS to take them as targets of consideration of whether to perform the key-off retrigger or not.
Next, an electronic musical instrument of a third embodiment of the invention will be described.
This third embodiment differs from the first embodiment only in that when a key-off operation is performed, what performance method is presumed for the key off operation, and whether to perform the key-off retrigger or not is decided based on the presumed performance method. Accordingly, only this difference will be described, and same symbols as those in the first embodiment are used for the same or corresponding components to those in the first embodiment.
Note that in the example described here, it is presumed that the key depression including the detected key-off operation is for legato performance or staccato performance, or something else. However, only one of these performance methods may be considered, or any other performance method may be considered.
The electronic musical instrument 10 of the third embodiment has common hardware to that of the first embodiment illustrated in
As illustrated in
Every time the operation state detector 32 detects an operation of the performance control 22, it supplies to the operation history retainer 39 information of the detected operation and information of the operation state of the performance control 22 after reflecting the detected operation, so as to make the operation history retainer 39 store history of the detected operation and the operation state.
The operation history retainer 39 is a retainer having a function to store information of the detected operation and information of the operation state of the performance control 22 supplied from the operation state detector 32 as a history in a time-series manner. The history stored here is used for the above-described presumption of performance method.
In
In more detail, the key of the note n4 is firstly depressed simultaneously with keys of notes n1 and n2 at a timing KON1,2,4. Then, the key of the note n3 is depressed at a timing KON3, and immediately thereafter, the key of the note n4 is released at a timing KOFF4. Then, the keys of the notes n1 and n2 are released at a timing KOFF1,2, and the key of the note n3 is released at a timing KOFF3.
As illustrated in
Here, the operation history retainer 39 adds new information to the operation history table every time it receives information of the detected operation and information of the operation state from the operation state detector 32. At this time, for just making a presumption related to legato, it is not necessary to measure the time of each operation, and it will suffice if the order thereof is identified. However, when the presumption related to staccato is performed, the time of each operation is measured accurately and recorded. In the example of
In the item of the key depression state, the note (of a key) being depressed at this point indicated by the information of the operation state notified from the operation state detector 32 is registered. The notes may be registered in order of pitches thereof irrespective of being ascending order or descending order. This is for later use of the information of the order of pitches.
In the items of the detected operations, the information of the detected operations notified from the operation state detector 32 is registered using notes of an operated key. By referring to the history of the detected operations in a time-series manner, the order of key operations can be comprehended.
When the key operation illustrated in
Next, the operation history retainer 39 registers that the notes being depressed at a next time t(2) are n1, n2, n3 and n4, and the detected operation at this point in key-on of n3, corresponding to the key-on operation of the key of the note n3 at a timing of KON3. Thereafter, similarly, information at time points of KOFF4, KOFF1,2 and KOFF3 are registered as information at the times t(3), t(4) and t(5).
This operation history table may be stored in the RAM 13 for example. However, it may be stored in an arbitrary storage device including one outside the electronic musical instrument 10.
Note that regarding the information of the key depression state and the detected operation illustrated in
Regarding the other points, the judgment criterion for the presence or absence of key-off retrigger in the key-off retrigger controller 35 is different from that illustrated in
Here,
In the processing of
Next, the CPU 11 judges whether the key-off operation detected this time satisfies predetermined conditions or not by referring to the operation history table (S62 to S65). These judgments here are for presuming whether the key-off operation detected this time is an operation for legato performance or not.
This condition is such that, for example, assuming that the note of the key for which the key-off operation as the trigger of the judgment is performed is note N (n4 in the example of
Among the above ones, the condition regarding the operation order is for judging that operations of keys, tone generation instruction periods of which partially overlaps with each other, are performed, like the note n4 and the note n3 of
Further, the condition that no keys of the note between the note M and the note N are operated (condition of pitch order) is to consider characteristics of legato performance. That is, the operation as in
Note that also when a melody and an accompaniment are performed with a left and right hand, it is possible that a key depression period of some keys overlap with each other in a manner like legato performance by accident. To efficiently distinguish such a performance, it is conceivable to add a condition that pitch difference between the note M and the note N is within a predetermined value.
This is because, in the case of legato performance, it is rare that notes (pitches) of two keys being depressed in succession is separated largely, but in the melody and the accompaniment, normally notes of keys being depressed are separated to a certain degree.
Conditions used in steps S62 to S65 are examples of making the above conditions of operation order and pitch order more specific so as to directly correspond to the data registered in the operation history table.
In steps S62 to S65, the CPU 11 judges whether all of the following conditions hold true or not:
i) key-on is present in an operation detected at time t(a-1);
ii) there is no keys being depressed at time t(a-1) between the note M for which a key-on operation is performed at the time t(a-1) and the note N for which the key-off operation is detected this time;
iii) the key of the note N is being depressed at time t(a-2); and
iv) the key of the note M is being depressed at time t(a).
When all the conditions hold true, the CPU 11 presumes that the key-off operation detected this time is an operation for legato performance. In this case, the CPU 11 tentatively decides to perform key-off retrigger for the assigner AS corresponding to a part in which tone generation of the note N had been performed before the tone generation of the note N is stopped in step S16 of
On the other hand, when there is No in any one of steps S62 to S65, the CPU 11 presumes that the key-off operation detected this time is not an operation for legato performance. Then, next, the CPU 11 judges whether or not the time from the key-on of the note N to the key-off this time is within a predetermined value (S66). That is, the CPU 11 judges whether the depression period of the key for which the key-off operation is performed this time is within the predetermined value or not.
Here, if it is Yes, the CPU 11 presumes that the key-off operation detected this time is an operation for staccato performance. In this case, the CPU 11 decides that key-off retrigger is not performed for the same assigner AS as in the case of above step S69 and step S70 (S71). In this case, the tone generation assignment flag is not set for the relevant assigner. The same applies if the retrigger release control is being operated in step S68.
Further, if it is No in step S66, the CPU 11 presumes that the key-off operation detected this time is an operation other than that for legato performance or staccato performance. In this case, the CPU decides presence or absence of key-off retrigger according to a default setting registered in advance (S67). However, also in this case, if the retrigger release control is being operated, the key-off retrigger is not performed (S68). Further, the default setting may either be common to all the assigners or settable in every assigner.
In either case, after step S70 or S71, the CPU 11 returns to the original processing.
At this time, since the processing returns to step S17 of
By executing the above processing, the CPU 11 can appropriately discriminate the case where the assigner AS should perform the selection of the note to be sounded and the tone generation starting instruction based on the performance method of the key-off operation, and have it performed. This enables to perform a tone generation which matches the intention of the user's performance operation.
This point will be described using
In this case, at a first timing KON1,2,4, in a state where keys of three notes n1, n2 and n4 are depressed, the respective assigners AS select a note to be sounded. As a result, the first assigner AS-1 and the second assigner AS-2 select the highest note n4, the third assigner AS-3 selects the second lowest note n2, and the fourth assigner AS-4 selects the lowest note n1.
At a next timing KON3, in a state where keys of four notes n1, n2, n3 and n4 are depressed, the respective assigners AS select a note to be sounded. As a result, selection by the second assigner AS-2 changes to the present third lowest note n3. Selection of the other three assigners are not different from the selections at the timing KON1,2,4.
Then, in a next timing KOFF4, the tone generation of the note n4 for which the key-off operation is performed is stopped. However, the key-off operation at this time satisfies all the conditions of steps S32 to S35 of
As a result, as illustrated in
Next,
In this case, at a timing KOFF4, the first assigner AS-1 will not select the note n3, and thus a tone generation in the timbre corresponding to the first assigner AS-1 remains stopped at the timing KOFF4. Thus, the tone generation corresponding to the key depression of the note n3 is performed only in the timbre T2 corresponding to the second assigner AS-2.
Therefore, the tone generation corresponding to the key depression of the note n3 is performed in a timbre different from the case of the tone generation corresponding to the previous key depression of note n4, which does not match the performer's intention. In other words, by performing the retrigger judgment processing of
In this case, at a first timing KON1,2,3-1, the respective assigners AS select a note to be sounded in a state where keys of three notes n1, n2 and n3 are being depressed. As a result, the first assigner AS-1 and the second assigner AS-2 select the highest note n3, the third assigner AS-3 selects the second lowest note n2, and the fourth assigner AS-4 selects the lowest note n1.
In this case, the first assigner AS-1 and the second assigner AS-2 select the highest note n2 at times of the key-off retrigger, and tone generation of the selected note n2 is newly started. Then, at a timing of key-on operation of the note n3 thereafter, the first assigner AS-1 and the second assigner AS-2 select the note n3 again and tone generation of the selected note n3 is newly started again. Therefore, despite that the performer plays the same note continuously by staccato performance, the generated sound rapidly repeats sounds of the note n2 and the note n3.
In this case, the key-off retrigger does not occur at timings (KOFF3-1, KOFF3-2 and KOFF3-3) of the key-off operations of the note n3. Therefore, the sounds of the note n3 in timbres TG1 and TG2 corresponding to the first assigner AS-1 and the second assigner AS-2 are generated three times with a slight gap, which matches the intension of the performer.
Note that in the processing of
The description of the embodiments is thus finished, but of course the structures of devices, structures of controls such as the performance control, structures of data to be used in processing, specific procedures of processing, and so on are not limited to those explained in the above-described embodiment.
For example, in the retrigger judgment processing illustrated in
Further, in the above-described embodiments, an example is explained in which the key-off retrigger controller 35 is provided separately from the assignment controller 33. However, each assigner AS of the assignment controller 33 may have the function of the key-off retrigger controller 35. In this case, when the operation state detector 32 receives key-off data, the operation state detector 32 preferably notifies each assigner AS of the assignment controller 33 of information of the operation indicated by the key-off data similarly to the case of key-on data. Then, when each assigner AS is notified of a key-off operation of a note which the assigner AS itself is selecting, the assigner preferably judge necessity of the key-off retrigger based on the predetermined conditions as described using
Note that in the first embodiment, when the key-off operation is performed, the processing from step S32 and on is performed regarding all the assigners, but the processing from step S32 and subsequent steps may be performed only regarding the assigner AS which is selecting a note for which the key-off operation is being performed.
Further, when it is No in step S12 of
Note that when such processing is adopted to the first embodiment, the tone generation assignment flag is set according to the retrigger setting of
Further, the function of the retrigger release control in the above-described embodiments may be provided independently. Specifically, it is conceivable that presence or absence of the key-off retrigger is decided based only on operation state of the retrigger release control, or in addition, based on whether or not the assigner AS is selecting the note for which the key-off operation is performed.
Further, regarding the rules of selecting a note to be set for each assigner, as illustrated in
Further, in the above-described embodiments, an example is explained in which the retrigger release control is provided as a separate control from the keyboard. However, any of the keys on the keyboard, such as the key at an end of the keyboard, may be used as the retrigger release control.
Further, instead of or in addition to the control for instructing to temporarily disable the key-off retrigger, a control for instructing to temporarily enable the key-off retrigger may be provided. When the key-off operation occurs while this control is operated, it is conceivable to forcibly make all the assigners AS, or all the assigners AS which is selecting the note for which the key-off operation is performed, perform the key-off retrigger.
Further, it is also conceivable that the user can set a range of assigners for which the key-off retrigger is disabled or enabled temporarily according to operation of these controls.
Further, in the above-described embodiments, an example is described in which the performance control is the keyboard, and the tone generation starting instruction is performed by a key depressing operation and the tone generation stopping instruction is performed by a key releasing operation. However, configuration of the performance control is not limited to this. The invention is applicable to apparatuses provided with a user interface having a shape of another musical instrument of course, or a shape completely different from traditional musical instruments, such as a pad on which controls (portions to be operated) are disposed in a matrix form. In this case, the tone generation starting instruction and the tone generation stopping instruction are accepted by an operating method according to characteristics of the user interface.
Further, it is also not necessary that the electronic musical instrument 10 incorporates the performance control. It is also conceivable that performance data indicating operation of the performance control are obtained from an external controller connected to the communication I/F 15, and the electronic musical instrument 10 comprehends operation state of each controls based on the performance data.
Further, it is also conceivable to use as the performance control a keyboard of a general-purpose computer or a GUI (graphical user interface) displayed on a touch panel. In this case, by causing the general-purpose computer to realize the functions of respective parts illustrated in
A program as an embodiment of the invention is one for realizing the functions of respective parts (particularly the key-off retrigger controller 35) illustrated in
Then, by making the computer or computers execute such a program, effects as described above can be obtained.
Such a program may be stored in a ROM originally provided in a computer or in another non-volatile storage medium (flash memory, EEPROM, or the like), or the like. However, it can also be provided in a form of recorded in an arbitrary non-volatile storage medium such as a memory card, CD, DVD, Blu-ray Disk, or the like. By installing and running the program recorded in such a storage medium in a computer, the above-described respective steps can be executed.
Moreover, the program can also be downloaded from an external apparatus connected to a network and having a storage medium recording the program or an external apparatus in which the program is stored in a memory, and installed and executed in a computer.
Further, the structures of the embodiments and variants as have been described can of course be arbitrarily combined and implemented unless they contradict one another.
As is clear from the above description, according to the invention, it is possible to easily perform a tone generation which matches the intention of a performance operation by a performer when one or more selectors are made to select notes to be sounded according to an operation state of controls.
Therefore, by applying the invention, convenience of an electronic musical instrument can be improved.
10: electronic musical instrument, 11: CPU, 12: ROM, 13: RAM, 14: storage device, 15: communication I/F, 16: detection circuit, 17: display circuit, 18: tone generation circuit, 19: system bus, 21: timer, 22: performance control, 23: setting control, 24: display, 25: DAC, 26: sound system, 31: tone generation instruction acceptor, 32: operation state detector, 33: assignment controller, 34: tone generator, 35: key-off retrigger controller, 36: key-off retrigger setter, 37: retrigger release operation acceptor, 38: output portion, 39: operation history retainer, AS: assigner, TC: tone generation channel
Number | Date | Country | Kind |
---|---|---|---|
2013-218058 | Oct 2013 | JP | national |