JP5036010B2 - Music performance program, music performance device, music performance system, and music performance method - Google Patents

Music performance program, music performance device, music performance system, and music performance method Download PDF

Info

Publication number
JP5036010B2
JP5036010B2 JP2010183922A JP2010183922A JP5036010B2 JP 5036010 B2 JP5036010 B2 JP 5036010B2 JP 2010183922 A JP2010183922 A JP 2010183922A JP 2010183922 A JP2010183922 A JP 2010183922A JP 5036010 B2 JP5036010 B2 JP 5036010B2
Authority
JP
Japan
Prior art keywords
acceleration
data
track data
track
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010183922A
Other languages
Japanese (ja)
Other versions
JP2011008284A (en
Inventor
光啓 疋野
潤也 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2010183922A priority Critical patent/JP5036010B2/en
Publication of JP2011008284A publication Critical patent/JP2011008284A/en
Application granted granted Critical
Publication of JP5036010B2 publication Critical patent/JP5036010B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、音楽演奏プログラム音楽演奏装置、音楽演奏システム、および音楽演奏方法に関し、より特定的には、加速度センサを備えた入力装置を振ることに応じて音楽を再生する音楽演奏プログラム音楽演奏装置、音楽演奏システム、および音楽演奏方法に関する。 The present invention relates to a music performance program , a music performance device , a music performance system, and a music performance method , and more specifically, a music performance program that reproduces music in response to shaking an input device including an acceleration sensor , music The present invention relates to a performance device , a music performance system, and a music performance method .

従来、音楽の指揮を取り入れてゲームを行ったり、カラオケの興趣性を高めたりすることが知られている。例えば、加速度センサを備えた指揮棒の出力に応じて、楽譜データの音程および強度のデータを読み出すタイミングが追従するよう構成された装置が開示されている(例えば、特許文献1参照)。また、ユーザが所持またはユーザに取り付け可能な運動検出器および状態検出器に備えられた加速度センサの出力に応じて、MIDI(Musical Instrument Digital Interface)データ等の音量を変化させると共に、その再生テンポを追従させる装置が開示されている(例えば、特許文献2参照)。上記特許文献2で開示された装置では、加速度センサの出力に応じて再生テンポをどの程度追随させるのか、ユーザが指定するためのボタンを装備して、指揮に基づくテンポと本来のテンポとが大きくずれないように配慮した楽音再生装置を開示している。   Conventionally, it has been known to play a game by taking a musical command or to enhance the fun of karaoke. For example, an apparatus is disclosed that is configured such that the timing of reading musical pitch and intensity data of musical score data follows in accordance with the output of a baton equipped with an acceleration sensor (see, for example, Patent Document 1). In addition, the volume of MIDI (Musical Instrument Digital Interface) data or the like is changed in accordance with the output of the acceleration sensor provided in the motion detector and the state detector that the user can possess or attach to the user, and the playback tempo is also changed. An apparatus for tracking is disclosed (for example, see Patent Document 2). The device disclosed in Patent Document 2 is equipped with a button for the user to specify how much the playback tempo will follow according to the output of the acceleration sensor, and the tempo based on command and the original tempo are large. A musical sound reproducing apparatus that is designed to prevent deviation is disclosed.

特開平6−161440号公報JP-A-6-161440 特開2001−195059号公報JP 2001-195059 A

しかしながら、上記特許文献1や特許文献2で開示された装置等の従来の技術では、あくまでも楽曲演奏のテンポを制御することや、せいぜい指揮の強弱で演奏音量を変化させる程度の興趣性しか提供することができない。したがって、従来の技術では、ユーザが指揮する操作自体に楽しさを感じられるような娯楽的な要素を加味することができなかった。   However, the conventional technologies such as the devices disclosed in Patent Document 1 and Patent Document 2 provide only the interest of controlling the tempo of music performance and changing the performance volume by the strength of the conductor at best. I can't. Therefore, in the conventional technology, it is not possible to add an entertaining element that makes the user feel fun in the operation conducted by the user.

それ故に、本発明の目的は、入力装置の動作に応じて、多様な演奏変化を生じさせて音楽を演奏する音楽演奏プログラムおよび音楽演奏装置を提供することである。   SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a music performance program and a music performance device that perform music by causing various performance changes according to the operation of the input device.

上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。   In order to achieve the above object, the present invention employs the following configuration. Note that the reference numerals in parentheses, step numbers, and the like indicate correspondence with the embodiments described later in order to help understanding of the present invention, and do not limit the scope of the present invention.

第1の発明は、少なくとも1軸方向の加速度を検出する加速度センサ(701)を備えた入力装置(7)で検出された加速度に応じて操作される装置(3)のコンピュータ(30)で実行される音楽演奏プログラムである。音楽演奏プログラムは、加速度データ取得ステップ(S54)、加速度算出ステップ(S55、S58)、トラックデータ選択ステップ(S63、S66、S70)、および音楽演奏ステップ(S68)をコンピュータに実行させる。加速度データ取得ステップは、加速度センサから出力される加速度データ(Da)を取得する。加速度算出ステップは、取得した加速度データを用いて、加速度の大きさ(V、D)を算出する。トラックデータ選択ステップは、算出された加速度の大きさに基づいて、記憶手段(33)に記憶された複数のトラックデータ(Td、図16、図17)を含む楽曲データ(Dd)から演奏対象とするトラックデータを少なくとも1つ選択する。音楽演奏ステップは、トラックデータ選択ステップにおいて選択されたトラックデータに基づいて、音響発生機器(2a)から発生する楽音を制御するためのデータを出力する。トラックデータ選択ステップでは、加速度算出ステップにおいて算出された加速度の大きさが大きいほど、演奏対象とするトラックデータの数が多く選択される。 The first invention is executed by the computer (30) of the device (3) operated according to the acceleration detected by the input device (7) provided with the acceleration sensor (701) for detecting acceleration in at least one axial direction. Is a music performance program. The music performance program causes the computer to execute an acceleration data acquisition step (S54), an acceleration calculation step (S55, S58), a track data selection step (S63, S66, S70), and a music performance step (S68). The acceleration data acquisition step acquires acceleration data (Da) output from the acceleration sensor. In the acceleration calculating step, the magnitude (V, D) of acceleration is calculated using the acquired acceleration data. In the track data selection step, based on the calculated magnitude of acceleration, the music data (Dd) including a plurality of track data (Td, FIG. 16, FIG. 17) stored in the storage means (33) is selected as a performance target. At least one track data to be selected is selected. Music performance step, based on the track data selected in the track data selection step, and outputs the data for controlling a tone to be generated from the sound generating device (2a). In the track data selection step, as the magnitude of the acceleration calculated in the acceleration calculation step is larger, the number of track data to be played is selected.

第2の発明は、上記第1の発明において、トラックデータ選択ステップでは、演奏対象とするトラックデータの数を増やす際、加速度算出ステップにおいて算出された加速度の大きさが相対的に小さい場合に選択するトラックデータに、さらに別のトラックデータを加えることによって当該演奏対象とするトラックデータの数が増やされる
第3の発明は、上記第1の発明において、トラック選択テーブルデータ設定ステップを、さらにコンピュータに実行させる。トラック選択テーブルデータ設定ステップは、加速度の大きさが取り得る範囲を複数の範囲に分割し、当該分割された範囲毎に演奏対象とするトラックデータをそれぞれ対応させたトラック選択テーブルを予め設定する。トラックデータ選択ステップでは、トラック選択テーブルを参照して、加速度算出ステップにおいて算出された加速度の大きさが含まれる範囲に対応するトラックデータが、演奏対象とするトラックデータとして選択される。
According to a second aspect of the present invention, in the first aspect of the invention, in the track data selection step, when the number of track data to be played is increased, the selection is made when the magnitude of the acceleration calculated in the acceleration calculation step is relatively small. By adding another track data to the track data to be played, the number of track data to be played is increased .
According to a third aspect, in the first aspect, the computer further executes a track selection table data setting step. In the track selection table data setting step, a range in which the magnitude of acceleration can be taken is divided into a plurality of ranges, and a track selection table in which track data to be played is associated with each divided range is set in advance. In the track data selection step, the track data corresponding to the range including the magnitude of the acceleration calculated in the acceleration calculation step is selected as track data to be played with reference to the track selection table.

の発明は、上記第1の発明において、加速度算出ステップは、差分算出ステップ(S57、S58)を含む。差分算出ステップは、前回取得した加速度データを用いて算出した加速度(Xa0、Ya0、Za0)と今回取得した加速度データを用いて算出した加速度(Xa、Ya、Za)との差分(D)を算出する。トラックデータ選択ステップでは、加速度算出ステップにおいて算出された加速度の大きさと差分算出ステップにおいて算出された加速度の差分に基づいて、演奏対象とするトラックデータが選択される(S66、S70)。 In a fourth aspect based on the first aspect, the acceleration calculating step includes a difference calculating step (S57, S58). The difference calculation step calculates a difference (D) between the acceleration (Xa0, Ya0, Za0) calculated using the previously acquired acceleration data and the acceleration (Xa, Ya, Za) calculated using the acceleration data acquired this time. To do. In the track data selection step, based on the acceleration calculated in the acceleration measurement and difference calculating step calculated in the acceleration calculation step difference, track data representing a target music to play is selected (S66, S70).

の発明は、上記第の発明において、加速度差分ピーク値検出ステップ(S64)を、さらにコンピュータに実行させる。加速度差分ピーク値検出ステップは、差分算出ステップにおいて算出された加速度の差分の履歴(Dc)を用いて、それら加速度の差分のピーク値(Dp)を検出する。トラックデータ選択ステップでは、加速度算出ステップにおいて算出された加速度の大きさと加速度差分ピーク値検出ステップにおいて検出された加速度の差分のピーク値に基づいて、演奏対象とするトラックデータが選択される。 In a fifth aspect based on the fourth aspect , the computer further causes the acceleration difference peak value detecting step (S64) to be executed. Acceleration difference peak value detection step, by using the difference of the history of the calculated acceleration (Dc) in the difference calculation step, for detecting the difference between the peak value thereof acceleration (Dp). In the track data selection step, based on the peak value of the difference between the detected acceleration in the acceleration measurement and the acceleration difference peak value detection step calculated in the acceleration calculation step, the track data representing a target music to play is selected.

の発明は、上記第1の発明において、楽曲データは、それぞれ異なったトラックデータから成る複数のトラックデータ群(Sd)を含む。加速度算出ステップでは、今回取得した加速度データから算出した加速度の大きさ(V)、および前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分(D)が算出される。音楽演奏プログラムは、加速度差分ピーク値検出ステップを、さらにコンピュータに実行させる。加速度差分ピーク値検出ステップは、加速度算出ステップにおいて算出された加速度の差分の履歴を用いて、それら加速度の差分のピーク値を検出する。トラックデータ選択ステップでは、加速度差分ピーク値検出ステップにおいて検出された加速度の差分のピーク値に基づいて演奏対象とするトラックデータ群が選択され、加速度算出ステップにおいて算出された加速度の大きさに基づいて演奏対象のトラックデータ群から演奏対象のトラックデータが選択される。 In a sixth aspect based on the first aspect, the song data includes a plurality of track data groups (Sd) each consisting of different track data. In the acceleration calculation step, the magnitude (V) of the acceleration calculated from the acceleration data acquired this time and the difference between the acceleration calculated using the acceleration data acquired last time and the acceleration calculated using the acceleration data acquired this time (D ) Is calculated. Music performance program, the acceleration difference peak value detection step, causes the computer to further execute. Acceleration difference peak value detection step, using the acceleration differential History calculated in the acceleration calculation step, detecting a peak value of the difference of their acceleration. In the track data selection step, a track data group to be played is selected based on the peak value of the acceleration difference detected in the acceleration difference peak value detection step , and based on the magnitude of the acceleration calculated in the acceleration calculation step. The track data to be played is selected from the track data group to be played.

の発明は、上記第1の発明において、加速度センサは、入力装置に対して互いに直交する複数軸方向(X、Y、Z軸方向)の加速度をそれぞれ検出する。加速度算出ステップでは、取得した加速度データを用いて、複数軸方向それぞれの加速度ベクトルを合成した合成ベクトルの大きさが算出される。 In a seventh aspect based on the first aspect, the acceleration sensor detects accelerations in a plurality of axial directions (X, Y, Z-axis directions) orthogonal to the input device. In the acceleration calculation step, the size of a combined vector obtained by combining the acceleration vectors in the plurality of axial directions is calculated using the acquired acceleration data.

の発明は、上記第の発明において、加速度センサは、入力装置に対して互いに直交する複数軸方向の加速度をそれぞれ検出する。差分算出ステップでは、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を複数軸方向それぞれに算出し、それら複数軸方向それぞれの差分ベクトルを合成した差分合成ベクトルの大きさが加速度の差分として算出される。 In an eighth aspect based on the fourth aspect , the acceleration sensor detects accelerations in a plurality of axial directions orthogonal to the input device. In the difference calculation step, the difference between the acceleration calculated using the acceleration data acquired last time and the acceleration calculated using the acceleration data acquired this time is calculated for each of the multi-axis directions, and the difference vectors for each of the multi-axis directions are combined. The magnitude of the difference composite vector is calculated as the acceleration difference.

の発明は、上記第1の発明において、複数のトラックデータには、それぞれ異なった楽器が割り当てられている。表示処理ステップを、さらにコンピュータに実行させる。表示処理ステップは、トラックデータに割り当てられた楽器をそれぞれ仮想ゲーム世界に配置し、トラックデータ選択ステップで選択されたトラックデータに割り当てられた楽器のみが演奏されるアクションを表示装置(2)に表示する(図8、図9)。 In a ninth aspect based on the first aspect, different musical instruments are assigned to the plurality of track data. The display processing step is further executed by the computer. In the display processing step, the musical instrument assigned to the track data is arranged in the virtual game world, and an action in which only the musical instrument assigned to the track data selected in the track data selection step is played is displayed on the display device (2). (FIGS. 8 and 9).

10の発明は、上記第1の発明において、複数のトラックデータには、それぞれ異なった楽器の演奏データが割り当てられている。 In a tenth aspect based on the first aspect, performance data of different instruments is assigned to the plurality of track data.

第1の発明は、上記第の発明において、トラックデータ群に割り当てられる演奏データは、他のトラックデータ群に割り当てられる演奏データに対して、同じ楽曲で奏法、ビート数、および曲調の少なくとも1つが互いに異なる。 First aspect of the invention, in the sixth invention, the performance data assigned to the track data group, to the performance data to be allocated to another track data group, playing the same song, the number of beats, and melody of at least One is different from each other.

第1の発明は、上記第1の発明において、装置は、音響発生機器から楽音を発生させる音源(34、35)を備えている。楽曲データに含まれる複数のトラックデータは、それぞれ音源の制御データで構成される。音楽演奏ステップでは、トラックデータ選択ステップで選択されたトラックデータに記述された制御データが出力されて音源が制御される。 First and second invention, in the first aspect, the apparatus includes a sound source (34, 35) for generating a musical tone from the sound generating device. Each of the plurality of track data included in the music data is composed of sound source control data. In the music performance step, the control data described in the track data selected in the track data selection step is output to control the sound source.

第1の発明は、少なくとも1軸方向の加速度を検出する加速度センサを備えた入力装置で検出された加速度に応じて操作される音楽演奏装置である。音楽演奏装置は、加速度データ取得手段、加速度算出手段、トラックデータ選択手段、および音楽演奏手段を備える。加速度データ取得手段は、加速度センサから出力される加速度データを取得する。加速度算出手段は、取得した加速度データを用いて、加速度の大きさを算出する。トラックデータ選択手段は、算出された加速度の大きさに基づいて、記憶手段に記憶された複数のトラックデータを含む楽曲データから演奏対象とするトラックデータを少なくとも1つ選択する。音楽演奏手段は、トラックデータ選択手段が選択したトラックデータに基づいて、音響発生機器から発生する楽音を制御するためのデータを出力する。トラックデータ選択手段は、加速度算出手段が算出した加速度の大きさが大きいほど、演奏対象とするトラックデータの数を多く選択する。 A thirteenth aspect of the present invention is a music performance device that is operated in accordance with acceleration detected by an input device that includes an acceleration sensor that detects acceleration in at least one axial direction. The music performance device includes acceleration data acquisition means, acceleration calculation means, track data selection means, and music performance means. The acceleration data acquisition means acquires acceleration data output from the acceleration sensor. The acceleration calculation means calculates the magnitude of acceleration using the acquired acceleration data. The track data selection means selects at least one track data to be played from music data including a plurality of track data stored in the storage means based on the calculated magnitude of acceleration. The music performance means outputs data for controlling the musical sound generated from the sound generating device based on the track data selected by the track data selection means. The track data selection means selects a larger number of track data to be played as the acceleration calculated by the acceleration calculation means is larger.

上記第1の発明によれば、加速度センサの加速度の大きさによって、演奏対象とするトラックを変化させるので、入力装置の振り動かし方に応じて多様な演奏変化を生じさせることができる。   According to the first aspect, since the track to be played is changed according to the magnitude of the acceleration of the acceleration sensor, various performance changes can be caused depending on how the input device is swung.

上記第の発明によれば、加速度の大きさの差分によって、演奏対象とするトラックを変化させるので、入力装置の振り動かすときの柔らかさ等に応じて音楽演奏を変化させることができる。 According to the fourth aspect , since the track to be played is changed according to the difference in the magnitude of acceleration, the music performance can be changed according to the softness when the input device is swung.

上記第の発明によれば、加速度の大きさの差分のピーク値によって、演奏対象とするトラックを変化させるので、入力装置の振り動かすときの拍タイミングにおけるメリハリの有無等に応じて音楽演奏を変化させることができる。 According to the fifth aspect , since the track to be played is changed according to the peak value of the difference in the magnitude of acceleration, the music performance is performed according to the presence / absence of sharpness at the beat timing when the input device is swung. Can be changed.

上記第の発明によれば、加速度の大きさの差分のピーク値によって演奏対象とするトラック群を変化させ、加速度の大きさによって当該トラック群からトラックを変化させるので、さらに多様な演奏変化を生じさせることができる。 According to the sixth aspect, by changing the track group representing a target music to play by the acceleration of the magnitude of the difference of the peak value, so alters the tracks from Thus the track group to the magnitude of the acceleration, more various performances change Can be generated.

上記第および第の発明によれば、互いに直交する複数軸方向の加速度をそれぞれ検出する加速度センサを用いているため、ユーザが入力装置を持つ方向に関わらず、入力装置の振り動かし方に応じて音楽演奏を変化させることができる。 According to the seventh and eighth inventions, since the acceleration sensor that detects accelerations in the directions of a plurality of axes orthogonal to each other is used, regardless of the direction in which the user holds the input device, the input device can be swung. The music performance can be changed accordingly.

上記第の発明によれば、演奏対象とする楽器が変化している様子を表示装置に表示することができる。 According to the ninth aspect, it is possible to display on the display device how the musical instrument to be played has changed.

上記第10の発明によれば、選択するトラックデータを変化させることによって演奏される楽器種が変化するため、入力装置の振り動かし方に応じて楽曲の演奏内容を変化させることができる。 According to the tenth aspect of the invention, the musical instrument type to be played is changed by changing the track data to be selected. Therefore, the performance content of the music can be changed according to how the input device is swung.

上記第1の発明によれば、選択するトラックデータ群を変化させることによって演奏される奏法、ビート数、曲調等が変化するため、入力装置の振り動かし方に応じて演奏される楽曲の表現を変えることができる。 According to the first aspect of the invention, the rendition style, number of beats to be played by changing the track data group selecting, for changes tune or the like, expression of the music that is played in accordance with the swing move how the input device Can be changed.

上記第1の発明によれば、MIDIデータを用いて容易に実現することができる。 According to the first and second invention can be readily implemented using MIDI data.

本発明の音楽演奏装置によれば、上述した音楽演奏プログラムと同様の効果を得ることができる。   According to the music performance device of the present invention, the same effects as those of the music performance program described above can be obtained.

本発明の一実施形態に係るゲームシステム1を説明するための外観図1 is an external view for explaining a game system 1 according to an embodiment of the present invention. 図1のゲーム装置3の機能ブロック図Functional block diagram of the game apparatus 3 of FIG. 図3のコントローラ7の上面後方から見た斜視図The perspective view seen from the upper surface rear of the controller 7 of FIG. 図3のコントローラ7を下面後方から見た斜視図The perspective view which looked at the controller 7 of FIG. 3 from the lower surface back. コントローラ7の上筐体を外した状態を示す斜視図The perspective view which shows the state which removed the upper housing | casing of the controller 7. コントローラ7の下筐体を外した状態を示す斜視図The perspective view which shows the state which removed the lower housing | casing of the controller 7. 図3のコントローラ7の構成を示すブロック図The block diagram which shows the structure of the controller 7 of FIG. 図3のコントローラ7を用いてゲーム操作するときの状態を概説する図解図An illustrative view outlining the state when operating the game using the controller 7 of FIG. モニタ2に表示するゲーム画像の一例を示す図The figure which shows an example of the game image displayed on the monitor 2 モニタ2に表示するゲーム画像の他の例を示す図The figure which shows the other example of the game image displayed on the monitor 2 コントローラ7を水平に静止させた状態とコントローラ7に加わる加速度との関係を説明するための図The figure for demonstrating the relationship between the state which made the controller 7 stand still horizontally, and the acceleration added to the controller 7 コントローラ7を上方向に振り上げた状態とコントローラ7に加わる加速度との関係を説明するための図The figure for demonstrating the relationship between the state which swung the controller 7 up and the acceleration added to the controller 7 コントローラ7を下方向に振り下げた状態とコントローラ7に加わる加速度との関係を説明するための図The figure for demonstrating the relationship between the state which swinged down the controller 7 and the acceleration added to the controller 7 プレイヤがコントローラ7を大きく振り動かし、各拍子をとるタイミングでメリハリのある振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of the synthetic | combination vector which appears when a player shakes the controller 7 largely and makes the way of swinging with the timing which takes each time signature. 図11Aで示す合成ベクトルを得たときにおける差分合成ベクトルの大きさ変化の一例を示すグラフFIG. 11A is a graph showing an example of a change in the magnitude of the differential composite vector when the composite vector shown in FIG. 11A is obtained. 図11Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0とした大きさ変化の一例を示すグラフFIG. 11A is a graph showing an example of a magnitude change in which the period during which the linear acceleration in the Y-axis positive direction is obtained is zero, in the composite vector shown in FIG. 11A. プレイヤがコントローラ7を小さく振り動かし、各拍子をとるタイミングでメリハリのある振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of the synthetic | combination vector which appears when a player shakes the controller 7 small and makes the way of swinging with the timing which takes each time signature. 図12Aで示す合成ベクトルを得たときにおける差分合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of a difference synthetic | combination vector when the synthetic | combination vector shown in FIG. 12A is obtained. 図12Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0とした大きさ変化の一例を示すグラフFIG. 12A is a graph showing an example of a magnitude change in which the period during which the linear acceleration in the Y-axis positive direction is obtained has a magnitude of 0 in the combined vector shown in FIG. プレイヤがコントローラ7を大きく振り動かし、各拍子をとるタイミングをやわらかくメリハリが少ない振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of the synthetic | combination vector which appears when a player shakes the controller 7 largely and the timing which takes each time is soft and there is little sharpness. 図13Aで示す合成ベクトルを得たときにおける差分合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of a difference synthetic | combination vector when the synthetic | combination vector shown in FIG. 13A is obtained. 図13Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0とした大きさ変化の一例を示すグラフFIG. 13A is a graph showing an example of a magnitude change in which the period during which the linear acceleration in the Y-axis positive direction is obtained is zero, in the combined vector shown in FIG. 13A. プレイヤがコントローラ7を小さく振り動かし、各拍子をとるタイミングをやわらかくメリハリが少ない振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフThe graph which shows an example of the magnitude | size change of the synthetic | combination vector which appears when a player shakes the controller 7 small and the timing which takes each time is soft and there is little sharpness. 図14Aで示す合成ベクトルを得たときにおける差分合成ベクトルの大きさ変化の一例を示すグラフFIG. 14A is a graph showing an example of a change in the magnitude of the differential composite vector when the composite vector shown in FIG. 14A is obtained. 図14Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0とした大きさ変化の一例を示すグラフFIG. 14A is a graph showing an example of a magnitude change in which the period during which the linear acceleration in the Y-axis positive direction is obtained is zero, in the composite vector shown in FIG. 14A. ゲーム装置3のメインメモリ33に記憶される主なプログラムおよびデータを示す図The figure which shows the main programs and data memorize | stored in the main memory 33 of the game device 3 シーケンスデータの一例を示す図Diagram showing an example of sequence data シーケンスデータの他の例を示す図Diagram showing another example of sequence data トラック選択テーブルの一例を示す図The figure which shows an example of a track selection table シーケンス選択テーブルの一例を示す図The figure which shows an example of a sequence selection table ゲーム装置3において実行される音楽演奏処理の流れの前半を示すフローチャートThe flowchart which shows the first half of the flow of the music performance process performed in the game device 3 ゲーム装置3において実行される音楽演奏処理の流れの後半を示すフローチャートThe flowchart which shows the second half of the flow of the music performance process performed in the game device 3

図1を参照して、本発明の一実施形態に係る音楽演奏装置について説明する。以下、説明を具体的にするために、当該音楽演奏装置を用いたゲームシステム1を一例として説明する。なお、図1は、当該ゲームシステム1を説明するための外観図である。以下、本発明の音楽演奏装置に相当する据置型ゲーム装置を一例にして、当該ゲームシステム1について説明する。   With reference to FIG. 1, a music performance device according to an embodiment of the present invention will be described. Hereinafter, for the sake of specific explanation, a game system 1 using the music performance device will be described as an example. FIG. 1 is an external view for explaining the game system 1. Hereinafter, the game system 1 will be described by taking a stationary game device corresponding to the music performance device of the present invention as an example.

図1において、当該ゲームシステム1は、家庭用テレビジョン受像機等のスピーカ2aを備えたディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3は、接続端子を介して受信ユニット6が接続される。受信ユニット6は、コントローラ7から無線送信される送信データを受信し、コントローラ7とゲーム装置3とは無線通信によって接続される。また、ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。ゲーム装置3の上部主面には、当該ゲーム装置3の電源ON/OFFスイッチ、ゲーム処理のリセットスイッチ、およびゲーム装置3上部の蓋を開くOPENスイッチが設けられている。ここで、プレイヤがOPENスイッチを押下することによって上記蓋が開き、光ディスク4の脱着が可能となる。   In FIG. 1, the game system 1 includes a stationary game apparatus (hereinafter referred to as a monitor) 2 connected to a display (hereinafter referred to as a monitor) 2 having a speaker 2a such as a home television receiver via a connection cord. 3) and a controller 7 that gives operation information to the game apparatus 3. The game apparatus 3 is connected to the receiving unit 6 via a connection terminal. The receiving unit 6 receives transmission data wirelessly transmitted from the controller 7, and the controller 7 and the game apparatus 3 are connected by wireless communication. Further, an optical disk 4 as an example of an information storage medium that can be used interchangeably with the game apparatus 3 is attached to and detached from the game apparatus 3. The upper main surface of the game apparatus 3 is provided with a power ON / OFF switch of the game apparatus 3, a reset switch for game processing, and an OPEN switch for opening the lid on the upper part of the game apparatus 3. Here, when the player presses the OPEN switch, the lid is opened, and the optical disk 4 can be attached and detached.

