This application claims the priority benefit of Japan application serial no. 2021-214552, filed on Dec. 28, 2021. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The disclosure relates to an automatic performance apparatus, an automatic performance method, and a non-transitory computer readable medium.
Patent Document 1 (Japanese Patent Application Laid-Open No. 2012-234167) discloses an apparatus for searching for automatic accompaniment data. In this apparatus, when a user presses a key on a keyboard of a rhythm input device 10, trigger data indicating that the key has been pressed, that is, a performance operation has been performed, and velocity data indicating an intensity of press of the key, that is, an intensity of the performance operation, are inputted to an information processing device 20 as an input rhythm pattern which is in units of one bar.
The information processing device 20 has a database including a plurality of automatic accompaniment data. Each automatic accompaniment data includes a plurality of parts, each having a unique rhythm pattern. When an input rhythm pattern has been inputted through the rhythm input device 10, the information processing device 20 searches for automatic accompaniment data having a rhythm pattern identical or similar to the input rhythm pattern and displays a list of the names and the like of the retrieved automatic accompaniment data. The information processing device 20 outputs a sound based on automatic accompaniment data selected by the user from the displayed list.
However, the rhythm pattern included in the automatic accompaniment data used for output is fixed. Therefore, once automatic accompaniment data is selected, the same rhythm pattern continues to be outputted repeatedly, so the sound based on the outputted automatic accompaniment data becomes monotonous.
An automatic performance apparatus of an embodiment of the disclosure automatically performs a performance pattern in which sound generation timings of notes to be sounded are set, and includes a sound generation probability pattern acquisition part and an automatic performance part. The sound generation probability pattern acquisition part acquires a sound generation probability pattern in which a probability of sounding a note is set for each sound generation timing of the performance pattern. The automatic performance part performs an automatic performance by determining whether to sound the note for each sound generation timing of the performance pattern based on the probability of each sound generation timing set in the sound generation probability pattern acquired by the sound generation probability pattern acquisition part.
An automatic performance method of an embodiment of the disclosure includes steps below. In a sound generation probability pattern acquisition step, a sound generation probability pattern is acquired in which a probability of sounding a note is set for each sound generation timing of a performance pattern in which sound generation timings of notes to be sounded are set. In an automatic performance step, an automatic performance is performed by determining whether to sound the note for each sound generation timing of the performance pattern based on the probability of each sound generation timing set in the sound generation probability pattern acquired in the sound generation probability pattern acquisition step.
An automatic performance program of the disclosure is a program causing a computer to perform an automatic performance, and causes the computer to execute steps below. In a sound generation probability pattern acquisition step, a sound generation probability pattern is acquired in which a probability of sounding a note is set for each sound generation timing of a performance pattern in which sound generation timings of notes to be sounded are set. In an automatic performance step, an automatic performance is performed by determining whether to sound the note for each sound generation timing of the performance pattern based on the probability of each sound generation timing set in the sound generation probability pattern acquired in the sound generation probability pattern acquisition step.
Embodiments of the disclosure provide an automatic performance apparatus and an automatic performance program capable of realizing a highly expressive performance in which monotony is suppressed even when a performance pattern is automatically performed.
Hereinafter, exemplary embodiments will be described with reference to the accompanying drawings.
As shown in
The synthesizer 1 of this embodiment stores a performance pattern Pa in which a note to be sounded is set at each sound generation timing, and an automatic performance is performed by performing a performance based on the performance pattern Pa. At this time, whether to sound the note at each sound generation timing of the performance pattern is switched according to a sound generation probability pattern Pb in which a probability is set for each sound generation timing. Further, the probability set for each sound generation timing in the sound generation probability pattern Pb is determined according to performance information from the key 2a operated by the performer. Hereinafter, the automatic performance based on the performance pattern Pa will be simply referred to as an “automatic performance”.
Next, the performance pattern Pa and the sound generation probability pattern Pb will be described with reference to
As shown in
Further, as shown in
By applying the sound generation probability pattern of
In the performance pattern Pa′ of
In this manner, by determining whether to generate sound or not in the performance pattern Pa according to the probability set for each beat position in the sound generation probability pattern Pb, each time automatic performance is performed based on the performance pattern Pa, the beat positions at which sound is generated can be changed. Accordingly, even if automatic performance is repeatedly performed based on the same performance pattern Pa, the automatic performance is prevented from becoming monotonous, and an automatic performance rich in expressiveness can be realized.
In this embodiment, two modes, i.e., a mode 1 and a mode 2, are provided as the method (hereinafter referred to as an “operation mode”) for setting a probability of each beat position in the sound generation probability pattern Pb. In the mode 1 among the operation modes, in the sound generation probability pattern Pb, “100%” is set at predetermined beat positions at which sound is to be always generated, and a probability corresponding to an input pattern Pi which is maximum-likelihood-estimated based on input of performance information to the key 2a (to be described later) is set at the other beat positions. Hereinafter, such a sound generation probability pattern Pb will be referred to as a “variable sound generation probability pattern”.
For example, in
In this manner, in the case where the operation mode is the mode 1, a probability corresponding to the input pattern Pi which is maximum-likelihood-estimated based on input of performance information to the key 2a, i.e., a probability corresponding to the performance of the performer, is set in the sound generation probability pattern Pb. Accordingly, since it is possible to switch whether to generate sound or not in the performance pattern Pa according to the performance of the performer, an automatic performance matching the performance of the performer can be outputted. Further, since it is not necessary to set a probability at all beat positions in the sound generation probability pattern Pb, the sound generation probability pattern Pb can be easily created.
Further, in the variable sound generation probability pattern, “100%” is set in advance at beat positions at which sound is to be always generated. For example, by setting “100%” at musically meaningful beat positions such as a head of bar, it is possible to appropriately maintain the melody and rhythm of the automatic performance.
The variable sound generation probability pattern is not limited to setting “100%” in advance, but a probability of 100% or less such as “50%”, “75%”, etc. may also be set. Further, a probability corresponding to the input pattern Pi which is maximum-likelihood-estimated based on input of performance information to the key 2a is not necessarily set at all beat positions set with “*” in the variable sound generation probability pattern, but the probability may also be set at part of the beat positions set with “*” in the variable sound generation probability pattern.
Next, the case where the operation mode is the mode 2 will be described. In the mode 2, a plurality of sound generation probability patterns Pb (e.g.,
In this manner, in the case where the operation mode is the mode 2, among the pre-stored sound generation probability patterns Pb, the sound generation probability pattern Pb corresponding to the input pattern Pi which is maximum-likelihood-estimated based on input of performance information to the key 2a is acquired. Accordingly, it is similarly possible to switch whether sound is generated or not in the performance pattern Pa according to the performance of the performer, and it is possible to output an automatic performance matching the performance of the performer.
Further, the probability at each beat position in the sound generation probability pattern Pb is stored in advance. By setting the probability set at each beat position in the sound generation probability pattern Pb in detail according to the corresponding input pattern Pi (of maximum likelihood estimation), the sound generation probability pattern Pb can be made to correspond to the performer’s intention or preference.
Herein, in the performance pattern Pa of this embodiment, one beat position may not only be set with one note, but a plurality of notes may also be set at one beat position as a chord. Application of the sound generation probability pattern Pb in the case of setting chords will be described with reference to
When applying the sound generation probability pattern Pb shown in
In this manner,
Accordingly, since it is possible to vary the sounds that compose the chord, it is possible to prevent the automatic performance based on the performance pattern Pa from becoming monotonous, and it is possible to make the chord rich in variety. Further, since whether to generate sound or not is determined for each note composing the chord, it is possible to suppress occurrence of a situation in which all the notes that compose a chord are not sounded. Accordingly, it is possible to suppress a sense of incongruity with respect to sound generation of chords by automatic performance.
The probability in the sound generation probability pattern Pb at the corresponding beat position is not necessarily applied to all the notes that compose the chord, but, for example, the probability in the sound generation probability pattern Pb may also be applied to a specific note (e.g., the note with the highest pitch or the note with the lowest pitch) among the notes that compose the chord. Alternatively, in the sound generation probability pattern Pb, a probability may be set for each note composing a chord, or corresponding probabilities may be applied to respective notes that compose a chord.
Next, an electrical configuration of the synthesizer 1 will be described with reference to
The CPU 10 is an arithmetic device that controls each part connected via the bus line 15. The flash ROM 11 is a rewritable nonvolatile memory provided with a control program 11a, an input pattern table 11b, a state pattern table 11c, a variable sound generation probability table 11d, a sound generation probability comparison table 11e, a fixed sound generation probability table 11f, and an inter-transition route likelihood table 11g. A main process of
The input pattern table 11b is a data table storing performance information and input patterns Pi which match the performance information. Herein, beat positions in the input pattern Pi and the input pattern table 11b will be described with reference to
In the input pattern Pi, pitches are defined for beat positions B1 to B32 for which the input of performance information is designated, while no pitches are defined for beat positions B1 to B32 for which the input of performance information is not designated. Further, in this embodiment, in the input pattern table 11b, input patterns P1, P2, P3, ... are set in a descending order of a time interval between beat positions in the input pattern Pi for which performance information is set.
In this embodiment, to manage combinations of the beat positions B1 to B32 and the pitches, a combination of these is defined as a “state”. Such states with respect to the input patterns Pi will be described with reference to
In the state pattern table 11c, a name of a corresponding input pattern Pi, a beat position B1 to B32, and a pitch are stored for each state Jn. Such a state pattern table 11c will be described below with reference to
Specifically, input patterns Pi corresponding to the music genre “rock” are defined as a state pattern table 11cr, input patterns Pi corresponding to the music genre “pop” are defined as a state pattern table 11cp, input patterns Pi corresponding to the music genre “jazz” are defined as a state pattern table 11cj, and input patterns Pi are similarly stored for other music genres. Hereinafter, the state pattern tables 11cp, 11cr, 11cj, ... in the state pattern table 11c will each be referred to as a “state pattern table 11cx” unless particularly distinguished.
When performance information is inputted from the key 2a, a “likely” state Jn is estimated based on a beat position and a pitch of the performance information and a beat position and a pitch of a state pattern table 11cx corresponding to the selected music genre, and an input pattern Pi is acquired from the state Jn.
Referring back to
In this embodiment, the variable sound generation probability table 11d stores variable sound generation probability patterns for each music genre, and the variable sound generation probability patterns corresponding to a selected music genre are referred to from the variable sound generation probability table 11d. Specifically, variable sound generation probability patterns corresponding to music genres “rock”, “pop”, and “jazz” are respectively defined as variable sound generation probability tables 11dr, 11dp, and 11dj, and variable sound generation probability patterns are similarly stored for other music genres. Hereinafter, the variable sound generation probability tables 11dr, 11dp, and 11dj will each be referred to as a “variable sound generation probability table 11dx” unless particularly distinguished.
In the sound generation probability comparison table 11e, increasing probability values are stored in an arrangement sequence similar to that of the input pattern table 11b described above, i.e., in a sequence of the input patterns Pi arranged in a descending order of the time interval between the beat positions for which performance information is set. Accordingly, the longer the interval of the performance information inputted by the performer, the smaller the probability acquired; and the shorter the interval of the performance information inputted by the performer, the greater the probability acquired.
Therefore, as the interval of performance information inputted by the performer increases, the probability that sound is generated in the automatically performed performance pattern Pa decreases, and the beat positions at which sound is generated in the automatically performed performance pattern Pa become sparse. Accordingly, it is possible to perform an automatic performance based on a performance pattern Pa matching a performance of a performer with a long interval of performance information inputted by the performer, i.e., at a slow tempo.
On the other hand, as the interval of performance information inputted by the performer decreases, the probability that sound is generated in the automatically performed performance pattern Pa increases, and the beat positions at which sound is generated in the automatically performed performance pattern Pa become frequent. Accordingly, it is possible to perform an automatic performance based on a performance pattern Pa matching a performance of a performer with a short interval of performance information inputted by the performer, i.e., at an up-tempo.
The sound generation probability comparison table 11e is not limited to storing increasing probability values in a sequence of the input patterns Pi arranged in a descending order of the time interval between beat positions for which performance information is set, but, for example, the sound generation probability comparison table 11e may also store decreasing probability values in a sequence of the input patterns Pi arranged in a descending order of the time interval between beat positions for which performance information is set, or the sound generation probability comparison table 11e may also store random probability values unrelated to the corresponding input patterns Pi.
In this embodiment, sound generation probability patterns Pb of each music genre are stored in the fixed sound generation probability table 11f, and the sound generation probability patterns Pb corresponding to a selected music genre are referred to from the fixed sound generation probability table 11f. Specifically, the sound generation probability patterns Pb corresponding to music genres “rock”, “pop”, and “jazz” are respectively defined as fixed sound generation probability tables 11fr, 11fp, and 11fj, and sound generation probability patterns Pb are similarly stored for other music genres. Hereinafter, the fixed sound generation probability tables 11fr, 11fp, 11fj, ... will each be referred to as a “fixed sound generation probability table 11fx” unless particularly distinguished.
Referring back to
Transition routes to the state J3 are shown in
A transition route R3 that transitions to the state J3 from a state J2 which is immediately prior to the state J3, and a transition route R2 which is a transition route from the state J1 which is two states prior to the state J3 are set as the transitions from states Jn in the same input pattern P1 as the state J3. That is, in this embodiment, no more than two transition routes, the first being a transition route that transitions from an immediately preceding state Jn, and the second being a transition route of “sound skipping” that transitions from a state which is two states ago, are set as transition routes to states Jn in the same pattern.
On the other hand, a transition route R8 that transitions from a state J11 of the input pattern P2 to the state J3, a transition route R15 that transitions from a state J21 of the input pattern 3 to the state J3, a transition route R66 that transitions from a state J74 of the input pattern P10 to the state J3, etc. may be set as the transition routes that transition from states Jn of patterns different from the state J3. That is, transition routes where a transition source state Jn of a different input pattern Pi is immediately prior to the beat position of a transition destination state Jn are set as transition routes to states Jn in different input patterns Pi.
A plurality of transition routes Rm to the state J3 are set in addition to the transition routes illustrated in
A “likely” state Jn is estimated based on the performance information of the key 2a, and an input pattern Pi corresponding to the state Jn is referred to. In this embodiment, a state Jn is estimated based on a likelihood which is a numerical value set for each state Jn and representing the “likelihood” between performance information of the key 2a and the state Jn. In this embodiment, the likelihood for the state Jn is calculated by combining the likelihood based on the state Jn itself, the likelihood based on the transition route Rm, or the likelihood based on the input pattern Pi.
The pattern transition likelihood and the miskeying likelihood stored in the inter-transition route likelihood table 11g are likelihoods based on the transition route Rm. Specifically, first, the pattern transition likelihood is a likelihood representing whether a transition source state Jn and a transition destination state Jn for the transition route Rm are in the same input pattern Pi. In this embodiment, “1” is set to the pattern transition likelihood in the case where the transition source and destination states Jn for the transition route Rm are in the same input pattern Pi, and “0.5” is set to the pattern transition likelihood in the case where the transition source and destination states Jn for the transition route Rm are in different input patterns Pi.
For example, in
Further, the miskeying likelihood stored in the inter-transition route likelihood table 11g represents whether the transition source state Jn and the transition destination state Jn of the transition route Rm are in the same input pattern Pi and further the transition source state Jn is two states prior to the transition destination state Jn, that is, whether the transition route Rm having the transition source state Jn and the transition destination state Jn is due to sound skipping. In this embodiment, “0.45” is set to the miskeying likelihood of transition routes Rm having transition source and destination states Jn due to sound skipping and “1” is set to the miskeying likelihood of transition routes Rm other than those due to sound skipping.
For example, in
Transition routes Rm due to sound skipping in which a transition source state Jn is two states prior to a transition destination state Jn in the same input pattern Pi are also set as described above. In actual performances, the probability of occurrence of a transition due to sound skipping is lower than the probability of occurrence of a normal transition. Therefore, by setting a smaller value to the miskeying likelihood of a transition route Rm due to sound skipping than to the miskeying likelihood of a normal transition route Rm which is not due to sound skipping, as in actual performances, it is possible to estimate a transition destination state Jn of a normal transition route Rm with priority over a transition destination state Jn of a transition route Rm due to sound skipping.
Further, as shown in
Referring back to
Since the pitch of the state J2 in the state pattern table 11cr is “mi” and does not match the pitch “do” of the performance information of the key 2a, “0.4” is set for the state J2 in the pitch likelihood table 12f. Further, since the pitch of the state J21 in the state pattern table 11cr is “do & mi” and partially matches the pitch “do” of the performance information of the key 2a, “0.54” is set for the state J21 in the pitch likelihood table 12f. A state Jn whose pitch is closest to the pitch of the performance information of the key 2a can be estimated based on the pitch likelihood table 12f thus set.
Referring back to
Specifically, a great value of synchronization likelihood is set for a state Jn of a beat position B1 to B32 having a small difference from the timing at which the performance information of the key 2a has been inputted. On the other hand, a small value of synchronization likelihood is set for a state Jn of a beat position B1 to B32 having a great difference from the timing at which the performance information of the key 2a has been inputted. By estimating a state Jn for the performance information of the key 2a based on the synchronization likelihood of the synchronization likelihood table 12g thus set, it is possible to estimate a state Jn of a beat position closest to the timing at which the performance information of the key 2a has been inputted.
Referring back to
Specifically, a great value of IOI likelihood is set for a transition route Rm of a beat distance having a small difference from the keying interval stored in the IOI memory 12e. On the other hand, a small value of IOI likelihood is set for a transition route Rm of a beat distance having a great difference from the keying interval stored in the IOI memory 12e. By estimating a transition destination state Jn of a transition route Rm based on the IOI likelihood of the transition route Rm thus set, it is possible to estimate a state Jn that is based on a transition route Rm whose beat distance is closest to the keying interval stored in the IOI memory 12e.
Referring back to
Referring back to
The DAC 16 is a conversion device that converts the waveform data inputted from the DSP 14 into analog waveform data. The amplifier 17 is an amplifying device that amplifies the analog waveform data outputted 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 a musical sound.
Next, a main process executed by the CPU 10 will be described with reference to
In the main process, first, a performance pattern Pa selected by a performer via the setting button 3 (see
Along with acquisition of the performance pattern Pa selected by the performer, a music genre selected by the performer via the setting button 3 is also acquired. With respect to the state pattern table 11c, the variable sound generation probability table 11d, the fixed sound generation probability table 11f, or the inter-transition route likelihood table 11g stored for each music genre, a state pattern table 11cx, a variable sound generation probability table 11dx, a fixed sound generation probability table 11fx, or an inter-transition route likelihood table 11gx corresponding to the acquired music genre is referred to. Hereinafter, the “music genre acquired in the process of S1” will be referred to as the “corresponding music genre”.
After the process of S1, an operation mode selected by the performer via the setting button 3 is acquired (S2), and it is confirmed whether the acquired operation mode is a mode 1 (S3). In the process of S3, if the operation mode is the mode 1 (S3: Yes), a variable sound generation probability pattern selected by the performer via the setting button 3 is acquired from the variable sound generation probability table 11d and stored to the sound generation probability pattern memory 12b (S4). On the other hand, in the process of S3, if the operation mode is a mode 2 (S3: No), the process of S4 is skipped.
After the processes of S3 and S4, it is confirmed whether a key input, i.e., performance information from the key 2a, has been inputted (S5). In the process of S5, if the performance information from the key 2a has not been inputted (S5: No), the process of S5 is repeated.
On the other hand, in the process of S5, if the performance information from the key 2a has been inputted (S5: Yes), automatic performance is started based on the performance pattern Pa in the performance pattern memory 12a (S6). At this time, a tempo specified in the performance pattern Pa of the performance pattern memory 12a is acquired, and the performance pattern Pa is automatically performed based on the tempo. Hereinafter, this tempo will be referred to as the “tempo of the automatic performance”.
After the process of S6, a maximum likelihood pattern search process is executed (S7). Herein, the maximum likelihood pattern search process will be described with reference to
After the process of S50, an IOI likelihood is calculated based on the keying interval in the IOI memory 12e, the tempo of the automatic performance described above, and a beat distance of each transition route Rm in the inter-transition route likelihood table 11gx of the corresponding music genre, and the calculated IOI likelihood is stored to the IOI likelihood table 12h (S51). Specifically, letting x be the keying interval in the IOI memory 12e, Vm be the tempo of the automatic performance, and Δτ be the beat distance of a transition route Rm stored in the inter-transition route likelihood table 11gx, an IOI likelihood G is calculated according to a Gaussian distribution of Equation (1).
Herein, σ is a constant representing the standard deviation in the Gaussian distribution of Equation (1) and is set to a value calculated in advance through experiments or the like. This IOI likelihood G is calculated for all transition routes Rm and the results are stored to the IOI likelihood table 12h. That is, since the IOI likelihood G follows the Gaussian distribution of Equation (1), a greater value of IOI likelihood G is set for the transition route Rm as the beat distance of the transition route Rm has a smaller difference from the keying interval in the IOI memory 12e.
After the process of S51, a pitch likelihood is calculated for each state Jn based on the pitch of the performance information from the key 2a, and the calculated pitch likelihood is stored to the pitch likelihood table 12f (S52). As described above with reference to
After the process of S52, a synchronization likelihood is calculated based on a beat position corresponding to the time at which the performance information of the key 2a has been inputted and a beat position in the state pattern table 11cx of the corresponding music genre, and the calculated synchronization likelihood is stored to the synchronization likelihood table 12g (S53). Specifically, letting tp be a beat position in a unit of two bars into which the time at which the performance information of the key 2a has been inputted is converted, and τ be the beat position in the state pattern table 11cx of the corresponding music genre, a synchronization likelihood B is calculated according to a Gaussian distribution of Equation (2).
Herein, ρ is a constant representing the standard deviation in the Gaussian distribution of Equation (2) and is set to a value calculated in advance through experiments or the like. This synchronization likelihood B is calculated for all states Jn and the results are stored to the synchronization likelihood table 12g. That is, since the synchronization likelihood B follows the Gaussian distribution of Equation (2), a greater value of synchronization likelihood B is set for the state Jn as the beat position of the state Jn has a smaller difference from the beat position corresponding to the time at which the performance information of the key 2a has been inputted.
After the process of S53, the likelihood calculation process is ended and the process returns to the maximum likelihood pattern search process of
Referring back to
After the process of S60, the likelihood of the state Jn is calculated based on the maximum value of the likelihood stored in the previous likelihood table 12j, the pitch likelihood of the state Jn in the pitch likelihood table 12f, and the synchronization likelihood of the state Jn in the synchronization likelihood table 12g, and the calculated likelihood is stored to the likelihood table 12i (S61). Specifically, letting Lp_M be the maximum value of the likelihood stored in the previous likelihood table 12j, Pi_n be the pitch likelihood of the state Jn in the pitch likelihood table 12f, and B_n be the synchronization likelihood of the state Jn in the synchronization likelihood table 12g, a logarithmic likelihood log(L_n) which is the logarithm of the likelihood L_n of the state Jn is calculated according to a Viterbi algorithm of Equation (3).
Herein, α is a penalty constant for the synchronization likelihood Bn, that is, a constant considering the case of not transitioning to the state Jn, and is set to a value calculated in advance through experiments or the like. The likelihood L_n obtained by removing the logarithm from the logarithmic likelihood log(L_n) calculated according to Equation (3) is stored to a memory area corresponding to the state Jn in the likelihood table 12i.
After S61, 1 is added to the counter variable n (S62) and it is confirmed whether the counter variable n after the addition is greater than the quantity of states Jn (S63). If it is determined in the process of S63 that the counter variable n is equal to or less than the quantity of states Jn, the processes from S61 onwards are repeated. On the other hand, if it is determined that the counter variable n is greater than the quantity of states Jn (S63: Yes), the inter-state likelihood combination process is ended and the process returns to the maximum likelihood pattern search process of
Referring back to
In the inter-transition likelihood combination process, first, 1 is set to a counter variable m (S70). Hereinafter, “m” in the “transition route Rm” in the inter-transition likelihood combination process represents the counter variable m. For example, when the counter variable m is 1, the transition route Rm represents the “transition route R1.”
After the process of S70, a likelihood is calculated based on the likelihood of the transition source state Jn of the transition route Rm in the previous likelihood table 12i, the IOI likelihood of the transition route Rm in the IOI likelihood table 12h, the pattern transition likelihood and the miskeying likelihood in the inter-transition route likelihood table 11gx of the corresponding music genre, the pitch likelihood of the transition destination state Jn of the transition route Rm in the pitch likelihood table 12f, and the synchronization likelihood of the transition destination state Jn of the transition route Rm in the synchronization likelihood table 12g (S71).
Specifically, letting Lp_mb be the previous likelihood of the transition source state Jn of the transition route Rm in the previous likelihood table 12j, I_m be the IOI likelihood of the transition route Rm in the IOI likelihood table 12h, Ps_m be the pattern transition likelihood in the inter-transition route likelihood table 11gx of the corresponding music genre, Ms_m be the miskeying likelihood in the inter-transition route likelihood table 11gx of the corresponding music genre, Pi_mf be the pitch likelihood of the transition destination state Jn of the transition route Rm in the pitch likelihood table 12f, and B_mf be the synchronization likelihood of the transition destination state Jn of the transition route Rm in the synchronization likelihood table 12g, a logarithmic likelihood log(L), which is the logarithm of the likelihood L, is calculated according to a Viterbi algorithm of Equation (4).
Then, the likelihood L is calculated by removing the logarithm from the logarithmic likelihood log(L) calculated according to the above Equation (4).
After the process of S71, it is confirmed whether the likelihood L calculated in the process of S70 is greater than the likelihood of the transition destination state Jn of the transition route Rm in the likelihood table 12i (S72). If it is determined in the process of S72 that the likelihood L calculated in the process of S70 is greater than the likelihood of the transition destination state Jn of the transition route Rm in the likelihood table 12i, the likelihood L calculated in the process of S70 is stored to a memory area corresponding to the transition destination state Jn of the transition route Rm in the likelihood table 12i (S73).
On the other hand, if it is determined in the process of S72 that the likelihood L calculated in the process of S70 is equal to or less than the likelihood of the transition destination state Jn of the transition route Rm in the likelihood table 12i (S72: No), the process of S73 is skipped.
After the processes of S72 and S73, 1 is added to the counter variable m (S74) and thereafter it is confirmed whether the counter variable m is greater than the quantity of transition routes Rm (S75). If it is determined in the process of S75 that the counter variable m is equal to or less than the quantity of transition routes Rm (S75: No), the processes from S71 onwards are repeated and, if it is determined in the process of S75 that the counter variable m is greater than the quantity of transition routes Rm (S75: Yes), the inter-transition likelihood combination process is ended and the process returns to the maximum likelihood pattern search process of
Referring back to
After the process of S33, it is confirmed whether the likelihood of the maximum value in the likelihood table 12i has been updated by the inter-transition likelihood combination process of S32 (S34). That is, it is confirmed whether the likelihood of the state Jn used for pattern determination in the process of S33 has been updated according to a likelihood based on the previous likelihood Lp_mb by the processes of S71 to S73 in
If it is determined in the process of S34 that the likelihood of the maximum value in the likelihood table 12i has been updated by the inter-transition likelihood combination process (S34: Yes), based on the state Jn which takes the likelihood of the maximum value in the likelihood table 12i and the state Jn which takes the likelihood of the maximum value in the previous likelihood table 12j, a current transition route Rm is acquired and stored to the transition route memory 12d (S35). Specifically, the state Jn which takes the likelihood of the maximum value in the likelihood table 12i and the state Jn which takes the likelihood of the maximum value in the previous likelihood table 12j are searched by the transition destination state Jn and the transition source state Jn of the inter-transition route likelihood table 11gx of the corresponding music genre, a transition route Rm in which these states Jn match is acquired from the inter-transition route likelihood table 11gx of the corresponding music genre and stored to the transition route memory 12d.
If it is determined in the process of S34 that the likelihood of the maximum value in the likelihood table 12i has not been updated by the inter-transition likelihood combination process (S34: No), the process of S35 is skipped.
After the processes of S34 and S35, the values of the likelihood table 12i are set to the previous likelihood table 12j (S36), and after the process of S36, the maximum likelihood pattern search process is ended, and the process returns to the main process of
Referring back to
On the other hand, if it is determined in the process of S8 that the operation mode is the mode 2 (S8: “mode 2”), a sound generation probability pattern Pb corresponding to the input pattern Pi in the maximum likelihood pattern memory 12c is acquired from the fixed sound generation probability table 11f and stored to the sound generation probability pattern Pb (S10).
After the processes of S9 and S10, based on the sound generation probability pattern Pb of the sound generation probability pattern memory 12b, it is determined whether to generate sound or not at the current beat position of the automatic performance (S11). Specifically, the probability of the current beat position of the automatic performance is acquired from the sound generation probability pattern Pb of the sound generation probability pattern memory 12b. Whether to generate sound or not is determined based on this probability. At this time, in the case where the current beat position of the performance pattern Pa in the performance pattern memory 12a is a chord, as described above, whether to generate sound or not is determined for each note composing the chord.
Although a conventional method for determining whether to generate sound or not based on the probability has been adopted, for example, in the case where an integer pseudo-random number is generated in the range of 1 to 100 and the probability is 40%, for example, when the generated pseudo-random number is 1 to 40, it may be determined “to generate sound”, and when the generated pseudo-random number is 41 to 100, it may be determined “not to generate sound”.
After the process of S11, a musical sound based on the performance information of the key 2a and a musical sound of the note at the current beat position of the performance pattern Pa in the performance pattern memory 12a corresponding to “to generate sound”/“not to generate sound” at the current beat position determined in the process of S11 are outputted (S12), and the processes from S6 onwards are repeated.
Although the disclosure has been described based on the above embodiment, it can be easily inferred that various improvements and modifications are possible.
In the above embodiment, the synthesizer 1 is illustrated as an automatic performance apparatus. However, the disclosure is not necessarily limited thereto and may be applied to an electronic musical instrument that outputs an automatic performance together with a musical sound generated by the performer’s performance, such as an electronic organ, an electronic piano, and a sequencer.
In the above embodiment, the sound generation probability pattern Pb stored in the variable sound generation probability table 11d or the fixed sound generation probability table 11f is acquired, but the disclosure is not limited thereto. For example, the performer may create a sound generation probability pattern Pb via the setting buttons 3 or the like, and the created sound generation probability pattern Pb may be used for automatic performance. Accordingly, it is possible to realize an automatic performance based on a sound generation probability pattern Pb considering the performer’s intentions and tastes.
In the above embodiment, in the case where the operation mode is the mode 1, the probability corresponding to the maximum-likelihood-estimated input pattern Pi is set to the beat positions of “*” in the sound generation probability pattern Pb. However, the disclosure is not limited thereto, and for example, a probability acquired from the performer via the setting button 3 may be set to the beat positions set with “*” in the sound generation probability pattern Pb.
Alternatively, after setting the probability corresponding to the maximum-likelihood-estimated input pattern Pi to the beat positions of “*” in the sound generation probability pattern Pb, by adding a probability acquired from the performer via the setting button 3 to the probability set at the beat positions of “*”, the probability at the beat positions of “*” may be adjusted by the setting button 3.
In the above embodiment, in the case where the operation mode is the mode 2, the sound generation probability pattern Pb corresponding to the maximum-likelihood-estimated input pattern Pi is acquired from the fixed sound generation probability table 11f, but the disclosure is not limited thereto. For example, a sound generation probability pattern Pb designated by the performer via the setting button 3 may be acquired from the fixed sound generation probability table 11f.
In the above embodiment, the input pattern Pi is maximum-likelihood-estimated based on the inputted performance information, and a probability and a sound generation probability pattern Pb corresponding to the maximum-likelihood-estimated input pattern Pi are acquired, but the disclosure is not limited thereto. Other properties and features of the inputted performance information may also be subjected to maximum likelihood estimation, and the results of such maximum likelihood estimation may be used to acquire the probability and the sound generation probability pattern. For example, based on the inputted performance information, maximum likelihood estimation may be performed on the tempo and melody of the tune performed by the performer, the music genre (rock, pop, etc.) of the tune performed, etc., and the probability and the sound generation probability pattern Pb corresponding to the maximum-likelihood-estimated tempo or the like may be acquired. In this case, a probability corresponding to each maximum-likelihood-estimated tempo or the like may be set in the sound generation probability comparison table 11e (see
In the above embodiment, according to the probability of the sound generation probability pattern Pb in the sound generation probability pattern memory 12b, whether to generate sound or not is determined at each beat position of the performance pattern in the performance pattern memory 12a. However, the disclosure is not limited thereto, and, for example, according to the probability of the sound generation probability pattern Pb in the sound generation probability pattern memory 12b, a volume (velocity) at each beat position of the performance pattern in the performance pattern memory 12a may be determined.
For example, in the case where the probability of a beat position in the sound generation probability pattern Pb of the sound generation probability pattern memory 12b is “60%”, the volume of a beat position of the performance pattern in the performance pattern memory 12a corresponding to this beat position may be set to a volume corresponding to 60% of the maximum volume being 100%, and a musical sound of the note at the beat position may be outputted. In addition, a length of the sound to be generated, a stereo position (Pan), timbre parameters (filter, envelope, etc.), a degree of sound effects, etc. may also be changed according to the probability of the sound generation probability pattern Pb.
In the above embodiment, notes are set in chronological order as a performance pattern Pa used for automatic performance, but the disclosure is not limited thereto. For example, a rhythm pattern such as a drum pattern or a bass pattern, or sound data such as a human singing voice may also be used as a performance pattern Pa used for automatic performance.
In the above embodiment, the performance duration of the input pattern Pi has a length of two bars in common time. However, the disclosure is not limited thereto and the performance duration of the input pattern Pi may be one bar or may be three or more bars. Also, the meter of the input pattern Pi is not limited to common time, and another meter such as three-four time or six-eight time may also be used as appropriate.
The above embodiment is configured such that performance information is inputted through the keyboard 2. However, alternatively, the disclosure may be configured such that a keyboard of an external MIDI standard is connected to the synthesizer 1 and performance information is inputted through such a keyboard. Alternatively, the disclosure may be configured such that an external MIDI device such as a sequencer, an electronic musical instrument such as another synthesizer, or a PC executing music production software such as a DAW is connected to the synthesizer 1 to input performance information. Furthermore, the disclosure may also be configured such that performance information is inputted from MIDI data stored in the flash ROM 11 or the RAM 12.
The above embodiment is configured such that a musical sound is outputted through the sound source 13, the DSP 14, the DAC 16, the amplifier 17, and the speaker 18 provided in the synthesizer 1. However, alternatively, the disclosure may be configured such that a sound source device of the MIDI standard is connected to the synthesizer 1 and a musical sound of the synthesizer 1 is outputted through the sound source device.
The above embodiment is configured such that the control program 11a is stored in the flash ROM 11 of the synthesizer 1 and operates on the synthesizer 1. However, the disclosure is not limited thereto and may be configured such that the control program 11a is caused to operate on another computer such as a personal computer (PC), a mobile phone, a smartphone, or a tablet terminal. In this case, the disclosure may be configured such that performance information is inputted through a keyboard of the MIDI standard or a character input keyboard connected to the PC or the like in a wired or wireless manner, in place of the keyboard 2 of the synthesizer 1, or may be configured such that performance information is inputted through a software keyboard displayed on a display device of a PC or the like.
The numerical values stated in the above embodiments are merely examples and other numerical values may of course be adopted.
Number | Date | Country | Kind |
---|---|---|---|
2021-214552 | Dec 2021 | JP | national |