Tone control device and tone control method
The music control system addresses the lack of dynamic effects in step sequencers by enabling variable audio parameter control and loop stopping, resulting in more engaging musical performances.
Patent Information
- Application Number
- CN202011398638.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-04
- Filing Date
- 2020-12-03
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2040-12-03
AI Technical Summary
In the prior art, the step sequencer cannot achieve dynamic changes in the effect after the final step is completed, resulting in a lack of fun musical tone control.
By setting control information by multiple operators, the control tone processing unit stops its action when a circle is circling under specified conditions, and sets a time-changing control pattern in each step, including setting values of pitch, cutoff frequency and volume, and supports parallel operation of the tone processing unit and synchronous triggering.
It realizes dynamic changes in the musical tone control device, generates interesting automatic playing sounds, and supports a variety of control signal waveform changes, enhancing the flexibility and fun of musical tone control.
Smart Images

Figure CN112908285B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a musical tone control device and a musical tone control method. Background Art
[0002] Previously, there has been an automatic performance device called a step sequencer. The step sequencer assigns a plurality of musical tone segments to a predetermined number of steps and repeats an operation of playing each for a predetermined length of time in a predetermined playback order (for example, Patent Document 1). Effects are sometimes imparted to the musical tones played in each step.
[0003] [Prior Art Documents]
[0004] [Patent Documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2002-23751 Summary of the Invention
[0006] [Problems to be Solved by the Invention]
[0007] In the prior art, when the operation for the final step ends, processing is simply repeated from the earliest step. Moreover, no consideration is given to changing the degree of the effect over time in each step.
[0008] An object of the present invention is to provide a musical tone control device and a musical tone control method capable of providing interesting musical tones.
[0009] [Means for Solving the Problems]
[0010] One embodiment of the present invention is a musical tone control device including:
[0011] a plurality of operators;
[0012] a musical tone processing unit that repeatedly performs processing of controlling musical tones in each of a plurality of steps according to control information set by the plurality of operators; and
[0013] a control unit that stops the operation of the musical tone processing unit when a predetermined condition is satisfied and the processing of controlling musical tones for all of the plurality of steps has made one round.
[0014] In the musical tone control device, it may also be configured such that the predetermined condition is a value set to stop the operation of the musical tone processing unit after one round, and a flag indicating that the processing of controlling musical tones for all of the plurality of steps has made one round is set.
[0015] In the tone control device, it may also be configured such that the control unit sets a change pattern in each of the plurality of steps, and the change pattern is selected from a plurality of change patterns representing the change over time within the step of the value indicated by the control information.
[0016] In the tone control device, it may also be configured such that the value indicated by the control information changes between a minimum value and a maximum value according to the change pattern set in each of the plurality of steps.
[0017] In the tone control device, it may also be configured such that the value indicated by the control information includes a set value for controlling the pitch of the tone generated for each of the plurality of steps.
[0018] Moreover, in the tone control device, it may also be configured such that the value indicated by the control information includes a set value for controlling the cutoff frequency of the tone generated for each of the plurality of steps.
[0019] Moreover, in the tone control device, it may also be configured such that the control information includes a set value for controlling the volume of the tone generated for each of the plurality of steps.
[0020] In the tone control device, it may also be configured such that the tone processing unit includes a first tone processing unit and a second tone processing unit that respectively set the control information and can operate in parallel.
[0021] When the control unit receives a retrigger instruction in a state where the synchronization between the first tone processing unit and the second tone processing unit has been set, the control unit causes the processing of the earliest step among the plurality of steps respectively set in the first tone processing unit and the second tone processing unit to start in accordance with the timing.
[0022] One embodiment of the present invention is a tone control device, which includes:
[0023] The plurality of operators;
[0024] A tone processing unit that repeatedly performs the following processing, that is, controls the tone in each of the plurality of steps according to the control information set by the plurality of operators; and
[0025] A control unit that sets a change pattern in each of the plurality of steps, and the change pattern is selected from a plurality of change patterns representing the change over time within the step of the value indicated by the control information.
[0026] Moreover, one embodiment of the present invention is a tone control method, which includes:
[0027] The tone control device controls tones in each of a plurality of steps according to control information set by a plurality of operators; and
[0028] When a predetermined condition is satisfied and the process of controlling the tone has completed one cycle, the tone control device stops the process of controlling the tone.
[0029] Moreover, one embodiment of the present invention is a tone control method, which includes:
[0030] The tone control device controls tones in each of a plurality of steps according to control information set by a plurality of operators; and
[0031] The tone control device respectively sets change patterns in the plurality of steps, and the change patterns are a plurality of change patterns (curves (CURVE)) selected from the changes over time within the steps representing the values indicated by the control information. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 Shows the overall structure of an example of a tone control device.
[0033] Figure 2 Is a diagram showing the panel of the operator included in the tone control device.
[0034] Figures 3(A) to 3(C) Is a diagram showing the panel of the operator included in the tone control device.
[0035] FIG. 4(A) and FIG. 4(B) show the information stored in the storage device.
[0036] Figure 5 Is an explanatory diagram of the processing of a digital signal processor (DSP).
[0037] Figure 6 Shows an example of the cycle processing of a central processing unit (CPU).
[0038] Figure 7 Shows an example of the signal generation processing of a sequencer.
[0039] Figure 8 Shows an example of the signal generation processing of a sequencer.
[0040] Figure 9 Shows an example of the waveform of the variable phase in the signal generation processing.
[0041] Figure 10 Shows an example of the step advancing processing of a sequencer.
[0042] Figure 11 Shows an example of waveform processing for a set value based on CURVE (curve).
[0043] Figure 12 Shows an example of the waveform of the variable wave in signal generation processing.
[0044] Figure 13 Shows an example of pitch control.
[0045] Figure 14 Shows the functions of the parameter minimum (minimum, MIN) and the parameter maximum (maximum, MAX).
[0046] Figure 15 Shows an example of cutoff control.
[0047] Figure 16 Shows an example of level control.
[0048] Figure 17 Shows an example of the on / off processing of the sequencer.
[0049] Figure 18 Shows an example of the start processing of the sequencer.
[0050] Figure 19 Shows an example of retrigger processing.
[0051] Figure 20 Shows an application example for a synthesizer.
[0052] [Description of symbols]
[0053] 10: Musical tone control device
[0054] 11: CPU
[0055] 12: RAM
[0056] 13: ROM
[0057] 14: DSP
[0058] 15: Operator
[0059] 16: Display Detailed implementation mode
[0060] Hereinafter, with reference to the accompanying drawings, the implementation mode will be described. The structure of the implementation mode is an example and is not limited to the structure of the implementation mode.
[0061] Figure 1This is a structural example of the music control device 10 showing an embodiment. The music control device 10 has a Central Processing Unit (CPU) 11 that controls the operation of the entire music control device 10. The CPU 11 is connected via a bus 1 to a Random Access Memory (RAM) 12, a Read-Only Memory (ROM) 13, a Digital Signal Processor (DSP) 14, an operator 15, and a display 16.
[0062] The RAM 12 serves as an operation area for the CPU 11 and a storage area for programs or data. The ROM 13 serves as a storage area for programs or data. The RAM 12 and the ROM 13 are an example of storage devices (storage media).
[0063] The music control device 10 has a sound input terminal for inputting music generated by playing a musical instrument or music generated by playback. The music signal input from the sound input terminal is converted into a digital signal by an analog to digital (A / D) converter 17 and input to the DSP 14. The DSP 14 gives effects to the music signal and outputs the music signal with effects applied. The music signal is converted into an analog signal by a digital to analog (D / A) D / A converter 18 and output from the sound output terminal. The output music signal is amplified by an amplifier and emitted from a speaker.
[0064] The operator 15 is a knob, button, switch, etc. operated by a user (operator) of the music control device. The display 16 is a display screen, a lamp (such as a light-emitting diode (LED)), etc., for displaying information.
[0065] Figure 2 and Figures 3(A) to 3(C) This is a diagram showing the panel of the operator included in the music control device 10. The panel includes a plurality of operators 15 and a display 16. In this embodiment, two independent step sequencers (SEQ1, SEQ2) operate independently (in parallel). Therefore, the panel includes a panel P1 for SEQ1 and a panel P2 for SEQ2. Figure 2 In, the panels P1 and P2 are schematically shown as tabs. Both have the same structure. By operating the sequencer selection buttons (SEQ1, SEQ2) provided in the tab portion, it is possible to select the panel P1 or P2 and perform the setting of the corresponding step sequencer.
[0066] Figure 2 In it, on the upper side of the panel P1, the operators common to SEQ1 and SEQ2 are shown. As the operators for tempo setting, a knob for adjusting the beats per minute (BPM) and a display for showing the set BPM are exemplified. On its right side, the respective on / off buttons for SEQ1 and SEQ2 are provided. The on / off buttons are self-illuminating buttons and are lit when turned on. On its right side, a RETRIGGER button is provided. If the RETRIGGER button is pressed while the synchronization (SYNC) is on, the cue of the step sequencer will be performed synchronously with the operation of the RETRIGGER button. As long as the synchronization (SYNC) is on in both SEQ1 and SEQ2, the cues of SEQ1 and SEQ2 will be performed simultaneously, resulting in the synchronization of the cues of SEQ1 and SEQ2.
[0067] In the center of the panel P1, there is a liquid crystal display (LCD) display screen 16a serving as the display 16. On the upper side of the display screen 16a, a row of 16 buttons (step selection buttons) for specifying steps is provided. In this embodiment, a specified number of steps can be selected with 16 as the maximum number. By pressing each button, the corresponding step can be specified, and parameter setting for the step can be performed.
[0068] Moreover, the panel P1 has parameter selection buttons for selecting seven parameters (CURVE (curve), PITCH (pitch) (MIN), PITCH (pitch) (MAX), CUTOFF (cutoff) (MIN), CUTOFF (cutoff) (MAX), LEVEL (level) (MIN), LEVEL (level) (MAX)) for each step. The parameter selection buttons are respectively self-illuminating switches and are lit when pressed, indicating that the parameter has been selected.
[0069] Specifically, on the left side of the display screen of the panel P1, a button for setting the curve (CURVE) is provided. The curve represents the state of the change over time (envelope) of the degree of the effect given in the corresponding step. And below the curve button, buttons for selecting the maximum value (MAX) and minimum value (MIN) of the pitch (PITCH), buttons for selecting the maximum value (MAX) and minimum value (MIN) of the cutoff (CUTOFF) representing the cutoff frequency, and buttons for selecting the maximum value (MAX) and minimum value (MIN) of the level (LEVEL) representing the volume are provided.
[0070] On the lower side of the display screen 16a, there is a knob for setting the number of steps (LENGTH (pitch length)), and a display for showing the set number of steps. On its right side, there are buttons for selecting a note (NOTE) that determines the traveling speed of a specified step, and three LEDs indicating which of a quarter note, an eighth note, and a sixteenth note the set note is. The LED corresponding to the selected note lights up.
[0071] Also, there are self-illuminating buttons indicating the on / off states of single-shot (ONE-SHOT) and sync (SYNC) respectively. When turned on, the LEDs contained in the buttons light up. The sync (SYNC) button indicates, by being turned on / off, whether it is in a state of being synchronized (turned on) or not synchronized (turned off) with the operation of the re-trigger button.
[0072] On the right side of the display screen 16a, there is a knob for adjusting the value (VALUE). The sequencer is selected by the sequencer selection button, the step is selected by the step selection button, and the parameter is selected by the parameter selection button. Then, the knob operates as a knob for increasing or decreasing the selected parameter. The user can specify the set value of each parameter using the VALUE (value) knob.
[0073] Here, single-shot is an operation mode of the sequencer. When single-shot is off, when the processing of the last step among a specified number of steps ends, the processing returns to the earliest step. The above-mentioned loop is repeated. In contrast, when single-shot is on, the sequencer stops operating when the processing of all specified steps has gone around once. At this time, as the operation of the musical sound control device 10, the operation at the time of stopping the operation of the sequencer is performed. When the operation stops, the pitch control, cutoff control, and level control that have been executed by the step sequencer until then stop, and control is performed according to the manual set value.
[0074] Figure 3(A) shows an operator for selecting a control source for pitch from SEQ1, SEQ2, and user (manual). The operator includes self-illuminating buttons for selecting SEQ1 and SEQ2 respectively, and a knob for changing the pitch. When the button for SEQ1 or SEQ2 is turned on, the pitch is given an effect on the musical sound (sound) using the parameter of the pitch set for the sequencer corresponding to the pressed button. When the buttons for SEQ1 and SEQ2 are off, the pitch shift amount can be manually controlled by operating the knob. Using the knob, the pitch shift amount can be set within the range of + / −2 octaves (+ / −2 octaves is + / −24 half tones).
[0075] Figure 3(B) shows an operator for selecting a control source for the cut-off frequency from SEQ1, SEQ2, and manual. The operator includes buttons for selecting SEQ1 and SEQ2 respectively, and a knob for changing the cut-off frequency. When a button for SEQ1 or SEQ2 is pressed, an effect is imparted to the musical tone (sound) using the parameter of the cut-off frequency set for the sequencer corresponding to the pressed button. In contrast, when the buttons for SEQ1 and SEQ2 are off, the cut-off frequency can be manually controlled by operating the knob.
[0076] Figure 3(C) shows an operator for selecting a control source for the volume (level) from SEQ1, SEQ2, and user. The operator includes buttons for selecting SEQ1 and SEQ2 respectively, and a knob for changing the level. Similarly to the pitch or cut-off frequency, when the button for SEQ1 or SEQ2 is on, an effect is imparted to the musical tone (sound) using the parameter of the level set for the sequencer corresponding to the pressed button. When both buttons are off, the volume (level) can be manually controlled by operating the knob.
[0077] Figures 4(A) and 4(B) show the control information of the tone control device 10 stored in the storage device (memory: RAM 12). In each table of Figures 4(A) and 4(B), the items represented by capital letters indicate the values (parameters) set by panel operation, and the items represented by lowercase letters are variables used in the processing of the CPU 11. The same applies to the following flowcharts. The parameters and variables (control information) are stored in the RAM 12 by the CPU 11 according to the settings made using the panel.
[0078] The value set by panel operation is a value set by operating the Figure 2 and Figures 3(A) to 3(C) shown operator. As variables used in the CPU processing, there are the following variables.
[0079] The variable "control.pitch" is the value of the pitch control executed by the tone control device 10. An effect related to the pitch of the DSP 14 is set according to the value. The variable "control.cutoff" is the value of the cut-off control executed by the tone control device 10. An effect related to the cut-off of the DSP 14 is set according to the value. The variable "control.level" is the value of the level control executed by the tone control device 10. An effect related to the level of the DSP 14 is set according to the value.
[0080] The variable "seq1.count" is a counter indicating the position of the step. For example, if the note length (LENGTH) = 4, the counting is performed as follows.
[0081] 0, 1, 2, 3, 0, 1, 2, 3, ……
[0082] The variable "seq1.phase" is a phase value that monotonically increases from 0.0 to 1.0 in the interval of one step. The variable "seq1.wave" is the value after performing waveform processing based on CURVE on "seq1.phase". The variable "seq1.firstloop" is a flag indicating whether it is the first loop. If it is the first loop, it shows 1; if not, it shows 0. Here, a loop means making a series of steps specified by LENGTH go around once.
[0083] Figure 5 It is an explanatory diagram of the processing of DSP 14. Figure 5 In this case, DSP 14, as a pitch shifter (PITCH SHIFT) 141, a filter (FILTER) 142, and an amplifier (AMP) 143, performs processing to impart effects to the musical tone signal input from the A / D converter 17.
[0084] The pitch shifter 141 performs processing to change the pitch of the sound signal according to the specified value (pitch shift processing). In the pitch shifter 141, with reference to the variable "control.pitch" set by the CPU 11, effects are imparted using characteristics corresponding to the value.
[0085] The filter 142 is, for example, a low-pass filter that changes the frequency characteristics of the musical tone signal. The filter 142 performs the following processing: Based on the cut-off frequency corresponding to the specified value (variable "control.cutoff"), it allows the components of the frequencies below the cut-off frequency to pass through, thereby imparting a change to the timbre of the sound signal. A high-pass filter, a band-pass filter, etc. can also be applied instead of the low-pass filter. The AMP 143 performs processing to change the amplitude of the musical tone signal according to the specified value (variable "control.level").
[0086] Figure 6 It is a flowchart showing an example of the periodic processing executed by the CPU 11. The periodic processing is started and executed at a period of 1 msec by a timer. The period can be longer than 1 msec or shorter than 1 msec. Through the periodic processing, control signal generation for SEQ1 and SEQ2 and setting of control values for DSP 14 are performed.
[0087] Specifically, in step S01, the CPU 11 executes a subroutine for the signal generation process of SEQ1. In step S02, the CPU 11 executes a subroutine for the signal generation process of SEQ2. In step S03, the CPU 11 executes a subroutine for PITCH control. In step S04, the CPU 11 executes a subroutine for CUTOFF control. In step S05, the CPU 11 executes a subroutine for LEVEL control.
[0088] Figure 7 and Figure 8 represents the signal generation process of SEQ1. The signal generation process of SEQ2 is the same as that of SEQ1, so the signal generation process of SEQ1 will be described representatively. The signal generation process is a process of generating a control signal (seqn.wave) that changes over time according to the setting of the parameters of the sequencer (SEQ1, SEQ2), and is a subroutine called from the periodic processing of the CPU 11.
[0089] Figure 9 represents the waveform of the variable "phase" in the signal generation process. The waveform of the phase is a sawtooth wave with a period from 0.0 to 1.0 as one step, and whenever the value reaches 1.0, the count value is incremented (increased by 1). The initial value of the count value is 0, and it increases to 1, 2, 3, 4...
[0090] In Figure 7 the step S001 shown, the CPU 11 performs rate calculation. The rate calculation is based on the setting values of the parameter "BPM" and "NOTE" of SEQ1. The rate calculation is a process of calculating the increment of one cycle processing of the CPU 11 for the variable "phase". It is calculated using the following formula.
[0091] rate = BPM / 60 * SEQ1.NOTE / 1000
[0092] Here, the Beat Per Minute (BPM) represents the tempo, indicating the number of beats (the number of quarter notes) in one minute. The number of beats per second is calculated by dividing BPM by 60. The division by 1000 is based on performing a periodic process 1000 times per second. Regarding the rate calculation, for example, if BPM = 120 and NOTE = 1.0 (quarter note), then the rate = 0.002. Additionally, in this embodiment, if the subroutine of the signal generation process is called 500 times, the value of the variable "phase" (phase value) increases from 0.0 to 1.0.
[0093] In step S002, the CPU 11 changes the phase value of SEQ1 to the number obtained by adding the rate value calculated in S001 to the current phase value. Therefore, the phase value of SEQ1 only increases by the rate value.
[0094] In step S003, the CPU 11 determines whether the value of the function "floor(seq1.phase)" is 1.0 or more. Here, floor(x) is a function that obtains the largest integer less than or equal to x. For example, the value of floor(1.1) becomes 1.0. The process in step S003 is to determine whether the phase value has reached the maximum value of 1.0. When the value of floor(seq1.phase) is 1.0 or more (YES in S003), the process proceeds to S004, and when it is not (NO in S003), the process proceeds to S005.
[0095] In step S004, the CPU 11 executes the subroutine of the STEP stepping process related to SEQ1. The stepping process is a process of advancing the value of the STEP (step value) and a process of resetting the step value according to the set value of the number of steps (LENGTH) of the sequencer.
[0096] Figure 10 It is a flowchart showing an example of the STEP stepping process. Figure 10 It shows the stepping process related to SEQ1, but the same process is also performed for SEQ2. In step S101, the CPU 11 increments the value of the count value "seq1.count" of SEQ1. Therefore, the count value becomes the value after adding 1.
[0097] In step S102, the CPU 11 determines whether the current count value has reached the set value of the number of steps (LENGTH (sound length)) of SEQ1. When it is determined that the count value has reached the set value of LENGTH (sound length) (S102 is (YES)), the process proceeds to step S103. When it is determined that the count value has not reached the set value of LENGTH (sound length) (S102 is (NO)), the stepping process ends (returns).
[0098] In step S103, the CPU 11 sets the current count value to 0. In step S104, the CPU 11 sets the value of the variable "seq1.firstloop", which is a single-shot control flag, to 0. The variable "seq1.firstloop" is a value that becomes 0 when all steps of the LENGTH value have completed one cycle. The value of the variable "seq1.firstloop" is set to 1 when the sequencer is turned on when a re-trigger is performed. When the processing of step S104 is completed, the step processing is completed.
[0099] Back to Figure 7 In step S005, the CPU 11 sets the phase value to a value obtained by subtracting the value of floor(seq1.phase) from the current phase value. In step S006, the type of the curve (CURVE) set for the current step is determined.
[0100] Figure 11 Indicates the type of curve (envelope: the way a waveform changes over time) and the change of the waveform over time. CURVE values (curve values) are assigned to various curves. Figure 11 In the example shown, curve values 0 to 4 are assigned to five curves. When the curve value = 0, the value remains unchanged at 1.0 during one step. When the curve value = 1, the value increases linearly from 0.0 to 1.0 during one step. When the curve value = 2, the value decreases linearly from 1.0 to 0.0 during one step. When the curve value = 3, the value increases from 0.0 to 1.0 in a curve (parabola) during one step. When the curve value = 4, the value decreases from 1.0 to 0.0 in a curve (parabola) during one step. The waveform shape of the change pattern is not limited to Figure 11 In the example of , the number of types may be greater than or less than 5.
[0101] In step S005, the CPU 11 determines which of the values from 0 to 4 the curve value set using the panel P1 is. If the curve value is 0, the CPU 11 performs processing for a waveform with a curve value of 0 (step S007). If the curve value is 1, the CPU 11 performs processing for a waveform with a curve value of 1 (step S008). If the curve value is 2, the CPU 11 performs processing for a waveform with a curve value of 2 (step S009). If the curve value is 3, the CPU 11 performs processing for a waveform with a curve value of 3 (step S010). If the curve value is 4, the CPU 11 performs processing for a waveform with a curve value of 4 (step S011).
[0102] Figure 12 An example showing the waveform (control signal waveform) of the variable wave in the signal generation process. In Figure 12 the example, the waveforms of the control signal wave when the curve values are set to 0, 1, 1, 2, and 4 for steps 0 to 4 set in LENGTH (pitch length) are shown. By setting the curve setting values for each step as described above, a complex waveform change (envelope) can be generated.
[0103] Figure 13 is a flowchart showing a processing example of pitch control (step S03). Pitch control is performed using the control signal obtained through the signal generation process and the following parameters and variables.
[0104] -SOURCE.PITCH
[0105] -MANUAL.PITCH
[0106] -SEQ1.STEP[count].PITCH.MIN, SEQ1.STEP[count].PITCH.MAX
[0107] -SEQ2.STEP[count].PITCH.MIN, SEQ2.STEP[count].PITCH.MAX
[0108] -SEQ1.ONOFF
[0109] -SEQ1.ONESHOT
[0110] -SEQ2.ONOFF
[0111] -SEQ2.ONESHOT
[0112] -seq1.firstloop
[0113] -seq2.firstloop
[0114] In step S111, the "SOURCE.PITCH" (source pitch value) indicating the type of pitch control is determined. The source pitch value is "OFF (disconnected)" when neither the button of SEQ1 nor the button of SEQ2 shown in Fig. 3(A) is pressed, "SEQ1" when the button of SEQ1 is pressed, and "SEQ2" when the button of SEQ2 is pressed.
[0115] When the source pitch value is determined to be "OFF (disconnected)", the process proceeds to step S112. When the source pitch value is determined to be "SEQ1", the process proceeds to step S113. When the source pitch value is determined to be "SEQ2", the process proceeds to step S116.
[0116] In step S112, the CPU 11 sets the value of the variable "control.pitch" to the value of "MANUAL.PITCH" set by the knob, and ends the pitch control process.
[0117] In step S113, the CPU 11 determines whether SEQ1 is valid. The determination in S113 is determined to be valid when the following conditions are met, and invalid otherwise.
[0118] SEQ1.ONOFF == 1 && (SEQ1.ONESHOT == 0 || seq1.firstloop == 1)
[0119] That is, the CPU 11 determines whether the value of the variable "SEQ1.ONESHOT" is "0" and whether the value of the variable "seq1.firstloop" is "1". Here, the variable "SEQ1.ONESHOT" is a variable indicating the on / off of single-shot. If the value is 0, the single-shot is off, and if the value is 1, the single-shot is on. The variable "seq1.firstloop" is a variable that becomes "0" when all steps of SEQ1 have looped once as described above (refer to Figure 10 S104).
[0120] In step S113, when the condition is met and the determination is valid, the process proceeds to S114. When the condition is not met and the determination is invalid, the process proceeds to S115. In step S115, the same process as in step S112 is performed.
[0121] In step S114, the CPU 11 sets the value of the variable "control.pitch" to the value obtained by the following ip function.
[0122] ip(seq1.wave, SEQ1.STEP[count].PITCH.MIN, SEQ1.STEP[count].PITCH.MAX)
[0123] Here, the ip(wave, min, max) function is a function for obtaining a value interpolated within the range from the minimum value min to the maximum value max with the value of the waveform wave (0.0 to 1.0).
[0124] ip(wave, min, max) := wave * max + (1.0 - wave) * min
[0125] Figure 14 is a diagram showing the functions of the parameter MIN and the parameter MAX. The waveform wave is assumed to be a waveform that linearly increases from 0.0 to 1.0 as shown in the upper part of Figure 14 At this time, when the minimum value MIN is set to 20 and the maximum value MAX is set to 80, the minimum value of the waveform is set to 0.0 to 20, and the maximum value is set to 1.0 to 80. The waveform between the minimum value and the maximum value is linear depending on wave.
[0126] In step S114, the CPU 11 obtains the ip function of the waveform (seq1.wave) of the control signal wave of SEQ1, the minimum pitch value (SEQ1.STEP[count].PITCH.MIN) and the maximum pitch value (SEQ1.STEP[count].PITCH.MAX) set for the current step, and sets the value thereof as the value of the variable "control.pitch".
[0127] The processing of step S116, step S117, and step S118 is the same as the processing of step S113, step S114, and step S115 except that the object is SEQ2 instead of SEQ1, so the description is omitted. The effective / invalid condition of S116 is the same as the effective / invalid condition of S113.
[0128] The CPU 11 stores the value of the variable "control.pitch" obtained by pitch control as the control value of the DSP 14 in the RAM 12. In Figure 5 In the pitch shifter 141 shown, the DSP 14 uses the value of the stored variable "control.pitch".
[0129] If the variable "SEQ1.ONESHOT" is "0 (off)", the pitch control is performed according to the set value of SEQ1. When the variable "SEQ1.ONESHOT" is "1 (on)", if the value of the variable "seq1.firstloop" is "0", the pitch control is performed according to the set value of SEQ1. When the variable "SEQ1.ONESHOT" is "1 (on)" and the value of the variable "seq1.firstloop" is "0", the pitch control is based on the manually set value. This means that the operation of SEQ1 has stopped. The same operation as described above also applies to SEQ2. Also, the same operation is adopted in the cut-off control and the level control.
[0130] Figure 15 It is a flowchart showing a processing example of the cut-off control (step S04). The cut-off control is performed using the control signal wave obtained through the signal generation process and the following parameters and variables, etc.
[0131] -SOURCE.CUTOFF
[0132] -MANUAL.CUTOFF
[0133] -SEQ1.STEP[count].CUTOFF.MIN, SEQ1.STEP[count].CUTOFF.MAX
[0134] -SEQ2.STEP[count].CUTOFF.MIN, SEQ2.STEP[count].CUTOFF.MAX
[0135] -SEQ1.ONOFF
[0136] -SEQ1.ONESHOT
[0137] -SEQ2.ONOFF
[0138] -SEQ2.ONESHOT
[0139] -seq1.firstloop
[0140] -seq2.firstloop
[0141] In step S121, the "SOURCE.PITCH" (source cut-off value) indicating the type of cut-off control is determined. The source cut-off value is "off" when neither the buttons of SEQ1 and SEQ2 shown in Fig. 3(B) are pressed, "SEQ1" when the button of SEQ1 is pressed, and "SEQ2" when the button of SEQ2 is pressed.
[0142] When the source cutoff value is determined to be "OFF", the process proceeds to step S122. When the source cutoff value is determined to be "SEQ1", the process proceeds to step S123. When the source cutoff value is determined to be "SEQ2", the process proceeds to step S126.
[0143] In step S122, the CPU 11 sets the value of the variable "control.cutoff" to the value of "MANUAL.CUTOFF" set by the knob, and ends the cutoff control process.
[0144] In step S123, the CPU 11 determines whether SEQ1 is valid. The determination condition for S123 is the same as the condition used in step S113. When it is determined to be valid, the process proceeds to S124. When it is determined to be invalid, the process proceeds to S125. In step S125, the CPU 11 performs the same process as in step S122.
[0145] In step S124, the CPU 11 sets the value of the variable "control.cutoff" to the value obtained by the following ip function.
[0146] ip(seq1.wave, SEQ1.STEP[count].CUTOFF.MIN, SEQ1.STEP[count].CUTOFF.MAX)
[0147] That is, in step S124, the CPU 11 obtains the waveform (seq1.wave) of the control signal wave of SEQ1, the minimum pitch value (SEQ1.STEP[count].CUTOFF.MIN) and the maximum pitch value (SEQ1.STEP[count].CUTOFF.MAX) set for the current step of the ip function, and sets its value to the value of the variable "control.cutoff".
[0148] The processes of step S126, step S127, and step S128 are the same as the processes of step S123, step S124, and step S125 except that the object is SEQ2 instead of SEQ1, so the description is omitted. The valid / invalid condition of S126 is the same as the valid / invalid condition of S123.
[0149] The CPU 11 stores the value of the variable "control.cutoff" obtained through the cutoff control as the control value of the DSP 14 in the RAM 12. Figure 5In the processing of the filter 142 shown, the DSP 14 uses the value of the stored variable "control.cutoff". For example, the cut-off frequency of the filter 142 can be changed by changing the coefficient of the multiplier included in the filter based on the variable "control.cutoff". Therefore, the input sound (original sound) can be changed to a bright sound or a deep sound, etc.
[0150] Figure 16 It is a flowchart showing a processing example of level control (step S06). The level control is performed using the control signal wave obtained through signal generation processing and the following parameters and variables.
[0151] -SOURCE.LEVEL
[0152] -MANUAL.LEVEL
[0153] -SEQ1.STEP[count].LEVEL.MIN, SEQ1.STEP[count].LEVEL.MAX
[0154] -SEQ2.STEP[count].LEVEL.MIN, SEQ2.STEP[count].LEVEL.MAX
[0155] -SEQ1.ONOFF
[0156] -SEQ1.ONESHOT
[0157] -SEQ2.ONOFF
[0158] -SEQ2.ONESHOT
[0159] -seq1.firstloop
[0160] -seq2.firstloop
[0161] In step S131, the "SOURCE.LEVEL" (source level value) indicating the type of level control is determined. Regarding the source level value, it is "OFF" when neither the buttons of SEQ1 and SEQ2 shown in Fig. 3(C) are pressed, "SEQ1" when the button of SEQ1 is pressed, and "SEQ2" when the button of SEQ2 is pressed.
[0162] When the source level value is determined to be "OFF", the process proceeds to step S132. When the source level value is determined to be "SEQ1", the process proceeds to step S133. When the source level value is determined to be "SEQ2", the process proceeds to step S136.
[0163] In step S132, the CPU 11 sets the value of the variable "control.level" to the value of "MANUAL.LEVEL" set using the knob, and ends the level control process.
[0164] In step S133, the CPU 11 determines whether SEQ1 is valid. The determination condition used in S133 is the same as the condition used in step S113. When the determination is valid, the process proceeds to S134, and when the determination is invalid, the process proceeds to S135. In step S135, the CPU 11 performs the same processing as in step S132.
[0165] In step S134, the CPU 11 sets the value of the variable "control.level" to the value obtained by the following ip function.
[0166] ip(seq1.wave, SEQ1.STEP[count].LEVEL.MIN, SEQ1.STEP[count].LEVEL.MAX)
[0167] That is, in step S124, the CPU 11 obtains the waveform (seq1.wave) of the control signal wave for SEQ1, the minimum pitch value (SEQ1.STEP[count].LEVEL.MIN) and the maximum pitch value (SEQ1.STEP[count].LEVEL.MAX) set for the current step of the ip function, and sets its value to the value of the variable "control.level".
[0168] The processing of steps S136, S137, and S138 is the same as the processing of steps S133, S134, and S135 except that the object is not SEQ1 but SEQ2, so the description is omitted. The valid / invalid condition of S136 is the same as the valid / invalid condition of S133.
[0169] The CPU 11 stores the value of the variable "control.level" obtained through level control as the control value of the DSP 14 in the RAM 12. In Figure 5 In the processing of the shown AMP 143, the DSP 14 uses the value of the stored variable "control.cutoff". Therefore, the volume can be changed.
[0170] Figure 17 It is a flowchart showing an example of the on / off processing of the sequencer. The on / off processing is based on the on / off button of the sequencer included in the operator 15 ( Figure 2) starts with the operation. The conduction / disconnection process is the same in SEQ1 and SEQ2, and the process for SEQ1 is illustrated in Figure 17 .
[0171] In step S161, the CPU 11 sets the variable "SEQ1.ONOFF" that controls the conduction / disconnection of SEQ1 according to the operation of the conduction / disconnection button of SEQ1 ( Figure 2 ). The variable "SEQ1(SEQ2).ONOFF" represents either conduction "1" or disconnection "0" of the corresponding sequencer.
[0172] In step S162, the CPU 11 determines whether the value representing the variable "SEQ1(SEQ2).ONOFF" is "1" representing conduction. When it is determined that the value is "0 (disconnected)" (NO in S162), the conduction / disconnection process ends. In contrast, when it is determined that the value is "1 (conducted)", the process proceeds to step S163. In step S163, the CPU performs the start-up process of SEQ1. When the start-up process ends, the conduction / disconnection process ends.
[0173] Figure 18 is a flowchart showing an example of the start-up process of SEQ1. The start-up process is the same in SEQ1 and SEQ2, and the process for SEQ1 is illustrated in Figure 18 .
[0174] In step S141, the CPU 11 sets the value of the variable "seq1.phase" representing the phase of SEQ1 to the initial value 0.0. In step S142, the CPU 11 sets the value of the variable "seq1.count" representing the number of steps of SEQ1 to the initial value 0. In step S143, the CPU 11 sets the value of the variable "seq1.firstloop" to 1. Then, the start-up process ends.
[0175] Figure 19 is a flowchart showing an example of the re-trigger process. The re-trigger process starts according to the operation of the re-trigger button ( Figure 2 ) included in the operator 15. The values of the variables "SEQ1.SYNC" and "SEQ2.SYNC" become "1" when the sync (SYNC) button shown in Figure 2 is conducted, and become "0" when the sync button is disconnected.
[0176] In step S151, the CPU 11 determines whether the value of the variable "SEQ1.SYNC" is "1 (conducted)". When the value is determined to be "1 (conducted)", the process proceeds to step S152, and when it is not, the process proceeds to step S153.
[0177] In step S152, the CPU 11 executes the startup process of SEQ1 ( Figure 18 ), and the process proceeds to step S153. In step S153, the CPU 11 determines whether the value of the variable "SEQ2.SYNC" is "1 (conductive)". When the value is determined to be "1 (conductive)", the process proceeds to step S154; when it is not, the trigger process ends. In step S154, the startup process of SEQ2 is executed, and then the trigger process ends.
[0178] In addition, the trigger process can also set the variables "SEQ1.SYNC" and "SEQ2.SYNC" as common variables, so that when "SYNC" is conductive, the startup processes of SEQ1 and SEQ2 are continuously performed.
[0179] In the tone control device 10 described above, the DSP 14 of each of the sequencers (SEQ1 (the first tone processing unit) and SEQ2 (the second tone processing unit)) repeats the process of controlling the tones in each of the multiple steps according to the control information ("control.pitch", etc.). However, when the specified conditions (oneshot is "1" and firstloop is "0") are satisfied and when the process of controlling the tones for all the multiple steps set in the sequencer has completed one cycle, the CPU 11 stops the operation of the sequencer. The conditions that oneshot is "1" and firstloop is "0" are an example of "setting a value to stop the operation of the tone processing unit after one cycle and setting a flag indicating that the process of controlling the tones for all the multiple steps has completed one cycle". When the sequencer stops, the generation of tones (control of pitch, cut-off frequency, and volume) is performed according to the manual settings.
[0180] According to the tone control device 10 described above, there are the following advantages. That is, if the single-shot is set to conductive, at the moment when the processing of all the steps set in the sequencers (SEQ1, SEQ2) ends, the sequencers stop running without returning the process to the earliest step. Therefore, the pitch control, cut-off control, and level control of the input sound (original sound) are performed according to the manual setting values. Therefore, an unprecedented musical effect can be obtained.
[0181] Moreover, according to the tone control device 10, as various curves, the change patterns of the multiple control signal waveforms in one step (multiple change patterns representing the change over time within the step of the value indicated by the control information) are prepared, and the change pattern can be determined for each step set in the sequencer. Therefore, the control signal wave can be generated using the combination of the change patterns of all the steps, and thus an interesting automatic performance sound of the sequencer can be generated.
[0182] The values indicated by the control information may include setting values (control.pitch) for controlling the pitch of musical tones respectively generated for multiple steps, setting values (control.cutoff) for controlling the cutoff frequency of musical tones respectively generated for multiple steps, and setting values (control.level) for controlling the volume of musical tones respectively generated for multiple steps. Therefore, it is possible to individually control the changes over time of pitch, cutoff frequency, and volume within one step.
[0183] Also, in the tone control device 10, the sequencer (tone processing unit) includes SEQ1 (first tone processing unit) and SEQ2 (second tone processing unit) that can be operated in parallel and respectively set the control information. Moreover, when the CPU 11 (control unit) presses the re-trigger button in a state where the synchronization between SEQ1 and SEQ2 has been set (synchronization turned on) and receives a re-trigger instruction, it causes the processing of the earliest steps of the multiple steps respectively set in SEQ1 and SEQ2 to start in coordination with the timing (simultaneously). Therefore, when SEQ1 and SEQ2 with different numbers of steps are operated in parallel, it is possible to start the operation simultaneously from the beginning in an appropriate timing.
[0184] Figure 1 The processing of the CPU 11 in the shown tone control device 10 can also be applied to a synthesizer. Figure 20 An example showing the application of the variables "control.pitch", "control.cutoff", and "control.level" generated by the CPU 11 to the synthesizer 20 is presented. The synthesizer 20 has a performance operator, i.e., a keyboard (KEYBOARD) 21, and inputs signals indicating the conduction (note on: key pressed) and disconnection (note off: key released) of the notes of each key of the keyboard to an oscillator (OSC) 22.
[0185] Moreover, pitch information (pitch) corresponding to the pressed key is output from the keyboard 21. The pitch information is a value from 0 to 127, representing the pitch value of each semitone. The adder 27 adds the value of the variable "control.pitch" to the pitch information from the keyboard 21 and inputs it to the OSC 22.
[0186] The OSC 22 is a tone generator and performs the following actions.
[0187] - Receives note on / off (note conduction / disconnection) event input
[0188] - When receiving a note on (note conduction) event, starts outputting a tone generated with a specified waveform
[0189] - Stop the output of musical tones (no sound) when a note off event is received.
[0190] - Input pitch information.
[0191] - Reflect it in the frequency of the signal generated by the tone generator.
[0192] Similar to the filter (FILTER) 23 and amplifier (AMP) 24 and the filter 142 and amplifier 143, the cutoff frequency is controlled by the variable "control.cutoff", and the volume is controlled by the variable "control.level".
[0193] The synthesizer 20 is an example of a synthesizer having a keyboard 21 similar to that of a piano. However, the musical tones generated by the OSC 22 are not limited to the simulated sounds of a piano, and can also be musical tones such as the playing sounds of a simulated guitar in a guitar synthesizer. The structures shown in the embodiments can be appropriately combined without departing from the purpose.
Claims
1. A musical tone control device, characterized in that, Comprising: A plurality of operators; A tone processing unit that repeatedly performs the following processing, that is, controls the tone by assigning a plurality of change patterns to each of a plurality of steps according to the control information set by the plurality of operators, and each of the change patterns is a change pattern of the waveform over time; And A control unit that, when a specified condition is satisfied and the processing of controlling the tones for all the plurality of steps by the tone processing unit has completed one cycle, stops the operation of the tone processing unit, wherein The control unit respectively sets a change pattern in the plurality of steps, and the change pattern is selected from a plurality of change patterns of the change over time within the steps representing the values indicated by the control information, and The value indicated by the control information includes a set value for controlling the cut-off frequency of the tones respectively generated for the plurality of steps, and changes between a minimum value and a maximum value according to the change patterns respectively set in the plurality of steps.
2. The tone control device according to claim 1, characterized in that The specified condition is to set a value that stops when the operation of the tone processing unit has completed one cycle, and a flag indicating that the control of the tones for all the plurality of steps has completed one cycle is set.
3. The tone control device according to claim 1, characterized in that The value indicated by the control information includes a set value for controlling the pitch of the tones respectively generated for the plurality of steps.
4. The tone control device according to claim 1, characterized in that The control information includes a set value for controlling the volume of the tones respectively generated for the plurality of steps.
5. The tone control device according to any one of claims 1 to 4, characterized in that The tone processing unit includes a first tone processing unit and a second tone processing unit that respectively set the control information and can operate in parallel, In a state where the synchronization between the first tone processing unit and the second tone processing unit has been set, when a re-trigger instruction is received, the control unit causes the processing of the earliest step among the plurality of steps respectively set in the first tone processing unit and the second tone processing unit to start in coordination with the timing.
6. A musical tone control device, characterized in that, Comprising: A plurality of operators; A tone processing unit that repeatedly performs the following processing, that is, controls the tone by assigning a plurality of change patterns to each of a plurality of steps according to the control information set by the plurality of operators, and each of the change patterns is a change pattern of the waveform over time; And A control unit that respectively sets a change pattern in the plurality of steps, and the change pattern is selected from a plurality of change patterns of the change over time within the steps representing the values indicated by the control information, wherein The value indicated by the control information includes a set value for controlling the cut-off frequency of the tones respectively generated for the plurality of steps, and changes between a minimum value and a maximum value according to the change patterns respectively set in the plurality of steps.
7. A musical tone control method, characterized in that, Comprising: The tone control device controls the tone by assigning a plurality of change patterns to each of a plurality of steps according to the control information set by a plurality of operators, and each of the change patterns is a change pattern of the waveform over time; And When the process of controlling the musical sounds for all the musical sounds in the plurality of steps has completed one cycle when the specified conditions are satisfied, the musical sound control device stops the process of controlling the musical sounds, where the musical sound control device respectively sets a change pattern in the plurality of steps, the change pattern being selected from a plurality of change patterns representing the change over time within the steps of the values indicated by the control information, and the values indicated by the control information include set values for controlling the cut-off frequencies of the musical sounds respectively generated in the plurality of steps, and change between a minimum value and a maximum value according to the change patterns respectively set in the plurality of steps.
Citation Information
Patent Citations
Musical sound controller
JP2002023751A
Method and apparatus for producing a waveform exhibiting rendition style characteristics
EP1087373A1
Technique for generating audio data for loop reproduction on the basis of performance data
EP2717257A1
Automatic playing device
JP1998260683A