また、ゲーム装置3には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ2に表示する。さらに、ゲーム装置3は、外部メモリカード5に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。   Further, an external memory card 5 equipped with a backup memory or the like for storing save data or the like in a fixed manner is detachably attached to the game apparatus 3 as necessary. The game apparatus 3 displays a result as a game image on the monitor 2 by executing a game program or the like stored on the optical disc 4. Furthermore, the game apparatus 3 can reproduce the game state executed in the past by using the save data stored in the external memory card 5 and display the game image on the monitor 2. Then, the player of the game apparatus 3 can enjoy the progress of the game by operating the controller 7 while viewing the game image displayed on the monitor 2.

コントローラ7は、その内部に備える通信部75(後述)から受信ユニット6が接続されたゲーム装置3へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて送信データを無線送信する。コントローラ7は、主にモニタ2に表示されるゲーム空間に登場するプレイヤオブジェクトを操作するための操作手段である。コントローラ7は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力する。なお、本実施例では、撮像情報演算部74による撮像情報を用いないため、マーカ8Lおよび8Rを設置しなくてもかまわない。   The controller 7 wirelessly transmits transmission data from a communication unit 75 (described later) provided therein to the game apparatus 3 to which the receiving unit 6 is connected, using, for example, Bluetooth (registered trademark) technology. The controller 7 is an operation means for operating a player object appearing in a game space mainly displayed on the monitor 2. The controller 7 is provided with an operation unit such as a plurality of operation buttons, keys, and sticks. Further, as will be apparent from the description below, the controller 7 includes an imaging information calculation unit 74 that captures an image viewed from the controller 7. In addition, as an example of an imaging target of the imaging information calculation unit 74, two LED modules (hereinafter referred to as markers) 8L and 8R are installed near the display screen of the monitor 2. These markers 8L and 8R each output infrared light toward the front of the monitor 2. In this embodiment, since the imaging information by the imaging information calculation unit 74 is not used, the markers 8L and 8R need not be installed.

次に、図2を参照して、ゲーム装置3の構成について説明する。なお、図2は、ゲーム装置3の機能ブロック図である。   Next, the configuration of the game apparatus 3 will be described with reference to FIG. FIG. 2 is a functional block diagram of the game apparatus 3.

図2において、ゲーム装置3は、各種プログラムを実行する例えばリスク(RISC)CPU(セントラルプロセッシングユニット)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。なお、光ディスク4に記憶されているゲームプログラムが本発明の音楽演奏プログラムを含んでおり、CPU30は、上記ゲーム処理の中でコントローラ7の動きに応じて演奏するための音楽演奏処理も行っている。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバスを介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット6、モニタ2、外部メモリカード5、スピーカ2a、およびディスクドライブ40が接続されている。   In FIG. 2, the game apparatus 3 includes, for example, a risk (RISC) CPU (Central Processing Unit) 30 that executes various programs. The CPU 30 executes a startup program stored in a boot ROM (not shown), initializes a memory such as the main memory 33, and the like, then executes a game program stored in the optical disc 4, and according to the game program Game processing and the like. Note that the game program stored on the optical disc 4 includes the music performance program of the present invention, and the CPU 30 also performs music performance processing for performing performance according to the movement of the controller 7 in the game processing. . A GPU (Graphics Processing Unit) 32, a main memory 33, a DSP (Digital Signal Processor) 34, and an ARAM (Audio RAM) 35 are connected to the CPU 30 via a memory controller 31. The memory controller 31 is connected to a controller I / F (interface) 36, a video I / F 37, an external memory I / F 38, an audio I / F 39, and a disk I / F 41 via a predetermined bus. The receiving unit 6, the monitor 2, the external memory card 5, the speaker 2a, and the disk drive 40 are connected.

GPU32は、CPU30の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて画像処理を行う。GPU32は、これらを用いてモニタ2に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。   The GPU 32 performs image processing based on an instruction from the CPU 30, and is configured by a semiconductor chip that performs calculation processing necessary for displaying 3D graphics, for example. The GPU 32 performs image processing using a memory dedicated to image processing (not shown) and a partial storage area of the main memory 33. The GPU 32 generates game image data and movie video to be displayed on the monitor 2 using these, and outputs them to the monitor 2 through the memory controller 31 and the video I / F 37 as appropriate.

メインメモリ33は、CPU30で使用される記憶領域であって、CPU30の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ33は、CPU30によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ33に記憶されたゲームプログラムや各種データ等がCPU30によって実行される。   The main memory 33 is a storage area used by the CPU 30 and stores game programs and the like necessary for the processing of the CPU 30 as appropriate. For example, the main memory 33 stores a game program read from the optical disc 4 by the CPU 30 and various data. The game program and various data stored in the main memory 33 are executed by the CPU 30.

DSP34は、ゲームプログラム実行時にCPU30において処理されるサウンドデータ(例えば、MIDI(Musical Instrument Digital Interface)データ)等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。そして、MIDIデータに基づいて音楽を演奏する場合、DSP34およびARAM35がMIDI音源として機能する。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ2に備えるスピーカ2aに出力させる。   The DSP 34 processes sound data (for example, MIDI (Musical Instrument Digital Interface) data) processed by the CPU 30 when the game program is executed, and is connected to an ARAM 35 for storing the sound data. When playing music based on MIDI data, the DSP 34 and ARAM 35 function as a MIDI sound source. The ARAM 35 is used when the DSP 34 performs a predetermined process (for example, storage of a pre-read game program or sound data). The DSP 34 reads the sound data stored in the ARAM 35 and outputs the sound data to the speaker 2 a included in the monitor 2 via the memory controller 31 and the audio I / F 39.

メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fが接続される。コントローラI/F36は、例えば4つのコントローラI/F36a〜36dで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置3とを通信可能に接続する。例えば、受信ユニット6は、上記コネクタと嵌合し、コントローラI/F36を介してゲーム装置3と接続される。上述したように受信ユニット6は、コントローラ7からの送信データを受信し、コントローラI/F36を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ2が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。オーディオI/F39にはモニタ2に内蔵されるスピーカ2aが接続され、DSP34がARAM35から読み出したサウンドデータやディスクドライブ40から直接出力されるサウンドデータをスピーカ2aから出力可能に接続される。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置3のバスやオーディオI/F39に出力する。   The memory controller 31 controls the overall data transfer and is connected to the various I / Fs described above. The controller I / F 36 includes, for example, four controller I / Fs 36a to 36d, and connects the external device and the game apparatus 3 that can be fitted to each other via a connector included in the controller I / F 36 so as to communicate with each other. For example, the receiving unit 6 is fitted with the connector and connected to the game apparatus 3 via the controller I / F 36. As described above, the receiving unit 6 receives the transmission data from the controller 7 and outputs the transmission data to the CPU 30 via the controller I / F 36. A monitor 2 is connected to the video I / F 37. An external memory card 5 is connected to the external memory I / F 38 and can access a backup memory or the like provided in the external memory card 5. A speaker 2a built in the monitor 2 is connected to the audio I / F 39 so that sound data read out from the ARAM 35 by the DSP 34 or sound data directly output from the disk drive 40 can be output from the speaker 2a. A disk drive 40 is connected to the disk I / F 41. The disk drive 40 reads data stored on the optical disk 4 arranged at a predetermined reading position, and outputs the data to the bus of the game apparatus 3 and the audio I / F 39.

図3および図4を参照して、本発明の入力装置の一例であるコントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面後方から見た斜視図である。   With reference to FIG. 3 and FIG. 4, the controller 7 which is an example of the input device of this invention is demonstrated. FIG. 3 is a perspective view of the controller 7 as viewed from the upper rear side. FIG. 4 is a perspective view of the controller 7 as viewed from the bottom rear side.

図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。   3 and 4, the controller 7 includes a housing 71 formed by plastic molding, for example, and the housing 71 is provided with a plurality of operation units 72. The housing 71 has a substantially rectangular parallelepiped shape whose longitudinal direction is the front-rear direction, and is a size that can be gripped with one hand of an adult or a child as a whole.

ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、矢印で示す4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。   A cross key 72 a is provided on the center front side of the upper surface of the housing 71. The cross key 72a is a cross-shaped four-direction push switch, and operation portions corresponding to the four directions (front and rear, left and right) indicated by arrows are arranged at 90 ° intervals on the cross protruding pieces, respectively. The player selects one of the front, rear, left and right directions by pressing one of the operation portions of the cross key 72a. For example, when the player operates the cross key 72a, it is possible to instruct the moving direction of the player character or the like appearing in the virtual game world, or to instruct the moving direction of the cursor.

なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に4方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー72aの代わりに設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。また、少なくとも4つの方向(前後左右)をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。   Note that the cross key 72a is an operation unit that outputs an operation signal in response to the above-described direction input operation of the player, but may be an operation unit of another mode. For example, instead of the cross key 72a, a composite switch in which a push switch having a four-direction operation portion in a ring shape and a center switch provided at the center thereof may be provided. Further, an operation unit that outputs an operation signal according to the tilt direction by tilting a tiltable stick protruding from the upper surface of the housing 71 may be provided instead of the cross key 72a. Furthermore, an operation unit that outputs an operation signal corresponding to the sliding direction by sliding a horizontally movable disk-shaped member may be provided instead of the cross key 72a. Further, a touch pad may be provided instead of the cross key 72a. Further, an operation unit that outputs an operation signal in response to a switch pressed by the player may be provided instead of the cross key 72a for switches indicating at least four directions (front / rear / left / right).

ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、Xボタン、Yボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、セレクトスイッチ、メニュースイッチ、およびスタートスイッチ等としての機能が割り当てられる。これら操作ボタン72b〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの機能が割り当てられるが、本発明の説明とは直接関連しないため詳細な説明を省略する。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。   A plurality of operation buttons 72 b to 72 g are provided on the rear surface side of the cross key 72 a on the upper surface of the housing 71. The operation buttons 72b to 72g are operation units that output operation signals assigned to the operation buttons 72b to 72g when the player presses the button head. For example, functions such as an X button, a Y button, and an A button are assigned to the operation buttons 72b to 72d. Further, functions as a select switch, a menu switch, a start switch, and the like are assigned to the operation buttons 72e to 72g. Each of these operation buttons 72b to 72g is assigned a function according to a game program executed by the game apparatus 3, but will not be described in detail because it is not directly related to the present invention. In the arrangement example shown in FIG. 3, the operation buttons 72 b to 72 d are arranged side by side along the center front-rear direction on the upper surface of the housing 71. Further, the operation buttons 72e to 72g are arranged in parallel between the operation buttons 72b and 72d along the left-right direction of the upper surface of the housing 71. The operation button 72f is a type of button whose upper surface is buried in the upper surface of the housing 71 and is not accidentally pressed by the player.

