The present invention relates to an arpeggiator and a program provided with a function thereof.
An arpeggio production device disclosed in Patent Literature 1 stores a plurality of arpeggio patterns and a plurality of groove patterns, selects two arpeggio patterns, and selects a groove pattern in association with each of the arpeggio patterns. A timing and other data of each arpeggio pattern is changed by the corresponding groove pattern and stored as a first arpeggio pattern and a second arpeggio pattern. An arpeggio key area is set for a keyboard, a pitch is determined on the basis of a note number corresponding to a key number of a key pressed in the arpeggio key area, and two arpeggio musical sounds are produced. Consequently, since a plurality of types of arpeggio effects can be obtained at the same time, expressive arpeggio sounds are produced, and thus it is possible to enjoy playing a variety of musical sounds.
However, in the arpeggio production device disclosed in Patent Literature 1, since the arpeggio is automatically played by a plurality of performance parts (tracks), the musical sounds of different performance parts may be accidentally produced at the same timing. In such a case, there is a problem that an output level increases due to simultaneous production of sounds and thus sound muddiness occurs. The frequency of this problem increases as the number of performance parts increases.
The present invention has been made in order to solve the above problems, and an objective thereof is to provide an arpeggiator capable of suppressing sound muddiness caused by simultaneous production of sounds in a multi-arpeggiator capable of automatically playing arpeggios in a plurality of performance parts, and a program provided with the function of the arpeggiator.
In order to achieve this objective, according to the present invention, there is provided an arpeggiator including automatic performance part for automatically playing an arpeggio on the basis of note numbers input by a performer in a plurality of performance parts; and velocity correction part for, in a case where a sound production timing of one performance part overlaps with a sound production timing of another performance part, correcting a velocity of the one performance part of which sound production overlaps such that the velocity is reduced.
According to the present invention, there is provided a program provided with an arpeggio function of causing a computer having a storage portion to automatically play an arpeggio on the basis of note numbers input by a performer in a plurality of performance parts, the storage portion functioning as storage part for storing an arpeggio pattern in which sound production timings of arpeggio constituent sounds are stored, and causing the computer to execute a detection step of detecting that a sound production timing of one performance part overlaps with a sound production timing of another performance part; a velocity correction step of, in a case where it is detected in the detection step that the sound production timings overlap with each other, correcting a velocity of the one performance part of which sound production overlaps such that the velocity is reduced; and a sound production step of performing sound production based on the note numbers input by the performer at the velocity corrected to be reduced in the velocity correction step at the sound production timings stored in the arpeggio pattern.
Hereinafter, preferred embodiments will be described with reference to the accompanying drawings.
As illustrated in
The setting key 3 is an operator for inputting various settings to the synthesizer. The setting key 3 sets various setting values for an arpeggio set in a setting table 11e that will be described later and a part of the arpeggio that is a processing target in a note remain process (
Although details will be described later, the synthesizer 1 of the present embodiment is provided with an Oct shift reset function of resetting an increase of a note number at the beginning of each bar, in a duck function of suppressing muddiness of an output sound by correcting a velocity of one part to be reduced in a case where a sound production timing of the one part overlaps with a sound production timing of another specified part with respect to output of arpeggios, a key press mode of switching between outputting a distributed arpeggio and outputting a chord arpeggio according to an input timing to the key 2a, a key range function of correcting a note number of input one part to a preset sound range to output an arpeggio in a musical sound production range of the timbre thereof, or an Oct (octave) shift function of increasing a note number of input one part in the octave unit. In the following description, “arpeggio” may be abbreviated to “Arp”, and “octave” may be abbreviated to “Oct”.
Next, an electrical configuration of the synthesizer 1 will be described with reference to
The CPU 10 is an arithmetic unit that controls each part connected thereto via the bus line 15. The flash ROM 11 is a rewritable non-volatile memory, and is provided with a control program 11a, a timbre information table 11b, a key press table 11c, an Arp pattern table 11d, and a setting table 11e.
When the control program 11a is executed by the CPU 10, note event processing in
(b) of
(a) of
(c) of
(a) of
(a) of
(b) of
In the Arp pattern A1, the note number A has the number of steps of 2 and 6 as sound production timings, the note number B has the number of steps of 0 to 7 as sound production timings, and the note number C has the number of steps of 3 and 7 as sound production timings. Specific note numbers (note numbers are note numbers stored in the remain table that will be described later) are assigned to the respective note numbers A to C in the Arp pattern A1 in which the sound production timings are set as described above, and arpeggios are automatically played by repeating sound production at sound production timings set to the number of steps of 0 to 7.
Referring to (a) of
(c) of
One of the types of timbre stored in the timbre information table 11b (refer to (b) of
The remain table stores pitch information of sound output as an arpeggio for each part. In the setting table 11e, a remain table R1 is set as the remain table of the rhythm part, a remain table R2 is set as the remain table of the bass part, and a remain table R3 is set as the remain table of the drum part. Here, with reference to (d) of
(d) of
(c) of
An enabled/disabled (on/off) setting state of the key range change function is stored in the key range change function. As the lowest note number, a note number corresponding to a lower limit of a sound production range that is considered to have a small sense of discomfort in hearing is stored with respect to the timbre in the setting table 11e. In the allowable Oct width, the number of Octs up to a note number corresponding to an upper limit of the sound production range in a case where the pitch is increased in order from the lowest note number is stored.
In the Oct shift function, an enabled/disabled (on/off) setting state of the Oct shift function is stored. In the Oct shift width, the number of Octs (compass) to be changed in the Oct shift function is stored. Enabled/disabled (on/off) of the Oct reset function is stored in the Oct reset function on/off setting.
As a setting value for the duck, an enabled/disabled (on/off) setting state of the duck function is stored in the duck function. In the duck part, other parts referred to when ducking in the duck function are stored.
In the duck note, a note number to be referred to when further ducking in the duck part is stored. In particular, in a case where all the note numbers of the duck part are ducking targets, “ANY” indicating that fact is stored in the duck note. In the duck rate, a rate of change in the velocity of the part when ducking is stored.
In the present embodiment, the remain table and the key press mode in the setting table 11e are set to setting values according to the input to the key 2a, and the timbre, the Arp pattern, the step Tick, the maximum number of notes, the velocity, and the key range change function on/off setting, the lowest note number, the allowable Oct width, the Oct shift function on/off setting, the Oct shift width, the Oct reset function on/off setting, the duck function on/off setting, the duck part, the duck note, and the duck rate in the setting table 11e are set to setting values using the setting key 3. An arpeggio is output on the basis of the setting value of each part set in the setting table 11e in the above-described way.
Referring to (a) of
The Arp note memory 12b is a memory in which a note number of an arpeggio to be produced is stored. The Arp note memory 12b is configured to store a plurality of note numbers, and in a case where a plurality of note numbers is stored in the Arp note memory 12b, sounds having the plurality of note numbers stored in the Arp note memory 12b are produced at the same sound production timing.
The Oct counter memory 12d is a memory that stores the number of Octs of a sound that is being produced in the Oct shift function, and the number-of-steps memory 12f is a memory that stores the current step in an arpeggio pattern. In the present embodiment, the Oct counter memory 12d and the number-of-steps memory 12f store the number of Octs and the number of steps separately for each part.
The sound source 13 is a device that outputs waveform data according to performance information input from the CPU 10, and the DSP 14 is an arithmetic unit for arithmetically processing the waveform data input from the sound source 13. The DAC 16 is a conversion device that converts the waveform data input from the DSP 14 into analog waveform data. The amplifier 17 is an amplification device that amplifies the analog waveform data output from the DAC 16 with a predetermined gain, and the speaker 18 is an output device that emits (outputs) the analog waveform data amplified by the amplifier 17 as musical sounds.
Next, a process executed by the CPU 10 will be described with reference to
In the note event processing, first, a note number corresponding to the pressed or released key 2a is acquired and stored in the input note memory 12a (S1). After the process in S1, it is checked whether there is note-on, that is, whether the key 2a is pressed (S2).
In the process in S2, in a case where there is note-on (S2: Yes), it is checked whether all the note numbers in the key press table 11c are off, that is, whether none of the keys 2a is pressed (S3). In the process in S3, in a case where all the note numbers in the key press table 11c are OFF (S3: Yes), this time is a timing at which any key 2a is pressed from the state in which none of the keys 2a is pressed and is also a timing to start to play an arpeggio, and thus arpeggio processing that will be described later is started in
After the process in S4, the number of Octs of all the parts in the Oct counter memory 12d and the number of steps of all the parts in the number-of-steps memory 12f are set to 0 (S5). That is, with the start of playing the arpeggio, 0 is set as the number of Octs used in the Oct shift function and the number of steps in the Arp pattern.
In a case where any key in the key press table 11c is ON in the process in S3 (S3: No), the arpeggio processing has already started, and thus the processes in S4 and S5 are skipped. After the processes in S3 and S5, among the note numbers in the key press table 11c, a note number matching the pressed key 2a is set to ON, and the change time is updated to the current time (S6).
After the process in S6, a target part of the note remain process that will be described later is acquired from the setting key 3 (S7). After the process in S7, the note remain process is executed (S8). Here, the note remain process will be described with reference to
In the note remain process, first, it is checked whether there is another note-on within the past 30 msec from the key press table 11c (S20). Specifically, note numbers of which states are on in the key press table 11c are acquired, and it is checked whether there is a note number of which a change time is within 30 msec from the current time among the note numbers.
In a case where there is another note-on within the past 30 msec in the process in S20 (S20: Yes), the key press mode of the target part in the setting table 11e is set to “chord” (S21). On the other hand, in a case where there is no other note-on within the past 30 msec in the process in S20 (S20: No), in the key press mode of the target part in the setting table 11e is set to “single” (S22).
That is, in a case where there is another note-on within the past 30 msec, it is determined that the note was input at the same time as an input note that is input this time, so a “chord” for outputting a chord arpeggio is set in the key press mode of the target part. On the other hand, in a case where there is no any note-on within the past 30 msec, it is determined that the input note this time is not input at the same time as other notes, and “single” for outputting a distributed arpeggio is set in the key press mode of the target part.
After the processes in S21 and S22, it is checked whether the key press mode of the target part in the setting table 11e is changed by the processes in S21 and S22 (S23). In a case where the key press mode is changed in the process in S23 (S23: Yes), all the sounds having the note numbers stored in the remain table of the target part in the setting table 11e are muted (S24), and the note numbers and acquisition times in the remain table are cleared (S25). On the other hand, in a case where the key press mode of the target part is not changed by the processes in S21 and S22 (S23: No), the processes in S24 and S25 are skipped.
After the processes in S23 and S25, the key press mode of the target part in the setting table 11e is checked (S26). In a case where the key press mode of the target part is “chord” in the process in S26 (S26: chord), all the note numbers turned on within the past 30 msec are acquired from the key press table 11c (S27). Specifically, in the key press table 11c, notes of which states are on are acquired, and among the notes, all notes of which change times are within 30 msec from the current time are acquired. The notes acquired in the process in S27 include a note input this time.
After the process in S27, it is checked whether the number of notes acquired in the process in S27 is larger than the maximum number of notes of the target part in the setting table 11e (S28). In the process in S28, in a case where the number of acquired notes is larger than the maximum number of notes of the target part (S28: Yes), the oldest note among the acquired notes, that is, the note of which the change time in the key press table 11c is the earliest is deleted (S29), and the process in S28 is executed again with the remaining notes as the acquired notes.
On the other hand, in the process in S28, in a case where the number of acquired notes is equal to or smaller than the maximum number of notes of the target part (S28: No), the acquired notes are arranged in the oldest order, that is, in the order of the earliest change time, and a note number and a change time of the note number are added to the remain table of the target part in the setting table 11e (S30).
In a case where the key press mode of the target part is single in the process in S26 (S26: single), it is checked whether the number of notes of the target part stored in the remain table in the setting table 11e is equal to or larger than the maximum number of notes of the target part in the setting table 11e (S32). In the process in S32, in a case where the number of notes of the target part in the remain table is equal to or greater than the maximum number of notes in the target part (S31: Yes), the oldest note from the remain table of the target part, that is, the note of which the acquisition time in the remain table of the target part is earliest is deleted (S32), and then the process in S31 is executed again.
On the other hand, in the process in S31, if the number of notes stored in the remain table of the target part is smaller than the maximum number of notes of the target part (S31: No), the note number in the input note memory 12a added to the remain table of the target part together with the acquisition time thereof (S33). After the processes in S31 and S35, the note remain process is finished, and the process returns to the note event processing in
(a) of
After the process in S40, it is checked whether a hold setting is OFF (S41). The hold setting is a setting value indicating whether the hold pedal is depressed or released in a hold event processing that will be described later in (c) of
(b) of
On the other hand, in a case where any of the note numbers in the key press table 11c is ON (S50: No), the processes in S51 and S52 are skipped. Then, after the process in S51 and S52, the note-off processing is finished, and the process returns to the note event processing in
(a) of
Here, the hold event processing will be described with reference to (c) of
On the other hand, in the process in S60, in a case where the state of the hold pedal 4 is OFF (S60: OFF), the hold setting is turned off (S62), and the arpeggio stop process (S62) described in (b) of
That is, in the note-off processing in (a) of
Therefore, in a case where any of the keys 2a is pressed, a state of the remain table in the setting table 11e at the time of the last note-on is maintained, and the arpeggio output based on the remain table is continued. Consequently, when outputting an arpeggio, it is not necessary to keep pressing all the keys 2a corresponding to note numbers to be output as the arpeggio, and thus the operability of a performer for the arpeggio output can be improved. In a case where all the keys 2a are released, the arpeggio output is stopped, and thus the performer can intuitively and easily stop the arpeggio output.
On the other hand, in the note-off processing, in a case where the hold setting is ON (S41: No in (a) of
Consequently, in a case where the performer depresses the hold pedal 4 and the hold setting is ON, the performer can release his/her hand from the key 2a while continuing the arpeggio output. Therefore, the performer can operate the setting key 3 or other devices or perform other work. When the performer releases the hold pedal 4 in this state and the hold setting is turned off, the arpeggio output is stopped. Therefore, the arpeggio output can be stopped not only by the operation on the key 2a but also by the operation on the hold pedal 4, and thus the operability of the performer for the arpeggio output can be improved.
Referring to
Next, the arpeggio processing will be described with reference to
In the arpeggio process, first, it is checked whether an arpeggio setting in the setting key 3 has been changed (S70). In a case where the arpeggio setting has been changed in the process in S70 (S70: Yes), the changed arpeggio setting is acquired from the setting key 3 and stored in the setting table 11e (S71). In particular, the timbre corresponding to a set value that is set with the setting key 3 is acquired from the timbre information table 11b and stored in the setting table 11e, and an Arp pattern corresponding to the set value set with the setting key 3 is acquired from the Arp pattern table 11d and stored in the setting table 11e. On the other hand, in a case where the arpeggio setting has not been changed (S70: No), the process in S71 is skipped.
After the processes in S70 and S71, the number of steps of each part in the number-of-steps memory 12f is compared with sound production timings in the Arp pattern of all the parts in the setting table 11e, and a part with a sound production timing is acquired (S72). In the following processes in
After the process in S72, it is checked whether the sound production part has been acquired in the process in S72 (S73). In a case where the sound production part has been acquired in the process in S73 (S73: Yes), a key press mode of the sound production part in the setting table 11e is checked (S74). In the process in S74, in a case where the key press mode of the sound production part is single (S74: single), a note number corresponding to the sound production timing in the Arp pattern of the sound production part is acquired from the remain table of the sound production part in the setting table 11e and stored in the Arp note memory 12b (S75).
Specifically, a note corresponding to the number of steps of the current sound production part in the number-of-steps memory 12f is acquired from the Arp pattern of the sound production part in the setting table 11e, and a note number assigned to the note is acquired from the remain table in the setting table 11e and stored in the Arp note memory 12b.
Here, assignment between the Arp pattern and the remain table in a case where the key press mode is single will be described. In the present embodiment, note numbers in the order stored in the remain table are assigned to a plurality of note numbers set in the Arp pattern. Specifically, when describing the assignment between the Arp pattern A1 in (b) of
In this example, in a case where the number of steps, which is the sound production timing, is 0 in the process in S75, the note number “60” corresponding to the note number B of the Arp pattern A1 is acquired and stored in the Arp note memory 12b. In a case where the number of steps is 2, the note numbers “60” and “70” respectively corresponding to the note numbers B and C of the Arp pattern A1 are acquired and stored in the Arp note memory 12b.
On the other hand, in the process in S74, in a case where the key press mode of the sound production part is a chord (S74: chord), all the note numbers are acquired from the remain table of the sound production part in the setting table 11e and stored in the Arp note memory 12b (S76). When describing the Arp pattern A1 in (b) of
That is, in a case where the key press mode is chord, all the note numbers are acquired from the remain table of the sound production part in the setting table 11e and set in the Arp note memory 12b. Consequently, all sounds having the note numbers stored in the remain table are simultaneously output at the sound production timing set in the Arp pattern. That is, it is possible to output an expressive arpeggio based on “chords” including all the sounds having the note numbers set in the remain table.
On the other hand, in a case where the key press mode is single, the note numbers of the remain table are respectively assigned to the note numbers of the Arp pattern, and a note number corresponding to the sound production timing is acquired from the note numbers and set in the Arp note memory 12b. Consequently, it is possible to output a distributed arpeggio based on sounds having the note numbers stored in the remain table.
The chord arpeggio in a case where the key press mode is chord is output according to the same Arp pattern as the distributed arpeggio in a case where the key press mode is single. Consequently, since it is not necessary to create an Arp pattern according to the key press mode, it is possible to reduce the time and effort required to create the Arp pattern and also reduce a storage capacity of the Arp pattern table 11d in which the Arp pattern is stored.
Incidentally, in the note remain process in
In the note remain process in
That is, depending on whether the note-ons occur simultaneously or in a distributed manner, a mode of the output arpeggio also switches between outputting a chord arpeggio and outputting a distributed arpeggio. Consequently, a difference in mode between a performance operation of a performer on the key 2a and an output arpeggio can be reduced, and thus the performer can suppress a sense of discomfort in the arpeggio output with respect to the performance operation on the key 2a.
After the process in S75 and S76, the Oct shift process (S77) is executed. Here, the Oct shift process will be described with reference to
In the Oct shift process, first, it is checked whether the Oct shift function of the sound production part in the setting table 11e is ON (S90). In the process in S90, in a case where the Oct shift of the sound production part is ON (S90: Yes), the number of notes corresponding to the number of Octs of the sound production part in the Oct counter memory 12d is added to the note number in the Arp note memory 12b (S91). Consequently, the note number in the Arp note memory 12b is increased by the number of Octs of the sound production part in the Oct counter memory 12d.
After the process in S91, 1 is added to the number of Octs of the sound production part in the Oct counter memory 12d (S91), and it is checked whether the result is larger than the Oct shift width of the sound production part in the setting table 11e (S93). In the process in S93, in a case where the number of Octs of the sound production part in the Oct counter memory 12d is larger than the Oct shift width of the sound production part in the setting table 11e (S93: Yes), 0 is set as the number of Octs of the sound production part in the Oct counter memory 12d (S94).
Therefore, in a case where the Oct shift function is ON, the note number is increased to the Oct shift width of the sound production part from the note number acquired in the process in S75 or S76 in
As details will be described later in
In a case where the number of Octs of the sound production part in the Oct counter memory 12d is equal to or less than the Oct shift width of the sound production part in the setting table 11e in the process in S93 (S93: No), the process in S94 is skipped, and in a case where the Oct shift of the sound production part is OFF in the process in S90 (S90: No), the processes in S91 to S94 are skipped. After the processes in S90, S93, and S94, the process returns to the arpeggio processing in
After the Oct shift process in S77, the key range processing (S78) is executed. Here, the key range processing will be described with reference to
In the key range processing, first, it is checked whether the key range change function of the sound production part in the setting table 11e is ON (S100). In the process in S100, in a case where the key range change function of the sound production part is ON (S100: Yes), the lowest note number and the allowable Oct width of the sound production part are acquired from the setting table 11e (S101). After the process in S91, a value obtained by adding the number of notes corresponding to the allowable Oct width to the acquired lowest note number is set as the highest note number (S102).
After the process in S102, it is checked whether the note number in the Arp note memory 12b is lower than the lowest note number acquired in the process in S91 (S103). In the process in S103, in a case where the note number in the Arp note memory 12b is lower than the lowest note number (S103: Yes), the number of notes corresponding to one octave is added to the note number in the Arp note memory 12b (S104), and the process in S103 is performed again.
On the other hand, in the process in S103, in a case where the note number in the Arp note memory 12b is equal to or higher than the lowest note number (S103: No), it is checked whether the note number in the Arp note memory 12b is equal to or higher than the highest note number set in S91 (S105). In the process in S105, in a case where the note number in the Arp note memory 12b is equal to or higher than the highest note number (S105: Yes), the number of notes corresponding to one octave is subtracted from the note number in the Arp note memory 12b (S106), and then the process in S105 is performed again.
In a case where the note number in the Arp note memory 12b is lower than the highest note number in the process in S105 (S105: No), or in a case where the key range change function of the sound production part is OFF in the process in S100 (S100: No), the key range processing is finished and the process returns to the arpeggio processing in
Here, the key range function will be described with reference to
The lowest note number and the allowable Oct width are set to values that are considered to have a small sense of discomfort in hearing in the timbre of the sound production part. For example, since the bass sound is characterized by a low range, when it is possible to produce sound up to the high range, the bass sound likeness may be lost and the musicality may be impaired. Therefore, the lowest note number and the allowable Oct width are set such that the maximum pitch that can maintain the bass sound likeness is set to the highest note number.
Here, since a note number based on the key 2a is set as the note number in the Arp note memory 12b, a note number (note numbers 34 and 35 in
Therefore, in the key range processing, the highest note number is set from the lowest note number and the allowable Oct width of the sound production part in the setting table 11e, and if the note number in the Arp note memory 12b is not between the lowest note number and the highest note number, a sound range is corrected by adding or subtracting the number of notes in one octave unit to or from the note number in the Arp note memory 12b.
For example, in a case where “34” lower than the lowest note number “36” is input as the note number in the Arp note memory 12b, the number of notes (that is, “12”) corresponding to one octave is added, and thus, the note number is corrected to “46”, and in a case where “60” that is equal to or higher than the highest note number “60” is input, the number of notes corresponding to one octave is subtracted, and thus the note number is corrected to “48”. As described above, the note number in the Arp note memory 12b is corrected in a sound range between the lowest note number and the highest note number, and can be used as a sound production range in the timbre of the sound production part, and thus an arpeggio based on sound more like an instrument having that timbre can be output.
Since the note number in the Arp note memory 12b is added or subtracted in Oct units during the sound range correction, pitch names corresponding to the note numbers in the Arp note memory 12b before and after the correction are the same. Consequently, even in a case where a chord with a plurality of sounds is output in the arpeggio of the sound production part, the pitch name is not changed by the sound range correction, and thus the arpeggio can be output without breaking the harmony of chords.
In this case, in a case where the allowable Oct width is set to 2 or more and there are a plurality of sounds having the same pitch name in a sound production range, the note number in the Arp note memory 12b is corrected to a note number closest to the note number and having the same pitch name. As an example in
Consequently, it is possible to suppress an increase in a difference between a note number before the sound range correction and a note number after the sound range correction and thus to suppress an output arpeggio from being unnatural.
In the velocity duck processing, first, it is checked whether the duck function of the sound production part in the setting table 11e is ON (S110). In the process in S110, in a case where the duck function of the sound production part is ON (S110: Yes), the duck part, the duck note, and the duck rate of the sound production part are acquired from the setting table 11e (S111). After the process in S111, it is checked whether the number of steps of the duck part in the number-of-steps memory 12f is a sound production timing in the Arp pattern of the duck part in the setting table 11e (S112).
In the process in S112, in a case where the number of steps of the duck part is the sound production timing in the Arp pattern of the duck part (S112: Yes), it is checked whether a note number of the duck part at the sound production timing matches the duck note (S113). In a case where “ANY” is set for the duck note, it is determined that a note number matches the duck note in the process in S113 regardless of the note number of the duck part.
In the process in S113, in a case where the note number of the duck part at the sound production timing matches the duck note, the velocity in the velocity memory 12c is corrected on the basis of the duck rate (S114). Specifically, assuming that a velocity before correction is indicated by V and the duck rate is indicated by Ra, a velocity V′ after correction is calculated by the following Equation 1.
V′=(100−Ra)×V/100 (1)
That is, a value obtained by subtracting the duck rate from 100 is multiplied by the velocity before correction, and a value obtained by dividing the obtained value by 100 is defined as the velocity after correction.
In the process in S113, in a case where the note number of the duck part at the sound production timing does not match the duck note (S113: No), the process in S114 is skipped. In a case where the number of steps of the duck part is not the sound production timing in the Arp pattern of the duck part in S112 (S112: No), the processes in S113 and S114 are skipped. In a case where the duck function of the sound production part is OFF in the process in S110 (S110: No), the processes in S111 to S114 are skipped. After the processes in S110 and S112 to S114, the velocity duck processing is finished, and the process returns to the arpeggio processing in
Here, the duck function will be described with reference to
In (a) of
In (b) of
(c) of In
Since the drum part in (d) of
Similarly, in the bass part in (f) of
As described above, in the velocity duck processing, in a case where a sound production timing of the sound production part matches a sound production timing of the duck part, and a note number at the sound production timing of the duck part matches a duck note, the velocity in the velocity memory 12c is reduced according to the duck rate. Consequently, even in a case where a plurality of parts is sounded at the same time, an increase in an output level is suppressed, and thus output sound can be suppressed from becoming muddy.
The duck part can be set for each part, a note number of which the velocity in the velocity memory 12c is reduced can be designated by the duck note, and the degree of reducing the velocity can be designated by the duck rate. Consequently, a part in which the velocity in the velocity memory 12c is reduced, a note number in the part, and the degree of reducing the velocity can be set in detail, and thus the muddiness of output sound can be suppressed more effectively.
In the process in S73, in a case where there is no sound production part (S73: No), the processes in S74 to S81 are skipped. After the processes in S73 and S81, a step update process (S82) is executed. Here, the step update process will be described with reference to
In the step update process, first, 1 is set for a part number P (S120). For convenience, a part number is assigned to each part. Specifically, a part number 1 is assigned to the rhythm part, a part number 2 is assigned to the bass part, and a part number 3 is assigned to the drum part. Therefore, in a case where the part number P is “1”, this represents the rhythm part, in a case where the part number P is “2”, this represents the bass part, and in a case where the part number P is “3”, this represents the drum part. Hereinafter, a “part corresponding to the part number P” is simply will be referred to as a “part P”.
After the process in S120, a Tick value according to the elapsed time from the previous step update process is acquired (S121). As described above, since the required time per Tick is set to 1 msec in the present embodiment, a value obtained by dividing the elapsed time from the previous step update process by 1 msec is acquired.
After the process in S121, the Tick value acquired in the process in S122 is added to the Tick value of the part P in the Tick memory 12e (S122). After the process in S122, it is checked whether the Tick value of the part P in the Tick memory 12e is greater than the step Tick of the part P in the setting table 11e (S123).
In the process in S123, in a case where the Tick value of the part P is greater than the step Tick of the part P (S123: Yes), since a timing to update the number of steps in the part P arrives, the step Tick of the part P in the setting table 11e is subtracted from the Tick value of the part P in the Tick memory 12e (S124), and 1 is added to the number of steps of the part P in the number-of-steps memory 12f (S125).
After the process in S125, it is checked whether the number of steps of the part P in the number-of-steps memory 12f is larger than a total number of steps in the Arp pattern of the part Pin the setting table 11e (S126). In the process in S126, in a case where the number of steps of the part P is larger than the total number of steps in the Arp pattern of the part P (S126: Yes), since the number of steps of the part P reaches the number of steps at the end of the Arp pattern of the part P and arpeggio output for one bar is completed, the number of steps of the part Pin the number-of-steps memory 12f is set to 0 in preparation for arpeggio output for the next bar (S127).
After the process in S127, it is checked whether the Oct reset function of the part P in the setting table 11e is ON (S128). In the process in S128, in a case where the Oct reset function of the part P is ON (S128: Yes), the number of Octs of the part P in the Oct counter memory 12d is set to 0 (S129). Consequently, at the next number of steps in the part P of which the Oct shift function is ON, that is, at a sound production timing corresponding to the beginning of the next bar, the note number returns to the first note number in the remain table of the part P, and an arpeggio is output by the note number.
Here, the Oct reset function will be described with reference to
As illustrated in (a) of
This is because the Arp pattern and the Oct shift width in the Oct shift function are set independently in the setting table 11e (refer to (c) of
On the other hand, in a case where the Oct reset function is ON in (b) of
After the processes in S123, S126, S128, and S129, 1 is added to the part number P (S130), and it is checked whether the part number P obtained as a result of the addition is larger than the total number of parts, that is, “three” (S131). In a case where the part number P is equal to or smaller than the total number of parts (S131: No), there is a part in which the number of steps is not backward, and thus the processes in and after S121 are repeatedly performed. On the other hand, in a case where the part number P is larger than the total number of parts (S131: Yes), the step update process is finished and the process returns to the arpeggio process in
Although the above description has been made on the basis of the above embodiment, it can be easily inferred that various improvements and changes are possible.
In the above embodiment, an output arpeggio part is divided into three parts, that is, the rhythm part, the bass part, and the drum part, but the number of arpeggio parts is not limited to three, and may be three parts or less, or three or more parts.
In the above embodiment, sound production timings for one bar are stored in the Arp pattern. However, the present invention is not limited to this, and sound production timings in units of two bars or four or more bars may be stored in the Arp pattern.
In the above embodiment, the time used for determining whether the key press mode is chord or single is set to 30 msec, but the time is not limited to this, and may be 30 msec or more or 30 msec or less. In particular, in a case where “chord” is to be prioritized as the key press mode, the time may be more than 30 msec, and in a case where “single” is to be prioritized, the time may be less than 30 msec.
In the above embodiment, in a case where the key press mode is single, the note numbers in the remain table are assigned to the note numbers in the Arp pattern in the order of the note numbers stored in the remain table. However, the present invention is not limited to this, and note numbers in the reverse order of the order stored in the remain table may be assigned to the note numbers in the Arp pattern. The note numbers in the remain table may be assigned to the note numbers in the Arp pattern in the order of pitch. In this case, the order of pitches assigned to the note numbers in the Arp pattern may be ascending order or descending order.
In the above embodiment, a velocity of each part is stored in an initial velocity in the setting table 11e, and an arpeggio is output on the basis of a velocity corrected through the velocity duck processing in
In the above embodiment, one part is stored as the duck part stored in the setting table 11e, but the number of stored duck parts is not limited to one, and two or more parts may be stored, or all other than the own part may be stored. As the duck note stored in the setting table 11e, one note number or “ANY” representing all note numbers is stored, but the duck note to be stored is not limited to these, and two or more specific note numbers may be stored.
In the above embodiment, a rate of change is stored as the duck rate stored in the setting table 11e, but is not limited to this. A fixed value for reducing the initial velocity may be stored, and the velocity in the velocity memory 12c may be corrected by subtracting the initial velocity from the velocity in the velocity memory 12c, for example.
In the above embodiment, the lowest note number and the allowable Oct width are stored in the setting table 11e, and the highest note number used in the sound range correction (S103 to S106) in the key range processing in
Alternatively, the highest note number may be stored in the setting table 11e instead of the lowest note number, the lowest note number may be calculated by subtracting the number of notes corresponding to the allowable Oct width from the highest note number, and the sound range correction may be performed on the basis of the calculated lowest note number and the highest note number in the setting table 11e.
In the sound range correction in the key range processing illustrated in
In the key range processing in
In the above embodiment, the note number in the Arp note memory 12b is increased in the Oct shift process in
In the above embodiment, the synthesizer 1 is exemplified as an electronic musical instrument. However, the present invention is not limited to this, and may be applied to an arpeggiator having only an arpeggiator function and other electronic musical instruments such as an electronic organ, an electronic piano, and an electronic wind instrument.
In the above embodiment, the control program 11a is stored in the flash ROM 11 of the synthesizer 1 and operated on the synthesizer 1. However, the present invention is not limited to this, and the control program 11a may be operated on another computer such as a personal computer (PC), a mobile phone, a smartphone, or a tablet terminal. In this case, instead of the keyboard 2 of the synthesizer 1, performance information may be input from a MIDI standard keyboard or a keyboard for character input connected to a PC or the like by wire or wirelessly, or the performance information may be input from a software keyboard displayed on a display device of the PC or the like.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/034870 | 9/4/2019 | WO |