This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2016-187776, filed Sep. 27, 2016, the entire contents of which are incorporated herein by reference.
The present invention relates to an effect providing apparatus, an effect providing method, a storage medium, and an electronic musical instrument capable of ostensibly increasing the number of effects that can be simultaneously provided.
Conventionally, apparatuses have been known which provide an input signal with various effects such as a reverb effect and a delay effect. For example, Japanese Patent Application Laid-Open (Kokai) Publication No. 2006-058595 discloses this type of apparatus. In this technique, the waveform shape of an LFO (Low Frequency Oscillator) waveform sectioned into an A section and a B section is determined for each section, and then the ratio of the A section of the waveform to the entire one period of the waveform is defined by a parameter Duty. In addition, an LFO waveform is generated in which the random variation range of an LFO wave crest value in the A section and the random variation range of an LFO wave crest value in the B section have been limited. Then, in accordance with the generated LFO waveform, the pitch, timbre, and sound volume of a generated musical sound are modulated so as to provide effects.
In general, an effect providing apparatus provided in a low-cost electronic musical instrument has a problem in that plural types of effects are difficult to be simultaneously processed. This is because the processing power of a DSP (Digital Signal Processor) and/or a CPU (Central Processing Unit) therein is not high.
The present invention is to provide an effect providing apparatus, an automatic musical performance method, a storage medium, and an electronic musical instrument by which even an electronic musical instrument or apparatus having a low-performance processor can give a user an impression that a plurality of effect processings, which are not actually being simultaneously performed by the processor, are being simultaneously performed.
In accordance with one aspect of the present invention, there is provided an effect providing apparatus comprising: a processor, wherein the processor performs first effect processing for providing inputted musical sound data with a first effect based on a parameter value that varies with time; second effect processing for providing, when provision of a second effect different from the first effect is specified while the first effect is being provided by the first effect processing, the inputted musical sound data with the second effect in place of the first effect; parameter update continuation processing for continuing variation in the parameter value while the second effect is being provided by the second effect processing; and control processing for controlling such that, when the specification of the provision of the second effect is released, the first effect processing provides the inputted musical sound data with the first effect based on the parameter value continued to be varied by the parameter update continuation processing, and wherein the first effect processing does not provide the inputted musical sound data with the first effect while the second effect processing is providing the inputted musical sound data with the second effect.
The above and further objects and novel features of the present invention will more fully appear from the following detailed description when the same is read in conjunction with the accompanying drawings. It is to be expressly understood, however, that the drawings are for the purpose of illustration only and are not intended as a definition of the limits of the invention.
The present invention can be more clearly understood by the detailed description below being considered together with the following drawings.
An embodiment of the present invention will hereinafter be described with reference to the drawings.
Operators 11 in
By the A effect switch AS in
A display section 12 in
The ROM 14 includes a program area PA and a music data area MDA, as shown in
In the music data area MDA of the ROM 14, the sequence data SD(1) to SD(N) of a plurality of musical pieces are stored, and one of these sequence data SD(1) to SD(N) is selected as music data for an automatic musical performance in accordance with an operation on the above-described music selection switch.
The RAM 15 includes a sequence data area SDA and a work area WA, as shown in
The sequence data SD(n) herein includes a plurality of musical performance tracks (music data), and each of them includes a header having stored therein a format indicating a data format, a time base representing a resolution, and the like; a system track having stored therein a music title, tempo (BPM), beats, and the like; and musical performance data indicating a pitch and the sound emission timing of each note in each musical instrument part.
In the work area WA of the RAM 15, DSP parameters A and B transferred from the ROM 14 under the control of the CPU 13 are temporarily stored. Note that these DSP parameters A and B are read out from the program area PA of the ROM 14 at the time of system initialization, and then stored in the work area WA of the RAM 15.
Also, in this work area WA, for example, a filter flag FF and LFO information DL are temporarily stored as various register/flag data for use in processing by the CPU 13. The filter flag FF indicates “1” when the filter processing is being performed, and indicates “0” when the filter processing is completed. The LFO information DL includes the current phase, angular velocity, and execution period of an LFO in the filter processing
Next, referring back to
Next, the sound source 16 (which includes the waveform generation processing section 160 and the effect processing section 161 in the present embodiment) is described with reference to
The waveform generation processing section 160 includes a plurality of sound emission channels achieved by a known waveform memory read method. This waveform generation procession section 160 emits musical sound data W supplied from the CPU 13 in accordance with a note-ON/note-OFF event based on musical performance input information. In a case where an automatic musical performance is being performed, this waveform generation procession section 160 emits musical sound data W for each musical performance track (musical instrument part) based on sequence data SD read out by the CPU 13 from the sequence data area SDA of the RAM 15.
The effect processing section 161 provides an effect to musical sound data W outputted from the waveform generation processing section 160. This effect processing section 161 of the present embodiment cannot provide plural types of effects simultaneously and can only provide a single effect.
Note that the present invention can be applied in an apparatus not incapable of simultaneously performing a plurality of effect processings, that is, an apparatus capable of simultaneously performing a plurality of effect processings. That is, the present invention can be achieved by any apparatus as long as it has a configuration by which, when there is second effect processing not being performed while first effect processing is being performed by a processor, the user receives an impression that the first effect processing and the second effect processing are being simultaneously performed. Also, the first effect processing may include not only one processing but two or more processings. Similarly, the second effect processing may include not only one processing but two or more processings
The effect processing section 161 performs predetermined processing in accordance with DSP parameters supplied from the CPU 13.
Specifically, when the CPU 13 supplies DSP parameters A read out from the work area WA of the RAM 15 to the sound source 16 (DSP), the effect processing section 161 performs processing shown in
A DCF 161b in
Also, when the CPU 13 supplies DSP parameters B read out from the work area WA of the RAM 15 to the sound source 16 (DSP), the effect processing section 161 performs processing shown in
An LFO 162b in
In the present embodiment, in the effect processing section 161, when one of the “filter processing (first effect processing)” based on DSP parameters A supplied from the CPU 13 and the “flanger processing (second effect processing)” based on DSP parameters B supplied from the CPU 13 is performed on inputted musical sound data W, the user receives an impression that both effect processings, that is, both the filter processing (first effect processing) and the flanger processing (second effect processing) are being simultaneously performed.
Next, as operations of the above-described electronic musical instrument 100, operations to be performed by the CPU 13 in effect processing are described with reference to
When the electronic musical instrument 100 is turned ON, the CPU 13 performs, in the main routine not shown, switch scanning for detecting an event of any of various operation switches arranged on the operators 11, and then performs effect processing in accordance with this switch scanning. When the effect processing is performed, the CPU 13 proceeds to Step SA1 shown in
For example, at time t1 shown in
At Step SA4, the CPU 13 transfers DSP parameters A stored in the work area WA (refer to
Subsequently, the CPU 13 proceeds to Step SA5, instructs the effect processing section 161 to start the filter processing, and proceeds to Step SA6 shown in
Next, the CPU 13 proceeds to Step SA6 (refer to
Then, the CPU 13 starts the effect processing again and proceeds to Step SA1 described above (refer to
Then, the judgment result of Step SA8 is “YES”, and therefore the CPU 13 proceeds to Step SA9. At Step SA9, the CPU 13 loads the phase and angular velocity of the LFO 161a, stores the phase and angular velocity in the work area WA (refer to
Next, the CPU 13 proceeds to Step SA10, and transfers DSP parameters B stored in the work area WA (refer to
In the effect processing section 161 which has started the flanger processing by following the instruction from the CPU 13, after time t2 in
The CPU 13 then proceeds to Step SA6 (refer to
Then, the CPU 13 proceeds to Step SA14, and judges whether the filter flag FF indicates “1”. In the case of the operation example in
Then, the CPU 13 starts the effect processing again and proceeds to Step SA1 described above. This time, the A effect switch AS is not pressed. Accordingly, the judgment result is “NO” and therefore the CPU 13 proceeds to Step SA8. At Step SA8, the CPU 13 judges whether the B effect switch BS has been pressed this time. Here, since the B effect switch BS is already being pressed by the press operation performed at time t2 shown in
For example, when the user releases the B effect switch BS at time t3 shown in
Then, the CPU 13 proceeds to Step SA20 and judges whether the filter flag FF indicates “1”, that is, the effect processing section 161 is continuing the filter processing. In this case, the effect processing section 161 is continuing the filter processing. Accordingly, the judgment result is “YES” and therefore the CPU 13 proceeds to Step SA21. At Step SA21, the CPU 13 transfers the DSP parameters A stored in the work area WA (refer to
Subsequently, the CPU 13 proceeds to Step SA22, reads out the LFO information DL continued to be updated at Step SA9 described above from the work area WA (refer to
As another embodiment, a configuration may be adopted in which an elapsed time from timing specified for providing the second effect (Step SA8) is counted; how much a parameter value is supposed to have been changed is calculated by counting from the timing specified for providing the second effect (SA8) to timing when the specification of the provision of the second effect is released (SA18); and the calculated parameter value is acquired at Step SA22.
Then, the CPU 13 proceeds to Step SA23, instructs the effect processing section 161 to start the filter processing, and proceeds to Step SA6 shown in
Then, the CPU 13 proceeds to Step SA6 and judges whether the filter processing is being performed. As described above, when the effect processing section 161 restarts the filter processing, the judgment result is “YES”. Accordingly, the CPU 13 proceeds to Step SA7 and causes the filter processing of the effect processing section 161 to continue. Then, the CPU 13 proceeds to Step SA15 and judges whether the filter processing has proceeded to end. When the filter processing has proceeded to end, the judgment result is “YES” and therefore the CPU 13 proceeds to Step SA16. At Step SA16, the CPU 13 instructs the effect processing section 161 to stop the filter processing. Then, the CPU 13 proceeds to Step SA17, resets the filter flag FF to zero, and ends the effect processing.
Next, operations to be performed by the CPU 13 in tempo update processing are described with reference to
This processing is performed when a playback tempo is changed by a user operation or the like. First, the CPU 13 proceeds to Step SB1 and sets a new tempo value TEMPO (specified tempo) acquired by the change in the system. Next at Step SB2, the CPU 13 judges whether effect processing is being performed by the effect processing section 161. When effect processing is not being performed, the judgment result is “NO” and therefore the CPU 13 ends the tempo update processing. When effect processing is being performed, the judgment result is “YES” and therefore the CPU 13 proceeds to Step SB3.
At Step SB3, the CPU 13 calculates an LFO angular velocity ω based on the new tempo value TEMPO. This LFO angular velocity is subjected to tempo synchronization. Note that this synchronization timing is set in advance. For example, in a case where the LFO angular velocity is synchronized with a beat “BEAT”, the LFO angular velocity ω is calculated by the following equation (1). Note that the tempo value “TEMPO” herein corresponds to the number of beats per second.
ω=TEMPO/(60×BEAT)(rad/s) . . . (1)
Next, the CPU 13 proceeds to Step SB4 and notifies the effect processing section 161 of the LFO angular velocity ω calculated at Step SB3. Here, the CPU 13 updates the current LFO angular velocity ω of the effect regardless of whether the effect processing being performed is the filter processing or the flanger processing, and performs the effect processing in synchronization with the tempo value TEMPO.
Subsequently, the CPU 13 proceeds to Step SB5 and judges whether or not the filter flag FF indicates “1” and the effect processing being performed by the effect processing section 161 is the flanger processing. When both of the conditions have been satisfied, that is, when the LFO phase update of the filter processing is being performed by the CPU 13, the judgment result is “YES”. Accordingly, the CPU 13 proceeds to Step SB6, updates an LFO angular velocity included in LFO information stored in the work area WA of the RAM 15 to the LFO angular velocity ω calculated at Step SB3 described above, and thereby synchronizes an LFO phase value to be updated by the CPU 13 with the tempo value TEMP by the beat BEAT. After this synchronization processing or when the above-described conditions are not satisfied, the CPU 13 ends the tempo update processing.
In this tempo update processing, an LFO angular velocity is updated by being subjected to tempo synchronization, and therefore an LFO phase that is added in accordance with the LFO angular velocity can be subjected to tempo synchronization. In particular, an LFO angular velocity in the work area WA is also updated, and therefore tempo synchronization can be performed even when the update of the LFO phase is being performed by the CPU 13. Thus, even when a tempo change is performed while the flanger processing is being performed and then the flanger processing is ended and the filter processing is restarted, a value including the previous tempo change can be set as an LFO initial phase at the time of restart.
As described above, in the present embodiment, when switching to the second effect (flanger processing) which is different from the first effect (filter processing) is performed while the first effect (filter processing) in accordance with a periodic signal (LFO signal) is being provided in the effect processing section 161 which can only provide one effect, the periodic signal is advanced from a phase at the time of the switching, and the first effect (filter processing) in accordance with the advancing periodic signal is provided when the provision of the second effect (flanger) is ended. That is, the number of effects that can be simultaneously provided is ostensibly increased.
In the above-described embodiment, a configuration has been described in which switching to the flanger processing is performed while the filter processing is being provided. However, the gist of the present invention is not limited thereto, and may be applied to a combination of other types of effects as long as the configuration can be actualized in which, when switching to a second effect is performed while a first effect in accordance with a periodic signal is being provided, the periodic signal is advanced from a phase at the time of the switching to the second effect, and the first effect in accordance with the advancing periodic signal is provided when the provision of the second effect is ended.
While the present invention has been described with reference to the preferred embodiments, it is intended that the invention be not limited by any of the details of the description therein but includes all the embodiments which fall within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2016-187776 | Sep 2016 | JP | national |