また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。   An operation button 72h is provided on the front surface side of the cross key 72a on the upper surface of the housing 71. The operation button 72h is a power switch for remotely turning on / off the game apparatus 3 main body. This operation button 72h is also a type of button whose upper surface is buried in the upper surface of the housing 71 and that the player does not accidentally press.

また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7から受信ユニット6へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。   A plurality of LEDs 702 are provided on the rear surface side of the operation button 72 c on the upper surface of the housing 71. Here, the controller 7 is provided with a controller type (number) to distinguish it from other controllers 7. For example, the LED 702 is used to notify the player of the controller type currently set in the controller 7. Specifically, when transmission data is transmitted from the controller 7 to the receiving unit 6, the LED corresponding to the type among the plurality of LEDs 702 is turned on according to the controller type.

一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、プレイヤがコントローラ7を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部であり、シューティングゲームにおけるトリガスイッチや、プレイヤオブジェクトを所定オブジェクトに対して注目させる操作等に用いられる。   On the other hand, a recess is formed on the lower surface of the housing 71. The recess on the lower surface of the housing 71 is formed at a position where the player's index finger or middle finger is positioned when the player holds the controller 7. And the operation button 72i is provided in the rear surface side inclined surface of the said recessed part. The operation button 72i is an operation unit that functions as a B button, for example, and is used for a trigger switch in a shooting game, an operation for causing a player object to focus on a predetermined object, or the like.

また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えば32ピンのエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。なお、本発明では、この撮像情報演算部74からの情報を用いないため、ここではこれ以上の説明を省略する。   An imaging element 743 that constitutes a part of the imaging information calculation unit 74 is provided on the front surface of the housing 71. Here, the imaging information calculation unit 74 is a system for analyzing the image data captured by the controller 7 to determine a location where the luminance is high and detecting the position of the center of gravity, the size, and the like of the location. Since the maximum sampling period is about 200 frames / second, even a relatively fast movement of the controller 7 can be tracked and analyzed. A connector 73 is provided on the rear surface of the housing 70. The connector 73 is a 32-pin edge connector, for example, and is used for fitting and connecting with a connection cable, for example. In the present invention, since information from the imaging information calculation unit 74 is not used, further explanation is omitted here.

ここで、説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するXYZ軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をZ軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をZ軸正方向とする。また、コントローラ7の上下方向をY軸とし、ハウジング71の上面(十字キー72aが設けられた面)方向をY軸正方向とする。さらに、コントローラ7の左右方向をX軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をX軸正方向とする。   Here, in order to explain specifically, a coordinate system set for the controller 7 is defined. As shown in FIGS. 3 and 4, XYZ axes orthogonal to each other are defined for the controller 7. Specifically, the longitudinal direction of the housing 71, which is the front-rear direction of the controller 7, is the Z axis, and the front surface (the surface on which the imaging information calculation unit 74 is provided) of the controller 7 is the Z axis positive direction. The vertical direction of the controller 7 is defined as the Y axis, and the upper surface (the surface on which the cross key 72a is provided) of the housing 71 is defined as the Y axis positive direction. Further, the left-right direction of the controller 7 is taken as the X axis, and the left side surface (side face shown in FIG. 4 but not shown in FIG. 3) direction is taken as the X-axis positive direction.

次に、図5Aおよび図5Bを参照して、コントローラ7の内部構造について説明する。なお、図5Aは、コントローラ7の上筐体(ハウジング71の一部)を外した状態を示す斜視図である。図5Bは、コントローラ7の下筐体(ハウジング71の一部)を外した状態を示す斜視図である。ここで、図5Bに示す基板700は、図5Aに示す基板700の裏面から見た斜視図となっている。   Next, the internal structure of the controller 7 will be described with reference to FIGS. 5A and 5B. 5A is a perspective view showing a state in which the upper housing (a part of the housing 71) of the controller 7 is removed. FIG. 5B is a perspective view showing a state where the lower casing (a part of the housing 71) of the controller 7 is removed. Here, the substrate 700 shown in FIG. 5B is a perspective view seen from the back surface of the substrate 700 shown in FIG. 5A.

図5Aにおいて、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、水晶振動子703、無線モジュール753、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751(図6参照)に接続される。加速度センサ701は、コントローラ7が配置された3次元空間における傾きや振動等の算出に用いることができる加速度を検出して出力する。   5A, a substrate 700 is fixed inside the housing 71, and operation buttons 72a to 72h, an acceleration sensor 701, an LED 702, a crystal resonator 703, a wireless module 753, and a wireless module 753 are provided on the upper main surface of the substrate 700. An antenna 754 and the like are provided. These are connected to the microcomputer 751 (see FIG. 6) by wiring (not shown) formed on the substrate 700 or the like. The acceleration sensor 701 detects and outputs an acceleration that can be used for calculating inclination, vibration, and the like in the three-dimensional space in which the controller 7 is arranged.

より詳細には、図6に示すように、コントローラ7は3軸の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向(図3に示すY軸)、左右方向(図3に示すX軸)、および前後方向(図3に示すZ軸)で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、X軸とY軸(または他の対になった軸)とのそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。さらに、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、XYZ軸のいずれか1軸に沿った直線加速度のみを検知する1軸の加速度検出手段を使用してもよい。例えば、この3軸、2軸、または1軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro
Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であることが好ましい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸、2軸、または1軸の加速度センサ701が提供されてもよい。
More specifically, as shown in FIG. 6, the controller 7 preferably includes a triaxial acceleration sensor 701. The three-axis acceleration sensor 701 is linearly accelerated in three directions, that is, a vertical direction (Y axis shown in FIG. 3), a horizontal direction (X axis shown in FIG. 3), and a front-back direction (Z axis shown in FIG. 3). Is detected. In another embodiment, depending on the type of control signal used for game processing, a biaxial detection that detects only linear acceleration along each of the X axis and the Y axis (or other paired axes). An acceleration detection means may be used. Furthermore, in another embodiment, depending on the type of control signal used for the game process, a uniaxial acceleration detection unit that detects only linear acceleration along any one of the XYZ axes may be used. For example, the 3-axis, 2-axis, or 1-axis acceleration sensor 701 is of a type available from Analog Devices, Inc. or ST Microelectronics NV. But you can. The acceleration sensor 701 is a micro-machined MEMS (Micro Electro).
A capacitance type (capacitive coupling type) based on the technology of Mechanical Systems (microelectromechanical system) is preferable. However, even if a 3-axis, 2-axis, or 1-axis acceleration sensor 701 is provided by using existing acceleration detection technology (for example, a piezoelectric method or a piezoresistive method) or other appropriate technology that will be developed in the future. Good.

加速度センサ701に用いられるような加速度検出手段は、加速度センサ701の持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その1軸、2軸、または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。   The acceleration detecting means used in the acceleration sensor 701 can detect only the acceleration (linear acceleration) along a straight line corresponding to each axis of the acceleration sensor 701. That is, the direct output from the acceleration sensor 701 is a signal indicating linear acceleration (static or dynamic) along each of the one, two, or three axes. For this reason, the acceleration sensor 701 cannot directly detect physical characteristics such as movement, rotation, rotational movement, angular displacement, inclination, position, or posture along a non-linear (for example, arc) path.

しかしながら、加速度センサ701から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度(重力加速度)が検知されると、加速度センサ701からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象(コントローラ7)の傾きを判定することができる。このように、加速度センサ701をマイコン751(またはゲーム装置3に含まれるCPU30等の他のプロセッサ)と組み合わせて用いることによって、コントローラ7の傾き、姿勢、または位置を判定することができる。同様に、加速度センサ701を備えるコントローラ7がプレイヤの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7の様々な動きおよび/または位置を算出することができる。他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。   However, it is understood by those skilled in the art that additional information regarding the controller 7 can be estimated or calculated (determined) by performing additional processing on the acceleration signal output from the acceleration sensor 701. It will be easily understood from the explanation. For example, when static acceleration (gravity acceleration) is detected, the output of the acceleration sensor 701 is used to calculate the inclination of the target (controller 7) with respect to the gravity vector by calculation using the inclination angle and the detected acceleration. Can be determined. Thus, by using the acceleration sensor 701 in combination with the microcomputer 751 (or another processor such as the CPU 30 included in the game apparatus 3), the inclination, posture, or position of the controller 7 can be determined. Similarly, when the controller 7 with the acceleration sensor 701 is dynamically accelerated and moved by the player's hand, various movements of the controller 7 and / or by processing the acceleration signal generated by the acceleration sensor 701. The position can be calculated. In another embodiment, the acceleration sensor 701 is a built-in signal processing device or the like for performing desired processing on the acceleration signal output from the built-in acceleration detection means before outputting the signal to the microcomputer 751. This type of processing device may be provided.

また、無線モジュール753およびアンテナ754を有する通信部75によって、コントローラ7がワイヤレスコントローラとして機能する。なお、水晶振動子703は、後述するマイコン751の基本クロックを生成する。   Further, the controller 7 functions as a wireless controller by the communication unit 75 including the wireless module 753 and the antenna 754. The crystal resonator 703 generates a basic clock for the microcomputer 751 described later.

一方、図5Bにおいて、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。そして、操作ボタン72iが撮像情報演算部74の後方の基板700の下主面上に取り付けられていて、それよりさらに後方に、電池705が収容される。電池705とコネクタ73との間の基板700の下主面上には、バイブレータ704が取り付けられる。このバイブレータ704は、例えば振動モータやソレノイドであってよい。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。   On the other hand, in FIG. 5B, an imaging information calculation unit 74 is provided at the front edge on the lower main surface of the substrate 700. The imaging information calculation unit 74 includes an infrared filter 741, a lens 742, an imaging element 743, and an image processing circuit 744 in order from the front of the controller 7, and each is attached to the lower main surface of the substrate 700. A connector 73 is attached to the rear edge on the lower main surface of the substrate 700. And the operation button 72i is attached on the lower main surface of the board | substrate 700 in the back of the imaging information calculating part 74, and the battery 705 is accommodated in the back further. A vibrator 704 is attached on the lower main surface of the substrate 700 between the battery 705 and the connector 73. The vibrator 704 may be a vibration motor or a solenoid, for example. Since the vibration is generated in the controller 7 by the operation of the vibrator 704, the vibration is transmitted to the hand of the player holding it, and a so-called vibration-compatible game can be realized.

次に、図6を参照して、コントローラ7の内部構成について説明する。なお、図6は、コントローラ7の構成を示すブロック図である。   Next, the internal configuration of the controller 7 will be described with reference to FIG. FIG. 6 is a block diagram showing the configuration of the controller 7.

撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。   The imaging information calculation unit 74 includes an infrared filter 741, a lens 742, an imaging element 743, and an image processing circuit 744. The infrared filter 741 allows only infrared rays to pass from light incident from the front of the controller 7. The lens 742 condenses the infrared light that has passed through the infrared filter 741 and outputs the condensed infrared light to the image sensor 743. The imaging element 743 is a solid-state imaging element such as a CMOS sensor or a CCD, for example, and images the infrared rays collected by the lens 742. Therefore, the image sensor 743 captures only the infrared light that has passed through the infrared filter 741 and generates image data. Image data generated by the image sensor 743 is processed by an image processing circuit 744. Specifically, the image processing circuit 744 processes the image data obtained from the image sensor 743 to detect high-luminance portions, and transmits processing result data indicating the result of detecting their position coordinates and area to the communication unit 75. Output to. The imaging information calculation unit 74 is fixed to the housing 71 of the controller 7, and the imaging direction can be changed by changing the direction of the housing 71 itself.

加速度センサ701は、上述したようにコントローラ7の上下方向(Y軸方向)、左右方向(X軸方向)、および前後方向(Z軸方向)の3軸成分に分けてそれぞれ加速度を検知して出力するセンサである。加速度センサ701が検知した3軸成分の加速度を示すデータは、それぞれ通信部75へ出力される。この加速度センサ701から出力される加速度データに基づいて、コントローラ7の傾きや動きを判別することができる。なお、加速度センサ701は、特定のアプリケーションで必要なデータに応じて何れか2軸に対してそれぞれ加速度を検出する加速度センサや何れか1軸(例えば、Y軸)に対して加速度を検出する加速度センサが用いられてもかまわない。   As described above, the acceleration sensor 701 detects and outputs acceleration by dividing the controller 7 into three axis components in the vertical direction (Y-axis direction), the horizontal direction (X-axis direction), and the front-back direction (Z-axis direction). Sensor. Data indicating the acceleration of the three-axis components detected by the acceleration sensor 701 is output to the communication unit 75, respectively. Based on the acceleration data output from the acceleration sensor 701, the inclination and movement of the controller 7 can be determined. The acceleration sensor 701 is an acceleration sensor that detects acceleration with respect to any two axes according to data necessary for a specific application, or an acceleration that detects acceleration with respect to any one axis (for example, the Y axis). A sensor may be used.

通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。   The communication unit 75 includes a microcomputer (microcomputer) 751, a memory 752, a wireless module 753, and an antenna 754. The microcomputer 751 controls the wireless module 753 that wirelessly transmits transmission data while using the memory 752 as a storage area during processing.

コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(X、Y、およびZ軸方向加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、X、Y、およびZ軸方向加速度データ、処理結果データ)を受信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から受信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、受信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からのX、Y、およびZ軸方向加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置3の受信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、X、Y、およびZ軸方向加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Bluetooth(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。   An operation signal (key data) from the operation unit 72 provided in the controller 7, a triaxial acceleration signal (X, Y, and Z axis direction acceleration data) from the acceleration sensor 701, and an imaging information calculation unit 74 The processing result data is output to the microcomputer 751. The microcomputer 751 temporarily stores each input data (key data, X, Y, and Z-axis direction acceleration data, processing result data) as transmission data to be transmitted to the receiving unit 6 in the memory 752. Here, the wireless transmission from the communication unit 75 to the receiving unit 6 is performed every predetermined cycle, but since the game processing is generally performed in units of 1/60 seconds, it is shorter than that. It is necessary to transmit at periodic intervals. Specifically, the processing unit of the game is 16.7 ms (1/60 seconds), and the transmission interval of the communication unit 75 configured by Bluetooth (registered trademark) is 5 ms. When the transmission timing to the receiving unit 6 comes, the microcomputer 751 outputs the transmission data stored in the memory 752 as a series of operation information and outputs it to the wireless module 753. The wireless module 753 radiates operation information from the antenna 754 as a radio wave signal using a carrier wave of a predetermined frequency using, for example, Bluetooth (registered trademark) technology. That is, key data from the operation unit 72 provided in the controller 7, X, Y and Z axis direction acceleration data from the acceleration sensor 701, and processing result data from the imaging information calculation unit 74 are transmitted from the controller 7. . Then, the radio signal is received by the receiving unit 6 of the game apparatus 3, and the radio signal is demodulated or decoded by the game apparatus 3, thereby a series of operation information (key data, X, Y, and Z-axis direction acceleration data). , And processing result data). And CPU30 of the game device 3 performs a game process based on the acquired operation information and a game program. When the communication unit 75 is configured using the Bluetooth (registered trademark) technology, the communication unit 75 can also have a function of receiving transmission data wirelessly transmitted from other devices.

次に、ゲーム装置3が行う具体的な処理を説明する前に、本ゲーム装置3で行うゲームの概要について説明する。図7に示すように、コントローラ7は、全体として大人や子供の片手で把持可能な大きさである。そして、ゲームシステム1でコントローラ7を用いてゲームをプレイするためには、コントローラ7を指揮棒のように振り動かして、再生される音楽の変化を楽しむことができる。具体的には、プレイヤは、モニタ2で表現されている楽器群(または、楽器群をそれぞれ演奏するキャラクタ)を表すゲーム画像を見ながら、演奏する楽器数や種類(音の数)、奏法(レガートやスタッカート)、ビート数(8ビートや16ビート)、音調(長調や短調)、演奏テンポ、演奏音量等がプレイヤの望む演奏となるようにコントローラ7を指揮棒のように振り動かす。これによって、コントローラ7からプレイヤがコントローラ7を振り動かしたことによる操作情報(具体的には、X、Y、およびZ軸方向加速度データ)がゲーム装置3に与えられる。   Next, before describing specific processing performed by the game apparatus 3, an outline of a game performed by the game apparatus 3 will be described. As shown in FIG. 7, the controller 7 has a size that can be held with one hand of an adult or a child as a whole. And in order to play a game using the controller 7 with the game system 1, the controller 7 can be swung like a command stick and the change of the music reproduced can be enjoyed. Specifically, the player looks at the game image representing the musical instrument group (or the character that plays each musical instrument group) represented on the monitor 2 and plays the number of musical instruments and types (number of sounds), playing method ( Legato or staccato), the number of beats (8 or 16 beats), tone (major or minor), performance tempo, performance volume, etc. are swung like a command bar so that the performance desired by the player is achieved. As a result, operation information (specifically, X, Y, and Z-axis direction acceleration data) obtained by the player swinging the controller 7 from the controller 7 is given to the game apparatus 3.

例えば、図8および図9に示すように、モニタ2にはプレイヤキャラクタPCと、当該プレイヤキャラクタPCが指揮する楽器群(または、楽器それぞれを演奏するキャラクタ群)とが表示される。なお、図8および図9の例では、ピアノP、サキソフォンSAX、クラリネットCL、ギターG、ホルンHRN、およびバイオリンVNが表示される楽器群の一例として示されている。後述により明らかとなるが、プレイヤは、例えばコントローラ7を振り動かす強弱に応じて演奏する楽器数や種類(音の数)を変化させることができ、モニタ2に表示されるゲーム画像も演奏している楽器種がわかるように表現される。図8に示したゲーム画像例では、プレイヤがコントローラ7を振り動かす動作に応じて、ピアノPおよびギターGが演奏している形態を示している。また、図9に示したゲーム画像例では、プレイヤがコントローラ7を振り動かす動作に応じて、全ての楽器が演奏している形態を示している。   For example, as shown in FIGS. 8 and 9, the monitor 2 displays a player character PC and a group of instruments (or a group of characters that play each instrument) controlled by the player character PC. In the example of FIGS. 8 and 9, piano P, saxophone SAX, clarinet CL, guitar G, horn HRN, and violin VN are shown as an example of a musical instrument group. As will be apparent from the description below, the player can change the number and type of musical instruments (number of sounds) to be played in accordance with, for example, the strength of swinging the controller 7, and also plays the game image displayed on the monitor 2. It is expressed so that it can understand the instrument type. The game image example shown in FIG. 8 shows a form in which the piano P and the guitar G are playing in accordance with the action of the player swinging the controller 7. Further, the game image example shown in FIG. 9 shows a form in which all musical instruments are played in accordance with the action of the player swinging the controller 7.

図10A〜図10Cは、コントローラ7を上下方向に振り上げまたは振り下げた状態とコントローラ7に加わる加速度との関係を説明するための図である。コントローラ7にはプレイヤが振り動かすことによって生じる動的な加速度(振り加速度)と静的な重力加速度とが加わっており、加速度センサ701は、これらの加速度によって生じる上下方向(Y軸)、左右方向(X軸)、および前後方向(Z軸)の直線加速度をそれぞれ検知する。   10A to 10C are diagrams for explaining the relationship between the state in which the controller 7 is swung up or down in the vertical direction and the acceleration applied to the controller 7. The controller 7 is applied with dynamic acceleration (swing acceleration) generated by the player swinging and static gravity acceleration, and the acceleration sensor 701 has a vertical direction (Y axis) and a horizontal direction generated by these accelerations. The linear acceleration in the (X axis) and the longitudinal direction (Z axis) are detected.

