Electronic musical instrument, method, and program
Patent Information
- Application Number
- JP2021051161
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-25
- Publication Date
- 2025-02-26
- Estimated Expiration
- 2041-03-25
AI Technical Summary
【0007】 本発明によれば、演奏モードに応じてホイールコントローラ等の演奏操作子による音響効果を付加する方向を自動的に反転させることが可能となる。
Smart Images

Figure 0007635594000001 
Figure 0007635594000002 
Figure 0007635594000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic musical instrument equipped with performance controls, a method, and a program. [Background technology]
[0002] Conventionally, a data input device is known that has a data varying means for varying the value of data, an increase direction designation means for designating the increase direction of the data value in the data varying means, and a calculation means for calculating the value of the data based on the output value from the data varying means and the content designated by the increase direction designation means (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-232955 Summary of the Invention [Problem to be solved by the invention]
[0004] However, with the above-mentioned conventional technology, the performer must determine whether the current performance mode is normal mode or standing mode and manually specify the direction in which the data value should increase, which is a cumbersome operation.
[0005] SUMMARY OF THE PRESENT EMBODIMENT An object of the present invention is to automatically reverse the direction in which a sound effect is applied by a performance operator such as a wheel controller depending on the performance mode. [Means for solving the problem]
[0006] An electronic musical instrument in one embodiment includes a performance operator that moves in a first direction and a second direction opposite to the first direction, for applying a sound effect according to the direction of movement, a sensor for detecting a displacement of the electronic musical instrument, and at least one processor, and the at least one processor performs a switching process between a first mode in which a first sound effect is applied in response to movement in the first direction and a second sound effect is applied in response to movement in the second direction, and a second mode in which a second sound effect is applied in response to movement in the first direction and the first sound effect is applied in response to movement in the second direction, based on the detection result of the displacement. Effect of the Invention
[0007] According to the present invention, it is possible to automatically reverse the direction in which a sound effect is applied by a performance operator such as a wheel controller depending on the performance mode. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is an explanatory diagram of a normal mode and a standing mode. [Diagram 2] 1 is a diagram showing an example of the appearance of an electronic keyboard instrument according to an embodiment; [Diagram 3] FIG. 1 is an explanatory diagram (part 1) of an operation according to an embodiment. [Figure 4] FIG. 2 is an explanatory diagram (part 2) of the operation of the embodiment. [Diagram 5] 1 is a block diagram showing an example of a hardware configuration of a system for controlling an electronic keyboard instrument according to an embodiment; [Figure 6] 11 is a flowchart illustrating an example of a main process according to an embodiment. [Figure 7] 10 is a flowchart illustrating a detailed example of a pitch bend wheel process according to an embodiment. [Figure 8] 11 is a flowchart illustrating a detailed example of a modulation wheel process in one embodiment. [Figure 9] 10 is a flowchart illustrating a detailed example of an acceleration sensor process according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the embodiment of the present invention will be described in detail with reference to the drawings. Some electronic musical instruments, such as electronic keyboard instruments, can be used in two ways: as shown in Fig. 1(a), a player 110 uses the electronic keyboard instrument 100 in a normal position on a stand 102 or a desktop (not shown) (hereinafter referred to as "normal mode"), and as shown in Fig. 1(b), a player 110 uses the electronic keyboard instrument 100 in a shoulder keyboard position (hereinafter referred to as "standing mode") by hanging it from the shoulder using a strap 103. Some of these instruments are equipped with a wheel controller 101 that applies a pitch bend effect by rotating an operator provided on the electronic keyboard instrument 100 back and forth as viewed from the player.
[0010] When the player 110 plays the electronic keyboard instrument 200 on the stand 102 or the like in the normal mode of FIG. 1(a), the player 110 generally raises the pitch of the musical tone by rotating the wheel controller 101 toward the rear as seen from the player. On the other hand, when the player 110 plays the electronic keyboard instrument 200 as a shoulder keyboard in the standing mode of FIG. 1(b), it is considered desirable for the player 110 to raise the pitch by rotating the wheel controller 101 toward the player as seen from the player. This is because, in the standing mode, as shown in FIG. 1(b), the position of the player 110's left hand, for example, pushing the wheel controller 101 toward the player from the rear side of the electronic keyboard instrument 100 as if it were a string matches the image of raising the pitch, in the same way as gripping the neck of a guitar and pushing up the strings.
[0011] To achieve this, the electronic keyboard instrument 200 in this embodiment detects whether the performance style of the player 110 is normal mode (first mode) or standing mode (second mode), and executes a process of switching the settings of the wheel controller 101 according to the detection result.
[0012] 2 is a diagram showing an example of the appearance of an electronic keyboard instrument 200 in one embodiment (hereinafter referred to as "this embodiment"). The electronic keyboard instrument 200 is provided with a keyboard 206 on which the performer plays musical tones, an LCD (Liquid Crystal Display) 209 on the panel that displays the state of the instrument, panel switches 207 and 208 for performing various operations, a pitch bend wheel 201 that is a performance operator that changes the pitch of the musical tone being sounded, a modulation wheel 202 that is a performance operator that changes the timbre of the musical tone being sounded, and a direction indicator 203 that displays the polarity of the current rotation direction of the pitch bend wheel 201 and the modulation wheel 202. In addition, strap pins 204 and 205 for fixing the strap 103 shown in FIG. 1 used for shoulder performance in standing mode are provided on both sides of the main body.
[0013] The operation of this embodiment will be described below. Figures 3 and 4 are explanatory diagrams of the operation of this embodiment. In this embodiment, the polarity of the direction in which the pitch and tone sound effects are applied by the pitch bend wheel 201 and modulation wheel 202 in Figure 2, which are performance controls, can be automatically switched according to the two performance styles of the normal mode and standing mode explained in Figure 1.
[0014] FIG. 3(a) is a diagram showing the installation state of an electronic keyboard instrument 200 (hereinafter referred to as "keyboard") in normal mode (first mode), and FIG. 3(b) is a diagram showing the installation state of the keyboard in standing mode (second mode).
[0015] In this embodiment, the inclination of the keyboard in the forward / backward rotation direction as viewed from the player 110 (FIG. 1) is detected by an acceleration sensor 301 shown in FIG. 3(a) or (b). Depending on the keyboard angle calculated based on the acceleration sensor output value detected by this acceleration sensor 301, the normal mode in FIG. 3(a) and the standing mode in FIG. 3(b) are automatically switched.
[0016] An angle 303 (hereinafter referred to as "keyboard angle") between the horizontal plane 302 and the surface of the keyboard keys 206 (FIG. 2) is approximately 0° in the normal mode of FIG. 3(a), and is in the range of approximately 30° to 90° in the standing mode of FIG. 3(b). In some cases, the performer 110 may play with the surface of the keyboard keys 206 tilted further forward, in which case the keyboard angle in the standing mode may be close to 150°. A keyboard angle between 150° and 360° is not practical because the keyboard would essentially be upside down, but for convenience, the mode in this case is referred to as the normal mode.
[0017] In Fig. 3(a) or (b), when the performer 110 rotates the pitch bend wheel 201 or the modulation wheel 202 (see Fig. 2) in the direction marked "UP", a first sound effect is applied in which the pitch rises or the depth of the modulation effect increases. When the performer 110 rotates the pitch bend wheel 201 or the modulation wheel 202 (see Fig. 2) in the direction opposite to the direction marked "UP", a second sound effect is applied in which the pitch falls or the depth of the modulation effect decreases. It can be seen that the relationship between the rotation direction of the pitch bend wheel 201 or the modulation wheel 202 and the "UP" direction is reversed between the normal mode in Fig. 3(a) and the standing mode in Fig. 3(b).
[0018] FIG. 3(c) is a graph showing the relationship between the normalized output value of the acceleration sensor 301 and the keyboard angle. The vertical axis indicates the value (hereinafter referred to as the "acceleration sensor output value") obtained by normalizing the output of the acceleration sensor 301 to the range of -100% to 100% by internal processing. The horizontal axis indicates the keyboard angle, which is the angle 303 of the surface of the keyboard 206 with respect to a horizontal plane 302 parallel to the ground surface of the keyboard. Although the acceleration sensor 301 is described as a two-axis acceleration sensor in this embodiment, an acceleration sensor with one or more axes may be used. In FIG. 3(c), an X-axis sensor output vs. keyboard angle characteristic 310x and a Y-axis sensor output vs. keyboard angle characteristic 310y are graphs plotting the relationship between the acceleration sensor output value of the X-axis and Y-axis of the acceleration sensor 301 and the keyboard angle, respectively.
[0019] Here, the X-axis, which is the detection coordinate axis for the X-axis acceleration sensor output value in acceleration sensor 301, has its origin at the sensor center of gravity of acceleration sensor 301, and its positive direction is parallel to a plane including keyboard 206, perpendicular to the direction in which keys 206 are lined up, and the same as keyboard depth direction 304 when viewed from the keyboard 206 side, as shown in FIG. 3(a) or 3(b), for example.
[0020] Therefore, when keyboard angle 303 is 0°, the X-axis, which is the detection axis of the X-axis acceleration sensor output value, as shown in Fig. 3(a), has only a component perpendicular to the direction toward the center of gravity of the earth and parallel to the plane including keyboard 206. For this reason, if we assume that no external forces other than gravity are applied, in Fig. 3(c), the value of X-axis sensor output vs. keyboard angle characteristic 310 when keyboard angle 303 is 0° will be approximately "0" (0% in Fig. 3(c)).
[0021] Next, when the keyboard angle 303 is 90°, the X-axis, which is the detection axis of the X-axis acceleration sensor output value, coincides with the direction toward the center of gravity of the earth, as shown in Fig. 3(b). Therefore, if it is assumed that no external force other than gravity is applied, in Fig. 3(c), the value of the X-axis sensor output vs. keyboard angle characteristic 310 when the keyboard angle 303 is 90° will be approximately the maximum value ("100%" in Fig. 3(c)).
[0022] Therefore, the X-axis sensor output vs. keyboard angle characteristic 310x when the keyboard angle changes from 0° to 90° increases linearly from the value “0” (0%) to the maximum value (100%) as shown in FIG. 3(c) due to the gradual increase in the gravitational acceleration component.
[0023] Next, when keyboard angle 303 is 180°, the X-axis, which is the detection axis of the X-axis acceleration sensor output value, again has only a component perpendicular to the direction toward the center of gravity of the Earth and parallel to the plane including keyboard 206. For this reason, if we assume that no external forces other than gravity are applied, in Fig. 3(c), the value of X-axis sensor output vs. keyboard angle characteristic 310 when keyboard angle 303 is 180° will be approximately "0" (0% in Fig. 3(c)).
[0024] Therefore, the X-axis sensor output vs. keyboard angle characteristic 310x when the keyboard angle changes from 90° to 180° exhibits a linear decrease from the maximum value (100%) to a value of “0” (0%) as shown in FIG. 3(c) due to the gradual decrease in the gravitational acceleration component.
[0025] Furthermore, when the keyboard angle 303 is 270°, the X-axis, which is the detection axis of the X-axis acceleration sensor output value, coincides with the direction toward the sky, which is the exact opposite direction to the center of gravity of the earth. Therefore, assuming that no external force other than gravity is applied, in Fig. 3(c), the value of the X-axis sensor output vs. keyboard angle characteristic 310 when the keyboard angle 303 is 270° becomes almost the minimum value ("-100%" in Fig. 3(c)) that cancels out the gravitational acceleration of the earth.
[0026] Therefore, the X-axis sensor output versus keyboard angle characteristic 310x when the keyboard angle changes from 180° to 270° exhibits a linear decrease from the value “0” (0%) to the minimum value (−100%) as shown in FIG. 3(c) due to the gradual increase in the component that counteracts the gravitational acceleration.
[0027] And when keyboard angle 303 is 360°, the X-axis, which is the detection axis of the X-axis acceleration sensor output value, again has only a component perpendicular to the direction toward the center of gravity of the Earth and parallel to the plane including keyboard 206. For this reason, if we assume that no external forces other than gravity are applied, in Fig. 3(c), the value of X-axis sensor output vs. keyboard angle characteristic 310 when keyboard angle 303 is 360° will be approximately "0" (0% in Fig. 3(c)).
[0028] Therefore, the X-axis sensor output versus keyboard angle characteristic 310x when the keyboard angle changes from 270° to 360° increases linearly from the minimum value (−100%) to the value “0” (0%), as shown in FIG. 3(c), due to the gradual decrease in the component that counteracts the gravitational acceleration.
[0029] On the other hand, the Y-axis, which is the detection coordinate axis for the Y-axis acceleration sensor output value in acceleration sensor 301, has the sensor center of gravity of acceleration sensor 301 as the origin, is perpendicular to the X-axis (the plane including keyboard 206) and to the direction in which keyboard 206 is arranged, as shown in FIG. 3(a) or 3(b), and its positive direction is the same as the direction toward the center of gravity of the Earth in the normal mode where keyboard angle 303 shown in FIG. 3(a) is 0°.
[0030] Therefore, in FIG. 3(c), when the keyboard angle 303 changes from 0° to 360°, the Y-axis sensor output vs. keyboard angle characteristic 310y is a characteristic whose phase is advanced by 90° with respect to the above-mentioned X-axis sensor output vs. keyboard angle characteristic 310x.
[0031] From the graph of FIG. 3(c), the keyboard angle can be calculated from the acceleration sensor output value obtained based on the signal from the acceleration sensor 301.
[0032] Specifically, when the X-axis acceleration sensor output value is a positive value, if the sign of the Y-axis acceleration sensor output value is positive, the X-axis acceleration sensor output value can be converted to a keyboard angle based on the X-axis sensor output vs. keyboard angle characteristic 310x in FIG. 3(b) for keyboard angles between 0° and 90°.
[0033] Furthermore, when the X-axis acceleration sensor output value is a positive value, if the sign of the Y-axis acceleration sensor output value is negative, the X-axis acceleration sensor output value can be converted into a keyboard angle based on the X-axis sensor output vs. keyboard angle characteristic 310x in FIG. 3(b) for keyboard angles between 90° and 180°.
[0034] On the other hand, when the X-axis acceleration sensor output value is negative, if the sign of the Y-axis acceleration sensor output value is negative, the X-axis acceleration sensor output value can be converted to a keyboard angle based on the X-axis sensor output vs. keyboard angle characteristic 310x in FIG. 3(b) for keyboard angles between 180° and 270°.
[0035] Furthermore, when the X-axis acceleration sensor output value is negative, if the sign of the Y-axis acceleration sensor output value is positive, the X-axis acceleration sensor output value can be converted to a keyboard angle based on the X-axis sensor output vs. keyboard angle characteristic 310x in FIG. 3(b) for keyboard angles between 270° and 360°.
[0036] For example, if the acceleration sensor output value of X-axis sensor output vs. keyboard angle characteristic 310x is equal to mode switching reference threshold 311 (positive value) in FIG. 3(c) and the sign of the value of Y-axis sensor output vs. keyboard angle characteristic 310y is positive, the keyboard angle is calculated to be 30° based on X-axis sensor output vs. keyboard angle characteristic 310x where the keyboard angle is between 0° and 90°.
[0037] Furthermore, if the acceleration sensor output value of X-axis sensor output vs. keyboard angle characteristic 310x is equal to mode switching reference threshold value 311 (positive value) in FIG. 3(c) and the sign of the value of Y-axis sensor output vs. keyboard angle characteristic 310y is negative, the keyboard angle is calculated to be 150° based on X-axis sensor output vs. keyboard angle characteristic 310x where the keyboard angle is between 90° and 180°.
[0038] In FIG. 3(c), when the acceleration sensor output value increases from a value lower than a mode switching reference value 313 of the acceleration sensor output value corresponding to a keyboard angle of 30° or 150° and exceeds this reference value, it is determined that a transition has occurred from the normal mode region 311 shown in FIG. 3(c) to the standing mode region 312, and the mode is switched from the normal mode of FIG. 3(a) to the standing mode of FIG. 3(b).
[0039] Conversely, if the acceleration sensor output value decreases from a value above the mode switching reference value 313 of the acceleration sensor output value corresponding to the keyboard angle = 30° or 150° and falls below that value, it is determined that the mode has returned from the standing mode region 312 shown in Figure 3(c) to the normal mode region 311, and the mode is switched from the standing mode of Figure 3(b) to the normal mode of Figure 3(a).
[0040] Fig. 4(a) is a diagram showing the range of keyboard angles (angle 303 of the surface of the keyboard 206 with respect to the horizontal plane 302) that are determined to be in the normal mode. As shown in Fig. 3(c), when the keyboard angle is in the range of 0° to 30°, the keyboard is determined to be in the normal mode. Although not shown, as described above, when the keyboard angle is in the range of 150° to 360°, the keyboard is also determined to be in the normal mode for convenience.
[0041] 4(b) is a graph showing the relationship between the change in keyboard angle over time and the change in mode. The horizontal axis is time [seconds]. The vertical axis is keyboard angle [°]. Time vs. keyboard angle characteristic 401 is an example of a plot of the change in keyboard angle calculated based on the acceleration sensor output value over time.
[0042] As shown in Fig. 4(b), in principle, if the keyboard angle detected via the acceleration sensor output value (see Fig. 3(c)) is within the range of 30° to 150°, the keyboard angle is determined to be in the standing mode region 312. If the keyboard angle is outside the range of 30° to 150°, the keyboard angle is determined to be in the normal mode region 311.
[0043] However, as described below, measures have been taken to prevent the switching from occurring inadvertently due to small vibrations or temporary movements.
[0044] (1) By applying a smoothing process such as low-pass filtering to the acceleration sensor output value, even if the keyboard angle based on the output value momentarily exceeds a threshold value, such as 30° or 150°, no switching will occur.
[0045] (2) The thresholds for transition from the first mode to the second mode and for returning from the second mode to the first mode are made to have different hysteresis characteristics. That is, as shown in Fig. 4(b), hysteresis regions 402 and 403 of ±h° (h is a positive angle value) are provided at keyboard angles of 30° and 150°, respectively, which are the boundaries between the standing mode and the normal mode.
[0046] For example, when transitioning from normal mode to standing mode, if the keyboard angle is not exactly "30°" or "150°" (corresponding to mode switching reference value 313 in FIG. 3(c)), but becomes "(30+h)°" (when increasing from 30° or less) or "(150-h)°" (when decreasing from 150° or more), it is determined that a transition from normal mode to standing mode has occurred.
[0047] For example, as shown in FIG. 4(b) as time vs. keyboard angle characteristic 401, at time t1 when the keyboard angle exceeds "(30+h)°", it is determined that the keyboard angle has transitioned from the normal mode region 311 to the standing mode region 312 (see FIG. 3(c)).
[0048] Also, for example, when transitioning from standing mode to normal mode, it is determined that a state in which transition from standing mode to normal mode is possible has been reached when the keyboard angle becomes "(30-h)°" (when decreasing from 30° or more) or "(150+h)°" (when increasing from 150° or less).
[0049] For example, as shown in FIG. 4(b) as the time vs. keyboard angle characteristic 401, at time t2 when the keyboard angle falls below "(30-h)°", it is determined that the keyboard angle is in a state in which it can transition from the normal mode region 311 to the standing mode region 312 (see FIG. 3(c)).
[0050] However, even if it is determined in (2) above that a state in which the mode can be changed from normal mode to standing mode has been reached, if the displacement 404 of the keyboard angle value at each subsequent detection time from the value one detection time before the detection time remains at or above a predetermined difference value Δ, this is, for example, as shown in FIG. 1(b) when the performer 110 is performing while vigorously moving the keyboard (electronic keyboard instrument 200) in standing mode, and therefore it is determined that the standing mode is continuing.
[0051] Conversely, in a state in which a transition from normal mode to standing mode is possible due to the above (2), if the displacement 404 falls below the difference value Δ, it is determined that a transition has occurred from standing mode to normal mode, since this is the case when the performer 110 has placed the keyboard on the stand 102 and begun to play, as shown in FIG. 1(a), for example.
[0052] For example, as shown in Fig. 4(b) as a time vs. keyboard angle characteristic 401, in the section from time t2 to t3 when it is determined that the keyboard angle has entered a state where it can transition from the normal mode region 311 to the standing mode region 312, each displacement 404 of the keyboard angle calculated at each detection time of the acceleration sensor 301 maintains a certain degree of variation. Therefore, the section from time t2 to t3 is determined to be a standing mode section. Then, after time t3, it is determined that the value of each of the displacements 404 falls below a predetermined difference value Δ. Therefore, the section from time t1 to time t3 is determined to be a standing mode section, and the section after time t3 is determined to be a normal mode section.
[0053] In this way, even if the detection value of the acceleration sensor 301 is included in the normal mode region 311 when the standing mode is being executed, there are cases where the standing mode is continued without switching to the normal mode.
[0054] (3) When the performance controls are not in their home positions (when the controls are not in operation), i.e., when the controls are being operated, the mode is not changed.
[0055] The detailed configuration and operation of this embodiment for realizing the above operations will be described below. Fig. 5 is a block diagram showing an example of the hardware configuration of a system for controlling the electronic keyboard instrument 200 of Fig. 2 in this embodiment.
[0056] In FIG. 5, a CPU (Central Processing Unit) 501, a ROM (Read Only Memory) 502 which is a read-only memory, a RAM (Random Access Memory) 503 which is a readable and writable memory, an A / D (Analog / Digital) converter group 504, a key scanner 505, an I / O (Input / Output) interface 506, an LCD controller 507, and a sound source LSI 508 are interconnected by a system bus 512.
[0057] A / D converter group 504 converts the analog outputs of pitch bend wheel 201, modulation wheel 202 in FIG. 2, and acceleration sensor 301 in FIG. 3 into digital data, that is, a pitch bend wheel position value, a modulation wheel position value, and an acceleration sensor output value, using individual A / D converters not specifically shown.
[0058] The key scanner 505 monitors the playing state of all the keys of the keyboard 206 in FIG. 2, and detects the key number and the key pressing speed or key release speed when a change occurs in the key pressing state.
[0059] The I / O interface 506 detects the setting states of the panel switches 207 and 208 and notifies the CPU 501. Also, in accordance with instructions from the CPU 501, it controls the display of the direction indicator 203 in FIG.
[0060] The ROM 502 stores the control program that the CPU 501 loads into the RAM 503 and executes, as well as other constant data and the like.
[0061] The RAM 503 stores the control program transferred from the ROM 502, various variable data during program execution, and the like.
[0062] The LCD controller 507, under the control of the CPU 501, displays various types of information on the LCD 209 in FIG.
[0063] The CPU 501 normalizes the acceleration sensor output value input from the acceleration sensor 301 via the A / D converter group 504 in accordance with the control program loaded from the ROM 502 to the RAM 503 (see FIG. 3(c)), and calculates the keyboard angle corresponding to the normalized acceleration sensor output value based on, for example, the sensor output vs. keyboard angle characteristics 310x and 310y of the X-axis and Y-axis in FIG. 3(c). Then, the CPU 501 controls the rotation polarity of the pitch bend wheel 201 or the modulation wheel 202 in FIG. 2 based on the calculated keyboard angle.
[0064] Furthermore, the CPU 501 causes the direction indicator 203 in FIG. 2 to light up an arrow lamp in a direction corresponding to the UP direction of the rotation polarity via the I / O interface 506.
[0065] Furthermore, the CPU 501 issues instructions to the sound source LSI 508 for generating / silencing musical tone output data based on the key number and key pressing / release speed based on changes in the key pressing state input via the key scanner 505 .
[0066] A sound source LSI (Large Scale Integrated Circuit) 508 generates musical tone output data in accordance with instructions from the CPU 201 .
[0067] The D / A converter 509 converts the digital musical sound output data generated by the sound source LSI 508 into an analog musical sound output signal. This musical sound output signal is output from a speaker 511 via an amplifier 510.
[0068] The software processing of this embodiment having the above hardware configuration will be described in detail below. First, variable data (hereinafter simply referred to as "variables") used in the following software processing will be described. These variables are stored in the RAM 503 in FIG. 5. Mode variable: current play mode (Value "0": Normal mode, Value "1": Standing mode) ·PitWheelPos variable: current position of the pitch bend wheel 201 (Value "-1.0": Frontmost position, Value "0.0": Center position, Value "+1.0": innermost position) ModWheelPos variable: Current position of the modulation wheel 202 (value "0.0" ~ value "+1.0") Variable v, variable d, variable a, variable a0: Temporary variables that store values
[0069] Next, constant data (hereinafter simply referred to as "constants") used in the following software processing will be described. These variables are stored in the ROM 502 in FIG. ModeThresholdMax variable: Upper limit angle threshold for mode switching ModeThresholdMin variable: Lower angle threshold for mode switching ModeHysteresis variable: Mode switching hysteresis width Delta variable: Displacement threshold
[0070] 6 is a flowchart showing an example of main processing in this embodiment, in which the CPU 501 loads a control program stored in the ROM 502 into the RAM 503 and executes it.
[0071] After power is turned on, first, the CPU 501 executes initialization processing of the RAM 503, etc. (step S601). Thereafter, the CPU 501 executes main loop processing in which the series of processing from steps S602 to S609 is repeatedly executed with the determination of NO in step S610 until it is determined that the power has been turned off (until the determination of step S610 becomes YES).
[0072] In the main loop process, the CPU 501 first executes a panel switch process (step S602). In this process, the CPU 501 reads the setting states of the panel switches 207 and 208 in Fig. 2 via the I / O interface 506 in Fig. 5, and executes various user interface processes.
[0073] In the main loop process, the CPU 501 then executes LCD processing (step S603). In this processing, the CPU 501 determines the current display state and controls the display on the LCD 209 via the LCD controller 507.
[0074] In the main loop process, the CPU 501 next determines whether or not a key has been pressed or released on the keyboard 206 in FIG. 2 via the key scanner 505 in FIG. 5 (step S604).
[0075] If the determination in step S604 is YES, the CPU 501 executes a performance process (step S605). In this process, the CPU 501 issues a sound generation instruction or a sound muting instruction to the sound source LSI 508 according to the key number and the key pressing or key release speed input via the key scanner 505.
[0076] If the determination in step S604 is NO, the CPU 501 skips the performance process in step S605.
[0077] After that, in the main loop process, the CPU 501 executes pitch bend wheel processing (step S606). In this process, the CPU 501 reads the analog signal value output by the pitch bend wheel 201 as a pitch bend wheel position value via the A / D converter group 504, and executes control processing (described later) according to changes in the value. Details of the pitch bend wheel processing will be described later with reference to the flowchart of FIG.
[0078] In the main loop process, the CPU 501 then executes modulation wheel processing (step S607). In this process, the CPU 501 reads the analog signal value output by the modulation wheel 202 as a modulation wheel position value via the A / D converter group 504, and executes control processing (described later) according to changes in the value. Details of the modulation wheel processing will be described later with reference to the flowchart of FIG.
[0079] In the main loop process, the CPU 501 then executes acceleration sensor processing (step S608). In this process, the CPU 501 reads the analog sensor output signal output by the acceleration sensor 301 as a digital acceleration sensor output value via the A / D converter group 504, and further normalizes the acceleration sensor output value (see FIG. 3(c)). For example, the CPU 501 calculates a keyboard angle corresponding to the normalized acceleration sensor output value based on the sensor output vs. keyboard angle characteristics 310x and 310y of the X-axis and Y-axis in FIG. 3(c). Then, the CPU 501 controls the rotation polarity of the pitch bend wheel 201 or the modulation wheel 202 in FIG. 2 based on the calculated keyboard angle. The details of the acceleration sensor processing will be described later using the flowchart in FIG. 9.
[0080] In the main loop process, the CPU 501 finally executes a tone generator stationary process (step S609). In this process, the CPU 501 periodically processes the envelope of the tone pitch, tone color, volume, etc., of the tone output data generated by the tone generator LSI 508.
[0081] Fig. 7 is a flow chart showing a detailed example of the pitch bend wheel process in step S606 in Fig. 6. First, CPU 501 reads an analog value of the amount of operation of pitch bend wheel 201 in Fig. 2 by player 110 (see Fig. 1) as a digital pitch bend wheel position value via A / D converter group 504. Then, CPU 501 stores the pitch bend wheel position value in variable v (step S701).
[0082] Next, the CPU 501 determines whether the value of the variable v is equal to the value of the PitWheelPos variable that indicates the current value of the pitch bend wheel 201 (step S702).
[0083] If the determination in step S702 is YES, control of the pitch bend wheel 201 is not necessary, so the pitch bend wheel process in step S606 in FIG. 6 shown in the flowchart in FIG. 7 is terminated.
[0084] If the determination in step S702 is NO, CPU 501 stores the latest pitch bend wheel position value, which was set in variable v in step S701, in a PitWheelPos variable (step S703).
[0085] Next, CPU 501 determines whether the value of a Mode variable indicating the current mode is 1, that is, whether the current mode is the standing mode (step S704).
[0086] If the determination in step S704 is NO, that is, if it is determined that the current mode is the normal mode, CPU 501 stores the latest pitch bend wheel position value stored in the PitWheelPos variable in step S703 in variable d without changing the polarity (step S705).
[0087] On the other hand, if the determination in step S704 is YES, that is, if it is determined that the current mode is the standing mode, CPU 501 changes the polarity of the latest pitch bend wheel position value stored in the PitWheelPos variable in step S703 (by adding a negative sign), and stores the value in variable d (step S706).
[0088] Finally, the CPU 501 executes a pitch bend process to instruct the sound source LSI 508 on the pitch of the currently sounding musical tone output data based on the value stored in the variable d (step S707).
[0089] The position information of the pitch bend wheel 201 takes values from "-1.0" to "+1.0" with the value "0" as the median, but by the processes of steps S705 and S706 in Fig. 7, in the normal mode, the rotation of the pitch bend wheel 201 in the negative direction decreases the pitch, and in the positive direction increases the pitch, and vice versa in the standing mode. This reverses the polarity of the increase or decrease in pitch when the pitch bend wheel 201 is turned up in the normal mode and the standing mode, and realizes control of the rotation polarity of the pitch bend wheel 201 appropriate for each mode as described in Figs. 3(a) and (b).
[0090] Fig. 8 is a flow chart showing a detailed example of the modulation wheel process in step S607 in Fig. 6. First, CPU 501 reads an analog value of the amount of operation of modulation wheel 202 in Fig. 2 by player 110 (see Fig. 1) as a digital modulation wheel position value via A / D converter group 504. Then, CPU 501 stores the modulation wheel position value in variable v (step S801).
[0091] Next, the CPU 501 determines whether the value of the variable v is equal to the value of the ModWheelPos variable that indicates the current value of the modulation wheel 202 (step S802).
[0092] If the determination in step S802 is YES, control of the modulation wheel 202 is not necessary, so the modulation wheel process in step S607 in FIG. 6 shown in the flowchart in FIG. 8 is terminated.
[0093] If the determination in step S802 is NO, CPU 501 stores the latest modulation wheel position value, which was set in variable v in step S801, in a ModWheelPos variable (step S803).
[0094] Next, CPU 501 determines whether the value of a Mode variable indicating the current mode is 1, that is, whether the current mode is the standing mode (step S804).
[0095] If the determination in step S804 is NO, that is, if it is determined that the current mode is the normal mode, CPU 501 stores the latest modulation wheel position value stored in the ModWheelPos variable in step S803 as it is in variable d (step S805).
[0096] On the other hand, if the determination in step S804 is YES, that is, if it is determined that the current mode is the standing mode, CPU 501 stores in variable d a value obtained by subtracting the latest modulation wheel position value stored in the ModWheelPos variable in step S803 from the value 1 (step S806).
[0097] Finally, the CPU 501 instructs the sound source LSI 508 to perform modulation effect processing on the currently generated musical tone output data based on the value stored in the variable d (step S807). As a result, for example, a modulation effect such as an LFO (low frequency oscillation) with a depth according to the value of the variable d is applied to the musical tone output data.
[0098] The position information of the modulation wheel 202 takes values from "0.0" to "+1.0", but in normal mode, a modulation wheel position value of "0" gives zero modulation effect depth, and "+1.0" gives maximum modulation effect depth, and vice versa in standing mode, as a result of steps S805 and S806 in Fig. 8. This inverts the polarity of the effect depth when the modulation wheel 202 is turned up in normal mode and standing mode, realizing control of the rotation polarity of the modulation wheel 202 appropriate for each mode as described in Figs. 3(a) and (b).
[0099] Fig. 9 is a flowchart showing a detailed example of the acceleration sensor process in step S608 in Fig. 6. First, CPU 501 reads an analog output signal output by acceleration sensor 301 as a digital acceleration sensor output value via A / D converter group 504, and stores it in variable v (step S901).
[0100] Next, CPU 501 normalizes the acceleration sensor output value stored in variable v in step S901 (see FIG. 3(c)), calculates the keyboard angle corresponding to the normalized acceleration sensor output value based on, for example, the sensor output vs. keyboard angle characteristics 310x and 310y of the X-axis and Y-axis in FIG. 3(c), and stores the calculation result again in variable v (step S902).
[0101] Next, CPU 501 applies a low-pass filter to the value of variable v to smooth it, and stores the smoothed value in variable a (see the above-described process (1)) (step S903).
[0102] Next, the CPU 501 determines whether the value of the PitWheelPos variable that stores the current value of the pitch bend wheel 201 is "0.0", which corresponds to the stop position (step S904).
[0103] If the pitch bend wheel 201 is currently being operated and the determination in step S904 is NO, the current mode should not be changed, so CPU 501 proceeds to step S915 and sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then terminates the acceleration sensor processing in step S608 of FIG. 6 shown in the flowchart of FIG. 9.
[0104] If the pitch bend wheel 201 is currently stopped and the determination in step S904 is YES, the CPU 501 then determines whether the value of the Mode variable indicating the current mode is 1, that is, whether the current mode is the standing mode (step S905).
[0105] If the judgment in step S905 is NO, i.e., if it is judged that the current mode is normal mode, CPU 501 judges whether the value of the ModWheelPos variable indicating the current value of modulation wheel 202 is equal to the value "0.0" corresponding to the stop position of modulation wheel 202 in normal mode (step S906).
[0106] If the modulation wheel 202 is currently being operated and the determination in step S906 is NO, the current mode should not be changed, so CPU 501 proceeds to step S915, where it sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then ends the acceleration sensor processing in step S608 of FIG. 6 shown in the flowchart of FIG. 9.
[0107] If the modulation wheel 202 is currently stopped and the determination in step S906 is YES, the CPU 501 determines whether the keyboard angle value a calculated based on the output of the acceleration sensor 301, which is set to the variable a in step S903, satisfies the following condition for transition to the standing mode, taking into account the hysteresis width (step S907). a <ModeThresholdMax-ModeHysteresys and a>ModeThresholdMin+ModeHysteresys
[0108] This corresponds to the condition for transition from the normal mode to the standing mode being "(30+h)°" or "(150-h)°" taking into account the hysteresis width in the explanation of (2) above. In this example, ModeThresholdMin=30°, ModeThresholdMax=150°, and ModeHysteresys=h°.
[0109] In either case, when the keyboard angle value a (value indicating displacement) exceeds (or falls below) the threshold value, the mode switches from normal mode to standing mode.
[0110] If the determination in step S907 is NO, CPU 501 proceeds to step S915 while maintaining the normal mode, sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then terminates the acceleration sensor processing in step S608 of FIG. 6 shown in the flowchart of FIG. 9.
[0111] If the determination in step S907 is YES, CPU 501 sets the value "1" indicating the standing mode to the Mode variable indicating the current mode (step S908). This switches the current mode from the normal mode to the standing mode. As described above, the value of this Mode variable is determined in the pitch bend wheel process (step S704 in FIG. 7) or the modulation wheel process (step S804 in FIG. 8).
[0112] After that, the CPU 501 turns on the direction lamp of the down arrow corresponding to the UP direction in the standing mode (see FIG. 3(b)) in the direction indicator 203 of FIG. 2 via the I / O interface 506 (step S909).
[0113] Finally, CPU 501 sets the current keyboard angle value set to variable a in step S903 to variable a0 for the next processing, and then ends the acceleration sensor processing of step S608 in FIG. 6 shown in the flowchart of FIG.
[0114] On the other hand, if the determination in step S905 described above is YES, that is, if it is determined that the current mode is standing mode, the CPU 501 determines whether the value of the ModWheelPos variable indicating the current value of the modulation wheel 202 is equal to the value "1.0" corresponding to the stopping position of the modulation wheel 202 in standing mode (step S910).
[0115] If the modulation wheel 202 is currently being operated and the determination in step S910 is NO, the current mode should not be changed, so CPU 501 proceeds to step S915 and sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then ends the acceleration sensor processing of step S608 in FIG. 6 shown in the flowchart of FIG. 9.
[0116] If the modulation wheel 202 is currently stopped and the determination in step S910 is YES, the CPU 501 determines whether the keyboard angle value a calculated based on the output of the acceleration sensor 301, which is set to the variable a in step S903, satisfies the following condition for transition to the normal mode, taking into account the hysteresis width (step S911). a>ModeThresholdMax+ModeHysteresys or a <ModeThresholdMin-ModeHysteresys
[0117] This corresponds to the above explanation of (2) that the transition condition from the standing mode to the normal mode was "(30-h)°" or "(150+h)°" taking into account the hysteresis width. In this example, ModeThresholdMin=30°, ModeThresholdMax=150°, and ModeHysteresys=h°.
[0118] If the determination in step S911 is NO, CPU 501 proceeds to step S915 while maintaining the standing mode, sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then terminates the acceleration sensor processing in step S608 of FIG. 6 shown in the flowchart of FIG. 9.
[0119] If the determination in step S911 is YES, CPU 501 determines whether the value of the displacement |a0-a| from the previous keyboard angle set in variable a0 (see step S915) to the latest keyboard angle set in variable a in step S903 is smaller than a predetermined displacement threshold value set in the Delta variable (step S912). This corresponds to the determination of displacement 404 described in Fig. 4(b). Here, the difference value Δ described in Fig. 4(b) corresponds to the value of the Delta variable.
[0120] That is, even if the value indicating the displacement is below (or above) the threshold value (step S911: YES), if the displacement continues (step S912: NO), the standing mode is continued (determined to be the standing mode).
[0121] If the determination in step S912 is NO, CPU 501 proceeds to step S915 while maintaining the standing mode, sets the current keyboard angle value set in variable a in step S903 to variable a0 for the next processing, and then terminates the acceleration sensor processing in step S608 of FIG. 6 shown in the flowchart of FIG. 9.
[0122] This state corresponds to, for example, the period from time t2 to time t3 in FIG.
[0123] If the determination in step S912 is YES, CPU 501 sets the value "0" indicating the normal mode to the Mode variable indicating the current mode (step S913). This switches the current mode from the standing mode to the normal mode. As described above, the value of this Mode variable is determined in the pitch bend wheel process (step S704 in FIG. 7) or the modulation wheel process (step S804 in FIG. 8).
[0124] This state corresponds to the section after time t3 in FIG. 4(b), for example.
[0125] After that, CPU 501 turns on the direction lamp of the up arrow corresponding to the UP direction in the normal mode (see FIG. 3(a)) in direction indicator 203 of FIG. 2 via I / O interface 506 (step S914).
[0126] Finally, CPU 501 sets the current keyboard angle value set to variable a in step S903 to variable a0 for the next processing, and then ends the acceleration sensor processing of step S608 in FIG. 6 shown in the flowchart of FIG.
[0127] As described above, according to the above-mentioned embodiment, it is possible to automatically reverse the direction in which sound effects are applied by a performance operator such as a wheel controller depending on the performance mode, such as normal mode or standing mode.
[0128] In the above embodiment, the performance operators are the pitch bend wheel 201 and the modulation wheel 202, but the performance operators may also be touch devices such as a ribbon controller that is operated back and forth as seen by the performer.
[0129] The following supplementary notes are further disclosed regarding the above embodiment. (Appendix 1) A performance operator that moves in a first direction and a second direction opposite to the first direction, and that applies a sound effect according to the direction of the movement; a sensor for detecting a displacement of the electronic musical instrument; At least one processor; wherein the at least one processor: a switching process between a first mode in which a first sound effect is applied in response to a movement in the first direction and a second sound effect is applied in response to a movement in the second direction, and a second mode in which the second sound effect is applied in response to a movement in the first direction and the first sound effect is applied in response to a movement in the second direction, based on a result of the detection of the displacement; An electronic musical instrument that performs (Appendix 2) In the switching process, a polarity of the performance parameter acquired in response to the operation of the performance operator is inverted. 2. An electronic musical instrument as defined in appended claim 1. (Appendix 3) the performance controls include a pitch bend wheel for specifying whether the pitch is raised or lowered; The direction of raising and lowering the pitch of the pitch bend wheel is reversed between the first mode and the second mode. 3. An electronic musical instrument according to claim 1 or 2. (Appendix 4) The performance operators include a volume operator for specifying loudness or softness of the sound, The direction of increasing and decreasing the volume of the volume control is reversed between the first mode and the second mode. 4. An electronic musical instrument according to any one of claims 1 to 3. (Appendix 5) The first direction is a direction from the front side to the back side of the key, The second direction is a direction from the back side to the front side of the key. 5. An electronic musical instrument according to any one of appendix 1 to 4. (Appendix 6) Includes keyboard, the first mode or the second mode includes either a normal mode in which the electronic musical instrument is placed on a placement surface and the keyboard is in a substantially horizontal state, or a standing mode in which the keyboard is in a state different from the substantially horizontal state; 6. An electronic musical instrument according to any one of appendix 1 to 5. (Appendix 7) The at least one processor: switching from the normal mode to the standing mode when the value indicating the displacement exceeds a threshold; If the displacement continues even when the value indicating the displacement falls below the threshold value, the standing mode is determined. 6. An electronic musical instrument as described in appended note 6. (Appendix 8) A pitch specifying operator is included, The at least one processor: when the operation of the pitch designation operator is not detected, a process of switching between the first mode and the second mode is executed. 8. An electronic musical instrument according to any one of appendix 1 to 7. (Appendix 9) Electronic instruments, Based on the detection result of the displacement, a switching process is executed between a first mode in which a first sound effect is applied in response to the movement of the performance operator in a first direction and a second sound effect is applied in response to the movement of the performance operator in a second direction opposite to the first direction, and a second mode in which the second sound effect is applied in response to the movement in the first direction and the first sound effect is applied in response to the movement in the second direction. method. (Appendix 10) At least one processor for controlling an electronic musical instrument, a switching process between a first mode in which a first sound effect is applied in response to a movement of a performance operator in a first direction and a second sound effect is applied in response to a movement of the performance operator in a second direction opposite to the first direction, and a second mode in which the second sound effect is applied in response to the movement in the first direction and the first sound effect is applied in response to the movement in the second direction, based on a result of the detection of the displacement; A program for executing the above. [Explanation of symbols]
[0130] 100, 200 Electronic Keyboard Instruments 101 Wheel Controller 102 Stand 103 Strap 110 Performer 201 Pitch Bend Wheel 202 Modulation Wheel 203 Direction Indicator 204, 205 Strap pin 206 Keyboard 207, 208 Panel switch 209 LCD 301 Acceleration Sensor 302 Horizontal plane 303 angle 310x X-axis sensor output vs. keyboard angle characteristics 310y Y-axis sensor output vs. keyboard angle characteristics 311 Normal Mode Region 312 Standing Mode Area 313 Mode switching reference value 401 Time vs. Keyboard Angle Characteristics 402, 403 Hysteresis width 404 Displacement 501 CPU 502 ROM 503 RAM 504 A / D converters 505 Key Scanner 506 I / O Interface 507 LCD Controller 508 Sound source LSI 509 D / A Converter 510 Amplifier 511 Speaker 512 System Bus
Claims
1. a performance operator that moves in a first direction and a second direction opposite to the first direction, the performance operator providing a sound effect according to the direction of the movement; a sensor for detecting a displacement of the electronic musical instrument; At least one processor; wherein the at least one processor: a switching process between a first mode in which a first sound effect is applied in response to a movement in the first direction and a second sound effect is applied in response to a movement in the second direction, and a second mode in which the second sound effect is applied in response to a movement in the first direction and the first sound effect is applied in response to a movement in the second direction, based on a result of the detection of the displacement; An electronic musical instrument that performs
2. In the switching process, a polarity of the performance parameter acquired in response to the operation of the performance operator is inverted.
2. The electronic musical instrument according to claim 1.
3. the performance controls include a pitch bend wheel for specifying whether the pitch is raised or lowered; a direction in which the pitch is raised and a direction in which the pitch is lowered by the pitch bend wheel are reversed between the first mode and the second mode; 3. An electronic musical instrument according to claim 1 or 2.
4. The performance operators include a volume operator for specifying loudness or softness of the sound, The direction of increasing and decreasing the volume of the volume control is reversed between the first mode and the second mode.
4. An electronic musical instrument according to claim 1.
5. The first direction is a direction from the front side to the back side of the key, The second direction is a direction from the back side to the front side of the key.
5. An electronic musical instrument according to claim 1.
6. Includes keyboard, the first mode or the second mode includes either a normal mode in which the electronic musical instrument is placed on a placement surface and the keyboard is in a substantially horizontal state, or a standing mode in which the keyboard is in a state different from the substantially horizontal state.
6. An electronic musical instrument according to any one of claims 1 to 5.
7. The at least one processor switching from the normal mode to the standing mode when the value indicating the displacement exceeds a threshold; If the displacement continues even when the value indicating the displacement falls below the threshold value, the standing mode is determined.
7. The electronic musical instrument according to claim 6.
8. A pitch specifying operator is included, The at least one processor when the operation of the pitch designation operator is not detected, a process of switching between the first mode and the second mode is executed.
8. An electronic musical instrument according to any one of claims 1 to 7.
9. Electronic musical instruments, based on the detection result of the displacement, a switching process is executed between a first mode in which a first sound effect is applied in response to the movement of the performance operator in a first direction and a second sound effect is applied in response to the movement of the performance operator in a second direction opposite to the first direction, and a second mode in which the second sound effect is applied in response to the movement in the first direction and the first sound effect is applied in response to the movement in the second direction; method.
10. At least one processor for controlling an electronic musical instrument, a switching process between a first mode in which a first sound effect is applied in response to a movement of a performance operator in a first direction and a second sound effect is applied in response to a movement of the performance operator in a second direction opposite to the first direction, and a second mode in which the second sound effect is applied in response to the movement in the first direction and the first sound effect is applied in response to the movement in the second direction, based on a result of the detection of the displacement; A program for executing the above.
Citation Information
Patent Citations
Operating device for electronic musical instrument
JP1989000598A
Portable electronic musical instrument
JP1989191897A
Data input device
JP1993232955A