This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2011-176106, filed Aug. 11, 2011, and the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention is related to a controller that changes a luminous color in accordance with a direction in which a performer swings the controller, as well as an operation method and storage medium.
2. Related Art
Conventionally, a stick-shaped display device in which an acceleration sensor and a light emitter are incorporated has been proposed, wherein the display device expresses changes in a physical quantity as color changes by switching a luminous color of the light emitter in response to changes in a physical quantity such as a slight positional change relative to the direction of the earth's gravity or reciprocating motion based on the direction of gravity (JP 2004-133365 A).
However, in the stick-shaped display device disclosed in JP 2004-133365 A, the luminous color merely changes due to tilting relative to the direction of gravity, and thus it was difficult to determine if a correct hit was administered.
The present invention was created in light of such circumstances, and an objective thereof is to provide a controller that changes a luminous color in accordance with a movement direction relative to an axis set in the stick itself, as well as an operation method and a storage medium.
In order to achieve the above-mentioned objective, a controller of one embodiment of the present invention is characterized by being provided with
a stick-shaped holding member,
an acceleration sensor that obtains accelerations generated in respective directions of three axes that are mutually orthogonal including an axis in the longitudinal direction of the holding member,
a plurality of light emitters that are provided on the holding member corresponding to each of the three axes, wherein each light emitter is capable of emitting light in a different light-emitting form, and
a light emission control unit that controls the light emission of the light emitters in accordance with the acceleration on each of the three axes obtained by the acceleration sensor.
An operation method of one embodiment of the present invention is
a method for operating a controller including a stick-shaped holding member, an acceleration sensor that obtains accelerations generated in respective directions of three axes that are mutually orthogonal including an axis in the longitudinal direction of the holding member, and a plurality of light emitters that are provided on the holding member corresponding to each of the three axes, wherein each light emitter is capable of emitting light in a different light-emitting form, the method characterized by including the steps of:
obtaining accelerations generated in respective directions of the three axes from the acceleration sensor, and controlling light emission of the corresponding light emitters in accordance with the acceleration on each of the three axes.
Further, a computer-readable storage medium of one embodiment of the present invention stores a program causing
a computer used in a controller including a stick-shaped holding member, an acceleration sensor that obtains accelerations generated in respective directions of three axes that are mutually orthogonal including an axis in the longitudinal direction of the holding member, and a plurality of light emitters that are provided on the holding member corresponding to each of the three axes, wherein each light emitter is capable of emitting light in a different light-emitting form,
to execute the steps of obtaining accelerations generated in respective directions of the three axes from the acceleration sensor, and
controlling light emission of the corresponding light emitters in accordance with the acceleration on each of the three axes.
Below, an embodiment of the present invention will be explained with reference to the attached drawings.
The CPU 31 executes control of the entire electronic instrument 10. For example, the CPU 31 executes various processing such as control of the sound-producing unit 22 of the electronic instrument, control based on detection of operation of a key switch (not illustrated) that constitutes the input unit 37, control of production of musical tones based on data (for example, a note-on event) from the stick-type controller 21 received via the I/F 32, and the like.
The I/F 32 receives data from the stick-type controller 21 such as a note-on event, and stores the data in the RAM 34 and reports the receipt of data to the CPU 31. An infrared-ray communication device 51 is provided to the I/F 32. The infrared-ray communication device 51 of the I/F 32 receives infrared rays produced by the stick-type controller 21, and thereby the sound-producing unit 22 can receive data from the stick-type controller 21. Data communication is not limited to infrared-ray communication, and any method of communication (such as wireless communication or the like) can be used.
The ROM 33 stores various processing programs. For example, various processing programs for exhibiting a variety of functions, such as control of the entire electronic instrument 10, particularly control of the sound-producing unit 22 of the electronic instrument, detection of operation of a key switch (not illustrated) that constitutes the input unit 37, production of musical tones based on a note-on event received via the I/F 32, and the like are stored in the ROM 33. Also, the ROM 33 includes a waveform data area that stores waveform data of various tones, such as waveform data of wind instruments like a flute, a saxophone, and a trumpet, keyboard instruments like a piano, stringed instruments like a guitar, and percussion instruments like a bass drum, a hi-hat, a snare, cymbals, and a tom.
The RAM 34 stores various data such as programs that are read out from the ROM 33, data produced during the course of processing, and parameters. Data produced during the course of processing includes the operation state of the switch of the input unit 37, sensor values and the like received via the I/F 32, the sound-production state (sound-production flag) of musical tones, and the like.
The display unit 36 is constituted by, for example, a liquid crystal display device, and can display selected tones, volumes, and the like as images. The input unit 37 has various switches (not illustrated).
The sound system 38 includes a sound source unit 41, an audio circuit 42, and a speaker 43. The sound source unit 41 reads out waveform data from the waveform data area of the ROM 33 in accordance with an instruction from the CPU 31 to generate and output musical tone data. The audio circuit 42 converts the musical tone data output from the sound source unit 41 into an analog signal, amplifies the converted analog signal, and outputs it to the speaker 43. Thereby, musical tones are output from the speaker 43.
The acceleration sensor 61 is, for example, a three-axis sensor of the capacitance type or the piezoresistor type, and can output respective acceleration values representing the acceleration generated in each of the three axial directions of X, Y, and Z to be explained later. The acceleration sensor 61 is provided on the distal end side of the stick-type controller 21, which is the opposite side relative to the base side which is held by the performer.
The angular velocity sensor 62 is, for example, a sensor including a gyroscope, and can output respective angular velocity values representing the angular velocity generated around each of the three axes X, Y, and Z to be explained later. The angular velocity sensor 62 is provided on the distal end side of the stick-type controller 21, which is the opposite side relative to the base side which is held by the performer. The position of the angular velocity sensor 62 is not limited to the distal end side, and it can be provided on the base side.
The CPU 63 executes control of the entire stick-type controller 21. For example, the CPU 63 obtains the acceleration values output by the acceleration sensor 61 and the angular velocity values output by the angular velocity sensor 62. Once obtained, the CPU 63 controls the light emission of an LED 64R, an LED 64G, and an LED 64B based on the acceleration values and the angular velocity values. The CPU 63 also detects the timing of sound production of musical tones based on the acceleration values, determines the volume in accordance with the acceleration values, and generates note-on events. In addition, the CPU 63 executes control of the transmission of note-on events via the I/F 68 and the infrared-ray communication device 65.
The LED 64 has a red LED 64R, a green LED 64G, and a blue LED 64B. The LEDs 64R, 64G, and 64B emit light by drive control from the CPU 63. The drive control of the LEDs 64R, 64G, and 64B is executed in accordance with drive data transmitted from the CPU 63 via a drive circuit 71 (refer to
The infrared-ray communication device 65 is provided on the end at the base side of the stick-type controller 21, and transmits data from the stick-type controller 21 to the sound-producing unit 22 by transmitting infrared rays via the I/F 68 to be explained below to the infrared-ray communication device 51 on the sound-producing unit 22 side.
The ROM 66 stores various processing programs. For example, various processing programs for exhibiting a variety of functions, such as obtaining acceleration values of the stick-type controller 21 output by the acceleration sensor 61 and angular velocity values of the stick-type controller 21 output by the angular velocity sensor 62, light emission control of the LEDs 64R, 64G, and 64B based on the acceleration values and the angular velocity values, detecting of the timing of sound production of musical tones based on the acceleration values, determination of the volume in accordance with the acceleration values, generation of note-on events, control of transmission of note-on events via the I/F 68 and the infrared-ray communication device 65, and the like are stored in the ROM 66. The RAM 67 stores various data including values obtained or generated during processing, such as the acceleration values and angular velocity values, as well as tables to be explained later.
The I/F 68 outputs data to the infrared-ray communication device 65 in accordance with instructions from the CPU 63. The input unit 69 has switches (not illustrated).
In
In
In
In
When the acceleration sensor 61 detects acceleration in the X-axis direction, the CPU 63 generates drive data for causing the LED 64R to emit light at a brightness in accordance with the size of the acceleration in the X-axis direction, and transmits the drive data to the LED 64R. When the acceleration sensor 61 detects acceleration in the Y-axis direction, the CPU 63 generates drive data for causing the LED 64G to emit light at a brightness in accordance with the size of the acceleration in the Y-axis direction, and transmits the drive data to the LED 64G. When the acceleration sensor 61 detects acceleration in the Z-axis direction, the CPU 63 generates drive data for causing the LED 64B to emit light at a brightness in accordance with the size of the acceleration in the Z-axis direction, and transmits the drive data to the LED 64B.
When the stick-type controller 21 is in a stationary state, the acceleration sensor 61 is set to not detect acceleration of gravity so that the LEDs 64R, 64G, and 64B turn off.
A method for determining the luminous color based on the acceleration will now be explained. The CPU 63 determines a luminous color upon referring to the luminous color table for acceleration (
The luminous color when acceleration is generated on the X-axis and the Y-axis is yellow, which is a combined color of red and green. The luminous color when acceleration is generated on the Y-axis and the Z-axis is cyan, which is a combined color of green and blue. The luminous color when acceleration is generated on the X-axis and the Z-axis is magenta, which is a combined color of red and blue. The luminous color when acceleration is generated on the X-axis, the Y-axis, and the Z-axis is white, which is a combined color of red, green, and blue.
Referring to
The CPU 63 outputs a PWM (Pulse Width Modulation) waveform 70, which is drive data, via the drive circuit 71 and sends it to the LED 64R. The LED 64R is grounded via a resistor 72.
The CPU 63 outputs the PWM waveform 70 at a DUTY ratio corresponding to the size of acceleration obtained by the acceleration sensor 61. If the size of acceleration is equal to or greater than a prescribed value a, the CPU 63 outputs the PWM waveform 70 at a DUTY ratio of 100%. If the size of acceleration is a value that can be regarded as 0 (hereinafter simply referred to as “0”), the CPU 63 outputs the PWM waveform 70 at a DUTY ratio of 0%. If the size of acceleration is greater than 0 and less than the prescribed value a, the CPU 63 outputs such that the DUTY ratio increases as the size of the acceleration increases.
If the DUTY ratio of the PWM waveform 70 is 100%, the drive circuit 71 is configured such that the LEDs 64R, 64G, and 64B emit light at a maximum brightness. If the DUTY ratio is 0%, the drive circuit 71 is configured such that the LEDs 64R, 64G, and 64B do not emit light. If the DUTY ratio is greater than 0% and less than 100%, the drive circuit 71 is configured such that the brightness of the LEDs 64R, 64G, and 64B increases as the DUTY ratio increases.
Therefore, for example, as shown in
Further, for example, as shown in
Accordingly, when acceleration is generated in two or more axial directions, the luminous color is a combined color of red, green, or blue, but the hue of the combined color changes depending on the size of the acceleration on each axis.
If the acceleration generated on all three axes of the X-axis, Y-axis, and Z-axis of the stick-type controller 21 is 0 (uniform motion), the CPU 63 outputs the PWM waveform based on the acceleration at 0% for all three axes. Thus, none of the LEDs 64R, 64G, and 64B emit light.
In this case, the CPU 63 performs control to cause the LEDs 64 to emit light in accordance with the size of angular velocity detected by the angular velocity sensor 62.
Referring again to
If the angular velocity sensor 62 detects angular velocity around the X-axis, the CPU 63 sends drive data to the LED 64G and the LED 64B for causing the LED 64G and the LED 64B to emit light at a brightness in accordance with the size of angular velocity around the X-axis.
The reason for this constitution is explained below. For example, if acceleration is generated only on the Y-axis and the Z-axis of the stick-type controller 21 (in this case, angular velocity is generated only around the X-axis), the LEDs 64 emit a cyan color as explained above in
Similarly, if the angular velocity sensor 62 detects angular velocity around the Y-axis, the CPU 63 sends drive data to the LED 64R and the LED 64B for causing the LED 64R and the LED 64B to emit light at a brightness in accordance with the size of angular velocity around the Y-axis. Further, if the angular velocity sensor 62 detects angular velocity around the Z-axis, the CPU 63 sends drive data to the LED 64R and the LED 64G for causing the LED 64R and the LED 64G to emit light at a brightness in accordance with the size of angular velocity around the Z-axis.
In the case of angular velocity, the constitution when the CPU 63 sends drive data to the LEDs 64R, 64G, and 64B is the same as that explained above regarding acceleration referring to
Specifically, the CPU 63 outputs the PWM waveform 70 at a DUTY ratio corresponding to the size of angular velocity obtained by the angular velocity sensor 62. If the size of angular velocity is equal to or greater than a prescribed value 13, the CPU 63 outputs the PWM waveform 70 at a DUTY ratio of 100%. If the size of angular velocity is 0, the CPU 63 outputs the PWM waveform 70 at a DUTY ratio of 0%. If the size of angular velocity is greater than 0 and less than a prescribed value 13, the CPU 63 outputs such that the DUTY ratio increases as the size of angular velocity increases.
A method for determining the luminous color based on angular velocity will now be explained. The CPU 63 determines a luminous color upon referring to the luminous color table for angular velocity (
Below, the processing executed by the CPU 63 of the stick-type controller 21 according to the present embodiment will be explained.
In step S101, the CPU 63 of the stick-type controller 21 executes initialization processing such as clearing the data of the RAM 67.
In step S102, the CPU 63 carries out switch processing. In the switch processing, the CPU 63 executes, for example, the following processing. The CPU 63 executes setting of the musical tone to be produced and the like in accordance with a switching operation of the input unit 69. The CPU 63 stores information of the indicated tone in the RAM 67.
In step S103, the CPU 63 obtains acceleration values from the acceleration sensor 61 and stores them in the RAM 67. As explained above, in the present embodiment, the acceleration sensor 61 is a three-axis sensor, and the CPU 63 obtains acceleration values for each component of the X-axis, the Y-axis, and the Z-axis, and stores these values in the RAM 67.
In step S104, the CPU 63 obtains angular velocity values from the angular velocity sensor 62 and stores them in the RAM 67. As explained above, in the present embodiment, the angular velocity sensor 62 is a three-axis sensor, and the CPU 63 obtains angular velocity values for each component of the X-axis, the Y-axis, and the Z-axis, and stores these values in the RAM 67.
In step S105, the CPU 63 executes light emission control processing. The light emission control processing will be explained below referring to
Once the CPU 63 completes the light emission control processing, the CPU 63 returns to step S102 and repeats the processing in step S102 and beyond.
In step S201, the CPU 63 reads out the acceleration values stored in the RAM 67, and determines whether the acceleration values in all three axes of the X-axis, Y-axis, and Z-axis are 0. If the determination is NO, then the CPU 63 proceeds to step S202. If the determination is YES, then the CPU 63 proceeds to step S203.
In step S202, the CPU 63 outputs a PWM waveform in a DUTY ratio corresponding to the size of each acceleration value of the three axial components of the X-axis, Y-axis, and Z-axis that has been read out.
In detail, as explained above, if the size of the acceleration value is equal to or greater than a prescribed value a, the CPU 63 outputs the PWM waveform at a DUTY ratio of 100%. If the size of acceleration value is 0, the CPU 63 outputs the PWM waveform at a DUTY ratio of 0%. If the size of the acceleration value is greater than 0 and less than the prescribed value α, the CPU 63 outputs such that the DUTY ratio increases as the size of the acceleration value increases.
In step S203, the CPU 63 outputs a PWM waveform in a DUTY ratio corresponding to the size of the each angular velocity value of the three axial components of the X-axis, Y-axis, and Z-axis that has been read out.
In detail, as explained above, the CPU 63 outputs a PWM waveform in a DUTY ratio corresponding to the size of angular velocity obtained by the angular velocity sensor 62. If the size of angular velocity is equal to or greater than a prescribed value β, the CPU 63 outputs the PWM waveform at a DUTY ratio of 100%. If the size of angular velocity is 0, the CPU 63 outputs the PWM waveform at a DUTY ratio of 0%. If the size of angular velocity is greater than 0 and less than a prescribed value β, the CPU 63 outputs such that the DUTY ratio increases as the size of angular velocity increases.
In the present embodiment, if the acceleration value obtained by the acceleration sensor 61 is not 0 on at least one axis among the three axes of the X-axis, the Y-axis, and the Z-axis of the stick-type controller 21, the CPU 63 causes the LEDs 64 to emit light in a color corresponding to the axis or axes on which an acceleration value other than 0 was obtained.
Therefore, for example, if the stick-type controller 21 is stroked in only the Y-axis direction, or in other words, if the stick-type controller 21 does not wobble in the up-down direction (Z-axis direction) and the left-right direction (X-axis direction) from the perspective of the performer, only the LED 64G emits light, and thus the LEDs 64 emit light of a green color.
Further, if a stroke in the Z-axis direction is added to the stroke in the Y-axis direction of the stick-type controller 21, or in other words, if the stick-type controller 21 does not wobble in the left-right direction (X-axis direction) from the perspective of the performer, the LEDs 64G and 64B emit light, and thus the LEDs 64 emit light of a cyan color, which is a combined color of green and blue.
As explained above, since the luminous color of the LEDs 64 changes in accordance with the direction in which the stick-type controller 21 is swung relative to the three axes of the X-axis, the Y-axis, and the Z-axis, the performer can intuitively comprehend the swing direction of the stick-type controller 21.
The present invention can also be utilized as a training device for maintaining a stable stroke during drum performance.
In addition, since drum performances are sometimes carried out on a dark stage in a live music venue or the like, the present invention can also exhibit a performance effect in which the trajectory of the stick-type controller 21 is expressed with a luminous color.
In the present embodiment, the CPU 63 causes the LEDs 64 to emit light at a brightness in accordance with the size of the acceleration value.
Therefore, the performer can intuitively comprehend not only the swing direction of the stick-type controller 21 but also the strength of the swing.
In the present embodiment, if the acceleration values obtained by the acceleration sensor 61 are 0 in all three axes of the X-axis, Y-axis, and Z-axis, the CPU 63 causes the LEDs 64 to emit light of a color corresponding to the axis or axes on which an angular velocity value is obtained by the angular velocity sensor 62.
For example, if the motion of the stick-type controller 21 becomes uniform while it is being stroked in only the Y-axis direction and the Z-axis direction and cyan-colored light is being emitted, the CPU 63 determines that the stick-type controller 21 is moving with a uniform angular velocity around the X-axis and maintains the cyan-colored light emission.
Therefore, the luminous color of the LEDs 64 can be maintained even if the motion becomes uniform.
In the present embodiment, the CPU 63 causes the LEDs 64 to emit light at a brightness in accordance with the size of the angular velocity value.
Therefore, the performer can intuitively comprehend not only the swing direction of the stick-type controller 21 but also the speed of the swing.
In the present embodiment, a constitution in which the stick-type controller 21 is used as a stick for an electronic instrument (electronic drum) was explained. However, the present embodiment is not limited thereto, and it can be installed in a conductor's baton, a baseball bat, a kendo bamboo sword, a golf club, and the like. Thereby, the stick-type controller 21 can be utilized in products that have an objective of confirming the timing or the like of a swing or shot.
In the above, several embodiments of the present invention were explained, but these embodiments are merely examples of the present invention and do not limit the technical scope of the present invention. The present invention can be utilized in various other embodiments, and various modifications such as deletions or substitutions can be made as long as they do not deviate from the spirit of the present invention. These embodiments and modifications are included within the scope and gist of the invention described in the present specification and the like, and are included within a scope equivalent to that of the inventions recited in the claims.
Number | Date | Country | Kind |
---|---|---|---|
2011-176106 | Nov 2011 | JP | national |