図10Aに示すように、プレイヤがコントローラ7の上面(十字キー72aが設けられた面)を上に向けて水平に静止させたとき、重力加速度がY軸負方向に作用する。   As shown in FIG. 10A, when the player rests horizontally with the upper surface of the controller 7 (the surface on which the cross key 72a is provided) facing upward, the gravitational acceleration acts in the negative Y-axis direction.

一方、図10Bに示すように、プレイヤがコントローラ7を上方向へ振り上げたとき、Y軸正方向の振り加速度が生じる。そして、コントローラ7を振り上げる速度が速い程、その振り加速度が大きくなる。なお、重力加速度は、コントローラ7のY軸負方向とZ軸負方向との間の方向に作用する。   On the other hand, as shown in FIG. 10B, when the player swings the controller 7 upward, a swing acceleration in the Y-axis positive direction occurs. The higher the speed at which the controller 7 is swung up, the greater the swing acceleration. The gravitational acceleration acts in a direction between the Y-axis negative direction and the Z-axis negative direction of the controller 7.

また、図10Cに示すように、プレイヤがコントローラ7を下方向へ振り下げたとき、Y軸負方向の振り加速度が生じる。そして、コントローラ7を振り下げる速度が速い程、その振り加速度が大きくなる。なお、重力加速度は、コントローラ7のY軸負方向とZ軸正方向との間の方向に作用する。   Also, as shown in FIG. 10C, when the player swings down the controller 7 downward, a swing acceleration in the negative Y-axis direction occurs. The higher the speed at which the controller 7 is swung down, the greater the swing acceleration. Note that the gravitational acceleration acts in a direction between the Y-axis negative direction and the Z-axis positive direction of the controller 7.

このように、プレイヤがコントローラ7を振り動かしたとき、加速度センサ701は、その振り動かす方向にその速さに応じた大きさの動的な加速度を検出する。しかしながら、現実にコントローラ7に作用する加速度は図10A〜図10Cに示すような単純な方向や大きさで生じない。実際には、振り上げまたは振り下げによる遠心力等もコントローラ7に作用し、プレイヤが左右方向にコントローラ7を振ったりひねられたりすることによって加速度が生じる方向も様々に変化する。本実施形態では、加速度センサ701が検出した3軸方向の直線加速度から算出される合成ベクトルの大きさおよび3軸方向それぞれの直線加速度の差分(つまり、加速度の変化)から算出される差分合成ベクトルの大きさを用いて、プレイヤがコントローラ7を振り動かす動作を分析している。   Thus, when the player swings the controller 7, the acceleration sensor 701 detects a dynamic acceleration having a magnitude corresponding to the speed in the swinging direction. However, the acceleration actually acting on the controller 7 does not occur in a simple direction or size as shown in FIGS. 10A to 10C. Actually, centrifugal force or the like caused by swinging up or down acts on the controller 7, and the direction in which the acceleration is generated varies as the player swings or twists the controller 7 in the left-right direction. In the present embodiment, the difference combined vector calculated from the magnitude of the combined vector calculated from the linear acceleration in the triaxial direction detected by the acceleration sensor 701 and the difference between the linear accelerations in each of the three axial directions (that is, the change in acceleration). Is used to analyze the movement of the player swinging the controller 7.

図11Aは、プレイヤがコントローラ7を大きく振り動かし、各拍子をとるタイミングでメリハリのある振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフである。図11Bは、図11Aで示す合成ベクトルを得たときに3軸方向それぞれの直線加速度の差分から算出される差分合成ベクトルの大きさ変化の一例を示すグラフである。図11Cは、図11Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0として当該合成ベクトルの大きさ変化の一例を示すグラフである。なお、図11A〜図11Cは、全て横軸が同じ時間軸である。   FIG. 11A is a graph showing an example of a change in the magnitude of the combined vector that appears when the player swings the controller 7 greatly and performs a sharp swing at each timing. FIG. 11B is a graph showing an example of a change in the magnitude of the difference composite vector calculated from the difference in linear acceleration in each of the three axial directions when the composite vector shown in FIG. 11A is obtained. FIG. 11C is a graph illustrating an example of a change in the magnitude of the combined vector shown in FIG. 11A, where the period during which the linear acceleration in the Y-axis positive direction is obtained is 0. In FIGS. 11A to 11C, the horizontal axis is the same time axis.

加速度センサ701から出力される加速度データが示すX軸方向の加速度をXa、Y軸方向の加速度をYa、Z軸方向の加速度をZaとすると、合成ベクトルの大きさVは、

Figure 0005036010
で算出される。そして、プレイヤが2拍子や4拍子のように指揮棒で拍子をとるようにコントローラ7を振り動かすと、図11Aに示すように合成ベクトルの大きさVがその拍子に合わせて増減する。具体的には、プレイヤがコントローラ7を振り動かす際に、最も力を入れてコントローラ7の動きを加減速させたタイミングで、合成ベクトルの大きさVが最も大きくなる。一般的に、プレイヤは、各拍子をとるタイミングでコントローラ7に対してメリハリのある動作(例えば、拍子のタイミングで素早く下へ振り動かしている動作を急停止させたり、逆方向へ素早く振り上げたりする)を与えるため、各拍子のタイミングで合成ベクトルの大きさVがピークを示す。 When the acceleration in the X-axis direction indicated by the acceleration data output from the acceleration sensor 701 is Xa, the acceleration in the Y-axis direction is Ya, and the acceleration in the Z-axis direction is Za, the magnitude V of the composite vector is
Figure 0005036010
Is calculated by Then, when the player swings the controller 7 to take a time signature with a baton like a 2 or 4 time, the magnitude V of the composite vector increases or decreases according to the time as shown in FIG. 11A. Specifically, when the player swings the controller 7, the magnitude V of the combined vector becomes the largest at the timing when the player exerts the most force to accelerate or decelerate the movement of the controller 7. In general, the player sharply moves the controller 7 at the timing of each time signature (for example, suddenly stops the motion that is swung downward at the time of the time signature, or quickly swings it up in the opposite direction. ), The magnitude V of the composite vector shows a peak at the timing of each time signature.

しかしながら、プレイヤの振り方によっては、各拍子のタイミング以外で合成ベクトルの大きさVがピークを示すこともある。例えば、上下方向へコントローラ7を振り動かすときの振り下げ時に拍子をとる場合、振り上げから振り下げに移るときに合成ベクトルの大きさVが大きくなることもある。また、一般的な指揮棒の4拍子でプレイヤがコントローラ7を振るとき、1拍子目から2拍子目移る途中で合成ベクトルの大きさVが大きくなることもある。このような拍子のタイミング以外で生じる合成ベクトルの大きさVのピークを除去するため、所定軸方向(例えば、Y軸正方向)の直線加速度が得られた期間については、大きさV=0とする(図11C)。これによって、拍子のタイミングで生じる加速度とは逆方向に生じた成分による大きさVのピークを除去することができ、各拍子のタイミングに応じたピーク値のみ抽出することができる。そして、これらのピーク値の時間間隔を算出することによって、拍子のテンポを算出することができる。なお、図11Cにおいては、各拍子のタイミングに応じた合成ベクトルの大きさVのピーク値を、ピーク値Vp1〜Vp6(以下、合成ベクトルピーク値Vpと記載することがある)で示している。また、ピーク値Vp1〜Vp3を用いて得られるテンポを時間t1およびt2で示している。   However, depending on how the player swings, the magnitude V of the composite vector may show a peak other than the timing of each time signature. For example, in the case of taking a time signature when swinging down the controller 7 in the up-down direction, the size V of the combined vector may increase when moving from swing-up to swing-down. In addition, when the player swings the controller 7 with the four beats of a general conductor, the magnitude V of the composite vector may increase during the transition from the first beat to the second beat. In order to remove the peak of the magnitude V of the composite vector that occurs at times other than the timing of such time signature, the magnitude V = 0 for a period in which linear acceleration in a predetermined axial direction (for example, the Y-axis positive direction) is obtained. (FIG. 11C). As a result, the peak of the magnitude V due to the component generated in the direction opposite to the acceleration generated at the timing of the time signature can be removed, and only the peak value corresponding to the timing of each time signature can be extracted. The time tempo can be calculated by calculating the time interval between these peak values. In FIG. 11C, the peak value of the magnitude V of the combined vector corresponding to the timing of each time signature is indicated by peak values Vp1 to Vp6 (hereinafter sometimes referred to as a combined vector peak value Vp). The tempo obtained using the peak values Vp1 to Vp3 is indicated by times t1 and t2.

一方、加速度センサ701から出力される加速度データが示す前回のX軸方向の加速度をXa0、Y軸方向の加速度をYa0、Z軸方向の加速度をZa0とすると、差分合成ベクトルの大きさDは、

Figure 0005036010
で算出される。図11Bに示すように、プレイヤが拍子をとるようにコントローラ7を振り動かすと、コントローラ7に生じる加速度の増減に応じて差分合成ベクトルの大きさDの値が変化する。具体的には、プレイヤが激しくメリハリをつけて拍子をとるようにコントローラ7を振り動かすと、コントローラ7に生じる加速度の増減が激しくなって差分合成ベクトルの大きさDの値が大きくなる。差分合成ベクトルの大きさDのピークは、合成ベクトルの大きさVのピーク直前に生じることが一般的である。図11Bおよび図11Cの一例では、合成ベクトルピーク値Vp1〜Vp6が生じる直前に、差分合成ベクトルの大きさDのピーク値Dp1〜Dp6(以下、差分合成ベクトルピーク値Dpと記載することがある)が生じている様子を示している。 On the other hand, assuming that the previous acceleration in the X-axis direction indicated by the acceleration data output from the acceleration sensor 701 is Xa0, the acceleration in the Y-axis direction is Ya0, and the acceleration in the Z-axis direction is Za0, the magnitude D of the differential composite vector is
Figure 0005036010
Is calculated by As shown in FIG. 11B, when the player swings the controller 7 so as to take time, the value of the magnitude D of the difference composite vector changes according to the increase or decrease of the acceleration generated in the controller 7. Specifically, when the player swings the controller 7 so as to be sharp and take a time signature, the increase / decrease in acceleration generated in the controller 7 becomes intense and the value D of the difference composite vector increases. In general, the peak of the magnitude D of the differential composite vector occurs immediately before the peak of the magnitude V of the composite vector. In the example of FIG. 11B and FIG. 11C, immediately before the combined vector peak values Vp1 to Vp6 are generated, the peak values Dp1 to Dp6 of the difference combined vector magnitude D (hereinafter sometimes referred to as the differential combined vector peak value Dp). This shows how this occurs.

以下、図11〜図14を参照して、プレイヤがコントローラ7を振り動かす態様に応じて生じる合成ベクトルの大きさVおよび差分合成ベクトルの大きさDの例について説明する。具体的には、プレイヤがコントローラ7を振り動かす大きさと、プレイヤがコントローラ7を振り動かすやわらかさ(メリハリの有無)とを変えたときに生じる合成ベクトルの大きさVおよび差分合成ベクトルの大きさDについて説明する。なお、図12Aは、プレイヤがコントローラ7を小さく振り動かし、各拍子をとるタイミングでメリハリのある振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフである。図12Bは、図12Aで示す合成ベクトルを得たときに3軸方向それぞれの直線加速度の差分から算出される差分合成ベクトルの大きさ変化の一例を示すグラフである。図12Cは、図12Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0として当該合成ベクトルの大きさ変化の一例を示すグラフである。図13Aは、プレイヤがコントローラ7を大きく振り動かし、各拍子をとるタイミングをやわらかくメリハリが少ない振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフである。図13Bは、図13Aで示す合成ベクトルを得たときに3軸方向それぞれの直線加速度の差分から算出される差分合成ベクトルの大きさ変化の一例を示すグラフである。図13Cは、図13Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0として当該合成ベクトルの大きさ変化の一例を示すグラフである。図14Aは、プレイヤがコントローラ7を小さく振り動かし、各拍子をとるタイミングをやわらかくメリハリが少ない振り方をしたときに現れる合成ベクトルの大きさ変化の一例を示すグラフである。図14Bは、図14Aで示す合成ベクトルを得たときに3軸方向それぞれの直線加速度の差分から算出される差分合成ベクトルの大きさ変化の一例を示すグラフである。図14Cは、図14Aで示す合成ベクトルにおいて、Y軸正方向の直線加速度が得られた期間を大きさ0として当該合成ベクトルの大きさ変化の一例を示すグラフである。   Hereinafter, with reference to FIGS. 11 to 14, an example of the combined vector size V and the difference combined vector size D generated according to the manner in which the player swings the controller 7 will be described. Specifically, the size V of the combined vector and the size D of the differential combined vector that are generated when the player swings the controller 7 and the softness (the presence or absence of sharpness) of the player swinging the controller 7 are changed. Will be described. FIG. 12A is a graph showing an example of a change in the magnitude of the combined vector that appears when the player swings the controller 7 small and makes a sharp swing at each timing. FIG. 12B is a graph showing an example of a change in the magnitude of the difference combined vector calculated from the difference in linear acceleration in each of the three axial directions when the combined vector shown in FIG. 12A is obtained. FIG. 12C is a graph showing an example of a change in the magnitude of the composite vector with the period during which the linear acceleration in the Y-axis positive direction is obtained as the magnitude 0 in the composite vector shown in FIG. 12A. FIG. 13A is a graph showing an example of a change in the magnitude of the composite vector that appears when the player swings the controller 7 greatly and swings each time signature softly with little sharpness. FIG. 13B is a graph showing an example of a change in the magnitude of the difference composite vector calculated from the difference in linear acceleration in each of the three axial directions when the composite vector shown in FIG. 13A is obtained. FIG. 13C is a graph illustrating an example of a change in the magnitude of the combined vector, where the period during which the linear acceleration in the Y-axis positive direction is obtained is 0 in the combined vector illustrated in FIG. 13A. FIG. 14A is a graph showing an example of a change in the magnitude of the composite vector that appears when the player swings the controller 7 small and swings each time signature softly and with little sharpness. FIG. 14B is a graph showing an example of a change in the magnitude of the difference combined vector calculated from the difference in linear acceleration in each of the three axial directions when the combined vector shown in FIG. 14A is obtained. FIG. 14C is a graph illustrating an example of a change in the magnitude of the composite vector with the period during which the linear acceleration in the Y-axis positive direction is obtained as the magnitude 0 in the composite vector illustrated in FIG. 14A.

コントローラ7を大きく振り動かしたときのピーク値Vp(図11Cおよび図13Cのピーク値Vp)と、コントローラ7を小さく振り動かしたときのピーク値Vp(図12Cおよび図14Cのピーク値Vp)とを比較すると、大きく振り動かしたときのピーク値Vpが大きくなる。これは、同じテンポでコントローラ7を振り動かした場合、相対的に大きく振り動かす方がコントローラ7を速く移動させることが必要となり、検出される加速度が大きくなるためであると考えられる。したがって、ピーク値Vpの値を用いて、プレイヤがコントローラ7を振り動かす大きさを判定することができる。   A peak value Vp when the controller 7 is swung largely (peak value Vp in FIGS. 11C and 13C) and a peak value Vp when the controller 7 is swung small (peak value Vp in FIGS. 12C and 14C) In comparison, the peak value Vp when greatly swung is increased. This is considered to be because when the controller 7 is swung at the same tempo, it is necessary to move the controller 7 faster when the controller 7 is swung relatively large, and the detected acceleration increases. Therefore, the magnitude of the player swinging the controller 7 can be determined using the peak value Vp.

一方、コントローラ7を大きく振り動かして各拍子をとるタイミングでコントローラ7にメリハリをつけて振り動かしたときのピーク値Dp(図11Bのピーク値Dp)と、コントローラ7をやわらかくメリハリが少ない振り方で振り動かしたときのピーク値Dp(図13Bのピーク値Dp)とを比較すると、メリハリをつけて振り動かしたときのピーク値Dpが大きくなる。また、コントローラ7を小さく振り動かして各拍子をとるタイミングでコントローラ7にメリハリをつけて振り動かしたときのピーク値Dp(図12Bのピーク値Dp)と、コントローラ7をやわらかくメリハリが少ない振り方で振り動かしたときのピーク値Dp(図14Bのピーク値Dp)とを比較しても、メリハリをつけて振り動かしたときのピーク値Dpが大きくなる。したがって、ピーク値Dpの値を用いて、プレイヤがコントローラ7を振り動かすやわらかさ(メリハリの有無)を判定することができる。   On the other hand, the peak value Dp (peak value Dp in FIG. 11B) when the controller 7 is shaken and shaken at the timing when the controller 7 is greatly shaken and each beat is taken, and the controller 7 is shaken softly and with little sharpness. When compared with the peak value Dp when shaken (peak value Dp in FIG. 13B), the peak value Dp when shaken with sharpness increases. In addition, when the controller 7 is shaken small and each time is taken, the controller 7 is shaken and shaken with a peak value Dp (peak value Dp in FIG. 12B), and the controller 7 is shaken softly with little sharpness. Even when compared with the peak value Dp when shaken (peak value Dp in FIG. 14B), the peak value Dp when sharply shaken increases. Therefore, the softness (presence / absence of sharpness) of the player swinging the controller 7 can be determined using the peak value Dp.

ここで、コントローラ7を小さくメリハリをつけて振り動かしたときのピーク値Dp(図12Bのピーク値Dp)と、コントローラ7を大きくやわらかく振り動かしたときのピーク値Dp(図13Bのピーク値Dp)とを比較すると、両者の差が小さく区別が困難となることがある。しかしながら、両者は、ピーク値Vpによって振り動かす大きさが区別されているため、ピーク値Vpによってピーク値Dpの判定基準(閾値D1)を変更すれば、コントローラ7を振り動かすときのメリハリの強弱をピーク値Dpの値によって判定することが可能となる。   Here, the peak value Dp when the controller 7 is shaken with a small sharpness (peak value Dp in FIG. 12B), and the peak value Dp when the controller 7 is shaken largely and softly (peak value Dp in FIG. 13B). And the difference between the two is small and it may be difficult to distinguish. However, both of them are distinguished by the magnitude to be swung by the peak value Vp. Therefore, if the determination standard (threshold value D1) of the peak value Dp is changed by the peak value Vp, the strength of the sharpness when the controller 7 is swung is increased. The determination can be made based on the value of the peak value Dp.

