The present application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2010-284229, filed Dec. 21, 2010, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a performance apparatus and an electronic musical instrument, which generate musical tones, when held and swung by a player with his or her hand.
2. Description of the Related Art
An electronic musical instrument has been proposed, which is provided with an elongated member of a stick type with a sensor installed thereon, and generates musical tones when the sensor detects a movement of the elongated member. Particularly, in the electronic musical instrument, the elongated member of a stick type has a shape of a drumstick and is constructed so as to generate musical tones as if percussion instruments generate sounds in response to player's motion of striking drums and/or Japanese drum.
For instance, U.S. Pat. No. 5,058,480 discloses a performance apparatus, which has an acceleration sensor installed in its stick-type member, and generates a musical tone when a certain period of time has lapsed after an output (acceleration sensor value) from the acceleration sensor reaches a predetermined threshold value.
But in the performance apparatus disclosed in U.S. Pat. No. 5,058,480, generation of musical tones is simply controlled based on the acceleration sensor values of the stick-type member and therefore, the performance apparatus has a drawback that it is not easy for a player to change musical tones as he or she desires.
Further, Japanese Patent No. 2007-256736 A discloses an apparatus, which is capable of generating musical tones having plural tone colors. The apparatus is provided with a geomagnetic sensor and detects an orientation of a stick-type member held by the player based on a sensor value obtained by the geomagnetic sensor. The apparatus selects one from among plural tone colors for a musical tone to be generated, based on the detected orientation of the stick-type member. In the apparatus disclosed in Japanese Patent No. 2007-256736A, since the tone color of musical tone is changed based on the direction in which the stick-type member is swung by the player, it is required to assign various directions in which the stick-type member is to be swung to generate various tone colors of musical tones. In the apparatus, as the kind of tone colors of musical tones to be generated increase, an angle range in which the stick-type member is swung to generate such tone color become narrower, and therefore it becomes harder to generate musical tones of a tone color desired by the player.
The present invention has an object to provide a performance apparatus and an electronic musical instrument, which allow the player to easily change musical tone elements including tone colors, as he or she desires.
According to one aspect of the invention, there is provided a performance apparatus, which comprises a holding member which is held by a hand of a player, a space/parameter storing unit which stores (a) information for specifying plural spaces each defined by imaginary side planes, at least one of which is perpendicular to the ground surface, as plural sound generation spaces, and (b) parameters of a musical tone corresponding respectively to the plural sound generation spaces, a position-information obtaining unit provided in the holding member which obtains position information of the holding member, a holding-member detecting unit which detects (a) whether a position of the holding member, which is specified based on the position information obtained by the position-information obtaining unit, is included in any of the plural sound generation spaces specified by the information stored in the space/parameter storing unit, and (b) whether the holding member has been moved in a predetermined motion, a reading unit which reads from the space/parameter storing unit a parameter corresponding to the sound generation space, in which the holding-member detecting unit determines that the position of the holding member is included, and an instructing unit which gives an instruction to a musical-tone generating unit to generate a musical tone specified by the parameter read by the reading unit at a timing of sound generation, wherein the beginning time of sound generation is set to a timing when the holding-member detecting unit has detected that the holding member has been moved in a predetermined motion.
According to another aspect of the invention, there is provided an electronic musical instrument, which comprises a performance apparatus and a musical instrument unit which comprises a musical-tone generating unit for generating musical tones, wherein the performance apparatus comprises a holding member which is held by a hand of a player, a space/parameter storing unit which stores (a) information for specifying plural spaces each defined by imaginary side planes, at least one of which is perpendicular to the ground surface, as plural sound generation spaces, and (b) parameters of a musical tone corresponding respectively to the plural sound generation spaces, a position-information obtaining unit provided in the holding member which obtains position information of the holding member, a holding-member detecting unit which detects (a) whether a position of the holding member, which is specified based on the position information obtained by the position-information obtaining unit, is included in any of the plural sound generation spaces specified by the information stored in the space/parameter storing unit, and (b) whether the holding member has been moved in a predetermined motion, a reading unit which reads from the space/parameter storing unit a parameter corresponding to the sound generation space, in which the holding-member detecting unit determines that the position of the holding member is included, and an instructing unit which gives an instruction to the musical-tone generating unit to generate a musical tone specified by the parameter read by the reading unit at a timing of sound generation, wherein the beginning time of sound generation is set to a timing when the holding-member detecting unit has detected that the holding member has been moved in a predetermined motion, and wherein both the performance apparatus and the musical instrument unit comprise communication units, respectively.
Now, embodiments of the present invention will be described with reference to the accompanying drawings in detail.
The I/F 13 of the musical instrument unit 19 serves to receive data (for instance, a note-on event) from the performance apparatus 11. The data received through I/F 13 is stored in RAM 15 and a notice of receipt of such data is given to CPU 12. In the present embodiment, the performance apparatus 11 is equipped with an infrared communication device 24 at the edge of the base portion and I/F 13 of the musical instrument unit 19 is also equipped with an infrared communication device 33. Therefore, the musical instrument unit 19 receives infrared light generated by the infrared communication device of the performance device 11 through the infrared communication device 33 of I/F 13, thereby receiving data from the performance apparatus 11.
CPU 12 controls whole operation of the electronic musical instrument 10. In particular, CPU 12 serves to perform various processes including a controlling operation of the musical instrument unit 19, a detecting operation of a manipulated state of key switches (not shown) in the input unit 17 and a generating operation of musical tones based on note-on events received through I/F 13.
ROM 14 stores various programs for executing various processes, including a process for controlling the whole operation of the electronic musical instrument 10, a process for controlling the operation of the musical instrument unit 19, a process for detecting operation of the key switches (not shown) in the input unit 17, and a process for generating musical tones based on the note-on events received through I/F 13. ROM 14 has a waveform-data area for storing waveform data of various tone colors, in particular, including waveform data of percussion instruments such as bass drums, hi-hats, snare drums and cymbals. The waveform data to be stored in ROM 14 is not limited to the waveform data of the percussion instruments, but waveform data having tone colors of wind instruments such as flutes, saxes and trumpets, waveform data having tone colors of keyboard instruments such as pianos, waveform data having tone colors of string instruments such as guitars, and also waveform data having tone colors of other percussion instruments such as marimbas, vibraphones and timpani can be stored in ROM 14.
RAM 15 serves to store programs read from ROM 14 and to store data and parameters generated during the course of the executed process. The data generated in the process includes the manipulated state of the switches in the input unit 17, sensor values and generated-states of musical tones (sound-generation flag) received through I/F 13.
The displaying unit 16 has, for example, a liquid crystal displaying device (not shown) and is able to indicate a selected tone color and contents of a space/tone color table to be described later. In the space/tone color table, sound generation spaces are associated with tone colors of musical tones. The input unit 17 has various switches (not shown) and is used to specify a tone color of musical tones to be generated.
The sound system 18 comprises a sound source unit 31, an audio circuit 32 and a speaker 35. Upon receipt of an instruction from CPU 12, the sound source unit 31 reads waveform data from the waveform-data area of ROM 14 to generate and output musical tone data. The audio circuit 32 converts the musical tone data supplied from the sound source unit 31 into an analog signal and amplifies the analog signal to output the amplified signal through the speaker 35, whereby a musical tone is output from the speaker 35.
The geomagnetic sensor 22 has a magnetic-resistance effect element and/or a hole element, and is a tri-axial geomagnetic sensor, which is able to detect magnetic components respectively in the X-, Y- and Z-directions. In the first embodiment of the invention, the position information (coordinate value) of the performance apparatus 11 is obtained from the sensor values of the tri-axial geomagnetic sensor. Meanwhile, the acceleration sensor 23 is a sensor of a capacitance type and/or of a piezo-resistance type. The acceleration sensor 23 is able to output a data value representing an acceleration sensor value. The acceleration sensor 23 is able to obtain acceleration components in three axial directions: one component in the extending direction of the performance apparatus 11 and two other components in the perpendicular direction to the extending direction of the performance apparatus 11. A moving distance of the performance apparatus 11 can be calculated from the respective components in three axial-directions of the acceleration sensor 22. Further, a sound generation timing can be determined based on the component in the extending direction of the performance apparatus 11.
The performance apparatus 11 comprises CPU 21, the infrared communication device 24, ROM 25, RAM 26, an interface (I/F) 27 and an input unit 28. CPU 21 performs various processes such as a process of obtaining the sensor values in the performance apparatus 11, a process of obtaining the position information in accordance with the sensor values of the geomagnetic sensor 22 and the acceleration sensor 23, a process of setting a sound generation space for generating a musical tone, a process of detecting a sound-generation timing of a musical tone based on the sensor value (acceleration sensor value) of the acceleration sensor 22, a process of generating a note-on event, and a process of controlling a transferring operation of the note-on event through I/F 27 and the infrared communication device 24.
ROM 25 stores various process programs for obtaining the sensor values in the performance apparatus 11, obtaining the position information in accordance with the sensor values of the geomagnetic sensor 22 and the acceleration sensor 23, setting the sound generation space for generating a musical tone, detecting a sound-generation timing of a musical tone based on the acceleration sensor value, generating a note-on event, and controlling the transferring operation of the note-on event through I/F 27 and the infrared communication device 24. RAM 26 stores values such as the sensor values, generated and/or obtained in the process. In accordance with an instruction from CPU 21, data is supplied to the infrared communication device 24 through I/F 27. The input unit 28 has various switches (not shown).
CPU 21 obtains and stores in RAM 26 the sensor value (acceleration sensor value) of the acceleration sensor 23, which has been obtained in the interrupt process (step 302). Further, CPU 21 obtains the sensor value (geomagnetic sensor value) of the geomagnetic sensor 22, which has been obtained in the interrupt process (step 303).
Then, CPU 21 performs the current position obtaining process at step 304.
Further, using the acceleration sensor value, which was obtained and stored in RAM 26 in the process performed last time at step 302 and the acceleration sensor value currently obtained at step 302, CPU 21 calculates a moving distance of the performance apparatus 11 (step 402). The moving distance is found by performing integration twice using the acceleration sensor values and a time difference (time interval) between the time at which the former sensor value was obtained and the time at which the latter sensor value is obtained. Then, CPU 21 calculates the coordinate of the current position of the performance apparatus 11, using the last position information stored in RAM 26, and the moving direction and the moving distance calculated respectively at steps 401 and 402 (step 403).
CPU 21 judges at step 404 whether or not any change has been found between the current coordinate of the position and the previous coordinate of the position. When it is determined YES at step 404, CPU 21 stores in RAM 26 the calculated coordinate of the current position as new position information (step 405).
After the current position obtaining process at step 304, CPU 21 performs a space setting process at step 305.
In the case where it is determined YES at step 504, this case means that coordinates of four apexes have been stored in RAM 26, and therefore, when it is determined YES at step 504, CPU 21 obtains information for specifying a plane (quadrangle) defined by four apex coordinates (step 505). CPU 21 obtains positions of apexes of a quadrangle, which is obtained when the plane (quadrangle) defined by four apex coordinates is projected onto the ground, and stores the information of sound generation space defined by the obtained positions in an space/tone color table in RAM 26 (step 506). Thereafter, CPU 21 initializes the parameter N in RAM 26 to “0” and sets a space setting flag to “1” (step 507).
In the present embodiment of the invention, the player specifies plural apexes and can set a sound generation space consisting of an area defined by these apexes. In the present embodiment of the invention, a plane (quadrangle) defined by four apexes is set as the sound generation space, but the number of apexes for defining the sound generation space can be changed. For example, a polygon such as a triangle can be set as the sound generation space.
P1 (Reference numeral 71): (x1, y1, z1)
P2 (Reference numeral 72): (x2, y2, z2)
P3 (Reference numeral 73): (x3, y3, z3)
P4 (Reference numeral 74): (x4, y4, z4)
A plane defined by straight lines connecting these four coordinates P1 to P4 is denoted by a reference numeral 700.
A plane 701 is obtained by projecting the plane 700 onto the ground (Z-coordinate=z0), and the coordinates of the four apexes of the plane 701 will be given by:
(x1, y1, z0)
(x2, y2, z0)
(x3, y3, z0)
(x4, y4, z0)
In the first embodiment of the invention, the sound generation space is defined by a space specified by the plane 701 defined by the four coordinates (x1, y1, z0), (x2, y2, z0), (x3, y3, z0) and (x4, y4, z0) and perpendiculars 74 to 77 to the plane 701 passing through these four coordinates, as shown in
After the space setting process has finished at step 305, CPU 21 performs a tone-color setting process at step 306.
When it is determined YES at step 601, CPU 21 judges at step 602 if a tone-color confirming switch in the input unit 28 has been turned on. When it is determined YES at step 602, CPU 21 generates a note-on event including tone-color information in accordance with a parameter TN (step 603). The parameter TN represents a tone-color number, which uniquely specifies atone color of a musical tone. In the note-on event, the information representing a sound volume level and a pitch of a musical tone can be previously determined data. Then, CPU 21 sends the generated note-on event to I/F 26 (step 604). I/F 27 makes the infrared communication device 24 transfer an infrared signal of the note-on event to the infrared communication device 33 of the musical instrument unit 19. The musical instrument unit 19 generates a musical tone having a predetermined pitch based on the received infrared signal. The sound generation in the musical instrument unit 19 will be described later.
Then, CPU 21 judges at step 605 whether or not a tone-color setting switch has been turned on. When it is determined NO at step 605, CPU 21 increments the parameter TN representing a pitch (step 606) and returns to step 602. When it is determined YES at step 605, CPU 21 associates the parameter TN representing a pitch with the information of sound generation space to store in a space/pitch table in RAM 26 (step 607). Then, CPU 21 resets the space setting flag to “0” (step 608).
Two-dimensional coordinates (x, y) in the X- and Y-directions are stored as the apex coordinate in the space/tone color table 800. As described above, this is because that the sound generation space in the first embodiment of the invention is the three-dimensional space, which is defined by the plane specified, for example, by four apexes on the ground and the perpendiculars 75 to 78 passing through the four apexes, and that the value in the Z-coordinate is arbitrary.
When the tone-color setting process has finished at step 306 in
When it is determined NO at step 902, CPU 21 resets an acceleration flag in RAM 23 to “0” (step 903). When it is determined YES at step 902, CPU 21 refers to an acceleration sensor value stored in RAM 26 to obtain an acceleration sensor value in the longitudinal direction of the performance apparatus 11 (step 904).
Then, CPU 21 judges at step 905 whether or not the acceleration sensor value in the longitudinal direction of the performance apparatus 11 is larger than a predetermined threshold value a (first threshold value α). When it is determined YES at step 905, CPU 21 sets the acceleration flag in RAM 26 to “1” (step 906). CPU 21 judges at step 907 whether or not the acceleration sensor value in the longitudinal direction of the performance apparatus 11 (the acceleration sensor value obtained at step 904) is larger than the maximum acceleration sensor value stored in RAM 26. When it is determined YES at step 907, CPU 21 stores in RAM 26 the acceleration sensor value in the longitudinal direction of the performance apparatus 11 (the acceleration sensor value obtained at step 904) as a fresh maximum acceleration sensor value (step 908).
When it is determined NO at step 905, CPU 21 judges at step 909 whether or not the acceleration flag in RAM 26 has been set to “1”. When it is determined NO at step 909, the sound-generation timing detecting process finishes. When it is determined YES at step 909, CPU 21 judges at step 910 whether or not the acceleration sensor value in the longitudinal direction of the performance apparatus 11 is less than a predetermined threshold value β (second threshold value β). When it is determined YES at step 910, CPU 21 performs a note-on event generating process (step 911).
Before describing the note-on event generating process, a sound generation timing in the electronic musical instrument 10 according to the first embodiment will be described.
When the player swings the performance apparatus 11, the acceleration sensor value gradually increases (Refer to Reference numeral 1101 on a curve 1100 in
The present invention employs a logic to be described later to generate a musical tone at the moment or just before the player strikes the imaginary surface of the percussion instrument with the stick. It is assumed that the sound generation timing is set to a time when the acceleration sensor value in the longitudinal direction of the performance apparatus 11 decreases less than the second threshold value β. This second threshold value β is slightly larger than “0”. But due to the player's unintentional movement, the acceleration sensor value in the longitudinal direction of the performance apparatus 11 can vary to reach a value close to the second threshold value β. To avoid unintentional effect of a variation in the acceleration sensor value, the sound generation timing is set to a time when the acceleration sensor value in the longitudinal direction of the performance apparatus 11 once increases larger than the first threshold value α (Refer to a time: tα) and thereafter the acceleration sensor value has decreased less than the second threshold value β (Refer to a time: tβ). The first threshold value α is sufficiently larger than the second threshold value β. When it is determined that the sound generation timing has been reached, the note-on event is generated in the performance apparatus 11 and transferred to the musical instrument unit 19. Upon receipt of the note-on event, the musical instrument unit 19 performs the sound generating process to generate a musical tone.
In the note-on event generating process shown in
Ve1=a×Amax, where, if a×Amax>Vmax, Ve1=Vmax and “a” is a positive coefficient.
CPU 21 refers to the space/tone color table in RAM 26 to determine the tone color in the record with respect to the sound generation space corresponding to the position where the performance apparatus 11 is kept as the tone color of a musical tone to be generated (step 1002). Then, CPU 21 generates a note-on event including the determined sound volume level (velocity) and tone color (step 1003). A defined value is used as a pitch in the note-on event.
CPU 21 outputs the generated note-on event to I/F (step 1004). Further, I/F 27 makes the infrared communication device 24 send an infrared signal of the note-on event. The infrared signal is transferred from the infrared communication device 24 to the infrared communication device 33 of the musical instrument unit 19. Thereafter, CPU 21 resets the acceleration flag in RAM 26 to “0” (step 1005).
When the sound-generation timing detecting process has finished at step 307 in
CPU 12 judges at step 1203 whether or not another note-on event has been received through I/F 13. When it is determined YES at step 1203, CPU 12 performs the sound generating process at step 1204. In the sound generating process, CPU 12 sends the received note-on event to the sound source unit 31. The sound source unit 31 reads waveform data from ROM 14 in accordance with the tone color represented by the received note-on event. When the musical tones of tone colors of the percussion instruments are generated, the waveform data is read from ROM 14 at a constant rate. When the musical tones of tone colors of the musical instruments having pitches, such as the keyboard instruments, the wind instruments and the string instruments, are generated, the pitch follows the value included in the note-on event (in the first embodiment, the define value). The sound source unit 31 multiplies the waveform data by a coefficient according to the sound volume level (velocity) contained in the note-on event, generating musical tone data of a predetermined sound volume level. The generated musical tone data is supplied to the audio circuit 32, and a musical tone of the predetermined sound volume level is output through the speaker 35.
Then, CPU 12 performs the parameter communication process at step 1205. In the parameter communication process, CPU 12 gives an instruction to the infrared communication device 33 to transfer data of the space/tone color table edited by the switching operation (step 1202) to the performance apparatus 11. In the performance apparatus 11, when the infrared communication device 24 receives the data, CPU 21 receives the data through I/F 27 and stores the data in RAM 26 (step 308 in
At step 308 in
When the parameter communication process of the musical instrument unit 19 has finished at step 1205 in
The sound generation space 135 is a three-dimensional space, which is defined by a quadrangle 130 and four perpendiculars extending from four apexes of the quadrangle 130. The sound generation space 136 is a three-dimensional space, which is defined by a quadrangle 131 and four perpendiculars extending from four apexes of the quadrangle 131. The sound generation space 137 is a three-dimensional space, which is defined by a quadrangle 132 and four perpendiculars extending from four apexes of the quadrangle 132.
When the player swings the performance apparatus down (or up)(Refer to Reference numerals: 1301, 1302) in the sound generation space 135, a musical tone having a tone color of a vibraphone is generated. Further, when the player swings the performance apparatus down (or up)(Refer to Reference numerals: 1311, 1312) in the sound generation space 137, a musical tone having a tone color of a cymbal is generated.
In the first embodiment of the invention, setting the sound generation timing at the time when the performance apparatus 11 is kept in the sound generation space defined in space and the acceleration detected in the performance apparatus 11 has satisfied a predetermined condition, CPU 21 gives the electronic musical instrument unit 19 an instruction to generate a musical tone having a tone color corresponding to said sound generation space. In this manner, musical tones can be generated, having various tone colors corresponding respectively to sound generation spaces.
In the first embodiment of the invention, the performance apparatus 11 is provided with the geomagnetic sensor 22 and the acceleration sensor 23. CPU 21 calculates the moving direction of the performance apparatus 11 based on the sensor value of the geomagnetic sensor 22, and also calculates the moving distance of the performance apparatus 11 based on the sensor value of the acceleration sensor 23. The current position of the performance apparatus 11 is obtained from the moving direction and the moving distance, whereby the position of the performance apparatus 11 can be found without using a large scale of equipment and performing complex calculations.
In the first embodiment of the invention, setting the sound generation timing at the time when the acceleration sensor value in the longitudinal direction of the performance apparatus 11 once increases larger than the first threshold value α and thereafter has decreased less than the second threshold value β (first threshold value α>second threshold value β), CPU 21 gives the electronic musical instrument unit 19 an instruction to generate a musical tone having a tone color corresponding to the sound generation space. In this manner, a musical tone can be generated substantially at the same timing as the player actually strikes the imaginary striking surface of the percussion instrument with the stick.
CPU 21 founds the maximum sensor value of the acceleration sensor 23, and calculates a sound volume level based on the maximum sensor value, and gives the electronic musical instrument unit 19 an instruction to generate a musical tone having the calculated sound volume level at the above sound generation timing. In the above manner, a musical tone can be generated at the player's desired sound volume level in respond to the player's swinging operation of the performance apparatus 11.
In the first embodiment of the invention, a space defined by an imaginary polygonal shape specified on the ground and perpendiculars extending from the apexes of the imaginary polygonal shape is set as the sound generation space, and information specifying the sound generation space is associated with a tone color, and stored in the space/tone color table, wherein the imaginary polygonal shape is defined by projecting onto the ground a shape specified based on position information representing not less than three apexes. The player is allowed to specify apexes to define an area surrounded by said apexes, thereby setting the sound generation space based on the area. In the above description, the polygonal shape defined by four apexes is set as the sound generation space but the number of apexes for specifying the sound generation space can be changed. For example, an arbitrary shape such as a triangle can be used to specify the sound generation space.
Now, the second embodiment of the invention will be described. In the first embodiment of the invention, the performance apparatus 11 is used to specify plural apexes for defining an area, and the area is projected onto the ground to obtain an imaginary polygonal shape. A space, which is defined by the polygonal shape and perpendiculars extending from apexes of the polygonal shape is set as the sound generation space. Meanwhile, in the second embodiment of the invention, a central position C and a passing-through position P are set to define a sound generation space of cylinder. A disc-like shape is defined, which has the center at the central position C and a radius “d”. The radius “d” is given by a distance between the central position C and the passing-through position P. The sound generation space is defined based on such disc-like shape.
When it is determined NO at step 1402, that is, when the center setting switch is kept on, or after the process at step 1403, CPU 21 judges at step 1404 whether or not the center setting switch has been turned off. When it is determined NO at step 1404, then the space setting process finishes. When it is determined YES at step 1404, CPU 21 reads position information from RAM 26, and stores in RAM 26 the read position information as position information (coordinate (xp, yp, zp)) of the position P, at which the performance apparatus 11 is held when the center setting switch is turned off (step 1405).
CPU 21 obtains the coordinate (xc, yc, z0) of a position C′ and the coordinate (xp, yp, z0) of a position P′ (step 1406), wherein the position C′ and the position P′ are specified by projecting the central position C and the position P onto the ground (Z-coordinate=z0), respectively. CPU 21 calculates a distance “d” between the position C′ and the position P′ (step 1407). Thereafter, CPU 21 obtains information of a sound generation space based on a disc-like shape plane, which has the center at the position C′ and a radius “d” given by a distance between the position C′ and the position P′ (step 1408). In the second embodiment of the invention, as the sound generation space is set a three-dimensional space of a cylinder shape having the circle bottom, which has the center at the position C′ and the radius “d” given by a distance between the position C′ and the position P′.
The information of the sound generation space (x- and y-coordinates of the central position C′, and x- and y-coordinates of the passing-through position P′) and radius “d” are stored in the space/tone color table in RAM 26 (step 1409). Then, CPU 21 sets the space setting flag to “1” (step 1410). Since the disc-like shape on the ground can be defined by the central position and the radius, there is no need to store the coordinate of the passing-through position P′.
As described above, when the player turns on the setting switch of the performance apparatus 11 at a position where he or she wants to set a central position C, and moves the performance apparatus 11 with the setting switch kept on to a position P corresponding to a radius and then turns the setting switch off, then the central position C and the passing-through position P are specified. Further, when the central position C and the passing-through position P are projected onto the ground, the positions C′ and P′ are determined on the ground. A cylinder with a circle bottom having the center at the position C′ and a radius “d” given by a distance between the position C′ and the position P′ can be set as the sound generation space in the second embodiment of the invention.
The tone color setting process in the second embodiment is substantially the same as the process (
The sound generation spaces 165 to 168 correspond to the records of the space IDs 0 to 3 in the space/tone color table, respectively. When the player swings the performance apparatus down (or up)(Reference numerals: 1601, 1602) in the sound generation space 165, a musical tone having a tone color of a tom is generated. And when the player swings the performance apparatus down (or up)(Reference numerals: 1611, 1612) in the sound generation space 166, a musical tone having a tone color of a snare is generated.
Other processes such as the current position obtaining process and the sound-generation timing detecting process in the second embodiment are substantially the same as those in the first embodiment of the invention. In the second embodiment of the invention, as the sound generation space associated with the corresponding tone color, CPU 21 stores in the space/tone color table in RAM 26 information of a cylindrical space with the circular bottom having the center at the position C′ and the radius “d” given by the distance between the position C′ and the position P, wherein the position C′ and the position P′ are defined by projecting a specified central position C and the other position P onto the ground, respectively. In this manner, the player is allowed to designate two positions to set a sound generation space of his or her desired size.
Now, the third embodiment of the invention will be described. In the third embodiment of the invention, the sound generation spaces having a cylindrical shape with a circular or oval bottom are set. In the third embodiment of the invention, the player moves the performance apparatus 11 along an area so as to define a circle or oval in space, and the defined circle or oval is projected onto the ground to specify an imaginary shape on the ground. The specified imaginary shape will be the bottom of the cylindrical sound generation space in the third embodiment.
CPU 21 judges at step 1701 whether or not the setting-start switch has been turned on. When it is determined YES at step 1701, CPU 21 reads position information from RAM 26 and stores in RAM 26 the read position information as the coordinate (starting-position coordinate) of a starting position (step 1702). CPU 21 sets the setting flag in RAM 26 to “1” (step 1703).
When it is determined NO at step 1701, CPU 21 judges at step 1704 whether or not the setting flag is set to “1”. When it is determined YES at step 1704, CPU 21 reads position information from RAM 26 and stores in RAM 26 the read position information as the coordinate (passing-through position coordinate) of a passing-through position (step 1705). The process at step 1705 is repeatedly performed until the player turns on the setting-finish switch of the performance apparatus 11. Therefore, one passing-through position coordinate is stored in RAM 26 every time the process at step 1705 is performed, and as a result, plural passing-through position coordinates are stored in RAM 26.
Thereafter, CPU 21 judges at step 1706 whether or not the setting-finish switch has been turned on. When it is determined YES at step 1706, CPU 21 reads position information from RAM 26 and stores in RAM 26 the read position information as the coordinate (finishing-position coordinate) of a finishing position (step 1707). Then, CPU 21 judges at step 1708 whether or not the finishing-position coordinate falls within a predetermined range of the starting-position coordinate. When it is determined NO at step 1708, the space setting process finishes. When it is determined NO at steps 1704 and 1706, the space setting process finishes.
When it is determined YES at step 1708, CPU 21 obtains information for specifying a circle or oval passing through the starting-position coordinate, the passing-through position coordinate and the finishing-position coordinate (step 1709). CPU 21 creates a closed curve consisting of lines connecting adjacent coordinates and obtains a circle or oval closely related to the closed curve. A well known method such as the method of least squares is useful for obtaining the circle plane or oval plane. CPU 21 calculates information of a circle or oval obtained by projecting the circle or oval specified at step 1709 onto the ground, and stores in the space/tone color table in RAM 26 the information of the circle or oval as the information of sound generation space (step 1710). Thereafter, CPU 21 resets the setting flag to “0” and sets the space setting flag to “1” (step 1711).
Other processes to be performed in the third embodiment of the invention, such as the current position obtaining process and the sound-generation timing detecting process are performed substantially in the same manner as in the first embodiment of the invention. Also in the third embodiment of the invention, the player is allowed to set the sound generation space having a cylindrical shape with a circle or oval bottom of his or her desired size. Particularly in the third embodiment of the invention, the player can set the sound generation space of a cylindrical shape having a side surface defined by a track, along which the performance apparatus 11 is moved.
Now, the fourth embodiment of the invention will be described. In the first to third embodiments of the invention, every sound generation space is assigned with the corresponding tone color, and the information for specifying the sound generation space associated with the information of tone color is stored in the space/tone color table. When the performance apparatus 11 is swung within the sound generation space, a tone color of a musical tone to be generated is determined on the basis of the space/tone color table. In the fourth embodiment of the invention, every sound generation space is assigned with a corresponding pitch. When the performance apparatus 11 is swung within a sound generation space, a musical tone having a pitch corresponding to the sound generation space is generated. This arrangement will be appropriate for generating musical tones of the tone colors, such as musical tones of the percussion instruments including marimbas, vibraphones and timpani, which are able to generate musical tone of various tone colors.
In the fourth embodiment of the invention, a pitch setting process is performed in place of the tone-color setting process (step 306) in the process shown in
When it is determined YES at step 1801, CPU 21 judges at step 1802 whether or not the pitch confirming switch has been turned on. When it is determined YES at step 1802, CPU 21 generates a note-on event including pitch information in accordance with the parameter NN representing a pitch (step 1803). The note-on event can include information representing a sound volume and a tone color determined separately. CPU 21 outputs the generated note-on event to I/F 27 (step 1804). Further, I/F 27 makes the infrared communication device 24 transfer an infrared signal of the note-on event. The infrared signal of the note-on event is transferred from the infrared communication device 24 to the infrared communication device 33 of the musical instrument unit 19, whereby the musical instrument unit 19 generates a musical tone having a predetermined pitch.
Then, CPU 21 judges at step 1805 whether or not the pitch decision switch has been turned on. When it is determined NO at step 1805, CPU 21 increments the parameter NN representing a pitch (step 1806) and returns to step 1802. When it is determined YES at step 1805, CPU 21 associates the parameter NN representing a pitch with the information of sound generation space to store in a space/pitch table in RAM 26 (step 1807). Then, CPU 21 resets the space setting flag to “0” (step 1808).
In the pitch setting process shown in
In the fourth embodiment of the invention, the sound-generation timing detecting process is performed substantially in the same manner as in the first to the third embodiments (Refer to
In the fourth embodiment of the invention, the sound generation spaces are assigned with respective pitches, and when the performance apparatus 11 is swung within one sound generation space, then a musical tone having a pitch corresponding to such sound generation space is generated. Therefore, the fourth embodiment of the invention can be used to generate musical tones of desired pitches as if the percussion instruments such as marimbas, vibraphones and timpani are played.
The present invention has been described with reference to the accompanying drawings and the first to fourth embodiments, but it will be understood that the invention is not limited to these particular embodiments described herein, and numerous arrangements, modifications, and substitutions may be made to the embodiments of the invention described herein without departing from the scope of the invention.
In the embodiments described above, CPU 21 of the performance apparatus 11 detects an acceleration sensor value and a geomagnetic sensor value while the player swings the performance apparatus 11, and obtains the position information of the performance apparatus 11 from these sensor values to judges whether or not the performance apparatus 11 is kept within the sound generation space. When it is determined that the performance apparatus 11 has been swung within the sound generation space, then, CPU 21 of the performance apparatus 11 generates a note-on event including the tone color corresponding to the sound generation space (in the first to third embodiments) or the pitch corresponding to the sound generation space (in the fourth embodiment), and transfers the generated note-on event to the musical instrument unit 19 through I/F 27 and the infrared communication device 24. Meanwhile, receiving the note-on event, CPU 12 of the musical instrument unit 19 supplies the received note-on event to the sound source unit 31, thereby generating a musical tone. The above arrangement is preferably used in the case that the musical instrument unit 19 is a device not specialized in generating musical tones, such as a personal computer and/or a game machine provided with a MIDI board.
The processes to be performed in the performance apparatus 11 and the processes to be performed in the musical instrument unit 19 are not limited to those described in the above embodiments. For example, an arrangement can be made such that the performance apparatus 11 transfers information of the space/tone color table to the musical instrument unit 19, or obtains the position information of the performance apparatus 11 from the sensor values and transfers the obtained position information to the musical instrument unit 19. In the arrangement, the sound-generation timing detecting process (
Further, in the embodiments, the infrared communication devices 24 and 33 are used for the infrared signal communication between the performance apparatus 11 and the musical instrument unit 19 to exchange data between them, but the invention is not limited to the infrared signal communication. For example, data can be exchanged between percussion instruments 11 and the musical instrument unit 19 by means of radio communication and/or wire communication in place of the infrared signal communication through the devices 24 and 33.
In the above embodiment, the moving direction of the performance apparatus 11 is detected based on the sensor value of the geomagnetic sensor 23, and the moving distance of the performance apparatus 11 is calculated based on the sensor value of the acceleration sensor 22, and then the position of the performance apparatus 11 is obtained based on the moving direction and the moving distance. The method of obtaining the position of the performance apparatus 11 is not limited to the above, but the position of the performance apparatus 11 can be obtained using sensor values of a tri-axial acceleration sensor and a sensor value of an angular rate sensor.
In the embodiments described above, the sound generation timing is set to the time when the acceleration sensor value in the longitudinal direction of the performance apparatus 11 once increases larger than the first threshold value α and thereafter has decreased less than the second threshold value β. But the sound generation timing is not limited to the above timing. For example, the sound generation timing can be detected not based on the acceleration sensor value in the longitudinal direction of the performance apparatus 11 but based on the resultant value of the x-, y-, and Z-components of the tri-axial acceleration sensor (sensor resultant value: the square root of the sum of the squares of the x-, y- and Z-components of the tri-axial acceleration sensor).
Then, CPU 21 judges at step 2006 whether or not the acceleration flag in RAM 26 is set to “0”. When it is determined YES at step 2006, CPU 21 judges at step 2007 whether or not the sensor resultant value is larger than a value of (1+a)G, where “a” is a positive fine constant. For example, if “a” is “0.05”, CPU 21 judges whether or not the sensor resultant value is larger than a value of 1.05 G. In the case where it is determined YES at step 2007, this case means that the performance apparatus 11 is swung by the player and the sensor resultant value has increased larger than the gravity acceleration of “1 G”. The value of “a” is not limited to “0.05”. On the assumption that “a”=0, it is possible to judge at step 2007 whether or not the sensor resultant value is larger than a value corresponding to the gravity acceleration “1 G”.
When it is determined YES at step 2007, CPU 21 sets the acceleration flag in RAM 26 to “1” (step 2008). When it is determined NO at step 2007, then the sound-generation timing detecting process finishes.
When it is determined YES at step 2006, that is, when the acceleration flag in RAM 26 has been set to “1”, CPU 21 judges at step 2009 whether or not the sensor resultant value is smaller than a value of (1+a)G. When it is determined NO at step 2009, CPU 21 judges at step 2010 whether or not the sensor resultant value calculated at step 2005 is larger than the maximum sensor resultant value stored in RAM 26. When it is determined YES at step 2010, CPU 21 stores in RAM 26 said calculated sensor resultant value as a new maximum sensor resultant value (step 2011). When it is determined NO at step 2010, then the sound-generation timing detecting process finishes.
When it is determined YES at step 2009, CPU 21 performs the note-on event generating process (step 2012). This note-on event generating process is performed substantially in the same manner as in the first embodiment as shown in
In the fifth embodiment of the invention, a timing when the sensor resultant value has increased larger than the value of (1+a)G, where “a” is a positive fine constant, is detected, and thereafter the maximum value of the sensor resultant value is renewed. The maximum value Amax of the sensor resultant value is used to determined a sound volume level of a musical tone to be generated. At the timing T1 when the sensor resultant value has decreased smaller than the value of (1+a)G, where “a” is a positive fine constant, the note-on event process is performed to generate a musical tone.
In the fifth embodiment of the invention, the sound generation timing is determined based on the sensor value of the acceleration sensor 23, but the sound generation timing can be determined based on other data. That is, other sensor such as an angular rate sensor is used and the sound generation timing can be determined based on a variation in the sensor value of the angular rate sensor.
Number | Date | Country | Kind |
---|---|---|---|
2010-284229 | Dec 2010 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5017770 | Sigalov | May 1991 | A |
5058480 | Suzuki et al. | Oct 1991 | A |
5081896 | Hiyoshi et al. | Jan 1992 | A |
5369270 | Gurner et al. | Nov 1994 | A |
5475214 | DeFranco et al. | Dec 1995 | A |
5648627 | Usa | Jul 1997 | A |
5663514 | Usa | Sep 1997 | A |
6388183 | Leh | May 2002 | B1 |
6492775 | Klotz et al. | Dec 2002 | B2 |
6919503 | Nishitani et al. | Jul 2005 | B2 |
6960715 | Riopelle | Nov 2005 | B2 |
7723604 | Bang et al. | May 2010 | B2 |
Number | Date | Country |
---|---|---|
2663503 | Jun 1997 | JP |
2007-256736 | Oct 2007 | JP |
Number | Date | Country | |
---|---|---|---|
20120152087 A1 | Jun 2012 | US |