本実施形態では、加速度データを用いてプレイヤがコントローラ7を振り動かす大きさおよびメリハリの大小等を判定し、判定結果に基づいて音楽の演奏内容(演奏する楽器数や種類、奏法、ビート数、音調等)を変化させる。これによって、プレイヤは、コントローラ7の振り動かし方によって、演奏される楽曲の表現(アーティキュレーション;articulation)を変えることができる。さらに、プレイヤがコントローラ7を振り動かすタイミングに応じて演奏テンポを変化させ、振り動かす加速度の大きさに応じて演奏音量を変化させる。   In the present embodiment, the size of the player swinging the controller 7 and the size of the sharpness are determined using the acceleration data, and based on the determination result, the performance of the music (the number and type of musical instruments to be played, the playing method, the number of beats, Change the tone). Thus, the player can change the expression (articulation) of the musical piece to be played, depending on how the controller 7 is swung. Further, the performance tempo is changed in accordance with the timing at which the player swings the controller 7, and the performance volume is changed in accordance with the magnitude of the acceleration to swing.

次に、ゲームシステム1において行われる音楽演奏処理の詳細を説明する。まず、図15〜図19を参照して、音楽演奏処理において用いられる主なプログラムおよびデータについて説明する。なお、図15は、ゲーム装置3のメインメモリ33に記憶される主なプログラムおよびデータを示す図である。図16は、シーケンスデータの一例を示す図である。図17は、シーケンスデータの他の例を示す図である。図18は、トラック選択テーブルの一例を示す図である。図19は、シーケンス選択テーブルの一例を示す図である。   Next, details of the music performance process performed in the game system 1 will be described. First, main programs and data used in music performance processing will be described with reference to FIGS. FIG. 15 is a diagram showing main programs and data stored in the main memory 33 of the game apparatus 3. FIG. 16 is a diagram illustrating an example of sequence data. FIG. 17 is a diagram illustrating another example of sequence data. FIG. 18 is a diagram illustrating an example of a track selection table. FIG. 19 is a diagram illustrating an example of a sequence selection table.

図15に示すように、メインメモリ33には、プログラム記憶領域33Pおよびデータ記憶領域33Dが設定される。プログラム記憶領域33Pには、音楽演奏プログラムPa、加速度取得プログラムPb、合成ベクトル算出プログラムPc、合成ベクトルピーク値検出プログラムPd、加速度差分算出プログラムPe、差分合成ベクトル算出プログラムPf、差分合成ベクトルピーク値検出プログラムPg、トラック選択プログラムPh、シーケンス選択プログラムPi、テンポ算出プログラムPj、およびシーケンス演奏プログラムPk等が記憶される。また、データ記憶領域33Dには、加速度データDa、合成ベクトル履歴データDb、差分合成ベクトル履歴データDc、楽曲データDd、トラック選択テーブルデータDe、シーケンス選択テーブルデータDf、および画像データDg等が記憶される。なお、メインメモリ33には、図15に示す情報に含まれるデータの他、ゲームに登場するプレイヤキャラクタPCや他のキャラクタ等に関するデータ(位置データ等)や仮想ゲーム空間に関するデータ(背景データ等)等、ゲーム処理に必要なデータが記憶される。   As shown in FIG. 15, in the main memory 33, a program storage area 33P and a data storage area 33D are set. The program storage area 33P includes a music performance program Pa, an acceleration acquisition program Pb, a composite vector calculation program Pc, a composite vector peak value detection program Pd, an acceleration difference calculation program Pe, a differential composite vector calculation program Pf, and a differential composite vector peak value detection. A program Pg, a track selection program Ph, a sequence selection program Pi, a tempo calculation program Pj, a sequence performance program Pk, and the like are stored. The data storage area 33D stores acceleration data Da, synthesized vector history data Db, difference synthesized vector history data Dc, music data Dd, track selection table data De, sequence selection table data Df, image data Dg, and the like. The In the main memory 33, in addition to the data included in the information shown in FIG. 15, data (position data etc.) relating to the player character PC and other characters appearing in the game, data relating to the virtual game space (background data etc.) Etc., data necessary for the game processing is stored.

音楽演奏プログラムPaは、音楽演奏処理全体(後述するステップ51〜ステップ70;以下、各プログラムに対応するステップ番号のみを示す)を定義するプログラムである。この音楽演奏プログラムPaの実行開始によって音楽演奏処理が開始される。加速度取得プログラムPbは、コントローラ7から送信された加速度データを受信して取得する処理(ステップ54)を定義する。合成ベクトル算出プログラムPcは、取得した加速度データに基づいて、合成ベクトルの大きさを算出する処理(ステップ55)を定義する。合成ベクトルピーク値検出プログラムPdは、所定のピーク検出アルゴリズムに基づいて、算出された合成ベクトルの大きさにおけるピーク値を検出する処理(ステップ61)を定義する。加速度差分算出プログラムPeは、取得した加速度データに基づいて、前回取得した加速度データとの差分を算出する処理(ステップ57)を定義する。差分合成ベクトル算出プログラムPfは、算出された各軸の差分を用いて、差分合成ベクトルの大きさを算出する処理(ステップ58)を定義する。差分合成ベクトルピーク値検出プログラムPgは、所定のピーク検出アルゴリズムに基づいて、算出された差分合成ベクトルの大きさにおけるピーク値を検出する処理(ステップ64)を定義する。トラック選択プログラムPhは、合成ベクトルの大きさにおけるピーク値に応じて、演奏するトラックを選択する処理(ステップ63)を定義する。シーケンス選択プログラムPiは、差分合成ベクトルの大きさにおけるピーク値や最大値に応じて、演奏するシーケンスを選択する処理(ステップ66、ステップ70)を定義する。テンポ算出プログラムPjは、合成ベクトルの大きさにおけるピーク値の時間間隔に応じて拍タイミングを決定する処理(ステップ67)を定義する。シーケンス演奏プログラムPkは、設定された演奏パラメータに基づいて、選択されているシーケンスデータおよびトラックデータに応じた演奏データを演奏する処理(ステップ68)を定義する。   The music performance program Pa is a program that defines the entire music performance processing (steps 51 to 70 described later; only the step numbers corresponding to each program are shown below). The music performance process is started by starting the execution of the music performance program Pa. The acceleration acquisition program Pb defines a process (step 54) for receiving and acquiring acceleration data transmitted from the controller 7. The synthesized vector calculation program Pc defines a process (step 55) for calculating the magnitude of the synthesized vector based on the acquired acceleration data. The combined vector peak value detection program Pd defines a process (step 61) for detecting a peak value at the calculated combined vector size based on a predetermined peak detection algorithm. The acceleration difference calculation program Pe defines a process (step 57) for calculating a difference from the previously acquired acceleration data based on the acquired acceleration data. The differential composite vector calculation program Pf defines a process (step 58) for calculating the magnitude of the differential composite vector using the calculated differences between the axes. The differential composite vector peak value detection program Pg defines a process (step 64) for detecting a peak value at the calculated magnitude of the differential composite vector based on a predetermined peak detection algorithm. The track selection program Ph defines a process (step 63) for selecting a track to be played in accordance with the peak value in the magnitude of the combined vector. The sequence selection program Pi defines processing (step 66, step 70) for selecting a sequence to be played according to the peak value or the maximum value in the magnitude of the difference composite vector. The tempo calculation program Pj defines a process (step 67) for determining the beat timing according to the time interval of the peak value in the magnitude of the composite vector. The sequence performance program Pk defines a process (step 68) for performing performance data corresponding to the selected sequence data and track data based on the set performance parameters.

加速度データDaは、コントローラ7から送信データとして送信されてくる一連の操作情報に含まれる加速度データである。加速度データDaには、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したX軸方向加速度データDa1、Y軸方向加速度データDa2、およびZ軸方向加速度データDa3が含まれる。なお、ゲーム装置3に備える受信ユニット6は、コントローラ7から所定間隔例えば5msごとに送信される操作情報に含まれる加速度データを受信し、受信ユニット6に備える図示しないバッファに蓄えられる。その後、所定の音楽演奏処理周期毎やゲーム処理間隔である1フレーム毎に読み出されてメインメモリ33の加速度データDaが更新される。本実施例では、加速度データDaは、コントローラ7から送信された最新の加速度データと前回取得した加速度データとが格納されればよいが、過去所定フレーム分の加速度データを格納するようにしてもよい。   The acceleration data Da is acceleration data included in a series of operation information transmitted as transmission data from the controller 7. The acceleration data Da includes X-axis direction acceleration data Da1, Y-axis direction acceleration data Da2, and Z-axis direction acceleration data Da3 detected by the acceleration sensor 701 separately for the X-axis, Y-axis, and Z-axis components. It is. The receiving unit 6 provided in the game apparatus 3 receives acceleration data included in operation information transmitted from the controller 7 at a predetermined interval, for example, every 5 ms, and is stored in a buffer (not shown) provided in the receiving unit 6. Thereafter, the acceleration data Da is read out at every predetermined music performance processing cycle or every frame which is a game processing interval, and the main memory 33 is updated. In the present embodiment, as the acceleration data Da, the latest acceleration data transmitted from the controller 7 and the previously acquired acceleration data may be stored, but acceleration data for a predetermined past frame may be stored. .

合成ベクトル履歴データDbは、算出された合成ベクトルの大きさの履歴が所定期間分記録されたデータである。差分合成ベクトル履歴データDcは、算出された差分合成ベクトルの大きさの履歴が所定期間分記録されたデータである。   The combined vector history data Db is data in which a history of the size of the calculated combined vector is recorded for a predetermined period. The difference composite vector history data Dc is data in which a history of the size of the calculated difference composite vector is recorded for a predetermined period.

楽曲データDdは、例えばMIDI形式の音源制御データで構成され、複数の楽曲データDd1、Dd2、…を含んでいる。楽曲データDd1、Dd2、…は、それぞれ複数のシーケンスデータを含んでおり、図15においては楽曲データDd1に含まれるシーケンスデータSd1およびSd2を一例として示している。以下、図16および図17を参照して、シーケンスデータSd1およびSd2について説明する。   The music data Dd is composed of sound source control data in the MIDI format, for example, and includes a plurality of music data Dd1, Dd2,. Each piece of music data Dd1, Dd2,... Includes a plurality of sequence data. In FIG. 15, the sequence data Sd1 and Sd2 included in the music data Dd1 are shown as an example. Hereinafter, the sequence data Sd1 and Sd2 will be described with reference to FIGS.

図16および図17において、シーケンスデータSd1およびSd2では、複数の楽器をMIDIチャンネルと称する複数のトラック(チャンネル)に割り当てることにより、各楽器に割り当てたトラック番号で各々の楽器を指定して、複数の楽器の動作を選択的に制御できるようにしている。つまり、シーケンスデータSd1およびSd2では、1つのトラック(チャンネル)が音楽演奏上の1パート(1つの楽器)に割り当てられて構成されている。シーケンスデータSd1およびSd2は、DSP34およびARAM35(音源)によって複数の楽器による演奏を行うために利用される。上記音源は、楽器それぞれに対応する音色を有しており、トラック毎に異なる音色を割り当てて、指定されたトラック番号に応じた音色の楽音を発生する。そして、上記音源は、CPU30から指示される演奏パラメータに基づいて指定された音程、音色、音量の楽音を指定された演奏テンポで発音する。   16 and 17, in the sequence data Sd1 and Sd2, by assigning a plurality of instruments to a plurality of tracks (channels) called MIDI channels, each instrument is designated by a track number assigned to each instrument. The operation of the instrument can be selectively controlled. That is, in the sequence data Sd1 and Sd2, one track (channel) is assigned to one part (one instrument) in music performance. The sequence data Sd1 and Sd2 are used to perform a performance with a plurality of musical instruments by the DSP 34 and the ARAM 35 (sound source). The sound source has a timbre corresponding to each musical instrument, and assigns a different timbre for each track to generate a timbre tone corresponding to a designated track number. The sound source generates a musical tone having a pitch, tone color, and volume specified based on the performance parameter instructed by the CPU 30 at a specified performance tempo.

具体的には、シーケンスデータSd1およびSd2は、16トラックのトラックデータTd101〜Td116およびTd201〜Td216をそれぞれ有している。各トラックには、トラック番号、楽器名称、およびトラック演奏データがそれぞれ記述されている。各トラックデータTdは、トラック番号「1」がフルート、トラック番号「2」がバイオリン、トラック番号「3」がピアノのように、各トラック番号に異なった楽器が割り当てられ、それぞれ対応するトラック演奏データが記述されている。トラック演奏データは、各楽器の発音開始(ノートオン)および発音停止(ノートオフ)を示す情報、音の高さを示す情報、発音の強さを示す情報等を含む音符的な情報である。DSP34およびARAM35は、トラック番号および演奏タイミングに応じたトラック演奏データとが指示されることによって、所定の音色の楽音を発生することができる。   Specifically, the sequence data Sd1 and Sd2 have 16 track data Td101 to Td116 and Td201 to Td216, respectively. In each track, a track number, an instrument name, and track performance data are described. Each track data Td is assigned a different instrument, such as a flute for track number “1”, a violin for track number “2” and a piano for track number “3”, and corresponding track performance data. Is described. The track performance data is musical note information including information indicating the start of sound generation (note on) and stop of sound generation (note off), information indicating the pitch, information indicating the strength of sound, and the like. The DSP 34 and the ARAM 35 can generate a musical tone having a predetermined tone color by instructing the track performance data corresponding to the track number and performance timing.

シーケンスデータSd1およびSd2は、共に同じ楽曲を示すデータであるが、一例として奏法が異なったトラック演奏データが記述される。例えば、図16に示すシーケンスデータSd1は、各楽器(トラック)が音を滑らかに続けて発音する円滑奏法(レガート;Legato)によるトラック演奏データが記述されている。一方、図17に示すシーケンスデータSd2は、音楽的に適切な音符のみを1音符ずつ音を分離して各楽器が発音する分離奏法(スタッカート;Staccato)によるトラック演奏データが記述されている。   The sequence data Sd1 and Sd2 are data indicating the same music piece, but track performance data having different performance methods are described as an example. For example, the sequence data Sd1 shown in FIG. 16 describes track performance data by a smooth playing method (legato) in which each instrument (track) continuously produces sounds. On the other hand, the sequence data Sd2 shown in FIG. 17 describes track performance data according to a separated performance method (Staccato) in which only musically appropriate notes are separated into one note at a time, and each instrument produces a sound.

他のシーケンスデータSd1およびSd2の設定例として、シーケンスデータSd1に8ビートによるトラック演奏データを記述して、シーケンスデータSd2に16ビートによるトラック演奏データを記述する等、同じ楽曲でもビート数を変えたトラック演奏データを記述してもよい。また、シーケンスデータSd1に短調によるトラック演奏データを記述して、シーケンスデータSd2に長調によるトラック演奏データを記述する等、同じ楽曲でも曲調を変えたトラック演奏データを記述してもよい。シーケンスデータSd1およびSd2には、同じ楽曲でも楽曲の表現が異なるようなトラック演奏データがそれぞれ記述される。なお、1つの楽曲に対して3つ以上のシーケンスデータSdを設定してもかまわない。この場合、後述する選択シーケンステーブルを3区分以上に設定すれば、同様に本発明を実現することができる。   As an example of setting other sequence data Sd1 and Sd2, the number of beats is changed even for the same music, such as describing the track performance data with 8 beats in the sequence data Sd1 and describing the track performance data with 16 beats in the sequence data Sd2. Track performance data may be described. Alternatively, track performance data in which the same tone is changed may be described, for example, track performance data in minor key is described in sequence data Sd1 and track performance data in major key is described in sequence data Sd2. In the sequence data Sd1 and Sd2, track performance data in which the expression of music is different even for the same music is described. Note that three or more sequence data Sd may be set for one music piece. In this case, if the selection sequence table described later is set to three or more sections, the present invention can be similarly realized.

このように、1つの楽曲データDdは、奏法、ビート数、音調等が異なったシーケンスデータSdを含んでおり、各シーケンスデータSdは演奏対象となる楽器がそれぞれ異なったトラックデータTdを含んでいる。   Thus, one piece of music data Dd includes sequence data Sd having different performance styles, beat numbers, tones, and the like, and each sequence data Sd includes track data Td having different musical instruments to be played. .

トラック選択テーブルデータDeは、合成ベクトルの大きさにおけるピーク値に応じて選択されるトラック番号を示すテーブルデータであり、演奏対象となる楽曲毎に設定されている。以下、図18を参照して、トラック選択テーブルデータDeの一例について説明する。   The track selection table data De is table data indicating the track number selected according to the peak value in the size of the composite vector, and is set for each piece of music to be played. Hereinafter, an example of the track selection table data De will be described with reference to FIG.

図18において、トラック選択テーブルデータDeとして記憶されるトラック選択テーブルは、合成ベクトルピーク値Vpに対応する選択トラック番号が記述されている。例えば、合成ベクトルピーク値Vpが閾値V1未満の場合、トラック番号「1」、「3」、および「5」が選択されることがトラック選択テーブルに記述されている。合成ベクトルピーク値Vpが閾値V1以上で閾値V2未満の場合、トラック番号「1」〜「3」、「5」、「10」、および「12」が選択されることがトラック選択テーブルに記述されている。合成ベクトルピーク値Vpが閾値V2以上で閾値V3未満の場合、トラック番号「1」〜「3」、「5」、「7」、「8」、「10」、「12」、「15」、および「16」が選択されることがトラック選択テーブルに記述されている。そして、合成ベクトルピーク値Vpが閾値V3以上の場合、全てのトラック番号(つまり、トラック番号「1」〜「16」)が選択されることがトラック選択テーブルに記述されている。   In FIG. 18, the track selection table stored as the track selection table data De describes the selected track number corresponding to the combined vector peak value Vp. For example, the track selection table describes that the track numbers “1”, “3”, and “5” are selected when the combined vector peak value Vp is less than the threshold value V1. It is described in the track selection table that the track numbers “1” to “3”, “5”, “10”, and “12” are selected when the combined vector peak value Vp is greater than or equal to the threshold value V1 and less than the threshold value V2. ing. When the combined vector peak value Vp is not less than the threshold value V2 and less than the threshold value V3, the track numbers “1” to “3”, “5”, “7”, “8”, “10”, “12”, “15”, And “16” is selected in the track selection table. It is described in the track selection table that all track numbers (that is, track numbers “1” to “16”) are selected when the combined vector peak value Vp is equal to or greater than the threshold value V3.

シーケンス選択テーブルデータDfは、差分合成ベクトルの大きさにおけるピーク値に応じて選択されるシーケンス番号を示すテーブルデータであり、演奏対象となる楽曲毎に設定されている。以下、図19を参照して、シーケンス選択テーブルデータDfの一例について説明する。   The sequence selection table data Df is table data indicating a sequence number selected according to the peak value in the magnitude of the difference composite vector, and is set for each piece of music to be played. Hereinafter, an example of the sequence selection table data Df will be described with reference to FIG.

図19において、シーケンス選択テーブルデータDfとして記憶されるシーケンス選択テーブルは、差分合成ベクトルピーク値Dpに対応する選択シーケンス番号が記述されている。例えば、差分合成ベクトルピーク値Dpが閾値D1未満の場合、シーケンス番号「Sd1」が選択されることがシーケンス選択テーブルに記述されている。また、差分合成ベクトルピーク値Dpが閾値D1以上の場合、シーケンス番号「Sd2」が選択されることがシーケンス選択テーブルに記述されている。   In FIG. 19, the sequence selection table stored as the sequence selection table data Df describes the selected sequence number corresponding to the difference composite vector peak value Dp. For example, it is described in the sequence selection table that the sequence number “Sd1” is selected when the difference composite vector peak value Dp is less than the threshold value D1. Further, it is described in the sequence selection table that the sequence number “Sd2” is selected when the differential composite vector peak value Dp is equal to or greater than the threshold value D1.

画像データDgは、プレイヤキャラクタ画像データや他のキャラクタ画像データ等を含み、仮想ゲーム空間にプレイヤキャラクタや他のキャラクタを配置してゲーム画像を生成するためのデータである。   The image data Dg is data for generating a game image including player character image data, other character image data, and the like, and arranging the player character and other characters in the virtual game space.

次に、図20および図21を参照して、ゲーム装置3において行われる音楽演奏処理の詳細を説明する。なお、図20は、ゲーム装置3において実行される音楽演奏処理の流れの前半を示すフローチャートである。図21は、ゲーム装置3において実行される音楽演奏処理の流れの後半を示すフローチャートである。なお、図20および図21に示すフローチャートにおいては、ゲーム処理のうち、音楽演奏処理に関わる処理ついて説明し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。また、図20および図21では、CPU30が実行する各ステップを「S」と略称する。   Next, with reference to FIG. 20 and FIG. 21, the details of the music performance process performed in the game apparatus 3 will be described. FIG. 20 is a flowchart showing the first half of the flow of the music performance process executed in the game apparatus 3. FIG. 21 is a flowchart showing the second half of the flow of the music performance process executed in the game apparatus 3. In the flowcharts shown in FIG. 20 and FIG. 21, processing related to music performance processing among game processing will be described, and detailed description of other game processing not directly related to the present invention will be omitted. 20 and 21, each step executed by the CPU 30 is abbreviated as “S”.

ゲーム装置3の電源が投入されると、ゲーム装置3のCPU30は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ33等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリ33に読み込まれ、CPU30によって当該ゲームプログラムの実行が開始される。図20〜図21に示すフローチャートは、以上の処理が完了した後に行われる音楽演奏処理を示すフローチャートである。   When the power of the game apparatus 3 is turned on, the CPU 30 of the game apparatus 3 executes a startup program stored in a boot ROM (not shown), thereby initializing each unit such as the main memory 33. Then, the game program stored in the optical disc 4 is read into the main memory 33, and the CPU 30 starts executing the game program. The flowchart shown in FIGS. 20-21 is a flowchart which shows the music performance process performed after the above process is completed.

図20において、CPU30は、音楽演奏処理を行うための初期設定を行い(ステップ51)、処理を次のステップに進める。例えば、CPU30は、初期設定として、音楽演奏処理処理を行う楽曲を選択して楽曲データDdから選択対象の楽曲データを抽出する。また、CPU30は、演奏対象とするシーケンスデータおよびトラックデータをデフォルト値に設定する。   In FIG. 20, the CPU 30 performs initial setting for performing music performance processing (step 51), and advances the processing to the next step. For example, as an initial setting, the CPU 30 selects a musical piece to be subjected to music performance processing and extracts musical piece data to be selected from the musical piece data Dd. Further, the CPU 30 sets the sequence data and track data to be played as default values.

次に、CPU30は、シーケンスのカウント処理を行い(ステップ52)、シーケンス終了か否かを判断する(ステップ53)。そして、演奏対象となっているシーケンスデータの最後までカウントされた場合、CPU30は、シーケンス終了と判断して、当該フローチャートによる処理を終了する。一方、CPU30は、演奏対象となっているシーケンスデータの途中までのカウントである場合、次のステップ54に処理を進める。ここで、上記ステップ52で行うカウント処理は、シーケンスデータ(図16、図17参照)からトラック演奏データを順番に読み出す際に、どのタイミングのトラック演奏データを読み出すのかを示すカウント値を設定する処理であり、設定される拍タイミングに応じてカウント値の進行が変化する。なお、後述により明らかとなるが、本実施形態ではプレイヤの操作に応じて演奏対象となるシーケンスデータが変化する。したがって、上記ステップ52で行うカウント処理で進行したカウント値は、演奏対象となりえる複数のシーケンスデータ(つまり、同じ楽曲データに所属するシーケンスデータ)を対象としており、複数のシーケンスデータに対するカウントが同時並行で進行することになる。   Next, the CPU 30 performs a sequence counting process (step 52), and determines whether or not the sequence is completed (step 53). When the sequence data that has been played is counted up to the end, the CPU 30 determines that the sequence has ended and ends the processing according to the flowchart. On the other hand, the CPU 30 proceeds to the next step 54 when the count is halfway through the sequence data to be played. Here, the count process performed in step 52 is a process for setting a count value indicating at what timing the track performance data is read when the track performance data is sequentially read from the sequence data (see FIGS. 16 and 17). The progress of the count value changes according to the set beat timing. As will be apparent from the description below, in the present embodiment, the sequence data to be played changes in accordance with the operation of the player. Therefore, the count value advanced in the counting process performed in the above step 52 targets a plurality of sequence data (that is, sequence data belonging to the same music data) that can be performed, and the counts for the plurality of sequence data are simultaneously performed in parallel. Will proceed.

ステップ54において、CPU30は、コントローラ7から受信した操作情報に含まれる各軸の加速度データを取得し、処理を次のステップに進める。そして、CPU30は、取得した加速度データを加速度データDaとしてメインメモリ33に記憶する。ここで、ステップ54で取得される加速度データには、加速度センサ701がX、Y、およびZ軸の3軸成分に分けてそれぞれ検出したX、Y、およびZ軸方向加速度データが含まれている。ここでは、通信部75は、所定の時間間隔(例えば5ms間隔)で操作情報をゲーム装置3へ送信しており、受信ユニット6に備える図示しないバッファに少なくとも加速度データが蓄えられる。そして、CPU30は、所定の音楽演奏処理周期毎やゲーム処理単位である1フレーム毎にバッファに蓄えられた加速度データを取得してメインメモリ33に格納する。なお、メインメモリ33に取得した最新の加速度データを格納する際、前回取得して格納された加速度データDaを少なくとも残すように、すなわち最新の2回取得分の加速度データが常に格納されているように加速度データDaが更新される。   In step 54, the CPU 30 acquires acceleration data of each axis included in the operation information received from the controller 7, and advances the processing to the next step. Then, the CPU 30 stores the acquired acceleration data in the main memory 33 as the acceleration data Da. Here, the acceleration data acquired in step 54 includes X-, Y-, and Z-axis direction acceleration data detected by the acceleration sensor 701 separately for the X-axis, Y-axis, and Z-axis components. . Here, the communication unit 75 transmits operation information to the game apparatus 3 at a predetermined time interval (for example, at an interval of 5 ms), and at least acceleration data is stored in a buffer (not shown) provided in the receiving unit 6. Then, the CPU 30 acquires acceleration data stored in the buffer every predetermined music performance processing cycle or every frame which is a game processing unit, and stores it in the main memory 33. When the latest acceleration data acquired in the main memory 33 is stored, at least the acceleration data Da acquired and stored last time is left, that is, the acceleration data for the latest two acquisitions are always stored. The acceleration data Da is updated.

次に、CPU30は、上記ステップ54で取得したX軸方向加速度データDa1、Y軸方向加速度データDa2、およびZ軸方向加速度データDa3を用いて、合成ベクトルの大きさVを算出する(ステップ55)。具体的には、CPU30は、X軸方向加速度データDa1が示す加速度をXa、Y軸方向加速度データDa2が示す加速度をYa、およびZ軸方向加速度データDa3が示す加速度をZaとして、上記数式(1)を用いて大きさVを算出する。そして、CPU30は、算出した大きさVを合成ベクトル履歴データDbの最新データとして記録し(ステップ56)、処理を次のステップに進める。ここで、CPU30は、Y軸方向加速度データDa2がY軸正方向の加速度を示している場合、大きさV=0として記録する。これは、上述したように、拍子のタイミングで生じる加速度とは逆方向に生じた成分による大きさVのピークを除去するためであり、V=0として記録することによって後述するステップ61において各拍子のタイミングに応じたピーク値のみ抽出することができる。   Next, the CPU 30 calculates the magnitude V of the combined vector using the X-axis direction acceleration data Da1, the Y-axis direction acceleration data Da2, and the Z-axis direction acceleration data Da3 acquired in step 54 (step 55). . Specifically, the CPU 30 sets the above equation (1), assuming that the acceleration indicated by the X-axis direction acceleration data Da1 is Xa, the acceleration indicated by the Y-axis direction acceleration data Da2 is Ya, and the acceleration indicated by the Z-axis direction acceleration data Da3 is Za. ) To calculate the size V. Then, the CPU 30 records the calculated size V as the latest data of the combined vector history data Db (step 56), and advances the processing to the next step. Here, when the Y-axis direction acceleration data Da2 indicates the acceleration in the Y-axis positive direction, the CPU 30 records the magnitude as V = 0. As described above, this is to remove the peak of the magnitude V due to the component generated in the direction opposite to the acceleration generated at the timing of the time signature. Each time signature is recorded in step 61 described later by recording as V = 0. Only the peak value according to the timing can be extracted.

次に、CPU30は、上記ステップ54で取得したX軸方向加速度データDa1、Y軸方向加速度データDa2、およびZ軸方向加速度データDa3と、前回取得したX軸方向加速度データDa1、Y軸方向加速度データDa2、およびZ軸方向加速度データDa3とを用いて、各軸の加速度の差分を算出する(ステップ57)。そして、CPU30は、各軸の加速度の差分を用いて、差分合成ベクトルの大きさDを算出する(ステップ58)。具体的には、CPU30は、前回取得したX軸方向加速度データDa1が示す加速度をXa0、Y軸方向加速度データDa2が示す加速度をYa0、およびZ軸方向加速度データDa3が示す加速度をZa0として、上記数式(2)を用いて大きさDを算出する。そして、CPU30は、算出した大きさDを差分合成ベクトル履歴データDcの最新データとして記録し(ステップ59)、処理を次のステップに進める。   Next, the CPU 30 acquires the X-axis direction acceleration data Da1, the Y-axis direction acceleration data Da2, and the Z-axis direction acceleration data Da3 acquired in step 54, and the previously acquired X-axis direction acceleration data Da1 and Y-axis direction acceleration data. Using Da2 and the Z-axis direction acceleration data Da3, the difference in acceleration of each axis is calculated (step 57). Then, the CPU 30 calculates the magnitude D of the difference composite vector using the difference in acceleration of each axis (step 58). Specifically, the CPU 30 sets the acceleration indicated by the previously acquired X-axis direction acceleration data Da1 as Xa0, the acceleration indicated by the Y-axis direction acceleration data Da2 as Ya0, and the acceleration indicated by the Z-axis direction acceleration data Da3 as Za0. The size D is calculated using Equation (2). Then, the CPU 30 records the calculated size D as the latest data of the difference combined vector history data Dc (step 59), and advances the processing to the next step.

図21に進み、CPU30は、合成ベクトル履歴データDbとして記録されている合成ベクトルの大きさVの履歴を参照して、合成ベクトルの大きさVのピークか否かを判定する(ステップ61)。なお、合成ベクトルの大きさVのピーク検出については、既に公知のピーク検出アルゴリズムを用いればよい。そして、CPU30は、合成ベクトルの大きさVのピークである場合(ステップ62でYes)、次のステップ63に処理を進める。一方、CPU30は、合成ベクトルの大きさVのピークでない場合(ステップ62でNo)、次のステップ68に処理を進める。   Proceeding to FIG. 21, the CPU 30 refers to the history of the magnitude V of the synthesized vector recorded as the synthesized vector history data Db, and determines whether or not it is the peak of the magnitude V of the synthesized vector (step 61). In addition, what is necessary is just to use a well-known peak detection algorithm about the peak detection of the magnitude | size V of a synthetic | combination vector. Then, the CPU 30 proceeds to the next step 63 when it is a peak of the magnitude V of the combined vector (Yes in step 62). On the other hand, if it is not the peak of the magnitude V of the composite vector (No in step 62), the CPU 30 proceeds to the next step 68.

ステップ63において、CPU30は、検出された合成ベクトルピーク値Vpに応じて、音量およびトラックデータを選択して、処理を次のステップに進める。CPU30は、例えば合成ベクトルピーク値Vpが相対的に大きいときに再生される楽曲の音量が大きくなるように、演奏パラメータの1つである演奏音量(ダイナミクス)を合成ベクトルピーク値Vpに応じて設定する。一例として、CPU30は、過去の合成ベクトルピーク値Vpの値を参照して、最新のピーク値Vpに所定の重み付けをした加重平均を取ることで演奏音量を算出する。   In step 63, the CPU 30 selects a volume and track data according to the detected combined vector peak value Vp, and advances the processing to the next step. For example, the CPU 30 sets a performance volume (dynamics), which is one of the performance parameters, according to the synthesized vector peak value Vp so that the volume of the music to be played increases when the synthesized vector peak value Vp is relatively large. To do. As an example, the CPU 30 refers to the past synthesized vector peak value Vp and calculates the performance volume by taking a weighted average obtained by applying a predetermined weight to the latest peak value Vp.

上記ステップ63におけるトラックデータの選択については、例えば合成ベクトルピーク値Vpが取りうる数値範囲に対して、複数の閾値(例えば、3つの閾値V1、V2、V3;0<V1<V2<V3<取りうる最大値)が設定される。そして、それらの閾値と検出された合成ベクトルピーク値Vpとの関係に応じて、選択するトラックデータ(Td)が決定される。例えば、CPU30は、トラック選択テーブルデータDeから演奏対象となっている楽曲のトラック選択テーブル(図18)を参照し、合成ベクトルピーク値Vpに応じて選択するトラック番号を決定する。上述したように、各トラックデータTdは、異なった楽器がそれぞれ割り当てられ、その楽器に対応するトラック演奏データが記述されている。したがって、トラックデータを選択することによって、楽曲の演奏対象とする楽器数や種類を選択することになる。   With respect to the selection of the track data in step 63, for example, a plurality of threshold values (for example, three threshold values V1, V2, V3; 0 <V1 <V2 <V3 <take) with respect to a numerical range that the combined vector peak value Vp can take. The maximum possible value) is set. Then, the track data (Td) to be selected is determined according to the relationship between the threshold values and the detected combined vector peak value Vp. For example, the CPU 30 refers to the track selection table (FIG. 18) of the music to be played from the track selection table data De and determines the track number to be selected according to the combined vector peak value Vp. As described above, each track data Td is assigned with a different musical instrument, and describes track performance data corresponding to the musical instrument. Therefore, by selecting the track data, the number and types of musical instruments to be played are selected.

ここで、合成ベクトルピーク値Vpは、プレイヤがコントローラ7を大きく速く振り動かすことによって、その値が上昇するパラメータである。したがって、図18に示した例のように、合成ベクトルピーク値Vpが大きくなるにしたがって選択されるトラック数を多くすることによって、プレイヤがコントローラ7を大きく速く振り動かすことに応じて演奏される楽器数や種類が増えることになる。したがって、コントローラ7を振り動かすことによって演奏される楽曲の表現が変化した印象をプレイヤに与えて、あたかもプレイヤが指揮をしているようなリアルな感覚を与えることができる。   Here, the combined vector peak value Vp is a parameter whose value increases when the player swings the controller 7 large and fast. Accordingly, as in the example shown in FIG. 18, the musical instrument played in response to the player swinging the controller 7 greatly and quickly by increasing the number of tracks selected as the combined vector peak value Vp increases. The number and type will increase. Accordingly, it is possible to give the player the impression that the expression of the musical piece to be played has changed by swinging the controller 7, and to give a realistic feeling as if the player is conducting.

なお、上記ステップ63におけるトラックデータの選択は、トラック選択テーブルを参照することによって行われたが、他の態様でトラックデータが選択されてもかまわない。例えば、合成ベクトルピーク値Vpを変数として選択トラック数nが算出される数式を設定して、取得した合成ベクトルピーク値Vpに基づいて選択トラック数nを算出する。そして、演奏対象のシーケンスデータSdから選択トラック数nに応じた任意のトラックデータ、またはトラック番号「1」〜「n」までのトラックデータを選択してもかまわない。 The selection of the track data in step 63 has been performed by referring to the track selection table, it may be the track data is selected in other manners. For example, an equation for calculating the selected track number n is set using the combined vector peak value Vp as a variable, and the selected track number n is calculated based on the acquired combined vector peak value Vp. Then, any track data corresponding to the selected track number n or track data from track numbers “1” to “n” may be selected from the sequence data Sd to be played.

次に、CPU30は、差分合成ベクトル履歴データDcとして記録されている差分合成ベクトルの大きさDの履歴を参照して、所定時間前(例えば、8フレーム前)から現在までに差分合成ベクトルの大きさDのピークがあるか否かを判定する(ステップ64)。なお、差分合成ベクトルの大きさDのピーク検出についても、既に公知のピーク検出アルゴリズムを用いればよい。そして、CPU30は、差分合成ベクトルの大きさDのピークがある場合(ステップ65でYes)、次のステップ66に処理を進める。一方、CPU30は、差分合成ベクトルの大きさDのピークでない場合(ステップ65でNo)、次のステップ70に処理を進める。   Next, the CPU 30 refers to the history of the magnitude D of the difference synthesized vector recorded as the difference synthesized vector history data Dc, and determines the size of the difference synthesized vector from a predetermined time (for example, 8 frames before) to the present. It is determined whether or not there is a peak D (step 64). Note that a known peak detection algorithm may be used for the peak detection of the magnitude D of the difference composite vector. When there is a peak of the magnitude D of the difference composite vector (Yes in Step 65), the CPU 30 advances the process to the next Step 66. On the other hand, if it is not the peak of the magnitude D of the difference composite vector (No in step 65), the CPU 30 proceeds to the next step 70.

ステップ66において、CPU30は、検出された差分合成ベクトルピーク値Dpに応じて、演奏対象とするシーケンスデータを選択して、次のステップ67に処理を進める。具体的には、例えば差分合成ベクトルピーク値Dpが取りうる数値範囲に対して、少なくとも1つの閾値D1が設定される。ここで、閾値D1は、予め設定された最大値D1maxと最小値D1minとの間でピーク値Vpに応じて線形に変化する。例えば、コントローラ7を振り動かす大きさを示すボリューム値Vmを、
Vm=Vp/(大きさVが取りうる最大値)
で算出して、閾値D1を
D1=D1min+(D1max−D1min)×Vm
として、最大値D1maxと最小値D1minとの間で閾値D1を変化させる。上述した図12Bのピーク値Dpと図13Bのピーク値Dpと差のように、コントローラ7を振り動かす大きさによってはピーク値Dpの差が表れないことがあるが、ピーク値Vpが相対的に小さいときに閾値D1の値を小さく変化させることによって、コントローラ7を振り動かすときのメリハリの強弱をピーク値Dpによって正確に判定することができる。
In step 66, the CPU 30 selects sequence data to be played in accordance with the detected difference composite vector peak value Dp, and proceeds to the next step 67. Specifically, for example, at least one threshold value D1 is set for a numerical range that can be taken by the differential composite vector peak value Dp. Here, the threshold value D1 changes linearly according to the peak value Vp between a preset maximum value D1max and minimum value D1min. For example, the volume value Vm indicating the magnitude of swinging the controller 7 is
Vm = Vp / (maximum value that size V can take)
And the threshold value D1 is calculated as follows: D1 = D1min + (D1max−D1min) × Vm
As described above, the threshold value D1 is changed between the maximum value D1max and the minimum value D1min. Like the difference between the peak value Dp of FIG. 12B and the peak value Dp of FIG. 13B described above, the difference in the peak value Dp may not appear depending on the magnitude of the swing of the controller 7, but the peak value Vp is relatively By changing the value of the threshold value D1 small when it is small, it is possible to accurately determine the strength of sharpness when the controller 7 is swung by the peak value Dp.

そして、CPU30は、閾値D1と検出された差分合成ベクトルピーク値Dpとの関係に応じて、選択するシーケンスデータ(Sd)を決定する。例えば、CPU30は、シーケンス選択テーブルデータDfから演奏対象となっている楽曲のシーケンス選択テーブル(図19)を参照し、差分合成ベクトルピーク値Dpに応じて選択するシーケンス番号を決定する。上述したように、各シーケンスデータSdは、共に同じ楽曲を示すデータであるが、奏法、ビート数、音調等が異なったトラック演奏データが記述されている。したがって、シーケンスデータを選択することによって、楽曲を演奏する奏法、ビート数、音調等を選択することになる。   And CPU30 determines the sequence data (Sd) to select according to the relationship between the threshold value D1 and the detected difference synthetic | combination vector peak value Dp. For example, the CPU 30 refers to the sequence selection table (FIG. 19) of the music to be played from the sequence selection table data Df, and determines the sequence number to be selected according to the difference composite vector peak value Dp. As described above, each sequence data Sd is data indicating the same music piece, but describes track performance data having different performance style, number of beats, tone, and the like. Therefore, by selecting the sequence data, the performance method for playing the music, the number of beats, the tone, and the like are selected.

ここで、差分合成ベクトルピーク値Dpは、プレイヤがコントローラ7を拍子のタイミングでメリハリをつけて振り動かすことによって、その値が上昇するパラメータである。例えば、図16、図17、および図19に示した例では、差分合成ベクトルピーク値Dpが大きくなると円滑奏法から分離奏法に変化するようにシーケンスデータが選択される。したがって、メリハリのある振り方でコントローラ7を振り動かすことによって演奏される楽曲の表現が変化した印象をプレイヤに与えて、あたかもプレイヤが指揮をしているようなリアルな感覚を与えることができる。   Here, the difference composite vector peak value Dp is a parameter whose value rises when the player swings the controller 7 with a sharp timing at the timing of time. For example, in the examples shown in FIGS. 16, 17, and 19, the sequence data is selected so that the smooth performance method changes to the separated performance method when the differential composite vector peak value Dp increases. Therefore, it is possible to give the player an impression that the expression of the musical piece to be played has changed by swinging the controller 7 in a sharp manner, and to give a realistic feeling as if the player is conducting.

一方、ステップ70において、CPU30は、差分合成ベクトル履歴データDcとして記録されている差分合成ベクトルの大きさDの履歴を参照して、所定時間前から現在までの差分合成ベクトルの大きさDの最大値に応じて、演奏シーケンスデータを選択して、次のステップ67に処理を進める。例えば、プレイヤによるコントローラ7の振り動かし方によっては、合成ベクトルピーク値Vpが検出される直前に差分合成ベクトルの大きさDのピークが表れないことがある。例えば、図14Bおよび図14Cに示すように、プレイヤがコントローラ7を小さく振り動かして各拍子をとるタイミングをやわらかくメリハリが少ない振り方をしたとき、差分合成ベクトルピーク値Vp5発生時点からピーク値Vp6発生時点までの期間には、差分合成ベクトルの大きさDのピークが表れていない。このような状態のときには、該当期間における大きさD最大値を採用して演奏シーケンスデータを選択する。なお、大きさDの最大値に応じて演奏シーケンスデータを選択する方法は、ピーク値Dpを用いて選択する方法と同様であるため、詳細な説明を省略する。   On the other hand, in step 70, the CPU 30 refers to the history of the magnitude D of the differential composite vector recorded as the differential composite vector history data Dc, and determines the maximum size D of the differential composite vector from a predetermined time to the present. Depending on the value, performance sequence data is selected, and the process proceeds to the next step 67. For example, depending on how the player swings the controller 7, the peak of the magnitude D of the differential composite vector may not appear immediately before the composite vector peak value Vp is detected. For example, as shown in FIG. 14B and FIG. 14C, when the player swings the controller 7 small and swings each time signature softly with little sharpness, the peak value Vp6 is generated from the time when the differential composite vector peak value Vp5 is generated. In the period up to the time point, the peak of the magnitude D of the difference composite vector does not appear. In such a state, performance sequence data is selected using the maximum value of the size D in the corresponding period. Note that the method of selecting performance sequence data according to the maximum value of the magnitude D is the same as the method of selecting using the peak value Dp, and thus detailed description thereof is omitted.

ステップ67において、CPU30は、前回取得した合成ベクトルの大きさVのピーク発生時点から今回取得した合成ベクトルの大きさVのピーク発生時点までの時間間隔(図11Cのt1、t2参照)を算出し、当該時間間隔を用いて演奏テンポを設定して、次のステップ68に処理を進める。具体的には、CPU30は、算出された時間間隔が相対的に長いときに再生される楽曲の演奏テンポが遅くなるように、演奏パラメータの1つである拍タイミングを設定する。一例として、CPU30は、過去に算出した時間間隔を参照して、最新の時間間隔に所定の重み付けをした加重平均を取ることで拍タイミングを算出する。   In step 67, the CPU 30 calculates a time interval (see t1 and t2 in FIG. 11C) from the peak occurrence time of the synthesized vector magnitude V acquired last time to the peak occurrence time of the synthesized vector magnitude V acquired this time. The performance tempo is set using the time interval, and the process proceeds to the next step 68. Specifically, the CPU 30 sets the beat timing, which is one of the performance parameters, so that the performance tempo of the music that is played when the calculated time interval is relatively long. As an example, the CPU 30 refers to the time intervals calculated in the past, and calculates the beat timing by taking a weighted average obtained by applying a predetermined weight to the latest time interval.

ステップ68において、CPU30は、設定されている演奏パラメータに基づいて制御し、現在選択されているシーケンスデータおよびトラックデータを演奏対象にして楽曲データDdを演奏して、処理を次のステップに進める。具体的には、CPU30は、現在の演奏パラメータによって、演奏音量および拍タイミング等を設定する。また、CPU30は、上記ステップ52のカウントされているカウント値に応じて、選択されているトラック演奏データから情報を読み出す。そして、音源(DSP34およびARAM35)は、読み出された各トラック演奏データに予め設定された音色を割り当て、演奏パラメータに基づいてスピーカ2aから音を再生する。これによって、プレイヤがコントローラ7を振り動かす動作に応じた所定の音色の楽曲が演奏される。   In step 68, the CPU 30 performs control based on the set performance parameters, plays the music data Dd with the currently selected sequence data and track data as performance targets, and advances the processing to the next step. Specifically, the CPU 30 sets the performance volume, beat timing, and the like according to the current performance parameters. Further, the CPU 30 reads information from the selected track performance data in accordance with the count value counted in step 52. The sound source (DSP 34 and ARAM 35) assigns a preset tone color to each read track performance data, and reproduces the sound from the speaker 2a based on the performance parameters. As a result, a musical piece having a predetermined tone color according to the action of the player swinging the controller 7 is played.

ここで、上記ステップ68では、プレイヤがコントローラ7を振り動かさなかった場合、シーケンスデータSdにおける拍の最後の時点で泊タイミング(演奏テンポ)を0にして楽曲演奏を停止させてもよい。また、演奏停止状態からコントローラ7を振り動かす動作が開始された場合、合成ベクトルの大きさVがピークを示した時点とシーケンスデータSdにおける拍の出だしとを一致させて楽曲演奏を開始してもよい。   Here, in step 68, if the player does not swing the controller 7, the night performance (performance tempo) may be set to 0 at the end of the beat in the sequence data Sd to stop the music performance. Further, when the operation of swinging the controller 7 is started from the performance stop state, even if the music performance is started by matching the time when the magnitude V of the composite vector shows a peak and the start of the beat in the sequence data Sd. Good.

次に、CPU30は、例えば現在選択されているトラックデータに応じて演奏対象のキャラクタを設定して当該キャラクタが演奏している様子を表現し、プレイヤキャラクタPCが拍子タイミングに応じて指揮棒を振る様子を表現したゲーム画像(図8、図9参照)を生成してモニタ2に表示する(ステップ69)。そして、CPU30は、上記ステップ52に戻って処理を繰り返す。   Next, for example, the CPU 30 sets a performance target character according to the currently selected track data and expresses how the character is playing, and the player character PC swings a command bar according to the timing. A game image (see FIGS. 8 and 9) expressing the state is generated and displayed on the monitor 2 (step 69). Then, the CPU 30 returns to step 52 and repeats the process.

このように、複数のトラックデータを有する楽曲に対して、加速度センサが検出した加速度の大きさに応じて演奏対象とするトラックデータを変化させるため、プレイヤがコントローラ7を振り動かす動作に応じて音楽の演奏の内容を変化させることができる。例えば、各トラックデータに対して異なった楽器を割り当てることによって、演奏対象とする楽器種を変化させることができるため、多様な演奏変化を生じさせてプレイヤにあたかも指揮棒を振って指揮しているような娯楽環境を提供することができる。また、複数のトラックデータを有するシーケンスデータを複数設定された楽曲に対して、加速度センサが検出した加速度の大きさに応じて演奏対象とするシーケンスデータを変化させる。例えば、各シーケンスデータに奏法、ビート数、曲調等が異なった演奏データを記述することによって、プレイヤがコントローラ7を振り動かす動作に応じて音楽の表現を変化させることができる。したがって、さらに多様な演奏変化を生じさせることが可能となる。   In this way, for music having a plurality of track data, the track data to be played is changed in accordance with the magnitude of the acceleration detected by the acceleration sensor. The contents of the performance can be changed. For example, by assigning a different instrument to each track data, it is possible to change the type of musical instrument to be played, so that various performance changes occur and the player is commanded by waving a command stick. Such an entertainment environment can be provided. In addition, the sequence data to be played is changed according to the magnitude of the acceleration detected by the acceleration sensor for the music set with a plurality of sequence data having a plurality of track data. For example, by describing performance data having different performance styles, beat numbers, tunes, etc. in each sequence data, the expression of music can be changed in accordance with the motion of the player swinging the controller 7. Therefore, it is possible to generate various performance changes.

なお、上記ステップ66やステップ70では、検出された差分合成ベクトルピーク値Dpや大きさDの最大値に応じて、演奏対象とするシーケンスデータを変更する処理を行っていたが、演奏対象とするトラックデータを変更してもかまわない。技術的には、図15〜図17に示すようにシーケンスデータSdがトラックデータ群を含んでいることから、複数のシーケンスデータから1つのシーケンスデータを選択することは、複数のトラックデータ群から1つのトラックデータ群を選択することと同意である。例えば、図16等に示したシーケンスデータSdのように複数のトラックデータが含まれる場合、当該トラックデータを複数のトラックデータ群に区別して何れかのトラックデータ群を選択する。そして、上記ステップ63で選択されたトラックデータを、選択されたトラックデータ群に属するトラックデータのみに制限する、または選択されたトラックデータ群に属するトラックデータに所定の方式を用いて変更する、または上記ステップ63において選択されたトラックデータ群から演奏対象のトラックデータを選択する等を行って演奏対象のトラックデータを決定する。このように、音楽の表現が異なるように構成されたシーケンスデータと同様に、トラックデータに対して音楽の表現が互いに異なる複数のトラックデータ群を構成することによって、同様に本発明を実現することができる。   In step 66 and step 70, the process of changing the sequence data to be played is performed according to the detected difference composite vector peak value Dp and the maximum value of the magnitude D. You can change the track data. Technically, as shown in FIGS. 15 to 17, since the sequence data Sd includes a track data group, selecting one sequence data from a plurality of sequence data is equivalent to 1 from a plurality of track data groups. It is agreed to select one track data group. For example, when a plurality of track data is included as in the sequence data Sd shown in FIG. 16 and the like, one of the track data groups is selected by distinguishing the track data into a plurality of track data groups. Then, the track data selected in step 63 is limited to only track data belonging to the selected track data group, or changed to track data belonging to the selected track data group using a predetermined method, or The track data to be played is determined by selecting the track data to be played from the track data group selected in step 63. As described above, the present invention can be similarly realized by configuring a plurality of track data groups having different music expressions for the track data, similarly to the sequence data configured to have different music expressions. Can do.

また、上述した楽曲データDdは、MIDI形式の音源制御データで構成された例を説明したが、他の形式のデータで構成してもかまわない。例えば、各トラックデータに含まれるトラック演奏データを、それぞれ各トラックに割り当てられた楽器の生演奏を録音すること等によって得られる波形情報(ストリーミング情報)やPCM(Pulse Code Modulation)データで構成してもかまわない。この場合、演奏テンポの制御が困難となるが、音の高さを変えずに演奏テンポを変える既に周知のタイムコンプレッションの技術を用いれば、同様にコントローラ7の動作によって得られる拍タイミングに応じた演奏テンポ制御が可能となる。   Further, although the above-described music data Dd has been described as being composed of sound source control data in the MIDI format, it may be composed of data in other formats. For example, the track performance data included in each track data is composed of waveform information (streaming information) or PCM (Pulse Code Modulation) data obtained by recording a live performance of the musical instrument assigned to each track. It doesn't matter. In this case, although it becomes difficult to control the performance tempo, if a well-known time compression technique for changing the performance tempo without changing the pitch is used, the beat tempo obtained by the operation of the controller 7 is similarly used. Performance tempo control is possible.

また、コントローラ7で検出されたY軸方向の加速度がY軸正方向である場合、合成ベクトルの大きさVを0とすることによって、拍子のタイミングで生じる加速度とは逆方向に生じた成分を除去したが、他の軸成分における正負方向の加速度検出や複数軸成分における正負方向の加速度検出によって同様の処理を行ってもかまわない。   Further, when the acceleration in the Y-axis direction detected by the controller 7 is in the positive Y-axis direction, the component generated in the direction opposite to the acceleration generated at the timing of the beat is obtained by setting the magnitude V of the combined vector to 0. However, the same processing may be performed by detecting positive and negative accelerations in other axis components and detecting positive and negative accelerations in a plurality of axis components.

また、コントローラ7に設けられた加速度センサ701は、互いに直交する3軸成分に分けてそれぞれ検出して出力する3軸加速度センサを用いて説明したが、少なくとも直交する2軸成分をそれぞれ検出する加速度センサを用いれば本発明を実現することができる。例えば、コントローラ7が配置された3次元空間における加速度をX軸およびY軸(図3、図4参照)の2軸成分に分けてそれぞれ検出して出力する加速度センサを用いても、プレイヤが上下左右方向にコントローラ7を指揮棒のように振り動かす動作の判定を行うことができる。さらに、1軸方向のみの加速度を検出する加速度センサを用いても本発明を実現することができる。例えば、コントローラ7が配置された3次元空間における加速度をY軸(図3、図4参照)成分のみ検出して出力する加速度センサを用いても、プレイヤが上下方向にコントローラ7を指揮棒のように振り動かす動作の判定を行うことができる。   Further, although the acceleration sensor 701 provided in the controller 7 has been described using the triaxial acceleration sensor that detects and outputs each of the triaxial components orthogonal to each other, the acceleration that detects at least the orthogonal biaxial components is described. The present invention can be realized by using a sensor. For example, even if an acceleration sensor that detects and outputs acceleration in a three-dimensional space in which the controller 7 is arranged is divided into two-axis components of the X axis and the Y axis (see FIGS. 3 and 4), the player can move up and down. It is possible to determine whether the controller 7 is swung like a baton in the left-right direction. Furthermore, the present invention can also be realized using an acceleration sensor that detects acceleration in only one axial direction. For example, even if an acceleration sensor that detects and outputs only the Y-axis (see FIGS. 3 and 4) component in the three-dimensional space in which the controller 7 is arranged is used, the player seems to be a commander in the vertical direction. It is possible to determine the motion to be swung.

また、上述した説明では、コントローラ7とゲーム装置3とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置3とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置3の接続端子に接続する。   In the above description, the controller 7 and the game apparatus 3 are connected by wireless communication. However, the controller 7 and the game apparatus 3 may be electrically connected via a cable. In this case, the cable connected to the controller 7 is connected to the connection terminal of the game apparatus 3.

また、コントローラ7から無線送信される送信データを受信する受信手段として、ゲーム装置3の接続端子に接続された受信ユニット6を用いて説明したが、ゲーム装置3の本体内部に設けられた受信モジュールによって当該受信手段を構成してもかまわない。この場合、受信モジュールが受信した送信データは、所定のバスを介してCPU30に出力される。   Further, the reception unit 6 connected to the connection terminal of the game apparatus 3 has been described as the reception means for receiving transmission data wirelessly transmitted from the controller 7. However, the reception module provided in the main body of the game apparatus 3 has been described. The receiving unit may be configured as follows. In this case, the transmission data received by the receiving module is output to the CPU 30 via a predetermined bus.

また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、コントローラ7における撮像情報演算部74の位置(撮像情報演算部74の光入射口)は、ハウジング71の前面でなくてもよく、ハウジング71の外部から光を取り入れることができれば他の面に設けられてもかまわない。   In addition, the shape of the controller 7 described above and the shape, number, and installation position of the operation unit 72 provided in them are merely examples, and even if the shape, number, and installation position are other, It goes without saying that the invention can be realized. Further, the position of the imaging information calculation unit 74 in the controller 7 (the light incident port of the imaging information calculation unit 74) does not have to be the front surface of the housing 71. If light can be taken in from the outside of the housing 71, the position is different. It does not matter if it is provided.

本発明に係る音楽演奏プログラムおよび音楽演奏装置は、複数のトラックデータを有する楽曲に対して、加速度センサが検出した加速度の大きさに応じて演奏対象とするトラックデータを変化させることができ、入力装置等の動きに応じて音楽を演奏する装置やプログラムとして有用である。   The music performance program and the music performance device according to the present invention can change track data to be performed on music having a plurality of track data according to the magnitude of acceleration detected by the acceleration sensor, It is useful as a device or program for playing music according to the movement of the device or the like.

1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
30…CPU
31…メモリコントローラ
32…GPU
33…メインメモリ
34…DSP
35…ARAM
36…コントローラI/F
37…ビデオI/F
38…外部メモリI/F
39…オーディオI/F
40…ディスクドライブ
41…ディスクI/F
4…光ディスク
5…外部メモリカード
6…受信ユニット
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
705…電池
8…マーカ
DESCRIPTION OF SYMBOLS 1 ... Game system 2 ... Monitor 2a ... Speaker 3 ... Game device 30 ... CPU
31 ... Memory controller 32 ... GPU
33 ... Main memory 34 ... DSP
35 ... ARAM
36 ... Controller I / F
37 ... Video I / F
38 ... External memory I / F
39 ... Audio I / F
40 ... disk drive 41 ... disk I / F
DESCRIPTION OF SYMBOLS 4 ... Optical disk 5 ... External memory card 6 ... Reception unit 7 ... Controller 71 ... Housing 72 ... Operation part 73 ... Connector 74 ... Imaging information calculating part 741 ... Infrared filter 742 ... Lens 743 ... Imaging element 744 ... Image processing circuit 75 ... Communication Part 751 ... Microcomputer 752 ... Memory 753 ... Wireless module 754 ... Antenna 700 ... Substrate 701 ... Acceleration sensor 702 ... LED
703 ... Crystal oscillator 704 ... Vibrator 705 ... Battery 8 ... Marker

Claims (15)

少なくとも1軸方向の加速度を検出する加速度センサを備えた入力装置で検出された加速度に応じて操作される装置のコンピュータで実行される音楽演奏プログラムであって、
前記コンピュータに、
前記加速度センサから出力される加速度データを取得する加速度データ取得ステップと、
取得した加速度データを用いて、加速度の大きさを算出する加速度算出ステップと、
算出された加速度の大きさに基づいて、記憶手段に記憶された複数のトラックデータを含む楽曲データから演奏対象とするトラックデータを少なくとも1つ選択するトラックデータ選択ステップと、
前記トラックデータ選択ステップにおいて選択されたトラックデータに基づいて、音響発生機器から発生する楽音を制御するためのデータを出力する音楽演奏ステップとを実行させ、
前記加速度算出ステップは、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を算出する差分算出ステップを含み、
前記トラックデータ選択ステップでは、前記加速度算出ステップにおいて算出された加速度の大きさと前記差分算出ステップにおいて算出された加速度の差分とに基づいて、演奏対象とするトラックデータが選択される、音楽演奏プログラム。
A music performance program executed by a computer of a device operated in accordance with acceleration detected by an input device including an acceleration sensor for detecting acceleration in at least one axis direction,
In the computer,
An acceleration data acquisition step of acquiring acceleration data output from the acceleration sensor;
Using the acquired acceleration data, an acceleration calculating step for calculating the magnitude of acceleration;
A track data selection step of selecting at least one track data to be played from music data including a plurality of track data stored in the storage means based on the calculated magnitude of acceleration;
Based on the track data selected in the track data selection step, a music performance step for outputting data for controlling musical sounds generated from a sound generating device,
The acceleration calculating step includes a difference calculating step of calculating a difference between the acceleration calculated using the previously acquired acceleration data and the acceleration calculated using the acceleration data acquired this time,
A music performance program in which, in the track data selection step, track data to be played is selected based on the magnitude of the acceleration calculated in the acceleration calculation step and the difference in acceleration calculated in the difference calculation step .
前記差分算出ステップにおいて算出された加速度の差分の履歴を用いて、当該加速度の差分のピーク値を検出する加速度差分ピーク値検出ステップを、さらに前記コンピュータに実行させ、
前記トラックデータ選択ステップでは、前記加速度算出ステップにおいて算出された加速度の大きさと前記加速度差分ピーク値検出ステップにおいて検出された加速度の差分のピーク値とに基づいて、演奏対象とするトラックデータが選択される、請求項に記載の音楽演奏プログラム。
Using the history of acceleration differences calculated in the difference calculating step, the computer further executes an acceleration difference peak value detecting step for detecting a peak value of the acceleration difference,
In the track data selection step, track data to be played is selected based on the magnitude of the acceleration calculated in the acceleration calculation step and the peak value of the acceleration difference detected in the acceleration difference peak value detection step. The music performance program according to claim 1 .
差分算出ステップにおいて算出された加速度の差分の履歴を用いて、当該加速度の差分のピーク値を検出する加速度差分ピーク値検出ステップを、さらに前記コンピュータに実行させ、
前記楽曲データは、それぞれ異なったトラックデータから成る複数のトラックデータ群を含み、
前記トラックデータ選択ステップでは、前記加速度差分ピーク値検出ステップにおいて検出された加速度の差分のピーク値に基づいて演奏対象とするトラックデータ群が選択され、前記加速度算出ステップにおいて算出された加速度の大きさに基づいて演奏対象のトラックデータ群から演奏対象のトラックデータが選択される、請求項1に記載の音楽演奏プログラム。
Using the difference history of acceleration calculated in the previous SL difference calculation step, the acceleration difference peak value detection step of detecting a peak value of the difference of the acceleration, is performed further to the computer,
The music data includes a plurality of track data groups each consisting of different track data,
In the track data selection step, a track data group to be played is selected based on the peak value of the acceleration difference detected in the acceleration difference peak value detection step, and the magnitude of the acceleration calculated in the acceleration calculation step is selected. The music performance program according to claim 1, wherein track data to be played is selected from a track data group to be played based on the performance data.
前記トラックデータ選択ステップでは、前記加速度算出ステップにおいて算出された加速度の大きさが大きいほど、演奏対象とするトラックデータの数が多く選択される、請求項1から3のいずれかに記載の音楽演奏プログラム。  The music performance according to any one of claims 1 to 3, wherein in the track data selection step, the larger the magnitude of the acceleration calculated in the acceleration calculation step, the larger the number of track data to be played is selected. program. 前記トラックデータ選択ステップでは、前記演奏対象とするトラックデータの数を増やす際、前記加速度算出ステップにおいて算出された前記加速度の大きさが相対的に小さい場合に選択するトラックデータに、さらに別のトラックデータを加えることによって当該演奏対象とするトラックデータの数が増やされる、請求項に記載の音楽演奏プログラム。 In the track data selection step, when increasing the number of track data to be played, another track is selected as the track data to be selected when the magnitude of the acceleration calculated in the acceleration calculation step is relatively small. The music performance program according to claim 4 , wherein the number of track data to be played is increased by adding data. 前記加速度の大きさが取り得る範囲を複数の範囲に分割し、当該分割された範囲毎に演奏対象とするトラックデータをそれぞれ対応させたトラック選択テーブルを予め設定するトラック選択テーブルデータ設定ステップを、さらに前記コンピュータに実行させ、
前記トラックデータ選択ステップでは、前記トラック選択テーブルを参照して、前記加速度算出ステップにおいて算出された加速度の大きさが含まれる前記範囲に対応するトラックデータが、前記演奏対象とするトラックデータとして選択される、請求項1から3のいずれかに記載の音楽演奏プログラム。
A track selection table data setting step for dividing a range that can be taken by the magnitude of acceleration into a plurality of ranges and presetting a track selection table corresponding to each track data to be played for each of the divided ranges, Furthermore, the computer is executed,
In the track data selection step, referring to the track selection table, track data corresponding to the range including the magnitude of the acceleration calculated in the acceleration calculation step is selected as the track data to be played. The music performance program according to any one of claims 1 to 3 .
前記加速度センサは、前記入力装置に対して互いに直交する複数軸方向の加速度をそれぞれ検出し、
前記加速度算出ステップでは、取得した加速度データを用いて、前記複数軸方向それぞれの加速度ベクトルを合成した合成ベクトルの大きさが算出される、請求項1から6のいずれかに記載の音楽演奏プログラム。
The acceleration sensor detects accelerations in a plurality of axial directions orthogonal to the input device;
The music performance program according to any one of claims 1 to 6, wherein in the acceleration calculation step, a magnitude of a combined vector obtained by combining the acceleration vectors in the plurality of axial directions is calculated using the acquired acceleration data.
前記加速度センサは、前記入力装置に対して互いに直交する複数軸方向の加速度をそれぞれ検出し、
前記差分算出ステップでは、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を前記複数軸方向それぞれに算出し、当該複数軸方向それぞれの差分ベクトルを合成した差分合成ベクトルの大きさが加速度の差分として算出される、請求項1から6のいずれかに記載の音楽演奏プログラム。
The acceleration sensor detects accelerations in a plurality of axial directions orthogonal to the input device;
In the difference calculating step, a difference between the acceleration calculated using the acceleration data acquired last time and the acceleration calculated using the acceleration data acquired this time is calculated for each of the plurality of axis directions, and a difference vector for each of the plurality of axis directions is calculated. The music performance program according to any one of claims 1 to 6 , wherein a magnitude of a difference synthesis vector obtained by synthesizing is calculated as an acceleration difference.
前記複数のトラックデータには、それぞれ異なった楽器が割り当てられており、
前記トラックデータに割り当てられた楽器をそれぞれ仮想ゲーム世界に配置し、前記トラックデータ選択ステップで選択されたトラックデータに割り当てられた楽器のみが演奏されるアクションを表示装置に表示する表示処理ステップを、さらに前記コンピュータに実行させる、請求項1から8のいずれかに記載の音楽演奏プログラム。
Different instruments are assigned to the plurality of track data,
A display processing step of placing each instrument assigned to the track data in a virtual game world and displaying on the display device an action in which only the instrument assigned to the track data selected in the track data selection step is played; The music performance program according to claim 1, further executed by the computer.
前記複数のトラックデータには、それぞれ異なった楽器の演奏データが割り当てられていることを特徴とする、請求項1から9のいずれかに記載の音楽演奏プログラム。 The music performance program according to any one of claims 1 to 9, wherein performance data of different instruments is assigned to the plurality of track data. 前記トラックデータ群に割り当てられる演奏データは、他のトラックデータ群に割り当てられる演奏データに対して、同じ楽曲で奏法、ビート数、および曲調の少なくとも1つが互いに異なることを特徴とする、請求項に記載の音楽演奏プログラム。 Performance data assigned to the track data group, to the performance data to be allocated to another track data group, playing the same song, the number of beats, and at least one melody, and being different from each other, according to claim 3 The music performance program described in 1. 前記装置は、音響発生機器から楽音を発生させる音源を備えており、
前記楽曲データに含まれる複数のトラックデータは、それぞれ前記音源の制御データで構成され、
前記音楽演奏ステップでは、前記トラックデータ選択ステップで選択されたトラックデータに記述された制御データが出力されて前記音源が制御される、請求項1から11のいずれかに記載の音楽演奏プログラム。
The apparatus includes a sound source that generates a musical sound from a sound generating device,
The plurality of track data included in the music data are each composed of control data of the sound source,
12. The music performance program according to claim 1, wherein in the music performance step, control data described in the track data selected in the track data selection step is output to control the sound source.
少なくとも1軸方向の加速度を検出する加速度センサを備えた入力装置で検出された加速度に応じて操作される音楽演奏装置であって、
前記加速度センサから出力される加速度データを取得する加速度データ取得手段と、
取得した加速度データを用いて、加速度の大きさを算出する加速度算出手段と、
算出された加速度の大きさに基づいて、記憶手段に記憶された複数のトラックデータを含む楽曲データから演奏対象とするトラックデータを少なくとも1つ選択するトラックデータ選択手段と、
前記トラックデータ選択手段が選択したトラックデータに基づいて、音響発生機器から発生する楽音を制御するためのデータを出力する音楽演奏手段とを備え、
前記加速度算出手段は、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を算出する差分算出手段を有し、
前記トラックデータ選択手段は、前記加速度算出手段によって算出された加速度の大きさと前記差分算出手段によって算出された加速度の差分とに基づいて、演奏対象とするトラックデータを選択する、音楽演奏装置。
A music performance device operated according to acceleration detected by an input device including an acceleration sensor that detects acceleration in at least one axial direction,
Acceleration data acquisition means for acquiring acceleration data output from the acceleration sensor;
Acceleration calculation means for calculating the magnitude of acceleration using the acquired acceleration data;
Track data selection means for selecting at least one track data to be played from music data including a plurality of track data stored in the storage means based on the magnitude of the calculated acceleration;
Music performance means for outputting data for controlling the musical sound generated from the sound generator based on the track data selected by the track data selection means,
The acceleration calculation means includes difference calculation means for calculating a difference between the acceleration calculated using the previously acquired acceleration data and the acceleration calculated using the acceleration data acquired this time,
The music performance apparatus , wherein the track data selection means selects track data to be played based on the magnitude of the acceleration calculated by the acceleration calculation means and the difference between the accelerations calculated by the difference calculation means .
少なくとも1軸方向の加速度を検出する加速度センサを備えた入力装置で検出された加速度に応じて操作される音楽演奏システムであって、  A music performance system operated according to acceleration detected by an input device including an acceleration sensor for detecting acceleration in at least one axis direction,
前記加速度センサから出力される加速度データを取得する加速度データ取得手段と、  Acceleration data acquisition means for acquiring acceleration data output from the acceleration sensor;
取得した加速度データを用いて、加速度の大きさを算出する加速度算出手段と、  Acceleration calculation means for calculating the magnitude of acceleration using the acquired acceleration data;
算出された加速度の大きさに基づいて、記憶手段に記憶された複数のトラックデータを含む楽曲データから演奏対象とするトラックデータを少なくとも1つ選択するトラックデータ選択手段と、  Track data selection means for selecting at least one track data to be played from music data including a plurality of track data stored in the storage means based on the magnitude of the calculated acceleration;
前記トラックデータ選択手段が選択したトラックデータに基づいて、音響発生機器から発生する楽音を制御するためのデータを出力する音楽演奏手段とを備え、  Music performance means for outputting data for controlling the musical sound generated from the sound generator based on the track data selected by the track data selection means,
前記加速度算出手段は、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を算出する差分算出手段を有し、  The acceleration calculation means includes difference calculation means for calculating a difference between the acceleration calculated using the previously acquired acceleration data and the acceleration calculated using the acceleration data acquired this time,
前記トラックデータ選択手段は、前記加速度算出手段によって算出された加速度の大きさと前記差分算出手段によって算出された加速度の差分とに基づいて、演奏対象とするトラックデータを選択する、音楽演奏システム。  The music performance system, wherein the track data selection means selects track data to be played based on a magnitude of acceleration calculated by the acceleration calculation means and a difference between accelerations calculated by the difference calculation means.
少なくとも1軸方向の加速度を検出する加速度センサを備えた入力装置で検出された加速度に応じて操作される装置における音楽演奏方法であって、  A music performance method in a device operated according to an acceleration detected by an input device including an acceleration sensor for detecting an acceleration in at least one axis direction,
前記加速度センサから出力される加速度データを取得する加速度データ取得ステップと、  An acceleration data acquisition step of acquiring acceleration data output from the acceleration sensor;
取得した加速度データを用いて、加速度の大きさを算出する加速度算出ステップと、  Using the acquired acceleration data, an acceleration calculating step for calculating the magnitude of acceleration;
算出された加速度の大きさに基づいて、記憶手段に記憶された複数のトラックデータを含む楽曲データから演奏対象とするトラックデータを少なくとも1つ選択するトラックデータ選択ステップと、  A track data selection step of selecting at least one track data to be played from music data including a plurality of track data stored in the storage means based on the calculated magnitude of acceleration;
前記トラックデータ選択ステップにおいて選択されたトラックデータに基づいて、音響発生機器から発生する楽音を制御するためのデータを出力する音楽演奏ステップとを備え、    A music performance step of outputting data for controlling the musical sound generated from the sound generator based on the track data selected in the track data selection step,
前記加速度算出ステップは、前回取得した加速度データを用いて算出した加速度と今回取得した加速度データを用いて算出した加速度との差分を算出する差分算出ステップを含み、  The acceleration calculating step includes a difference calculating step of calculating a difference between the acceleration calculated using the previously acquired acceleration data and the acceleration calculated using the acceleration data acquired this time,
前記トラックデータ選択ステップでは、前記加速度算出ステップにおいて算出された加速度の大きさと前記差分算出ステップにおいて算出された加速度の差分とに基づいて、演奏対象とするトラックデータが選択される、音楽演奏方法。  In the track data selecting step, the track data to be played is selected based on the magnitude of the acceleration calculated in the acceleration calculating step and the difference in acceleration calculated in the difference calculating step.
JP2010183922A 2010-08-19 2010-08-19 Music performance program, music performance device, music performance system, and music performance method Active JP5036010B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010183922A JP5036010B2 (en) 2010-08-19 2010-08-19 Music performance program, music performance device, music performance system, and music performance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010183922A JP5036010B2 (en) 2010-08-19 2010-08-19 Music performance program, music performance device, music performance system, and music performance method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006120926A Division JP4757089B2 (en) 2006-04-25 2006-04-25 Music performance program and music performance apparatus

Publications (2)

Publication Number Publication Date
JP2011008284A JP2011008284A (en) 2011-01-13
JP5036010B2 true JP5036010B2 (en) 2012-09-26

Family

ID=43564931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010183922A Active JP5036010B2 (en) 2010-08-19 2010-08-19 Music performance program, music performance device, music performance system, and music performance method

Country Status (1)

Country Link
JP (1) JP5036010B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6444288B2 (en) 2015-10-30 2018-12-26 株式会社ズーム Controller, sound module and electronic musical instrument

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3259367B2 (en) * 1992-10-09 2002-02-25 ヤマハ株式会社 Karaoke equipment
JP3149736B2 (en) * 1995-06-12 2001-03-26 ヤマハ株式会社 Performance dynamics control device
JP3654143B2 (en) * 2000-06-08 2005-06-02 ヤマハ株式会社 Time-series data read control device, performance control device, video reproduction control device, time-series data read control method, performance control method, and video reproduction control method
JP4166438B2 (en) * 2001-01-31 2008-10-15 ヤマハ株式会社 Music game equipment
JP3821103B2 (en) * 2003-02-24 2006-09-13 ヤマハ株式会社 INFORMATION DISPLAY METHOD, INFORMATION DISPLAY DEVICE, AND RECORDING MEDIUM CONTAINING INFORMATION DISPLAY PROGRAM
JP3981837B2 (en) * 2004-10-01 2007-09-26 ヤマハ株式会社 Musical sound generating device and recording medium recording a computer-readable program applied to the device

Also Published As

Publication number Publication date
JP2011008284A (en) 2011-01-13

Similar Documents

Publication Publication Date Title
JP4757089B2 (en) Music performance program and music performance apparatus
US10384129B2 (en) System and method for detecting moment of impact and/or strength of a swing based on accelerometer data
US8246460B2 (en) Game system
JP4679431B2 (en) Sound output control program and sound output control device
US8858330B2 (en) Music video game with virtual drums
JP5173174B2 (en) GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD
US9199169B2 (en) Computer-readable storage medium and game apparatus
JP5812663B2 (en) Music performance program, music performance device, music performance system, and music performance method
JP5441205B2 (en) Music performance program, music performance device, music performance method, and music performance system
JP5702585B2 (en) Input determination program, information processing apparatus, system, and information processing method
JP5036010B2 (en) Music performance program, music performance device, music performance system, and music performance method
JP5302516B2 (en) Sound reproduction program, sound reproduction device, sound reproduction system, and sound reproduction method
KR100404917B1 (en) Game System For Body Motion Combined With Karaoke Funtion
JP6603734B2 (en) GAME PROGRAM AND GAME DEVICE
JP5784672B2 (en) Music performance program and music performance device
CN111760303A (en) Digital musical instrument octopus piano

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120629

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5036010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250