演奏装置及び演奏装置制御プログラム
【課題】 2次元領域を移動する移動座標の移動態様または移動座標に対応する楽音の楽音特性を、装置自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現する。
【解決手段】 演奏装置MCには、内部にマトリクス表示部mtLEDが対応して内装されたマトリクススイッチmtSWがマトリクス状に配列され、また、3次元(X、Y、Z軸)方向における加速度を検出するGセンサ24が設けられる。Gセンサモードでは、X軸、Y軸方向における加速度の変化に基づいて、指定玉dp、移動玉mpのスライド移動、または移動玉mpの速度変更が行われ、Z軸方向における加速度の変化(「ZN−ZS」の値)に基づいて、音源12から出力される楽音信号のカットオフ周波数Fが変更設定されることで、発生する楽音の楽音特性が変化する。
【解決手段】 演奏装置MCには、内部にマトリクス表示部mtLEDが対応して内装されたマトリクススイッチmtSWがマトリクス状に配列され、また、3次元(X、Y、Z軸)方向における加速度を検出するGセンサ24が設けられる。Gセンサモードでは、X軸、Y軸方向における加速度の変化に基づいて、指定玉dp、移動玉mpのスライド移動、または移動玉mpの速度変更が行われ、Z軸方向における加速度の変化(「ZN−ZS」の値)に基づいて、音源12から出力される楽音信号のカットオフ周波数Fが変更設定されることで、発生する楽音の楽音特性が変化する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム要素を取り入れた演奏装置及び演奏装置制御プログラムに関する。
【背景技術】
【0002】
従来、楽音を発生可能な演奏装置でゲームを実現したものが知られている。例えば、下記特許文献1の演奏装置は、鍵盤電子楽器にゲームの要素を取り入れ、グリッサンド的に変化する楽音を発生させてボールの動きを模擬すると共に、鍵盤での押鍵操作をラケット動作に対応させてボール打ちゲームを実現している。
【特許文献1】特公平1−49508号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1では、音の変化やボールの動きが直線的且つ画一的であり、飽きやすい。従って、動的で一層面白みのあるゲームを実現する上で、改善の余地があった。
【0004】
本発明は上記従来技術の問題を解決するためになされたものであり、その目的は、2次元領域を移動する移動座標の移動態様または移動座標に対応する楽音の楽音特性を、装置自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる演奏装置及び演奏装置制御プログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するために本発明の請求項1の演奏装置は、2次元領域(mt)における座標(n、k)の各々に対応する発音データ(KC)を生成可能な発音データ生成手段(1)と、前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標(a(n))を発生させる移動座標発生手段(1)と、当該演奏装置に生じる加速度を検出する加速度検出手段(24)と、前記加速度検出手段により検出された加速度に基づいて、前記移動座標発生手段により発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変手段(1)とを有することを特徴とする。
【0006】
好ましくは、前記加速度検出手段は、複数方向における加速度を検出可能であり、前記可変手段は、前記加速度検出手段により検出された加速度及びその方向に応じて、前記移動座標の前記移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される前記発音データに基づく楽音の楽音特性を変化させることを特徴とする(請求項2)。
【0007】
また、好ましくは、前記移動座標の前記移動の態様は、移動方向または移動速さの少なくとも一方であることを特徴とする(請求項3)。また、好ましくは、前記2次元領域における座標の各々を個別に指定可能な座標指定手段(mtSW)を有し、前記移動座標発生手段は、前記座標指定手段による座標の指定に基づいて、前記移動座標を発生させることを特徴とする(請求項4)。
【0008】
また、好ましくは、前記発音データ生成手段により生成される発音データに基づき楽音発生を指示する楽音発生指示手段(1)を有し、少なくとも前記移動座標が所定座標(KL、KH)に到達したとき、前記発音データ生成手段が前記所定座標に対応する発音データを生成すると共に、前記楽音発生指示手段が前記所定座標に対応して生成された発音データに基づき楽音発生を指示することで、前記移動座標の移動状態がユーザに認識されることを特徴とする(請求項5)。
【0009】
また、好ましくは、前記2次元領域における座標の各々に対応して配列された複数の可視表示部(mtLED)と、該複数の可視表示部を制御する可視表示部制御手段(1)とを有し、少なくとも前記移動座標が所定座標(KL、KH)に到達したとき、前記可視表示部制御手段が前記所定座標に対応する可視表示部を可視表示させるように制御することで、前記移動座標の移動状態がユーザに認識されることを特徴とする(請求項6)。
【0010】
また、好ましくは、他装置(MC2)と通信するための他装置通信手段(9)と、前記移動座標発生手段により発生した移動座標が、前記2次元領域からはみ出した場合に、引き継ぎデータ(n’、a’(n))を生成する引き継ぎデータ生成手段(1)と、前記引き継ぎデータ生成手段により生成された引き継ぎデータを前記他装置通信手段を介して前記他装置に送出する引き継ぎデータ送出手段(9)とを有し、前記移動座標発生手段は、前記他装置からの引き継ぎデータが前記他装置通信手段を介して受信された場合には、該受信された引き継ぎデータに基づいて、前記2次元領域において移動する移動座標を新たに発生させることを特徴とする(請求項7)。
【0011】
上記目的を達成するために本発明の請求項8の演奏装置制御プログラムは、2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成ステップと、前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生ステップと、加速度を検出する加速度検出ステップと、前記加速度検出ステップにより検出された加速度に基づいて、前記移動座標発生ステップにより発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成ステップにより生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変ステップとをコンピュータに実行させることを特徴とする。
【0012】
なお、上記括弧内の符号は例示である。なお、請求項8記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体は、本発明を構成する。
【発明の効果】
【0013】
本発明によれば、2次元領域を移動する移動座標の移動態様または移動座標に対応する楽音の楽音特性を、装置自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を参照して説明する。
【0015】
図1は、本発明の一実施の形態に係る演奏装置の全体構成を示すブロック図である。図2は、本実施の形態の演奏装置2台を通信可能に接続して構成される演奏システムの利用態様を示す外観図である。図3は、1つの演奏装置と発光ケーブルとを示す外観図である。
【0016】
図2に示す演奏システムは、本実施の形態の演奏装置MCを2台、発光ケーブル30で接続して成る。2台の演奏装置MCの構成は同一であるので、以下、構成の詳細な説明は、1つの演奏装置MCについて行う。また、2台の演奏装置MCを特に区別するときは、自装置MC1及び相手装置MC2と呼称する。
【0017】
図1に示すように、演奏装置MCは、ROM2、RAM3、タイマ4、記憶入出力装置5、記憶装置6、通信I/F7、ライン発光端子8、他機通信I/F9、マトリクス表示入力部mt、パネルスイッチ10、表示部11、音源12、オフレベル検出部13及びGセンサ24がバス16を介してCPU1にそれぞれ接続されて構成される。音源12には、D/A変換器14を介してサウンドシステム15が接続されている。CPU1にはタイマ4が接続される。
【0018】
CPU1は、本演奏装置MCの制御を司る。ROM2は、CPU1が実行する制御プログラムや各種テーブルデータ等を記憶する。RAM3は、演奏データ、テキストデータ等の各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。タイマ4は、タイマ割り込み処理における割り込み時間や各種時間を計時する。記憶入出力装置5は、記憶媒体であるフラッシュメモリ、フレキシブルディスク等の可搬の記憶媒体17に対してデータの記憶、読み出しを行う。パネルスイッチ10は、各種情報を入力するための複数のスイッチを備え、これらには、例えば、図3に示す操作子群19、エンコーダスイッチ18が含まれる。表示部11は、LCD等で構成される。記憶装置6は、演奏データ等を記憶するほか、上記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶することができる。
【0019】
通信I/F7には、他のMIDI機器との間でUSB(Universal Serial Bus)端子等を介してMIDI(Musical Instrument Digital Interface)信号の送受信を行うMIDII/Fのほか、上記USB、インターネット等のネットワークを介してデータ通信を行うネットワークI/F、及び、有線または無線のLAN(ローカルエリアネットワーク)等が含まれる。他機通信I/F9は、自装置MC1と相手装置MC2とのデータ通信を実現する。ライン発光端子8は、発光ケーブル30の後述するライン発光部LDに制御信号を送出する端子である。
【0020】
音源12は、入力される演奏データ乃至発音データを楽音信号に変換する。D/A変換器14は、デジタル/アナログ変換を行い、サウンドシステム15は、アンプ及びスピーカからなり(図示せず)、D/A変換器14から入力される楽音信号を音響に変換する。また、オフレベル検出部13は、音源12から出力される楽音信号からオフレベル信号を検出してそれをCPU1に供給する。なお、音源12は、一部をソフトウェアで構成してもよい。また、音源12を演奏装置MCに内蔵することなく、別体で設けた音源を演奏装置MCに接続し、演奏装置MCから上記音源に発音指示を送るように構成してもよい。
【0021】
Gセンサ24は、例えば市販の加速度センサで構成でき、3次元(X、Y、Z軸)方向における演奏装置MCに加わる加速度を検出する。なお、Gセンサ24は、1軸加速度センサを3つ互いに直交させて設けて構成してもよいし、2軸加速度センサ2つを互いに直交させて設け、そのうち1つは1軸のみ用いるように構成してもよい。
【0022】
図3に示すように、演奏装置MCは、外観が箱形に形成され、上記マトリクス表示入力部mt、表示部11、操作子群19及びエンコーダスイッチ18は、その上面に配設される。マトリクス表示入力部mtに対して表示部11側が後方であり、ユーザは、演奏装置MCの後方に居て演奏装置MCを操作することになる。以降、演奏装置MCの前後左右は、ユーザからみて呼称する。
【0023】
また、図3に示すように、演奏装置MCの前端部には、発光ケーブル30を接続するためのコネクタ23が設けられる。コネクタ23に発光ケーブル30を接続することで、演奏装置MC(自装置MC1)は、他機通信I/F9を介して相手装置MC2とデータ通信可能となり、しかも、ライン発光端子8を介して発光ケーブル30を発光制御可能になる。発光ケーブル30の構成は後述する。
【0024】
図4は、マトリクス表示入力部mtの平面図である。図1に示すように、マトリクス表示入力部mtには、複数のマトリクススイッチmtSWから成るマトリクススイッチ群mtSW(n、k)、及び複数のマトリクス表示部mtLEDから成るマトリクス表示部群mtLED(n、k)が含まれる。図4に示すように、マトリクス表示入力部mtは四角形の領域を有し、この領域に、マトリクススイッチmtSWが、縦横16×16のマトリクス状に合計256個配列される。各マトリクススイッチmtSWはプッシュ式スイッチであり、内部にはマトリクス表示部mtLEDが対応して内装されている。なお、各マトリクススイッチmtSWはタッチパネル方式の透過型有機EL(Electronic Luminescence)で構成したパネルスイッチであってもよい。各マトリクス表示部mtLEDは、少なくとも2段階の明るさで発光可能なLED(Light Emitting Diode)である。各マトリクススイッチmtSWは、少なくとも上部が透光部材で構成され、対応するマトリクス表示部mtLEDの発光が視認されるようになっている。
【0025】
各マトリクススイッチmtSWのマトリクス表示部mtLEDは、マトリクススイッチmtSWの押下操作によって発光、消光するだけでなく、後述するCPU1による各種モードに応じた処理によっても発光制御される。
【0026】
以降、マトリクス表示入力部mtにおいて、列(左右)方向をX軸、行(上下)方向をY軸、マトリクス表示入力部mtに対する鉛直方向をZ軸とする。X軸方向は、16列存在し、その座標が「n」で表される。Y軸方向は16行存在し、その座標が「k」で表される。各マトリクススイッチmtSW、及びそのマトリクス表示部mtLEDの個々の特定はX、Y座標で表現可能であり、それぞれmtSW(n、k)、mtLED(n、k)で表される。例えば、最も左下のものは、mtSW(1、1)、mtLED(1、1)である。本実施の形態では、1つの列(図4でいう縦の列)nに1つの発音チャンネルが対応しており、nは、発音チャンネルを示すものでもある。
【0027】
CPU1は、マトリクススイッチmtSWの個々に対応する発音データKCを生成可能であり、そのための情報がROM2等に記憶されている。この発音データKCは、例えばMIDI信号で構成される演奏データの一種であり、音高、音色、ベロシティ、エフェクト等の楽音パラメータを含んでいる。本実施の形態では、上記発音データKCは、一例として、k値(Y座標)によって音高が異なり、各列(n値)によって音色(楽器音に相当)が異なり、その他の楽音パラメータは全マトリクススイッチmtSWについて同じに設定されている。例えば、k=1では音高が「C4」(中央のCであってMIDIの60が相当する)、k=2では音高「D4」、以降、「E4」、「F4」・・・、k=16では音高「D5」というように、各k値に、鍵盤でいう白鍵に相当する音高が順番に対応付けられている。なお、各k値に対応付ける音高はこれに限られず、例えば、黒鍵の音高(C4#等)を含めてもよい。また、各列(n値)間の音色を同じとしてもよい。
【0028】
各マトリクススイッチmtSWは、個別に指等で押下される度に、指定(オン)/指定解除(オフ)される。なお、押下状態にあるときだけ指定(オン)状態とし、非押下状態のときは指定解除(オフ)状態となるように構成してもよい。
【0029】
ここで、本出願人により既に実現されている公知の「順次発音モード」の動作を説明しておく。順次発音モード(後述する図9のステップS111の「その他処理」で実行され得る)では、各マトリクススイッチmtSWは、指定状態のマトリクススイッチmtSWのマトリクス表示部mtLEDが発光する。マトリクス表示部mtLEDは上記のように2段階発光でき、弱発光と、弱発光より輝度の高い強発光のいずれかで発光する。この順次発音モードでは、マトリクス表示部mtLEDは、非指定状態では消光され、指定状態では弱発光し、後述する発音列Pと一致した時点では強発光する。
【0030】
例えば、図4で例示すると、「斜線付きの○」が弱発光、「●:(黒塗りの○)」が強発光していることを示す。順次発音モードでは、所定の操作により、発音列Pが(左方の)1列目から順に所定速度tで移動し、16列目を過ぎるとまた1列目に戻り、以後これを繰り返す。そして、発音列Pの移動の過程において、発音列Pに存在する指定状態にあるマトリクススイッチmtSWのマトリクス表示部mtLEDが強発光する。同図の例では、7列目にあるマトリクス表示部mtLED(7、2)、mtLED(7、7)、mtLED(7、10)、が強発光している。それと共に、発音列Pに存在する指定状態にあるマトリクススイッチmtSWに対応する発音データKCが生成され、この発音データKCに基づいて、サウンドシステム15から楽音が発生する。なお、この順次発音モードでは、全列nについて音色が自動的に同一に設定されるようにしてもよい。
【0031】
従って、ユーザは、マトリクス状に配列されたマトリクススイッチmtSWを、左右方向を時間、上下方向を音高とみなして指定入力することで、簡単な作曲、再生を行うことができる。
【0032】
次に、発光ケーブル30の構成を説明する。図3に示すように、発光ケーブル30には、第1、第2の端部30a、30b間において、第1端部30a側から順に、ほぼ等間隔に12個のライン発光部LD(LD(1)〜LD(12))が配列され、各ライン発光部LDに対応して帯状導光体22(22(1)〜22(12))が設けられる。帯状導光体22は、発光ケーブル30の外周に巻設され、対応するライン発光部LDの光を発光ケーブル30の外周方向に分散させて、発光ケーブル30のあらゆる方向から各ライン発光部LDの発光が認識されるようになっている。
【0033】
図5は、発光ケーブル30の一部表面を示す展開図である。同図において、発光ケーブル30の表面を覆う外装の透明フィルムの図示が省略されている。
【0034】
第1端部30aには、接地用の端子CG0と、制御信号が入力される12個の入力端子C1〜C12が設けられ、第2端部30bにも同様に、接地用の端子DG0と、入力端子D1〜D12が設けられる。
【0035】
各ライン発光部LD及び各帯状導光体22の配設態様は、位置を除いて同様であるので、ライン発光部LD(1)及び帯状導光体22(1)に関して主に説明する。発光ケーブル30は、ポリプロピレン等で構成されるベース体BSに配線パターン及び/又は電子部品(LED等)を施したフレキシブル両面基板として構成されている。すなわち、ベース体BSには帯状導光体22(1)が固着等によって設けられ、ライン発光部LD(1)が帯状導光体22(1)に内装されるように配設されている。
【0036】
入力端子C1は、ベース体BSの表面に敷設される信号ラインCL1によりライン発光部LD(1)と接続され、一方、入力端子D1は、ベース体BSの裏面に敷設される信号ラインDL1を介して信号ラインCL1と接続されている。よって、ライン発光部LD(1)は、入力端子C1と入力端子D1とに接続状態となっている。信号ラインCL1には、入力端子D1とライン発光部LD(1)との間において、カーボン等の帯状の抵抗体CR1が設けられ、信号ラインDL1にもこれと同様の抵抗体(図示せず)が設けられている。他のライン発光部LDに関しても同様で、結局、ライン発光部LD(1)〜LD(12)が、それぞれ入力端子C1〜C12と入力端子D1〜D12とに接続されている。また、すべてのライン発光部LD(1)〜LD(12)は、ラインL0を通じて接地用の端子CG0、DG0に接続されている。上記抵抗体CR1、CR2・・は、ライン発光部LD(1)〜LD(12)のLEDに適正電流を流すための調整用抵抗体である。
【0037】
発光ケーブル30は、ベース体BSを筒状に丸めてその長辺同士を接着等で固定することで構成される。その際、他機通信I/F9に接続される信号線束(図示せず)が、発光ケーブル30の筒状部分内部に内装固定される。
【0038】
発光ケーブル30は、かかる構成により、例えば、入力端子C1に制御信号が供給されると、入力端子C1、信号ラインCL1、ライン発光部LD(1)、ラインL0及び端子CG0間で閉回路が形成されて、ライン発光部LD(1)が発光する。他のライン発光部LDについても同様である。例えば、発光ケーブル30の第1端部30aを自装置MC1のコネクタ23に接続したとき、自装置MC1のライン発光端子8(図1参照)から供給される最大で12個分の制御信号が入力端子C1〜C12に対応することになり、これらよって、各ライン発光部LDが個別に発光及び消光制御される。
【0039】
ここで、入力端子C1〜C12の並びと入力端子D1〜D12の並びとは各第1、第2端部30a、30b側からみたとき同じとなっており、従って、発光ケーブル30は、第1、第2端部30a、30bを逆にしても、実質的に同様に機能する。すなわち、発光ケーブル30の第2端部30bを自装置MC1のコネクタ23に接続したときであっても、各制御信号が入力端子D1〜D12に対応することになり、全く同様に、各ライン発光部LDが個別に発光及び消光制御される。従って、ユーザは、発光ケーブル30の接続において、方向性を意識する煩雑さから解放される。
【0040】
次に、各種動作モードは、後述する図9〜図14の処理によって実現されるが、これらの処理については後に詳述することとし、まず、そのうち対戦モード及びGセンサモードについて具体的な動作の一例を、図6〜図8を用いて説明する。
【0041】
図6は、対戦モード中における、「閉じ込め状態」の態様を模式的に示すマトリクス表示入力部mtの遷移図である。図7は、対戦モード中における、「ラリー状態」の態様を模式的に示す両演奏装置MCのマトリクス表示入力部mtの遷移図である。図7(a)〜(d)は自装置MC1、同図(e)〜(h)は相手装置MC2のマトリクス表示入力部mtを示している。図8は、対戦モードで且つGセンサモードの動作態様を模式的に示すマトリクス表示入力部mtの遷移図である。
【0042】
本実施の形態では、マトリクス表示部mtLEDが平面視円形で、発光すると、概念的に発光玉として把握できることから、以降、指定状態にあるマトリクススイッチmtSWのマトリクス表示部mtLEDを、「指定玉dp(dp1、dp2、dp3)」と呼称する。また、発光するマトリクス表示部mtLEDが、順にシフトしていく場合、発光玉が移動するように把握できることから、以降、このような移動する発光玉を「移動玉mp」と呼称する。「移動玉mp」は、マトリクス表示入力部mtにおいては、いずれかのマトリクス表示部mtLED(通常、隣接するマトリクス表示部mtLED)を現在位置に執りつつ時間的に変位する移動座標で規定されるものである。
【0043】
1つの列nにつき、「指定玉dp」は1つまたは2つ、「移動玉mp」は1つである。また、図6〜図8において、移動玉mpが「二重丸◎」で示され、指定玉dpが「点線の○」、または「●:(黒塗りの○)」で示されている。「点線の○」は特に、消光された指定玉dpを示している。さらに、強発光しているマトリクス表示部mtLED(指定玉dp及び移動玉mpが含まれ得る)、及び発光ケーブル30において発光しているライン発光部LDが、「●:(黒塗りの○)」で示されている。
【0044】
『対戦モード;閉じ込め状態』
対戦モードでは通常、まず、一方の演奏装置MC(ここでは自装置MC1とする)において、所望の列nにおけるマトリクススイッチmtSWを指等で2つ指定(オン)することで、移動玉mpを発生させる。ここで、対戦モードにおいては、あるマトリクススイッチmtSWを一定時間以上押下し続けることでオンイベントとなり、指定玉dpの指定がなされたことになる。すなわち、図6(a)に示すように、ある列における1つのマトリクススイッチmtSWを指で押下し続けることで1つ目の指定玉dp1を指定すると、それが強発光すると共にその座標に対応した発音をし(図10のステップS120→S121→S128)、次に同じ列において他の1つのマトリクススイッチmtSWを指で押下し続けることで2つ目の指定玉dp2を指定すると、それが強発光すると共にその座標に対応した発音をし、1つ目の指定玉dp1の位置に上向きの移動玉mpが発生する(図6(b)、図10のステップS120→S122〜S128)。
【0045】
次に、移動玉mpは、弱発光しつつ上方に移動し(図6(c)、図11、図12のステップS205〜S207→S213〜S215)、指定玉dp2の位置に達すると強発光すると共にその座標に対応した発音をして、そこで反転し(向きを下方に変え)(図6(d)、図11、図12のステップS205〜S207→S208→S209→S214→S215)、その後、弱発光しつつ下方に移動し(図6(e)、図11、図12のステップS205→S210→S211→S213→S214→S215)、指定玉dp1の位置に達するとそこで再び強発光すると共にその座標に対応した発音をして、反転する(図6(f)、図11、図12のステップS205→S210→S211→S212→S209→S214→S215)、という動作を繰り返す。従って、発生した移動玉mpは、2つの指定玉dpに挟まれている間は、両者間を往復する閉じ込め状態となる。
【0046】
また、上記したように、指定玉dp乃至移動玉mpが強発光するのと同時に、その座標に対応する発音データKCに基づく発音がなされる(後述する図10のステップS128、図12のステップS209)。一方、一旦指定した指定玉dpは任意に解除でき(図9のステップS114、S116、S118)、その後新たな指定玉dpを指定することもできる。
【0047】
『対戦モード;ラリー状態』
対戦モード中における「ラリー状態」へは、通常、「閉じ込め状態」時等のように、自装置MC1で移動玉mpが発生しているときに移行することができる。例えば、図7(a)に示すように(図6(c)と同じ状態)、自装置MC1において移動玉mpが上方に移動しているときに、上側の指定玉dp2を指定解除すると(図7(b)、図9のステップS114)、移動玉mpは反転機会がないのでそのままマトリクス表示入力部mtの上端部まで上昇し(図7(c))、マトリクス表示入力部mtからはみ出すことになる。はみ出した後は、移動玉mpは発光ケーブル30に移動し、ライン発光部LD(1)から順にライン発光部LD(12)まで移動していく(図7(d)、図11、図12のステップS206→S216〜S218→S219、図13)。
【0048】
一方、相手装置MC2においては、図7(e)に示すように、発光ケーブル30を移動してきた移動玉mpが相手装置MC2のマトリクス表示入力部mtの上端部から入り、当初は弱発光しつつ下方に移動する移動玉mpとなる(図11、図12のステップS202→S203→S204→S205→S210→S211→S213〜S215)。そして、移動玉mpの進行方向において指定玉dp3の指定があると、それが強発光すると共にその座標に対応した発音をし(図7(f)、図10のステップS120→S121→S128)、移動玉mpが指定玉dp3の位置に達すると強発光すると共にその座標に対応した発音をして、そこで反転し(図7(g)、図11、図12のステップS205→S210→S211→S212→S209→S214→S215)、その後、弱発光しつつ上方に移動していく(図7(h)、図11、図12のステップS205〜S207→S213〜S215)。
【0049】
ちなみに、図7(e)の状態で、同じ列nにおいて移動玉mpより下方に指定玉dpが指定されなかったときは、移動玉mpは下方に抜けていってマトリクス表示入力部mtから消滅する。これをもって、ゲーム上、当該相手装置MC2の「負け」としてもよい。
【0050】
上記のような、「ラリー状態」、「閉じ込め状態」において、両演奏装置MCのユーザは、通常、移動玉mpの移動過程における弱発光、乃至移動玉mpの反転時における強発光によってその移動玉mpの移動状態(乃至現在位置)を認識し、適切なタイミングで適切な位置に指定玉dpを指定していく。なお、移動玉mpの移動過程において、移動玉mpの現在位置に対応する発音データに基づく発音を逐次行うようにしてもよい。そのようにすれば、例えば、移動玉mpが上昇しているときは、発音音高も上昇し、音だけでも移動玉mpの移動状態が認識できるだけでなく、臨場感が増して面白い。
【0051】
『Gセンサモード;X軸』
Gセンサモードでは、X軸、Y軸の各方向における加速度の変化に基づいて、指定玉dp乃至移動玉mpのスライド移動、移動玉mpの速度変更を行うと共に、Z軸方向における加速度の変化に基づいて、発生する楽音の楽音特性を変化させる。X軸、Y軸、Z軸各方向の加速度は、演奏装置MCを各方向に移動、停止させる際に生じるだけでなく、重力の下、演奏装置MCを傾けることでも生じる。
【0052】
本実施の形態では、演奏装置MCをユーザ側からみて左右方向に所定速さ以上で所定量以上傾けたとき(Y軸を中心として左方または右方に回転させたとき)、指定玉dp及び移動玉mpが左方または右方に移動し、演奏装置MCをユーザ側からみて前後方向に所定速さ以上で所定量以上傾けたとき(X軸を中心として演奏装置MCの前部が下がる方向または上がる方向に回転させたとき)、移動玉mpの移動速度が変わるように制御される。
【0053】
また、演奏装置MCを主に鉛直方向に移動させたとき、発生する楽音の楽音特性(本実施の形態では音源12から出力される楽音信号のカットオフ周波数F)を変化させる。なお、演奏装置MCを傾けることでZ軸方向においても加速度の変化が生じ得る。しかし、楽音特性を変化させる際の閾値である所定値Gz(後述)は、指定玉dp及び移動玉mpをスライド移動等させる際の閾値である所定値Gx、Gy(後述)より大きい値に設定され、演奏装置MCの静止状態におけるZ軸方向の小さい傾き(例えば30°以内)に相当する加速度によっては、カットオフ周波数Fが変化しないようになっている。
【0054】
Gセンサモードの一例として、図8で、演奏装置MCを左右方向に傾けた場合の動作を説明する。例えば、図8(a)に示すように(図7(b)と同じ状態)、水平状態において、移動玉mpが上方に移動しているとき、演奏装置MCをユーザからみて右方に傾ける。そしてその傾きによる加速度変化が、後述する第3タイマインタラプト処理(T−INT3)の実行間隔内における所定値Gx以上の変化であった場合、指定玉dp1と移動玉mpとが共に右方に変位、すなわちスライド移動する(図8(b)、図14のステップS403→S404→S405→S406)。移動玉mpの上方への移動は継続するので、移動玉mpは、実質上、斜め右上方に移動することになる。ここで、左右方向のスライド移動量はX軸方向の加速度変化に応じたものであり、その移動速度はT−INT3の実行間隔に基づくものである。このスライド移動の制御は、実質的に、対象となっている指定玉dp1及び移動玉mpのX軸座標(n値)の更新である。
【0055】
演奏装置MCの右方への回転を止めると、X軸方向の加速度変化が無くなるから、指定玉dp1及び移動玉mpがスライド移動を停止し、移動玉mpは変化後の列nにおいて上昇していく(図8(c))。従って、このような場合における移動玉mpの移動ルートは、図8(d)にF1で示すようなものとなる。
【0056】
ところで、移動玉mpは、1列につき1つ発生し、複数列で並行して発生させることもできる。従って、上記のような、「ラリー状態」、「閉じ込め状態」の動作は、各列nにおいて独立してなされ、同時に発生している移動玉mpが多いほど難易度も高くなって面白い。なお、1列につき移動玉mpを複数発生可能に構成してもよい。
【0057】
次に、図9〜図14のフローチャートに基づき、各種動作モードの処理を説明する。
【0058】
ここでまず、各処理に用いられる主なレジスタ値等について説明する。
【0059】
「MD」:動作モードを規定するモードフラグであり、「00」、「01」、「10」、「11」のいずれかに設定され、初期値は「00」である。モードフラグMDの「10」、「11」は、相手装置MC2と対戦ゲームを行う「対戦モード」であり、そのうち特に「11」は、後述する移動玉mpを上方に放出する(相手装置MC2に送る)モードである。「00」、「01」はその他のモード(例えば、順次発音モード)である。
【0060】
「MDD」:Gセンサ24に基づく制御を行うGセンサモードであることを「1」で示すGセンサモードフラグであり、初期値は「0」である。
KS(n):n列においてユーザにより入力指定されたk値(指定玉dpのY座標)の前回値である。
「KN(n)」:n列においてユーザにより入力指定されたk値の今回値である。
「KH(n)」:n列における上側指定玉dpのk値であり、初期値は「17」である。
「KL(n)」:n列における下側指定玉dpのk値であり、初期値は「0」である。
「KC{}」:{}内が示す座標(n、k)に対応する発音データである。
「b(n)」:n列における移動玉mpの進行方向を規定するフラグであり、上方であることを示す「+1」、下方であることを示す「−1」のいずれかに設定される。初期値は「−1」である。
「a(n)」:n列における移動玉mpのk値であり、初期値は「ENDマーク」(後述)である。
「mtLED(a(n))」:座標(n、a(n))に対応するマトリクス表示部である。
「LD(M)」:自装置MC1からM番目のライン発光部LDである。Mは1〜12の値であり、その初期値は「1」である。
「LF」:ライン発光を実行することを「1」で示すライン発光開始指示フラグであり、初期値は「0」である。
「XS、YS、ZS」:X軸、Y軸、Z軸方向におけるGセンサ24の検出値の各前回値である。
「XN、YN、ZN」:X軸、Y軸、Z軸方向におけるGセンサ24の検出値の各今回値である。
【0061】
また、以下の値は固定値である。
「ENDマーク」:0〜17以外の所定値(本実施の形態では「18」とする)である。
「max」:マトリクス表示入力部mtにおけるY座標の最大値であり、本実施の形態では「16」である。
「min」:マトリクス表示入力部mtにおけるY座標の最小値であり、本実施の形態では「1」である。
【0062】
図9、図10は、本実施の形態におけるメイン処理のフローチャートである。図9〜図14のフローチャートにおいて、(n)が付してあるものは、n列(n番目のチャンネル)に関する値を示す。以降、説明は「n列」に着目して行うが、実際には、16列の各々について同様の判別及び処理が並行して実行される。
【0063】
まず、初期設定を行い(ステップS101)、ステップS102〜S106でパラメータ設定処理を行う。すなわち、表示部11へのメニュー表示を行い(ステップS102)、操作子群19、エンコーダスイッチ18によるモード設定指示を受け付け、モードフラグMD、GセンサモードフラグMDDの設定等、モード設定をすると共に(ステップS103、S104)、マトリクススイッチmtSW以外の操作子によるその他設定指示(各列n毎の楽器音設定、全体テンポの設定等)を受け付け、それに応じた設定処理を行う(ステップS106)。
【0064】
次に、マトリクススイッチ走査、すなわち、個々のマトリクススイッチmtSWのオンオフ操作を検出し(ステップS107)、音源12の出力からオフレベル信号が検出されたか否かを各チャンネル毎(列n毎)に判別し(ステップS108)、オフレベル信号が検出された場合は、当該オフレベル信号が検出された列nに関連する全データ(各種レジスタ値、発音データKCを含む)をリセットして(ステップS109)、前記ステップS102に戻る。一方、オフレベル信号が検出されない場合は、動作モードが対戦モードであるか(MD=10または11であるか)否かを判別し(ステップS110)、対戦モードでない場合はその他処理を実行して(ステップS111)、前記ステップS102に戻る。この「その他処理」では、例えば、他の動作モードに応じた処理を実行し、順次発音モードであれば上述したような順次発音モードの動作を実行する。あるいは、「その他処理」では、入力されるMIDI演奏データに基づいて一般的な自動演奏を行うこともできる。
【0065】
一方、前記ステップS110で、対戦モードである場合は、マトリクススイッチmtSWのオンオフイベントがあったか否かを判別し(ステップS112)、ない場合は前記ステップS102に戻る一方、オンイベントがあった場合は、図10のステップS119〜S129で、上側/下側指定玉及び移動玉の設定処理を行う。
【0066】
すなわち、ステップS119で、前回値KS(n)に現在の今回値KN(n)を設定すると共に、今回値KN(n)に今回オンされたマトリクススイッチmtSWの最新のk値を設定して更新する。ここで、例えば、前回値KS(n)は、マトリクス表示入力部mt上の座標でいえば、(n、KS(n))が対応する。今回値KN(n)等についても同様の意義を有する。
【0067】
そして、今回のオンが、同一列nにおいて複数目のオンであるか否かを判別する(ステップS120)。この判別は、移動玉mpを閉じ込めたり解放したりするためには、押下し続けられてオン状態とされるマトリクススイッチmtSWが、同列において2つ以上生じる必要があるためになされる。そして、今回のオンが、1つ目のオンであるならば、下側指定玉k値KL(n)に今回値KN(n)を代入して(ステップS121)、発音データKC{KN(n)}を音源12に送出することで、今回値KN(n)に対応する発音データKCに基づく楽音を発生させると共に、今回値KN(n)に対応するマトリクス表示部mtLEDを強発光させて(ステップS128、図6(a)参照)、前記ステップS102に戻る。
【0068】
一方、前記ステップS120において、今回のオンが、同一列nにおいて複数目のオンである場合は、当該列nにおいて既に移動玉mpが存在するか否かを判別し(ステップS122)、存在しない場合は、ステップS123〜S127で、2点の指定玉dp間で移動玉mpを発生させる。
【0069】
すなわち、KN(n)>KS(n)であるか否かを判別し(ステップS123)、そうであれば今回のオンが前回のオンに対して上方のマトリクススイッチmtSWのオンであるので、今回オンの方を上側指定玉dpとして設定するべく、上側指定玉k値KH(n)に今回値KN(n)を、下側指定玉k値KL(n)に前回値KS(n)を、それぞれ代入すると共に、方向フラグb(n)に「+1」を設定する(ステップS124)。一方、KN(n)>KS(n)が成立しない場合は、上記とは逆に、KH(n)←KS(n)、及びKL(n)←KN(n)として、今回オンの方を下側指定玉dpとして設定すると共に、b(n)←「−1」とする(ステップS125)。
【0070】
これらの処理後、MD←「10」とし(ステップS126)、移動玉k値a(n)に前回値KS(n)を代入する(ステップS127)。従って、2つの指定玉dpのうち最初に指定された指定玉dpの位置に移動玉mpが発生することになる。そして、前記ステップS127の処理後は、前記ステップS128に進み、上記と同様に最新のオンに対応するマトリクス表示部mtLEDを強発光させると共にその座標に対応した発音をさせる(図6(b)参照)。
【0071】
前記ステップS122の判別の結果、既に移動玉mpが存在する場合は、移動玉存在時設定処理を実行して(ステップS129)、前記ステップS128に進む。ここで、この「移動玉存在時設定処理」では、上側指定玉k値KH(n)及び下側指定玉k値KL(n)の設定については、前記ステップS123、S124、S125と同様の処理を行う。しかし、モードフラグMDについては、b(n)=「+1」で且つa(n)>KN(n)が成立する場合は「11」に、そうでない場合は「10」に設定する。方向フラグb(n)については変更しない。このようにするのは、同一nにおける複数目のオンがあっても、移動玉mpが上向きで、且つ移動玉mpより下方において新たなオンがなされた場合は、移動玉mpは2つの移動玉mp間に閉じこめられないことから、移動玉mpを相手装置MC2にそのまま返すようにするためである。
【0072】
図9の前記ステップS112において、マトリクススイッチmtSWのオフイベントがあった場合は、ステップS113〜118で、指定玉dpの指定解除処理を実行する。すなわち、同一列nで2つの指定玉dpのうち上側指定玉dpの解除指示(上側指定玉k値KH(n)のオフ)であれば、上側指定玉k値KH(n)を初期値(「17」)にリセットすると共に、移動玉mpを放出可能にするべくMD←「11」とし(ステップS113、S114)、下側指定玉dpの解除指示(下側指定玉k値KL(n)のオフ)であれば、下側指定玉k値KL(n)を初期値(「0」)にリセットし(ステップS115、S116)、指定玉dpが1つである場合におけるその指定玉dpの解除指示(最後のオフ)であれば、それに対応する上側指定玉k値KH(n)または下側指定玉k値KL(n)をリセットして(ステップS117、S118)、前記ステップS102に戻る。
【0073】
図11、図12は、第1タイマインタラプト処理(T−INT1)のフローチャートである。本処理は、3TCL(テンポクロック)間隔で実行される。ここで、TCLを最小分解能(4分音符長の96分の1)で定義し、テンポ値を60に設定したとすると、1TCL=約20ms、3TCL=約60msとなる。
【0074】
まず、対戦モードであるか否かを判別し(ステップS201)、対戦モードでなければ本処理を終了する一方、対戦モードであれば、後述する「引き継ぎデータ」を受信したか否かを判別し(ステップS202)、受信していない場合は、ステップS204に進む。「引き継ぎデータ」を受信した場合の動作は後述する。また、移動玉mpがマトリクス表示入力部mtからはみ出す場合の動作も後述する。
【0075】
まず、自装置MC1において移動玉mpが存在する状態を説明する。図6(c)〜(f)に示されるような「閉じ込め状態」は、ステップS204〜S215の繰り返しにより実現され、移動玉mpの方向は、ステップS208で上向きから下向きに反転し、ステップS212で下向きから上向きに反転する。
【0076】
すなわち、ステップS204で移動玉k値a(n)が「ENDマーク(「18」)」と一致するか否か判別し、通常、移動玉mpが発生している状態ではa(n)=1〜16であって両者は一致しないので、方向フラグb(n)が「−1」に設定されているか否かを判別する(ステップS205)。その判別の結果、b(n)=「−1」である、すなわち、移動玉mpの向きが下向きである場合は、a(n)<minが成立するか否かを判別する(ステップS210)。移動玉mpが存在する状態ではa(n)は1〜16のいずれかであり、また、minは「1」であるので、a(n)<minが成立し、次に、a(n)=KL(n)が成立するか否かを判別する(ステップS211)。
【0077】
移動玉mpが下側指定玉k値KL(n)に達するまではa(n)=KL(n)が成立しないので、直ちにステップS213に進み、移動玉k値a(n)に対応するマトリクス表示部mtLED{a(n)}を弱発光させ、該マトリクス表示部mtLED{a(n)}以外のマトリクス表示部mtLEDを消光し(ステップS214)、a(n)←a(n)+b(n)として方向フラグb(n)を歩進させて(ステップS215)、本処理を終了する。この場合、移動玉mpは図11、図12の処理毎に1つずつ下方に進んでいく(図6(e)参照)。
【0078】
移動玉mpが下側指定玉k値KL(n)に達すると、前記ステップS211でa(n)=KL(n)が成立するので、方向フラグb(n)に「+1」を設定して移動玉mpの方向を上向きに反転させ(ステップS212)、さらに、移動玉k値a(n)に対応し、下側指定玉dpにも対応しているマトリクス表示部mtLED{a(n)}を強発光させると共に、該マトリクス表示部mtLED{a(n)}に対応する発音データKC{a(n)}を音源12に送出することで対応する発音データKCに基づく楽音を発生させる(ステップS209、図6(f)参照)。その後、前記ステップS214、S215を実行するが、この場合においては、反転した移動玉mpは、上方に進んでいく。
【0079】
前記ステップS205の判別の結果、b(n)=「+1」である、すなわち、移動玉mpの向きが上向きである場合は、a(n)>maxが成立するか否かを判別する(ステップS206)。maxは「16」であり、移動玉mpが存在する状態では、a(n)>maxが成立しないから、次に、a(n)=KH(n)が成立するか否かを判別する(ステップS207)。
【0080】
ステップS207からステップS208、S209、S214、S215へと流れる処理は、上述したステップS211からステップS212、S209、S214、S215へと流れる処理に対して、移動玉mpの方向が異なるのみであり、移動玉mpが、上側指定玉k値KH(n)に達するまで弱発光して上昇し、達したら強発光及び発音がなされて移動玉mpが方向反転するというものである(図6(c)〜(e))。
【0081】
また、「ラリー状態」において、自装置MC1で発生させた移動玉mpを相手装置MC2に対して放出する、いわゆる「サーブ動作」(図7(a)〜(d))は、前記ステップS204〜S206→S216→S217→S218→S219という流れる処理によって実現される。
【0082】
すなわち、移動玉mpが上向き状態で、移動玉mpより上方に指定玉dpが存在しない場合は、移動玉mpはマトリクス表示入力部mtから上方にはみ出し、移動玉k値a(n)が「17」となるから、前記ステップS205→S206→S216へと処理が移行する。ステップS216では、対戦モードで且つMD=11であるか否かを判別し、そうであれば、「引き継ぎデータ」を設定する(ステップS217)。「引き継ぎデータ」は一時記憶される。
【0083】
ここで、「引き継ぎデータ」には、相手装置MC2において、移動玉mpを発生させる列n(チャンネル)を規定するn’、移動玉mpの初期位置を規定する移動玉k値a’(n)、及び移動玉k値a’(n)に対応する発音データKC’{a’(n)}が含まれる。各値はそれぞれ、n’←n、a’(n)←a(n)−1、KC’{a’(n)}←KC{a(n)−1}と設定される。
【0084】
ここで、「引き継ぎデータ」の設定時においては、移動玉k値a(n)は「17」であるから、a’(n)は「16」となる。従って、「引き継ぎデータ」を受ける相手装置MC2においては、自装置MC1において消失した移動玉mpが存在していたのと同じ列nにおける最上位置である座標(n、16)に移動玉mpが発生することになる。初期設定(図9のステップS101)または図12のステップS219で方向フラグb(n)が「−1」に設定されていることから、相手装置MC2における移動玉mpの当初の向きは、下向きである。
【0085】
次に、ステップS218では、ライン発光開始指示フラグLFに「1」を設定し、次いで、ステップS219で、列nに関し自装置MC1において指定玉dpも移動玉mpもない初期状態に戻すべく、a(n)←ENDマーク、b(n)←「−1」、KH(n)←(max+1)、KL(n)←(min−1)、MD←「10」と設定して、本処理を終了する。
【0086】
一方、前記ステップS216で、対戦モードでないか、またはMD=11でない場合は、直ちに前記ステップS219を実行する。この場合は、移動玉mpは上方に消失するだけで、相手装置MC2への移動玉mpの放出はなされない。
【0087】
図13は、ライン発光部LDを順次発光させるための、第2タイマインタラプト処理(T−INT2)のフローチャートである。本処理は、1TCL間隔(テンポ値60で約20ms)で実行される。
【0088】
まず、ライン発光開始指示フラグLFが「1」に設定されているか否かを判別し(ステップS301)、LF=1でない場合は本処理を終了する一方、LF=1である場合は、ライン発光部LD(M)を発光指示すると共に、ライン発光部LD(M)以外のライン発光部LDを消光指示する(ステップS302)。最初は、M=1であるので、自装置MC1に最も近いライン発光部LD(1)のみが発光する。例えば、ライン発光部LD(1)の発光指示は、上述のように、制御信号が入力端子C1または入力端子D1(図5参照)に入力されることでなされる。
【0089】
そして、Mが最後(12)になるまでMを1ずつインクリメントすることで(ステップS303、S304)、発光するライン発光部LDが、相手装置MC2に近い側に順に移行していく。これにより、自装置MC1から放出された移動玉mpが、あたかも発光ケーブル30を通って相手装置MC2に届くかのように見える。テンポ値60とした場合、移動玉mpは発光ケーブル30上を約0.5secで移動して相手装置MC2に達することになる。なお、設定速さはこれに限定されるものではない。
【0090】
その後、Mが最後(「12」)になると、LF←0及びM←0とし(ステップS305)、図12の前記ステップS217で設定した「引き継ぎデータ」を、相手装置MC2に対して送出し(ステップS306)、本処理を終了する。なお、移動玉mpの放出によるライン発光部LDの順次発光、及び「引き継ぎデータ」の送出は、両演奏装置MCが互いに繰り返し行える。
【0091】
図11、図12に戻り、前記ステップS202の判別の結果、相手装置MC2から送出された「引き継ぎデータ」を受信した場合は、その「引き継ぎデータ」に従ってパラメータ設定を行うと共に、MD←「11」とする(ステップS203)。すなわち、相手装置MC2において、図13の前記ステップS306で送出された「引き継ぎデータ」が自装置MC1で受信されると、「引き継ぎデータ」中のn’、移動玉k値a’(n)、及び発音データKC’{a’(n)}に基づき、n←n’、a(n)←a’(n)、KC{a(n)}←KC’{a(n)}と設定される。これにより、相手装置MC2で放出された移動玉mpが存在していたのと同じ列nにおけるY座標=16の位置に、下向きの移動玉mpが新たに発生する。
【0092】
「引き継ぎデータ」の受信直後は、a(n)=16、b(n)=「−1」であるから、ステップS204→S205→S210→S211と移行する。これ以降で、何ら指定玉dpを指定しなければ、やがてステップS210からステップS219に進むことになり、移動玉mpは下方に抜ける(自装置MC1の負け)。しかし、移動玉mpより下方で一旦指定玉dpを指定すれば、その後の処理は、前述した、自装置MC1内で移動玉mpを発生させた場合と同様となり、閉じ込め状態にすることもできる。
【0093】
例えば、相手装置MC2から受けた移動玉mpを相手装置MC2に対して直接または間接に打ち返す、いわゆる「リターン動作」(図7(e)〜(h)参照)は、前記ステップS202〜S205を経て、ステップS212を少なくとも1回実行した後、ステップS206からステップS216に移行することで実現される。
【0094】
図14は、Gセンサモードの動作を実行するための、第3タイマインタラプト処理(T−INT3)のフローチャートである。本処理は、1TCLより短い間隔であって、例えば、約12ms間隔で実行される。
【0095】
まず、Gセンサモードが設定されている(MDD=1である)か否かを判別し(ステップS401)、MDD=1である場合は、動作モードが対戦モードであるか否かを判別し(ステップS402)、対戦モードである場合は、3次元(X、Y、Z軸)方向のいずれかに関し、Gセンサ24の検出値に変化があったか否かを判別し(ステップS403)、変化があった場合は、ステップS404に進む。前記ステップS401〜S403のいずれかで「NO」である場合は直ちに本処理を終了する。
【0096】
ステップS404では、各前回値XS、YS、ZSにGセンサ24の検出値の現在における各今回値XN、YN、ZNをそれぞれ設定すると共に、今回値XN、YN、ZNに、それぞれ、Gセンサ24の検出値のX、Y、Z成分の変化後の(最新の)値を設定して更新する。
【0097】
次に、|XN−XS|≧所定値Gxであるか否かを判別し(ステップS405)、そうでない場合はステップS407に進む一方、そうであれば、X軸方向の加速度変化が大きいので、nに、n+SIGN(XN−XS)を設定する(ステップS406)。ここで、SIGN(XN−XS)は、「XN−XS」の符号で定まり、「+1」または「−1」のいずれかの値を執る。これにより、存在していた指定玉dp及び移動玉mpが右方または左方に1つずつスライドする。例えば、図8(a)〜(b)の例でいえば、図14の処理毎に、指定玉dp1が右方に1列分変位すると同時に、移動玉mpが上方に1行分及び右方に1列分変位する。演奏装置MCの同方向への傾き動作を止めれば、指定玉dp1及び移動玉mpのスライド移動は止まるが、傾きがさらに変化するときは、指定玉dp1と移動玉mpのスライド移動は図14の処理毎に繰り返される。なお、スライド移動の結果、nが16を超えるときは、1にリセットしてもよい。
【0098】
次に、ステップS407では、|YN−YS|≧所定値Gyであるか否かを判別し、そうでない場合はステップS409に進む一方、そうであれば、Y軸方向の加速度変化が大きいので、a(n)に、a(n)+SIGN(YN−YS)を設定する(ステップS408)。これにより、上向き/下向きで移動していた移動玉mpが、マトリクス表示部mtLEDを1つ飛び越えて上昇/下降するかまたは同じ位置にとどまる。
【0099】
例えば、移動玉mpが上向きで移動しているとき、演奏装置MCの前部を下方に傾けたときは、移動玉mpは2つ上のY座標に進み、その傾きがさらに変化するときは、移動玉mpは図14の処理毎に1つおきに進むことになり、傾き動作を止めれば移動玉mpの上昇は通常通りに戻る。一方、演奏装置MCの前部を上方に傾けたときは、移動玉mpは同じ位置を執り、上方への傾きがさらに変化するときは、移動玉mpは上昇することなく停止を繰り返し、その傾き動作を止めれば移動玉mpの上昇は通常通り(1つずつ)に戻る。
【0100】
従って、ユーザからみれば、演奏装置MCを後方からみて左右方向に傾けることで、移動玉mpの移動方向を(左右に)変えることができ、演奏装置MCを前後方向に傾けることで、移動玉mpの移動速度を変えることができる。
【0101】
次に、ステップS409では、|ZN−ZS|≧所定値Gzであるか否かを判別し、そうでない場合は本処理を終了する一方、そうであれば、Z軸方向の加速度変化が大きいので、「ZN−ZS」の値に応じて、音源12から出力される楽音信号のカットオフ周波数Fを変更設定することで、前記ステップS128またはS209で発音する発音データKC{a(n)}に基づく楽音の楽音特性(ここでは音色)を変化させる(ステップS410)。例えば、演奏装置MCを鉛直方向上方に動かしたときはカットオフ周波数Fが高くなる。その後本処理を終了する。
【0102】
本実施の形態によれば、対戦モードでは、一方の演奏装置MCにおいて、移動玉mpがマトリクス表示入力部mtからはみ出した場合は、引き継ぎデータが生成されて他方の演奏装置MCに送出され、他方の演奏装置MCでは、引き継ぎデータを受信して、引き継ぎデータに基づきマトリクス表示入力部mtに移動玉mpを発生させるので、2次元領域を移動する移動玉mpを対戦相手とやりとり可能にして、インタラクティブで面白みのある簡易な音楽的合同発音を可能にした対戦ゲームを実現することができる。
【0103】
また、移動玉mpが他方の演奏装置MCに移るとき、発光ケーブル30上のライン発光部LDが順次発光するので、移動玉mpの転送が視覚的に把握でき、移動玉mpの受け取りタイミングを認識できて、面白みも増す。さらに、移動玉mpはマトリクス表示入力部mtにおいて弱発光して移動すると共に、指定玉dpと一致したとき、強発光及び対応する発音がなされるので、ユーザは、移動玉mpの移動状態を、光の位置と音(音色及び音高)とをたよりに把握しつつ、移動玉mpを打ち返すまたは閉じ込めるための指定玉dpの指定を行うタイミングを計ることができて、面白みがある。
【0104】
また、移動玉mpの進行方向前方において、指定玉dpの解除がされた、または指定がされなかった場合は移動玉mpがマトリクス表示入力部mtからはみ出すが、指定玉dpを指定すれば移動玉mpはその指定玉dpの位置で方向反転し、しかも2つの指定玉dp間に閉じ込めることもできるので、打ち返しのタイミングを任意に調節できてスリルのある対戦ゲームを行えるだけでなく、自装置MC1内だけでも楽しめる。
【0105】
本実施の形態によればまた、Gセンサモードでは、X軸、Y軸方向における加速度の変化に基づいて、指定玉dp、移動玉mpのスライド移動、または移動玉mpの速度変更を行うと共に、Z軸方向における加速度の変化に基づいて、出力される楽音信号のカットオフ周波数Fを変更するようにしたので、2次元領域を移動する移動玉mpの移動態様、及びそれに応じた対応する楽音の楽音特性を、演奏装置MC自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる。
【0106】
なお、本実施の形態では、発音は、指定玉dpの指定時、及び移動玉mpが指定玉dpと一致したときにのみ行うようにしたが、これに限られるものではない。例えば、移動玉mpの移動過程において発音、すなわち、移動玉mpが通る各座標に対応する発音を行うようにしてもよい。そのようにすれば、対戦モードにおいて、ユーザは、音(主に音高の変化)をたよりに移動玉mpの移動状態を認識することができる。その場合、移動玉mpを弱発光させないように制御すれば、ユーザは、打ち返し等を行う際に専ら音をたよりにすることになるため、聴覚に偏重したゲームが実現される。その場合、移動玉mpの反転時の強発光もさせないようにすれば、視覚的要素をほとんど排除して音感だけをたよりに操作するゲームとなる。さらには、各列n間で音色が異なっていることで、複数列で並行して移動玉mpを発生させたとき、どの列nの移動玉mpがどのような移動状態であるのかを、音色と音高とで察知しつつラリーを行うことが可能となり、難易度が一層高く面白みのある聴覚ゲームが実現される。その場合でも、Gセンサモードよる楽音特性の変更は、移動玉mpの移動過程に対応する発生楽音に対しても適用してもよい。Gセンサモードよる楽音特性の変更を付加することで、移動中の楽音の音色が、音高と共に変化することになり、変化球のような音感的感覚を味わうことができる。
【0107】
なお、本実施の形態では、指定玉dpの指定時、及び指定玉dpと移動玉mpとの一致時に発音及び強発光がなされ、移動玉mpの移動過程において弱発光がなされるようにしたが、発音及び発光をどのような状態のときに行うようにするかは、適宜改変が可能である。例えば、指定玉dpの指定時のみ発音乃至発光、あるいは移動玉mpの移動過程でのみ発音乃至発光、あるいはこれら双方で発音乃至発光するようにしてもよい。また、移動玉mpの移動過程で発音する楽音は、マトリクススイッチmtSWに対応する発音データKCに基づくものに限ることなく、例えば、予め定めた所定の楽音を移動玉mpの現在位置にかかわらず一律に発音させてもよい。
【0108】
なお、モード設定等によって、マトリクス表示部mtLEDの発光、または発音のいずれかを全く排除するようにしてもよく、光か音の少なくとも一方で、移動玉mpの移動状態乃至位置がユーザにわかるようにすれば、ゲームは可能である。
【0109】
なお、移動玉mpがマトリクス表示入力部mtから上方にはみ出す場合にのみ相手装置MC2に移行するようにしたが、これに限られず、下方に移動玉mpが抜けたときも、相手装置MC2のマトリクス表示入力部mtの下端部から上向きの移動玉mpが発生するようにしてもよい。あるいは、移動玉mpを左右方向に移動させるモードも設け、左右方向に抜けたときに、相手装置MC2の左右端部から横向きの移動玉mpが発生するようにしてもよい。
【0110】
なお、指定玉dpは、指定時及び移動玉mpとの一致時だけでなく、指定解除となるまで常時発光(例えば、弱発光)させてもよいし、移動玉mpの発光に同期して発光させてもよい。
【0111】
なお、ライン発光部LDに制御信号を送るための信号ラインCL1〜CL12、DL1〜DL12と、他機通信I/F9に接続される信号線束とは、発光ケーブル30に一体的に収容されたが、これらを物理的に別のケーブルとして構成してもよい。
【0112】
なお、本実施の形態では、各列n毎に処理を行うようにし、Gセンサモードによらない動作では、移動玉mpを上下方向に移動させるようにしたが、「閉じ込め状態」を含む通常の動作において移動玉mpを斜め方向に移動させるようにしてもよい。
【0113】
なお、「閉じ込め状態」は2つの指定玉dp間で移動玉mpが往復移動するものとしたが、2点に限られない。例えば、移動玉mpの斜め移動を可能に構成した上で、3点以上の複数の指定玉dpを指定し、これら複数の指定玉dp間を所定の順番で移動玉mpが移動するようにしてもよい。なお、移動玉mpを循環させる指定玉dpのグループは同時に複数存在してもよい。
【0114】
なお、仮に、移動玉mpの横方向移動や斜め移動を可能に構成した場合、移動玉mpが各指定玉dpで方向転換するとき、必ずしもその進行方向を180°変えるようにする必要はなく、垂直方向等、所定の方向に変更するようにしてもよい。上記のように3点以上の指定玉dp間を移動玉mpが移動する場合については、移動玉mpの方向は、次の指定玉dpに向くように転換される。
【0115】
なお、本実施の形態では、Gセンサモードにおいて、3軸方向に関して検出加速度に応じた制御を行うようにしたが、いずれか1軸または2軸についてのみ行うようにしてもよい。また、方向と制御内容との組み合わせは例示したものに限られない。
【0116】
なお、本実施の形態では、X軸、Y軸方向の加速度変化に対して、n値、a(n)値をそれぞれ1ずつ増減したが、増減する数は、1に限られず、2以上であってもよい。また、X軸、Y軸方向の加速度変化に対して、移動玉mpの変化させるべき移動態様は、マトリクス表示入力部mt上の座標に限られない。例えば、全体テンポを変更することで、T−INT1の処理間隔が変化し、これによって、移動玉mpの移動速度が変化するようにしてもよい。
【0117】
なお、Z軸方向の加速度変化に対して、発音される楽音の楽音特性の可変態様は、音源12から出力される楽音信号のカットオフ周波数Fの変更に限られない。例えば、生成される発音データKC中の上記楽音パラメータの変更により、音色、ピッチ、音量の変更、及びオクターブシフト等を行うようにしてもよい。あるいは、1つの列nに2チャンネルを割り当て、PANを変更してもよい。
【0118】
なお、Gセンサモードは対戦モードが設定されているか否かにかかわらず設定且つ動作可能に構成してもよい。なお、演奏装置MCは、SMF(Standard MIDI File)フォーマットの自動演奏データを再生可能に構成してもよい。
【0119】
なお、マトリクススイッチmtSWに対応して発音される楽音は、単音に限定されず、所定の短いメロディや和音であってもよい。なお、この場合でも、和音は、コード−ピラミッドのような分散和音(和音構成音を低い音から高い音へ上がって元の低い音に戻る)であってもよい。ただし、分散和音の発音において和音構成音のうち最初に発音される音は、上述したような移動玉mpの移動に伴い発音される音と同じ(通常は根音)にした方が、音楽教習効果を高める観点からは好ましい。また、1つの列nに多チャンネルを割り当てて、ステレオ発音等を可能としてもよい。
【0120】
なお、各n値、または各k値に対応付けられるものは、音色、音高に限られず、各種楽音パラメータを適用でき、また、表示に関するパラメータと共に、あるいは表示に関するパラメータのみを対応付けてもよい。
【0121】
なお、本実施の形態では、マトリクス表示部mtLEDをマトリクススイッチmtSWに一体に組み込み、座標の指定と指定された座標の表示とを共にマトリクス表示入力部mt上で行うようにしたが、これに限るものでなく、両者を別個に設けてもよい。その場合、マトリクス表示入力部mtにはマトリクス表示部mtLEDに相当する表示機能(例えばマトリクス液晶表示部)だけを設け、指定玉dpの指定はタッチパネル等のソフトスイッチや、何らかの他の操作子で受け付けてもよい。例えば、携帯電話機に適用する場合、その液晶表示部にマトリクス表示すると共に、携帯電話機に設けられる操作子を指定玉dp等の指定に用いることができるようにしてもよい。
【0122】
なお、マトリクス表示部mtLEDに相当する表示機能は、演奏装置MCの上面だけでなく底面にも設け、両者で同じ表示を同時に行うようにしてもよい。そのようにすれば、上面をユーザ側に、底面を観覧者側に向けて、多数の者にゲームの内容を見せることができ、利用場面が拡大する。
【0123】
なお、本実施の形態では、マトリクス表示部mtLEDは2段階で発光するとしたが、これに限られず、3段階以上として、移動玉mpと指定玉dpとの位置関係等の状態に応じて発光輝度を異ならせてもよい。あるいは、複数の発光色で発光可能に構成してもよい。また、マトリクス表示入力部mtは、マトリクス状態で指定玉dp乃至移動玉mpを可視表示できればよく、必ずしも発光でなくてもよい。例えば、マトリクス表示入力部mtを液晶画面で構成し、点滅速度の変更等によって各座標に対応する部分の表示パターンを複数種類実現してもよい。なお、マトリクス表示入力部mtの構成は、16×16でなくてもよく、縦横の値が異なっていてもよい。
【0124】
なお、2つの演奏装置MCを通信可能に接続するための通信手段は、発光ケーブル30等の有線接続に限定されず、赤外線等の無線通信でもよいし、また、インターネット等のネットワークを通じた通信であってもよい。
【0125】
なお、近く(10m程度)にある2台の演奏装置MC間で赤外線等で通信しあい、いずれか一方の演奏装置MCのクロックでこれら2台の演奏装置MCを動作させることで同期をとりセッションを可能にしてもよい。
【0126】
なお、発光ケーブル30や赤外線等の通信手段を用いて2台の演奏装置MC間で通信しあい、自装置MC1でマトリクス表示入力部mtを操作して発光及び発音がなされると、相手装置MC2のマトリクス表示入力部mtにおいても同じ位置が発光し、且つ対応する発音がなされるようにして、対戦前にどのチャンネルの音(音色)が鳴っているのかがわかるようにしてもよい。
【0127】
なお、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【0128】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードが伝送媒体等を介して供給される場合も、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R/RW、DVD−ROM、DVD−RAM、DVD−R/RW、DVD+RW、NV−RAM、磁気テープ、不揮発性のメモリカード、或いはネットワークを介したダウンロード等を用いることができる。
【0129】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【0130】
【図1】本発明の一実施の形態に係る演奏装置の全体構成を示すブロック図である。
【図2】本実施の形態の演奏装置2台を通信可能に接続して構成される演奏システムの利用態様を示す外観図である。
【図3】1つの演奏装置と発光ケーブルとを示す外観図である。
【図4】マトリクス表示入力部の平面図である。
【図5】発光ケーブルの一部表面を示す展開図である。
【図6】対戦モード中における、「閉じ込め状態」の態様を模式的に示すマトリクス表示入力部の遷移図である。
【図7】対戦モード中における、「ラリー状態」の態様を模式的に示す両演奏装置のマトリクス表示入力部の遷移図である。
【図8】対戦モードで且つGセンサモードの動作態様を模式的に示すマトリクス表示入力部の遷移図である。
【図9】本実施の形態におけるメイン処理のフローチャートである。
【図10】本実施の形態におけるメイン処理の図9の続きのフローチャートである。
【図11】第1タイマインタラプト処理(T−INT1)のフローチャートである。
【図12】第1タイマインタラプト処理(T−INT1)の図11の続きのフローチャートである。
【図13】ライン発光部を順次発光させるための、第2タイマインタラプト処理(T−INT2)のフローチャートである。
【図14】Gセンサモードの動作を実行するための、第3タイマインタラプト処理(T−INT3)のフローチャートである。
【符号の説明】
【0131】
1 CPU(発音データ生成手段、移動座標発生手段、可変手段、楽音発生指示手段、引き継ぎデータ生成手段)、9 他機通信I/F(他装置通信手段、引き継ぎデータ送出手段)、12 音源、24 Gセンサ、MC 演奏装置、MC2 相手装置(他装置)、mt マトリクス表示入力部(2次元領域)、mtLED マトリクス表示部(可視表示部)、mtSW マトリクススイッチ(座標指定手段)、dp 指定玉、mp 移動玉、KC 発音データ、a(n) 移動玉k値(移動座標のk値)、KL(n) 下側指定玉k値(所定座標のk値)、KH(n) 上側指定玉k値(所定座標のk値)、KN(n) 今回値、KS(n) 前回値、 24 Gセンサ(加速度検出手段)
【技術分野】
【0001】
本発明は、ゲーム要素を取り入れた演奏装置及び演奏装置制御プログラムに関する。
【背景技術】
【0002】
従来、楽音を発生可能な演奏装置でゲームを実現したものが知られている。例えば、下記特許文献1の演奏装置は、鍵盤電子楽器にゲームの要素を取り入れ、グリッサンド的に変化する楽音を発生させてボールの動きを模擬すると共に、鍵盤での押鍵操作をラケット動作に対応させてボール打ちゲームを実現している。
【特許文献1】特公平1−49508号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記特許文献1では、音の変化やボールの動きが直線的且つ画一的であり、飽きやすい。従って、動的で一層面白みのあるゲームを実現する上で、改善の余地があった。
【0004】
本発明は上記従来技術の問題を解決するためになされたものであり、その目的は、2次元領域を移動する移動座標の移動態様または移動座標に対応する楽音の楽音特性を、装置自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる演奏装置及び演奏装置制御プログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するために本発明の請求項1の演奏装置は、2次元領域(mt)における座標(n、k)の各々に対応する発音データ(KC)を生成可能な発音データ生成手段(1)と、前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標(a(n))を発生させる移動座標発生手段(1)と、当該演奏装置に生じる加速度を検出する加速度検出手段(24)と、前記加速度検出手段により検出された加速度に基づいて、前記移動座標発生手段により発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変手段(1)とを有することを特徴とする。
【0006】
好ましくは、前記加速度検出手段は、複数方向における加速度を検出可能であり、前記可変手段は、前記加速度検出手段により検出された加速度及びその方向に応じて、前記移動座標の前記移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される前記発音データに基づく楽音の楽音特性を変化させることを特徴とする(請求項2)。
【0007】
また、好ましくは、前記移動座標の前記移動の態様は、移動方向または移動速さの少なくとも一方であることを特徴とする(請求項3)。また、好ましくは、前記2次元領域における座標の各々を個別に指定可能な座標指定手段(mtSW)を有し、前記移動座標発生手段は、前記座標指定手段による座標の指定に基づいて、前記移動座標を発生させることを特徴とする(請求項4)。
【0008】
また、好ましくは、前記発音データ生成手段により生成される発音データに基づき楽音発生を指示する楽音発生指示手段(1)を有し、少なくとも前記移動座標が所定座標(KL、KH)に到達したとき、前記発音データ生成手段が前記所定座標に対応する発音データを生成すると共に、前記楽音発生指示手段が前記所定座標に対応して生成された発音データに基づき楽音発生を指示することで、前記移動座標の移動状態がユーザに認識されることを特徴とする(請求項5)。
【0009】
また、好ましくは、前記2次元領域における座標の各々に対応して配列された複数の可視表示部(mtLED)と、該複数の可視表示部を制御する可視表示部制御手段(1)とを有し、少なくとも前記移動座標が所定座標(KL、KH)に到達したとき、前記可視表示部制御手段が前記所定座標に対応する可視表示部を可視表示させるように制御することで、前記移動座標の移動状態がユーザに認識されることを特徴とする(請求項6)。
【0010】
また、好ましくは、他装置(MC2)と通信するための他装置通信手段(9)と、前記移動座標発生手段により発生した移動座標が、前記2次元領域からはみ出した場合に、引き継ぎデータ(n’、a’(n))を生成する引き継ぎデータ生成手段(1)と、前記引き継ぎデータ生成手段により生成された引き継ぎデータを前記他装置通信手段を介して前記他装置に送出する引き継ぎデータ送出手段(9)とを有し、前記移動座標発生手段は、前記他装置からの引き継ぎデータが前記他装置通信手段を介して受信された場合には、該受信された引き継ぎデータに基づいて、前記2次元領域において移動する移動座標を新たに発生させることを特徴とする(請求項7)。
【0011】
上記目的を達成するために本発明の請求項8の演奏装置制御プログラムは、2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成ステップと、前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生ステップと、加速度を検出する加速度検出ステップと、前記加速度検出ステップにより検出された加速度に基づいて、前記移動座標発生ステップにより発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成ステップにより生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変ステップとをコンピュータに実行させることを特徴とする。
【0012】
なお、上記括弧内の符号は例示である。なお、請求項8記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体は、本発明を構成する。
【発明の効果】
【0013】
本発明によれば、2次元領域を移動する移動座標の移動態様または移動座標に対応する楽音の楽音特性を、装置自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を参照して説明する。
【0015】
図1は、本発明の一実施の形態に係る演奏装置の全体構成を示すブロック図である。図2は、本実施の形態の演奏装置2台を通信可能に接続して構成される演奏システムの利用態様を示す外観図である。図3は、1つの演奏装置と発光ケーブルとを示す外観図である。
【0016】
図2に示す演奏システムは、本実施の形態の演奏装置MCを2台、発光ケーブル30で接続して成る。2台の演奏装置MCの構成は同一であるので、以下、構成の詳細な説明は、1つの演奏装置MCについて行う。また、2台の演奏装置MCを特に区別するときは、自装置MC1及び相手装置MC2と呼称する。
【0017】
図1に示すように、演奏装置MCは、ROM2、RAM3、タイマ4、記憶入出力装置5、記憶装置6、通信I/F7、ライン発光端子8、他機通信I/F9、マトリクス表示入力部mt、パネルスイッチ10、表示部11、音源12、オフレベル検出部13及びGセンサ24がバス16を介してCPU1にそれぞれ接続されて構成される。音源12には、D/A変換器14を介してサウンドシステム15が接続されている。CPU1にはタイマ4が接続される。
【0018】
CPU1は、本演奏装置MCの制御を司る。ROM2は、CPU1が実行する制御プログラムや各種テーブルデータ等を記憶する。RAM3は、演奏データ、テキストデータ等の各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。タイマ4は、タイマ割り込み処理における割り込み時間や各種時間を計時する。記憶入出力装置5は、記憶媒体であるフラッシュメモリ、フレキシブルディスク等の可搬の記憶媒体17に対してデータの記憶、読み出しを行う。パネルスイッチ10は、各種情報を入力するための複数のスイッチを備え、これらには、例えば、図3に示す操作子群19、エンコーダスイッチ18が含まれる。表示部11は、LCD等で構成される。記憶装置6は、演奏データ等を記憶するほか、上記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶することができる。
【0019】
通信I/F7には、他のMIDI機器との間でUSB(Universal Serial Bus)端子等を介してMIDI(Musical Instrument Digital Interface)信号の送受信を行うMIDII/Fのほか、上記USB、インターネット等のネットワークを介してデータ通信を行うネットワークI/F、及び、有線または無線のLAN(ローカルエリアネットワーク)等が含まれる。他機通信I/F9は、自装置MC1と相手装置MC2とのデータ通信を実現する。ライン発光端子8は、発光ケーブル30の後述するライン発光部LDに制御信号を送出する端子である。
【0020】
音源12は、入力される演奏データ乃至発音データを楽音信号に変換する。D/A変換器14は、デジタル/アナログ変換を行い、サウンドシステム15は、アンプ及びスピーカからなり(図示せず)、D/A変換器14から入力される楽音信号を音響に変換する。また、オフレベル検出部13は、音源12から出力される楽音信号からオフレベル信号を検出してそれをCPU1に供給する。なお、音源12は、一部をソフトウェアで構成してもよい。また、音源12を演奏装置MCに内蔵することなく、別体で設けた音源を演奏装置MCに接続し、演奏装置MCから上記音源に発音指示を送るように構成してもよい。
【0021】
Gセンサ24は、例えば市販の加速度センサで構成でき、3次元(X、Y、Z軸)方向における演奏装置MCに加わる加速度を検出する。なお、Gセンサ24は、1軸加速度センサを3つ互いに直交させて設けて構成してもよいし、2軸加速度センサ2つを互いに直交させて設け、そのうち1つは1軸のみ用いるように構成してもよい。
【0022】
図3に示すように、演奏装置MCは、外観が箱形に形成され、上記マトリクス表示入力部mt、表示部11、操作子群19及びエンコーダスイッチ18は、その上面に配設される。マトリクス表示入力部mtに対して表示部11側が後方であり、ユーザは、演奏装置MCの後方に居て演奏装置MCを操作することになる。以降、演奏装置MCの前後左右は、ユーザからみて呼称する。
【0023】
また、図3に示すように、演奏装置MCの前端部には、発光ケーブル30を接続するためのコネクタ23が設けられる。コネクタ23に発光ケーブル30を接続することで、演奏装置MC(自装置MC1)は、他機通信I/F9を介して相手装置MC2とデータ通信可能となり、しかも、ライン発光端子8を介して発光ケーブル30を発光制御可能になる。発光ケーブル30の構成は後述する。
【0024】
図4は、マトリクス表示入力部mtの平面図である。図1に示すように、マトリクス表示入力部mtには、複数のマトリクススイッチmtSWから成るマトリクススイッチ群mtSW(n、k)、及び複数のマトリクス表示部mtLEDから成るマトリクス表示部群mtLED(n、k)が含まれる。図4に示すように、マトリクス表示入力部mtは四角形の領域を有し、この領域に、マトリクススイッチmtSWが、縦横16×16のマトリクス状に合計256個配列される。各マトリクススイッチmtSWはプッシュ式スイッチであり、内部にはマトリクス表示部mtLEDが対応して内装されている。なお、各マトリクススイッチmtSWはタッチパネル方式の透過型有機EL(Electronic Luminescence)で構成したパネルスイッチであってもよい。各マトリクス表示部mtLEDは、少なくとも2段階の明るさで発光可能なLED(Light Emitting Diode)である。各マトリクススイッチmtSWは、少なくとも上部が透光部材で構成され、対応するマトリクス表示部mtLEDの発光が視認されるようになっている。
【0025】
各マトリクススイッチmtSWのマトリクス表示部mtLEDは、マトリクススイッチmtSWの押下操作によって発光、消光するだけでなく、後述するCPU1による各種モードに応じた処理によっても発光制御される。
【0026】
以降、マトリクス表示入力部mtにおいて、列(左右)方向をX軸、行(上下)方向をY軸、マトリクス表示入力部mtに対する鉛直方向をZ軸とする。X軸方向は、16列存在し、その座標が「n」で表される。Y軸方向は16行存在し、その座標が「k」で表される。各マトリクススイッチmtSW、及びそのマトリクス表示部mtLEDの個々の特定はX、Y座標で表現可能であり、それぞれmtSW(n、k)、mtLED(n、k)で表される。例えば、最も左下のものは、mtSW(1、1)、mtLED(1、1)である。本実施の形態では、1つの列(図4でいう縦の列)nに1つの発音チャンネルが対応しており、nは、発音チャンネルを示すものでもある。
【0027】
CPU1は、マトリクススイッチmtSWの個々に対応する発音データKCを生成可能であり、そのための情報がROM2等に記憶されている。この発音データKCは、例えばMIDI信号で構成される演奏データの一種であり、音高、音色、ベロシティ、エフェクト等の楽音パラメータを含んでいる。本実施の形態では、上記発音データKCは、一例として、k値(Y座標)によって音高が異なり、各列(n値)によって音色(楽器音に相当)が異なり、その他の楽音パラメータは全マトリクススイッチmtSWについて同じに設定されている。例えば、k=1では音高が「C4」(中央のCであってMIDIの60が相当する)、k=2では音高「D4」、以降、「E4」、「F4」・・・、k=16では音高「D5」というように、各k値に、鍵盤でいう白鍵に相当する音高が順番に対応付けられている。なお、各k値に対応付ける音高はこれに限られず、例えば、黒鍵の音高(C4#等)を含めてもよい。また、各列(n値)間の音色を同じとしてもよい。
【0028】
各マトリクススイッチmtSWは、個別に指等で押下される度に、指定(オン)/指定解除(オフ)される。なお、押下状態にあるときだけ指定(オン)状態とし、非押下状態のときは指定解除(オフ)状態となるように構成してもよい。
【0029】
ここで、本出願人により既に実現されている公知の「順次発音モード」の動作を説明しておく。順次発音モード(後述する図9のステップS111の「その他処理」で実行され得る)では、各マトリクススイッチmtSWは、指定状態のマトリクススイッチmtSWのマトリクス表示部mtLEDが発光する。マトリクス表示部mtLEDは上記のように2段階発光でき、弱発光と、弱発光より輝度の高い強発光のいずれかで発光する。この順次発音モードでは、マトリクス表示部mtLEDは、非指定状態では消光され、指定状態では弱発光し、後述する発音列Pと一致した時点では強発光する。
【0030】
例えば、図4で例示すると、「斜線付きの○」が弱発光、「●:(黒塗りの○)」が強発光していることを示す。順次発音モードでは、所定の操作により、発音列Pが(左方の)1列目から順に所定速度tで移動し、16列目を過ぎるとまた1列目に戻り、以後これを繰り返す。そして、発音列Pの移動の過程において、発音列Pに存在する指定状態にあるマトリクススイッチmtSWのマトリクス表示部mtLEDが強発光する。同図の例では、7列目にあるマトリクス表示部mtLED(7、2)、mtLED(7、7)、mtLED(7、10)、が強発光している。それと共に、発音列Pに存在する指定状態にあるマトリクススイッチmtSWに対応する発音データKCが生成され、この発音データKCに基づいて、サウンドシステム15から楽音が発生する。なお、この順次発音モードでは、全列nについて音色が自動的に同一に設定されるようにしてもよい。
【0031】
従って、ユーザは、マトリクス状に配列されたマトリクススイッチmtSWを、左右方向を時間、上下方向を音高とみなして指定入力することで、簡単な作曲、再生を行うことができる。
【0032】
次に、発光ケーブル30の構成を説明する。図3に示すように、発光ケーブル30には、第1、第2の端部30a、30b間において、第1端部30a側から順に、ほぼ等間隔に12個のライン発光部LD(LD(1)〜LD(12))が配列され、各ライン発光部LDに対応して帯状導光体22(22(1)〜22(12))が設けられる。帯状導光体22は、発光ケーブル30の外周に巻設され、対応するライン発光部LDの光を発光ケーブル30の外周方向に分散させて、発光ケーブル30のあらゆる方向から各ライン発光部LDの発光が認識されるようになっている。
【0033】
図5は、発光ケーブル30の一部表面を示す展開図である。同図において、発光ケーブル30の表面を覆う外装の透明フィルムの図示が省略されている。
【0034】
第1端部30aには、接地用の端子CG0と、制御信号が入力される12個の入力端子C1〜C12が設けられ、第2端部30bにも同様に、接地用の端子DG0と、入力端子D1〜D12が設けられる。
【0035】
各ライン発光部LD及び各帯状導光体22の配設態様は、位置を除いて同様であるので、ライン発光部LD(1)及び帯状導光体22(1)に関して主に説明する。発光ケーブル30は、ポリプロピレン等で構成されるベース体BSに配線パターン及び/又は電子部品(LED等)を施したフレキシブル両面基板として構成されている。すなわち、ベース体BSには帯状導光体22(1)が固着等によって設けられ、ライン発光部LD(1)が帯状導光体22(1)に内装されるように配設されている。
【0036】
入力端子C1は、ベース体BSの表面に敷設される信号ラインCL1によりライン発光部LD(1)と接続され、一方、入力端子D1は、ベース体BSの裏面に敷設される信号ラインDL1を介して信号ラインCL1と接続されている。よって、ライン発光部LD(1)は、入力端子C1と入力端子D1とに接続状態となっている。信号ラインCL1には、入力端子D1とライン発光部LD(1)との間において、カーボン等の帯状の抵抗体CR1が設けられ、信号ラインDL1にもこれと同様の抵抗体(図示せず)が設けられている。他のライン発光部LDに関しても同様で、結局、ライン発光部LD(1)〜LD(12)が、それぞれ入力端子C1〜C12と入力端子D1〜D12とに接続されている。また、すべてのライン発光部LD(1)〜LD(12)は、ラインL0を通じて接地用の端子CG0、DG0に接続されている。上記抵抗体CR1、CR2・・は、ライン発光部LD(1)〜LD(12)のLEDに適正電流を流すための調整用抵抗体である。
【0037】
発光ケーブル30は、ベース体BSを筒状に丸めてその長辺同士を接着等で固定することで構成される。その際、他機通信I/F9に接続される信号線束(図示せず)が、発光ケーブル30の筒状部分内部に内装固定される。
【0038】
発光ケーブル30は、かかる構成により、例えば、入力端子C1に制御信号が供給されると、入力端子C1、信号ラインCL1、ライン発光部LD(1)、ラインL0及び端子CG0間で閉回路が形成されて、ライン発光部LD(1)が発光する。他のライン発光部LDについても同様である。例えば、発光ケーブル30の第1端部30aを自装置MC1のコネクタ23に接続したとき、自装置MC1のライン発光端子8(図1参照)から供給される最大で12個分の制御信号が入力端子C1〜C12に対応することになり、これらよって、各ライン発光部LDが個別に発光及び消光制御される。
【0039】
ここで、入力端子C1〜C12の並びと入力端子D1〜D12の並びとは各第1、第2端部30a、30b側からみたとき同じとなっており、従って、発光ケーブル30は、第1、第2端部30a、30bを逆にしても、実質的に同様に機能する。すなわち、発光ケーブル30の第2端部30bを自装置MC1のコネクタ23に接続したときであっても、各制御信号が入力端子D1〜D12に対応することになり、全く同様に、各ライン発光部LDが個別に発光及び消光制御される。従って、ユーザは、発光ケーブル30の接続において、方向性を意識する煩雑さから解放される。
【0040】
次に、各種動作モードは、後述する図9〜図14の処理によって実現されるが、これらの処理については後に詳述することとし、まず、そのうち対戦モード及びGセンサモードについて具体的な動作の一例を、図6〜図8を用いて説明する。
【0041】
図6は、対戦モード中における、「閉じ込め状態」の態様を模式的に示すマトリクス表示入力部mtの遷移図である。図7は、対戦モード中における、「ラリー状態」の態様を模式的に示す両演奏装置MCのマトリクス表示入力部mtの遷移図である。図7(a)〜(d)は自装置MC1、同図(e)〜(h)は相手装置MC2のマトリクス表示入力部mtを示している。図8は、対戦モードで且つGセンサモードの動作態様を模式的に示すマトリクス表示入力部mtの遷移図である。
【0042】
本実施の形態では、マトリクス表示部mtLEDが平面視円形で、発光すると、概念的に発光玉として把握できることから、以降、指定状態にあるマトリクススイッチmtSWのマトリクス表示部mtLEDを、「指定玉dp(dp1、dp2、dp3)」と呼称する。また、発光するマトリクス表示部mtLEDが、順にシフトしていく場合、発光玉が移動するように把握できることから、以降、このような移動する発光玉を「移動玉mp」と呼称する。「移動玉mp」は、マトリクス表示入力部mtにおいては、いずれかのマトリクス表示部mtLED(通常、隣接するマトリクス表示部mtLED)を現在位置に執りつつ時間的に変位する移動座標で規定されるものである。
【0043】
1つの列nにつき、「指定玉dp」は1つまたは2つ、「移動玉mp」は1つである。また、図6〜図8において、移動玉mpが「二重丸◎」で示され、指定玉dpが「点線の○」、または「●:(黒塗りの○)」で示されている。「点線の○」は特に、消光された指定玉dpを示している。さらに、強発光しているマトリクス表示部mtLED(指定玉dp及び移動玉mpが含まれ得る)、及び発光ケーブル30において発光しているライン発光部LDが、「●:(黒塗りの○)」で示されている。
【0044】
『対戦モード;閉じ込め状態』
対戦モードでは通常、まず、一方の演奏装置MC(ここでは自装置MC1とする)において、所望の列nにおけるマトリクススイッチmtSWを指等で2つ指定(オン)することで、移動玉mpを発生させる。ここで、対戦モードにおいては、あるマトリクススイッチmtSWを一定時間以上押下し続けることでオンイベントとなり、指定玉dpの指定がなされたことになる。すなわち、図6(a)に示すように、ある列における1つのマトリクススイッチmtSWを指で押下し続けることで1つ目の指定玉dp1を指定すると、それが強発光すると共にその座標に対応した発音をし(図10のステップS120→S121→S128)、次に同じ列において他の1つのマトリクススイッチmtSWを指で押下し続けることで2つ目の指定玉dp2を指定すると、それが強発光すると共にその座標に対応した発音をし、1つ目の指定玉dp1の位置に上向きの移動玉mpが発生する(図6(b)、図10のステップS120→S122〜S128)。
【0045】
次に、移動玉mpは、弱発光しつつ上方に移動し(図6(c)、図11、図12のステップS205〜S207→S213〜S215)、指定玉dp2の位置に達すると強発光すると共にその座標に対応した発音をして、そこで反転し(向きを下方に変え)(図6(d)、図11、図12のステップS205〜S207→S208→S209→S214→S215)、その後、弱発光しつつ下方に移動し(図6(e)、図11、図12のステップS205→S210→S211→S213→S214→S215)、指定玉dp1の位置に達するとそこで再び強発光すると共にその座標に対応した発音をして、反転する(図6(f)、図11、図12のステップS205→S210→S211→S212→S209→S214→S215)、という動作を繰り返す。従って、発生した移動玉mpは、2つの指定玉dpに挟まれている間は、両者間を往復する閉じ込め状態となる。
【0046】
また、上記したように、指定玉dp乃至移動玉mpが強発光するのと同時に、その座標に対応する発音データKCに基づく発音がなされる(後述する図10のステップS128、図12のステップS209)。一方、一旦指定した指定玉dpは任意に解除でき(図9のステップS114、S116、S118)、その後新たな指定玉dpを指定することもできる。
【0047】
『対戦モード;ラリー状態』
対戦モード中における「ラリー状態」へは、通常、「閉じ込め状態」時等のように、自装置MC1で移動玉mpが発生しているときに移行することができる。例えば、図7(a)に示すように(図6(c)と同じ状態)、自装置MC1において移動玉mpが上方に移動しているときに、上側の指定玉dp2を指定解除すると(図7(b)、図9のステップS114)、移動玉mpは反転機会がないのでそのままマトリクス表示入力部mtの上端部まで上昇し(図7(c))、マトリクス表示入力部mtからはみ出すことになる。はみ出した後は、移動玉mpは発光ケーブル30に移動し、ライン発光部LD(1)から順にライン発光部LD(12)まで移動していく(図7(d)、図11、図12のステップS206→S216〜S218→S219、図13)。
【0048】
一方、相手装置MC2においては、図7(e)に示すように、発光ケーブル30を移動してきた移動玉mpが相手装置MC2のマトリクス表示入力部mtの上端部から入り、当初は弱発光しつつ下方に移動する移動玉mpとなる(図11、図12のステップS202→S203→S204→S205→S210→S211→S213〜S215)。そして、移動玉mpの進行方向において指定玉dp3の指定があると、それが強発光すると共にその座標に対応した発音をし(図7(f)、図10のステップS120→S121→S128)、移動玉mpが指定玉dp3の位置に達すると強発光すると共にその座標に対応した発音をして、そこで反転し(図7(g)、図11、図12のステップS205→S210→S211→S212→S209→S214→S215)、その後、弱発光しつつ上方に移動していく(図7(h)、図11、図12のステップS205〜S207→S213〜S215)。
【0049】
ちなみに、図7(e)の状態で、同じ列nにおいて移動玉mpより下方に指定玉dpが指定されなかったときは、移動玉mpは下方に抜けていってマトリクス表示入力部mtから消滅する。これをもって、ゲーム上、当該相手装置MC2の「負け」としてもよい。
【0050】
上記のような、「ラリー状態」、「閉じ込め状態」において、両演奏装置MCのユーザは、通常、移動玉mpの移動過程における弱発光、乃至移動玉mpの反転時における強発光によってその移動玉mpの移動状態(乃至現在位置)を認識し、適切なタイミングで適切な位置に指定玉dpを指定していく。なお、移動玉mpの移動過程において、移動玉mpの現在位置に対応する発音データに基づく発音を逐次行うようにしてもよい。そのようにすれば、例えば、移動玉mpが上昇しているときは、発音音高も上昇し、音だけでも移動玉mpの移動状態が認識できるだけでなく、臨場感が増して面白い。
【0051】
『Gセンサモード;X軸』
Gセンサモードでは、X軸、Y軸の各方向における加速度の変化に基づいて、指定玉dp乃至移動玉mpのスライド移動、移動玉mpの速度変更を行うと共に、Z軸方向における加速度の変化に基づいて、発生する楽音の楽音特性を変化させる。X軸、Y軸、Z軸各方向の加速度は、演奏装置MCを各方向に移動、停止させる際に生じるだけでなく、重力の下、演奏装置MCを傾けることでも生じる。
【0052】
本実施の形態では、演奏装置MCをユーザ側からみて左右方向に所定速さ以上で所定量以上傾けたとき(Y軸を中心として左方または右方に回転させたとき)、指定玉dp及び移動玉mpが左方または右方に移動し、演奏装置MCをユーザ側からみて前後方向に所定速さ以上で所定量以上傾けたとき(X軸を中心として演奏装置MCの前部が下がる方向または上がる方向に回転させたとき)、移動玉mpの移動速度が変わるように制御される。
【0053】
また、演奏装置MCを主に鉛直方向に移動させたとき、発生する楽音の楽音特性(本実施の形態では音源12から出力される楽音信号のカットオフ周波数F)を変化させる。なお、演奏装置MCを傾けることでZ軸方向においても加速度の変化が生じ得る。しかし、楽音特性を変化させる際の閾値である所定値Gz(後述)は、指定玉dp及び移動玉mpをスライド移動等させる際の閾値である所定値Gx、Gy(後述)より大きい値に設定され、演奏装置MCの静止状態におけるZ軸方向の小さい傾き(例えば30°以内)に相当する加速度によっては、カットオフ周波数Fが変化しないようになっている。
【0054】
Gセンサモードの一例として、図8で、演奏装置MCを左右方向に傾けた場合の動作を説明する。例えば、図8(a)に示すように(図7(b)と同じ状態)、水平状態において、移動玉mpが上方に移動しているとき、演奏装置MCをユーザからみて右方に傾ける。そしてその傾きによる加速度変化が、後述する第3タイマインタラプト処理(T−INT3)の実行間隔内における所定値Gx以上の変化であった場合、指定玉dp1と移動玉mpとが共に右方に変位、すなわちスライド移動する(図8(b)、図14のステップS403→S404→S405→S406)。移動玉mpの上方への移動は継続するので、移動玉mpは、実質上、斜め右上方に移動することになる。ここで、左右方向のスライド移動量はX軸方向の加速度変化に応じたものであり、その移動速度はT−INT3の実行間隔に基づくものである。このスライド移動の制御は、実質的に、対象となっている指定玉dp1及び移動玉mpのX軸座標(n値)の更新である。
【0055】
演奏装置MCの右方への回転を止めると、X軸方向の加速度変化が無くなるから、指定玉dp1及び移動玉mpがスライド移動を停止し、移動玉mpは変化後の列nにおいて上昇していく(図8(c))。従って、このような場合における移動玉mpの移動ルートは、図8(d)にF1で示すようなものとなる。
【0056】
ところで、移動玉mpは、1列につき1つ発生し、複数列で並行して発生させることもできる。従って、上記のような、「ラリー状態」、「閉じ込め状態」の動作は、各列nにおいて独立してなされ、同時に発生している移動玉mpが多いほど難易度も高くなって面白い。なお、1列につき移動玉mpを複数発生可能に構成してもよい。
【0057】
次に、図9〜図14のフローチャートに基づき、各種動作モードの処理を説明する。
【0058】
ここでまず、各処理に用いられる主なレジスタ値等について説明する。
【0059】
「MD」:動作モードを規定するモードフラグであり、「00」、「01」、「10」、「11」のいずれかに設定され、初期値は「00」である。モードフラグMDの「10」、「11」は、相手装置MC2と対戦ゲームを行う「対戦モード」であり、そのうち特に「11」は、後述する移動玉mpを上方に放出する(相手装置MC2に送る)モードである。「00」、「01」はその他のモード(例えば、順次発音モード)である。
【0060】
「MDD」:Gセンサ24に基づく制御を行うGセンサモードであることを「1」で示すGセンサモードフラグであり、初期値は「0」である。
KS(n):n列においてユーザにより入力指定されたk値(指定玉dpのY座標)の前回値である。
「KN(n)」:n列においてユーザにより入力指定されたk値の今回値である。
「KH(n)」:n列における上側指定玉dpのk値であり、初期値は「17」である。
「KL(n)」:n列における下側指定玉dpのk値であり、初期値は「0」である。
「KC{}」:{}内が示す座標(n、k)に対応する発音データである。
「b(n)」:n列における移動玉mpの進行方向を規定するフラグであり、上方であることを示す「+1」、下方であることを示す「−1」のいずれかに設定される。初期値は「−1」である。
「a(n)」:n列における移動玉mpのk値であり、初期値は「ENDマーク」(後述)である。
「mtLED(a(n))」:座標(n、a(n))に対応するマトリクス表示部である。
「LD(M)」:自装置MC1からM番目のライン発光部LDである。Mは1〜12の値であり、その初期値は「1」である。
「LF」:ライン発光を実行することを「1」で示すライン発光開始指示フラグであり、初期値は「0」である。
「XS、YS、ZS」:X軸、Y軸、Z軸方向におけるGセンサ24の検出値の各前回値である。
「XN、YN、ZN」:X軸、Y軸、Z軸方向におけるGセンサ24の検出値の各今回値である。
【0061】
また、以下の値は固定値である。
「ENDマーク」:0〜17以外の所定値(本実施の形態では「18」とする)である。
「max」:マトリクス表示入力部mtにおけるY座標の最大値であり、本実施の形態では「16」である。
「min」:マトリクス表示入力部mtにおけるY座標の最小値であり、本実施の形態では「1」である。
【0062】
図9、図10は、本実施の形態におけるメイン処理のフローチャートである。図9〜図14のフローチャートにおいて、(n)が付してあるものは、n列(n番目のチャンネル)に関する値を示す。以降、説明は「n列」に着目して行うが、実際には、16列の各々について同様の判別及び処理が並行して実行される。
【0063】
まず、初期設定を行い(ステップS101)、ステップS102〜S106でパラメータ設定処理を行う。すなわち、表示部11へのメニュー表示を行い(ステップS102)、操作子群19、エンコーダスイッチ18によるモード設定指示を受け付け、モードフラグMD、GセンサモードフラグMDDの設定等、モード設定をすると共に(ステップS103、S104)、マトリクススイッチmtSW以外の操作子によるその他設定指示(各列n毎の楽器音設定、全体テンポの設定等)を受け付け、それに応じた設定処理を行う(ステップS106)。
【0064】
次に、マトリクススイッチ走査、すなわち、個々のマトリクススイッチmtSWのオンオフ操作を検出し(ステップS107)、音源12の出力からオフレベル信号が検出されたか否かを各チャンネル毎(列n毎)に判別し(ステップS108)、オフレベル信号が検出された場合は、当該オフレベル信号が検出された列nに関連する全データ(各種レジスタ値、発音データKCを含む)をリセットして(ステップS109)、前記ステップS102に戻る。一方、オフレベル信号が検出されない場合は、動作モードが対戦モードであるか(MD=10または11であるか)否かを判別し(ステップS110)、対戦モードでない場合はその他処理を実行して(ステップS111)、前記ステップS102に戻る。この「その他処理」では、例えば、他の動作モードに応じた処理を実行し、順次発音モードであれば上述したような順次発音モードの動作を実行する。あるいは、「その他処理」では、入力されるMIDI演奏データに基づいて一般的な自動演奏を行うこともできる。
【0065】
一方、前記ステップS110で、対戦モードである場合は、マトリクススイッチmtSWのオンオフイベントがあったか否かを判別し(ステップS112)、ない場合は前記ステップS102に戻る一方、オンイベントがあった場合は、図10のステップS119〜S129で、上側/下側指定玉及び移動玉の設定処理を行う。
【0066】
すなわち、ステップS119で、前回値KS(n)に現在の今回値KN(n)を設定すると共に、今回値KN(n)に今回オンされたマトリクススイッチmtSWの最新のk値を設定して更新する。ここで、例えば、前回値KS(n)は、マトリクス表示入力部mt上の座標でいえば、(n、KS(n))が対応する。今回値KN(n)等についても同様の意義を有する。
【0067】
そして、今回のオンが、同一列nにおいて複数目のオンであるか否かを判別する(ステップS120)。この判別は、移動玉mpを閉じ込めたり解放したりするためには、押下し続けられてオン状態とされるマトリクススイッチmtSWが、同列において2つ以上生じる必要があるためになされる。そして、今回のオンが、1つ目のオンであるならば、下側指定玉k値KL(n)に今回値KN(n)を代入して(ステップS121)、発音データKC{KN(n)}を音源12に送出することで、今回値KN(n)に対応する発音データKCに基づく楽音を発生させると共に、今回値KN(n)に対応するマトリクス表示部mtLEDを強発光させて(ステップS128、図6(a)参照)、前記ステップS102に戻る。
【0068】
一方、前記ステップS120において、今回のオンが、同一列nにおいて複数目のオンである場合は、当該列nにおいて既に移動玉mpが存在するか否かを判別し(ステップS122)、存在しない場合は、ステップS123〜S127で、2点の指定玉dp間で移動玉mpを発生させる。
【0069】
すなわち、KN(n)>KS(n)であるか否かを判別し(ステップS123)、そうであれば今回のオンが前回のオンに対して上方のマトリクススイッチmtSWのオンであるので、今回オンの方を上側指定玉dpとして設定するべく、上側指定玉k値KH(n)に今回値KN(n)を、下側指定玉k値KL(n)に前回値KS(n)を、それぞれ代入すると共に、方向フラグb(n)に「+1」を設定する(ステップS124)。一方、KN(n)>KS(n)が成立しない場合は、上記とは逆に、KH(n)←KS(n)、及びKL(n)←KN(n)として、今回オンの方を下側指定玉dpとして設定すると共に、b(n)←「−1」とする(ステップS125)。
【0070】
これらの処理後、MD←「10」とし(ステップS126)、移動玉k値a(n)に前回値KS(n)を代入する(ステップS127)。従って、2つの指定玉dpのうち最初に指定された指定玉dpの位置に移動玉mpが発生することになる。そして、前記ステップS127の処理後は、前記ステップS128に進み、上記と同様に最新のオンに対応するマトリクス表示部mtLEDを強発光させると共にその座標に対応した発音をさせる(図6(b)参照)。
【0071】
前記ステップS122の判別の結果、既に移動玉mpが存在する場合は、移動玉存在時設定処理を実行して(ステップS129)、前記ステップS128に進む。ここで、この「移動玉存在時設定処理」では、上側指定玉k値KH(n)及び下側指定玉k値KL(n)の設定については、前記ステップS123、S124、S125と同様の処理を行う。しかし、モードフラグMDについては、b(n)=「+1」で且つa(n)>KN(n)が成立する場合は「11」に、そうでない場合は「10」に設定する。方向フラグb(n)については変更しない。このようにするのは、同一nにおける複数目のオンがあっても、移動玉mpが上向きで、且つ移動玉mpより下方において新たなオンがなされた場合は、移動玉mpは2つの移動玉mp間に閉じこめられないことから、移動玉mpを相手装置MC2にそのまま返すようにするためである。
【0072】
図9の前記ステップS112において、マトリクススイッチmtSWのオフイベントがあった場合は、ステップS113〜118で、指定玉dpの指定解除処理を実行する。すなわち、同一列nで2つの指定玉dpのうち上側指定玉dpの解除指示(上側指定玉k値KH(n)のオフ)であれば、上側指定玉k値KH(n)を初期値(「17」)にリセットすると共に、移動玉mpを放出可能にするべくMD←「11」とし(ステップS113、S114)、下側指定玉dpの解除指示(下側指定玉k値KL(n)のオフ)であれば、下側指定玉k値KL(n)を初期値(「0」)にリセットし(ステップS115、S116)、指定玉dpが1つである場合におけるその指定玉dpの解除指示(最後のオフ)であれば、それに対応する上側指定玉k値KH(n)または下側指定玉k値KL(n)をリセットして(ステップS117、S118)、前記ステップS102に戻る。
【0073】
図11、図12は、第1タイマインタラプト処理(T−INT1)のフローチャートである。本処理は、3TCL(テンポクロック)間隔で実行される。ここで、TCLを最小分解能(4分音符長の96分の1)で定義し、テンポ値を60に設定したとすると、1TCL=約20ms、3TCL=約60msとなる。
【0074】
まず、対戦モードであるか否かを判別し(ステップS201)、対戦モードでなければ本処理を終了する一方、対戦モードであれば、後述する「引き継ぎデータ」を受信したか否かを判別し(ステップS202)、受信していない場合は、ステップS204に進む。「引き継ぎデータ」を受信した場合の動作は後述する。また、移動玉mpがマトリクス表示入力部mtからはみ出す場合の動作も後述する。
【0075】
まず、自装置MC1において移動玉mpが存在する状態を説明する。図6(c)〜(f)に示されるような「閉じ込め状態」は、ステップS204〜S215の繰り返しにより実現され、移動玉mpの方向は、ステップS208で上向きから下向きに反転し、ステップS212で下向きから上向きに反転する。
【0076】
すなわち、ステップS204で移動玉k値a(n)が「ENDマーク(「18」)」と一致するか否か判別し、通常、移動玉mpが発生している状態ではa(n)=1〜16であって両者は一致しないので、方向フラグb(n)が「−1」に設定されているか否かを判別する(ステップS205)。その判別の結果、b(n)=「−1」である、すなわち、移動玉mpの向きが下向きである場合は、a(n)<minが成立するか否かを判別する(ステップS210)。移動玉mpが存在する状態ではa(n)は1〜16のいずれかであり、また、minは「1」であるので、a(n)<minが成立し、次に、a(n)=KL(n)が成立するか否かを判別する(ステップS211)。
【0077】
移動玉mpが下側指定玉k値KL(n)に達するまではa(n)=KL(n)が成立しないので、直ちにステップS213に進み、移動玉k値a(n)に対応するマトリクス表示部mtLED{a(n)}を弱発光させ、該マトリクス表示部mtLED{a(n)}以外のマトリクス表示部mtLEDを消光し(ステップS214)、a(n)←a(n)+b(n)として方向フラグb(n)を歩進させて(ステップS215)、本処理を終了する。この場合、移動玉mpは図11、図12の処理毎に1つずつ下方に進んでいく(図6(e)参照)。
【0078】
移動玉mpが下側指定玉k値KL(n)に達すると、前記ステップS211でa(n)=KL(n)が成立するので、方向フラグb(n)に「+1」を設定して移動玉mpの方向を上向きに反転させ(ステップS212)、さらに、移動玉k値a(n)に対応し、下側指定玉dpにも対応しているマトリクス表示部mtLED{a(n)}を強発光させると共に、該マトリクス表示部mtLED{a(n)}に対応する発音データKC{a(n)}を音源12に送出することで対応する発音データKCに基づく楽音を発生させる(ステップS209、図6(f)参照)。その後、前記ステップS214、S215を実行するが、この場合においては、反転した移動玉mpは、上方に進んでいく。
【0079】
前記ステップS205の判別の結果、b(n)=「+1」である、すなわち、移動玉mpの向きが上向きである場合は、a(n)>maxが成立するか否かを判別する(ステップS206)。maxは「16」であり、移動玉mpが存在する状態では、a(n)>maxが成立しないから、次に、a(n)=KH(n)が成立するか否かを判別する(ステップS207)。
【0080】
ステップS207からステップS208、S209、S214、S215へと流れる処理は、上述したステップS211からステップS212、S209、S214、S215へと流れる処理に対して、移動玉mpの方向が異なるのみであり、移動玉mpが、上側指定玉k値KH(n)に達するまで弱発光して上昇し、達したら強発光及び発音がなされて移動玉mpが方向反転するというものである(図6(c)〜(e))。
【0081】
また、「ラリー状態」において、自装置MC1で発生させた移動玉mpを相手装置MC2に対して放出する、いわゆる「サーブ動作」(図7(a)〜(d))は、前記ステップS204〜S206→S216→S217→S218→S219という流れる処理によって実現される。
【0082】
すなわち、移動玉mpが上向き状態で、移動玉mpより上方に指定玉dpが存在しない場合は、移動玉mpはマトリクス表示入力部mtから上方にはみ出し、移動玉k値a(n)が「17」となるから、前記ステップS205→S206→S216へと処理が移行する。ステップS216では、対戦モードで且つMD=11であるか否かを判別し、そうであれば、「引き継ぎデータ」を設定する(ステップS217)。「引き継ぎデータ」は一時記憶される。
【0083】
ここで、「引き継ぎデータ」には、相手装置MC2において、移動玉mpを発生させる列n(チャンネル)を規定するn’、移動玉mpの初期位置を規定する移動玉k値a’(n)、及び移動玉k値a’(n)に対応する発音データKC’{a’(n)}が含まれる。各値はそれぞれ、n’←n、a’(n)←a(n)−1、KC’{a’(n)}←KC{a(n)−1}と設定される。
【0084】
ここで、「引き継ぎデータ」の設定時においては、移動玉k値a(n)は「17」であるから、a’(n)は「16」となる。従って、「引き継ぎデータ」を受ける相手装置MC2においては、自装置MC1において消失した移動玉mpが存在していたのと同じ列nにおける最上位置である座標(n、16)に移動玉mpが発生することになる。初期設定(図9のステップS101)または図12のステップS219で方向フラグb(n)が「−1」に設定されていることから、相手装置MC2における移動玉mpの当初の向きは、下向きである。
【0085】
次に、ステップS218では、ライン発光開始指示フラグLFに「1」を設定し、次いで、ステップS219で、列nに関し自装置MC1において指定玉dpも移動玉mpもない初期状態に戻すべく、a(n)←ENDマーク、b(n)←「−1」、KH(n)←(max+1)、KL(n)←(min−1)、MD←「10」と設定して、本処理を終了する。
【0086】
一方、前記ステップS216で、対戦モードでないか、またはMD=11でない場合は、直ちに前記ステップS219を実行する。この場合は、移動玉mpは上方に消失するだけで、相手装置MC2への移動玉mpの放出はなされない。
【0087】
図13は、ライン発光部LDを順次発光させるための、第2タイマインタラプト処理(T−INT2)のフローチャートである。本処理は、1TCL間隔(テンポ値60で約20ms)で実行される。
【0088】
まず、ライン発光開始指示フラグLFが「1」に設定されているか否かを判別し(ステップS301)、LF=1でない場合は本処理を終了する一方、LF=1である場合は、ライン発光部LD(M)を発光指示すると共に、ライン発光部LD(M)以外のライン発光部LDを消光指示する(ステップS302)。最初は、M=1であるので、自装置MC1に最も近いライン発光部LD(1)のみが発光する。例えば、ライン発光部LD(1)の発光指示は、上述のように、制御信号が入力端子C1または入力端子D1(図5参照)に入力されることでなされる。
【0089】
そして、Mが最後(12)になるまでMを1ずつインクリメントすることで(ステップS303、S304)、発光するライン発光部LDが、相手装置MC2に近い側に順に移行していく。これにより、自装置MC1から放出された移動玉mpが、あたかも発光ケーブル30を通って相手装置MC2に届くかのように見える。テンポ値60とした場合、移動玉mpは発光ケーブル30上を約0.5secで移動して相手装置MC2に達することになる。なお、設定速さはこれに限定されるものではない。
【0090】
その後、Mが最後(「12」)になると、LF←0及びM←0とし(ステップS305)、図12の前記ステップS217で設定した「引き継ぎデータ」を、相手装置MC2に対して送出し(ステップS306)、本処理を終了する。なお、移動玉mpの放出によるライン発光部LDの順次発光、及び「引き継ぎデータ」の送出は、両演奏装置MCが互いに繰り返し行える。
【0091】
図11、図12に戻り、前記ステップS202の判別の結果、相手装置MC2から送出された「引き継ぎデータ」を受信した場合は、その「引き継ぎデータ」に従ってパラメータ設定を行うと共に、MD←「11」とする(ステップS203)。すなわち、相手装置MC2において、図13の前記ステップS306で送出された「引き継ぎデータ」が自装置MC1で受信されると、「引き継ぎデータ」中のn’、移動玉k値a’(n)、及び発音データKC’{a’(n)}に基づき、n←n’、a(n)←a’(n)、KC{a(n)}←KC’{a(n)}と設定される。これにより、相手装置MC2で放出された移動玉mpが存在していたのと同じ列nにおけるY座標=16の位置に、下向きの移動玉mpが新たに発生する。
【0092】
「引き継ぎデータ」の受信直後は、a(n)=16、b(n)=「−1」であるから、ステップS204→S205→S210→S211と移行する。これ以降で、何ら指定玉dpを指定しなければ、やがてステップS210からステップS219に進むことになり、移動玉mpは下方に抜ける(自装置MC1の負け)。しかし、移動玉mpより下方で一旦指定玉dpを指定すれば、その後の処理は、前述した、自装置MC1内で移動玉mpを発生させた場合と同様となり、閉じ込め状態にすることもできる。
【0093】
例えば、相手装置MC2から受けた移動玉mpを相手装置MC2に対して直接または間接に打ち返す、いわゆる「リターン動作」(図7(e)〜(h)参照)は、前記ステップS202〜S205を経て、ステップS212を少なくとも1回実行した後、ステップS206からステップS216に移行することで実現される。
【0094】
図14は、Gセンサモードの動作を実行するための、第3タイマインタラプト処理(T−INT3)のフローチャートである。本処理は、1TCLより短い間隔であって、例えば、約12ms間隔で実行される。
【0095】
まず、Gセンサモードが設定されている(MDD=1である)か否かを判別し(ステップS401)、MDD=1である場合は、動作モードが対戦モードであるか否かを判別し(ステップS402)、対戦モードである場合は、3次元(X、Y、Z軸)方向のいずれかに関し、Gセンサ24の検出値に変化があったか否かを判別し(ステップS403)、変化があった場合は、ステップS404に進む。前記ステップS401〜S403のいずれかで「NO」である場合は直ちに本処理を終了する。
【0096】
ステップS404では、各前回値XS、YS、ZSにGセンサ24の検出値の現在における各今回値XN、YN、ZNをそれぞれ設定すると共に、今回値XN、YN、ZNに、それぞれ、Gセンサ24の検出値のX、Y、Z成分の変化後の(最新の)値を設定して更新する。
【0097】
次に、|XN−XS|≧所定値Gxであるか否かを判別し(ステップS405)、そうでない場合はステップS407に進む一方、そうであれば、X軸方向の加速度変化が大きいので、nに、n+SIGN(XN−XS)を設定する(ステップS406)。ここで、SIGN(XN−XS)は、「XN−XS」の符号で定まり、「+1」または「−1」のいずれかの値を執る。これにより、存在していた指定玉dp及び移動玉mpが右方または左方に1つずつスライドする。例えば、図8(a)〜(b)の例でいえば、図14の処理毎に、指定玉dp1が右方に1列分変位すると同時に、移動玉mpが上方に1行分及び右方に1列分変位する。演奏装置MCの同方向への傾き動作を止めれば、指定玉dp1及び移動玉mpのスライド移動は止まるが、傾きがさらに変化するときは、指定玉dp1と移動玉mpのスライド移動は図14の処理毎に繰り返される。なお、スライド移動の結果、nが16を超えるときは、1にリセットしてもよい。
【0098】
次に、ステップS407では、|YN−YS|≧所定値Gyであるか否かを判別し、そうでない場合はステップS409に進む一方、そうであれば、Y軸方向の加速度変化が大きいので、a(n)に、a(n)+SIGN(YN−YS)を設定する(ステップS408)。これにより、上向き/下向きで移動していた移動玉mpが、マトリクス表示部mtLEDを1つ飛び越えて上昇/下降するかまたは同じ位置にとどまる。
【0099】
例えば、移動玉mpが上向きで移動しているとき、演奏装置MCの前部を下方に傾けたときは、移動玉mpは2つ上のY座標に進み、その傾きがさらに変化するときは、移動玉mpは図14の処理毎に1つおきに進むことになり、傾き動作を止めれば移動玉mpの上昇は通常通りに戻る。一方、演奏装置MCの前部を上方に傾けたときは、移動玉mpは同じ位置を執り、上方への傾きがさらに変化するときは、移動玉mpは上昇することなく停止を繰り返し、その傾き動作を止めれば移動玉mpの上昇は通常通り(1つずつ)に戻る。
【0100】
従って、ユーザからみれば、演奏装置MCを後方からみて左右方向に傾けることで、移動玉mpの移動方向を(左右に)変えることができ、演奏装置MCを前後方向に傾けることで、移動玉mpの移動速度を変えることができる。
【0101】
次に、ステップS409では、|ZN−ZS|≧所定値Gzであるか否かを判別し、そうでない場合は本処理を終了する一方、そうであれば、Z軸方向の加速度変化が大きいので、「ZN−ZS」の値に応じて、音源12から出力される楽音信号のカットオフ周波数Fを変更設定することで、前記ステップS128またはS209で発音する発音データKC{a(n)}に基づく楽音の楽音特性(ここでは音色)を変化させる(ステップS410)。例えば、演奏装置MCを鉛直方向上方に動かしたときはカットオフ周波数Fが高くなる。その後本処理を終了する。
【0102】
本実施の形態によれば、対戦モードでは、一方の演奏装置MCにおいて、移動玉mpがマトリクス表示入力部mtからはみ出した場合は、引き継ぎデータが生成されて他方の演奏装置MCに送出され、他方の演奏装置MCでは、引き継ぎデータを受信して、引き継ぎデータに基づきマトリクス表示入力部mtに移動玉mpを発生させるので、2次元領域を移動する移動玉mpを対戦相手とやりとり可能にして、インタラクティブで面白みのある簡易な音楽的合同発音を可能にした対戦ゲームを実現することができる。
【0103】
また、移動玉mpが他方の演奏装置MCに移るとき、発光ケーブル30上のライン発光部LDが順次発光するので、移動玉mpの転送が視覚的に把握でき、移動玉mpの受け取りタイミングを認識できて、面白みも増す。さらに、移動玉mpはマトリクス表示入力部mtにおいて弱発光して移動すると共に、指定玉dpと一致したとき、強発光及び対応する発音がなされるので、ユーザは、移動玉mpの移動状態を、光の位置と音(音色及び音高)とをたよりに把握しつつ、移動玉mpを打ち返すまたは閉じ込めるための指定玉dpの指定を行うタイミングを計ることができて、面白みがある。
【0104】
また、移動玉mpの進行方向前方において、指定玉dpの解除がされた、または指定がされなかった場合は移動玉mpがマトリクス表示入力部mtからはみ出すが、指定玉dpを指定すれば移動玉mpはその指定玉dpの位置で方向反転し、しかも2つの指定玉dp間に閉じ込めることもできるので、打ち返しのタイミングを任意に調節できてスリルのある対戦ゲームを行えるだけでなく、自装置MC1内だけでも楽しめる。
【0105】
本実施の形態によればまた、Gセンサモードでは、X軸、Y軸方向における加速度の変化に基づいて、指定玉dp、移動玉mpのスライド移動、または移動玉mpの速度変更を行うと共に、Z軸方向における加速度の変化に基づいて、出力される楽音信号のカットオフ周波数Fを変更するようにしたので、2次元領域を移動する移動玉mpの移動態様、及びそれに応じた対応する楽音の楽音特性を、演奏装置MC自体の傾き乃至動かし方で可変にして、面白みのある動的なゲームを実現することができる。
【0106】
なお、本実施の形態では、発音は、指定玉dpの指定時、及び移動玉mpが指定玉dpと一致したときにのみ行うようにしたが、これに限られるものではない。例えば、移動玉mpの移動過程において発音、すなわち、移動玉mpが通る各座標に対応する発音を行うようにしてもよい。そのようにすれば、対戦モードにおいて、ユーザは、音(主に音高の変化)をたよりに移動玉mpの移動状態を認識することができる。その場合、移動玉mpを弱発光させないように制御すれば、ユーザは、打ち返し等を行う際に専ら音をたよりにすることになるため、聴覚に偏重したゲームが実現される。その場合、移動玉mpの反転時の強発光もさせないようにすれば、視覚的要素をほとんど排除して音感だけをたよりに操作するゲームとなる。さらには、各列n間で音色が異なっていることで、複数列で並行して移動玉mpを発生させたとき、どの列nの移動玉mpがどのような移動状態であるのかを、音色と音高とで察知しつつラリーを行うことが可能となり、難易度が一層高く面白みのある聴覚ゲームが実現される。その場合でも、Gセンサモードよる楽音特性の変更は、移動玉mpの移動過程に対応する発生楽音に対しても適用してもよい。Gセンサモードよる楽音特性の変更を付加することで、移動中の楽音の音色が、音高と共に変化することになり、変化球のような音感的感覚を味わうことができる。
【0107】
なお、本実施の形態では、指定玉dpの指定時、及び指定玉dpと移動玉mpとの一致時に発音及び強発光がなされ、移動玉mpの移動過程において弱発光がなされるようにしたが、発音及び発光をどのような状態のときに行うようにするかは、適宜改変が可能である。例えば、指定玉dpの指定時のみ発音乃至発光、あるいは移動玉mpの移動過程でのみ発音乃至発光、あるいはこれら双方で発音乃至発光するようにしてもよい。また、移動玉mpの移動過程で発音する楽音は、マトリクススイッチmtSWに対応する発音データKCに基づくものに限ることなく、例えば、予め定めた所定の楽音を移動玉mpの現在位置にかかわらず一律に発音させてもよい。
【0108】
なお、モード設定等によって、マトリクス表示部mtLEDの発光、または発音のいずれかを全く排除するようにしてもよく、光か音の少なくとも一方で、移動玉mpの移動状態乃至位置がユーザにわかるようにすれば、ゲームは可能である。
【0109】
なお、移動玉mpがマトリクス表示入力部mtから上方にはみ出す場合にのみ相手装置MC2に移行するようにしたが、これに限られず、下方に移動玉mpが抜けたときも、相手装置MC2のマトリクス表示入力部mtの下端部から上向きの移動玉mpが発生するようにしてもよい。あるいは、移動玉mpを左右方向に移動させるモードも設け、左右方向に抜けたときに、相手装置MC2の左右端部から横向きの移動玉mpが発生するようにしてもよい。
【0110】
なお、指定玉dpは、指定時及び移動玉mpとの一致時だけでなく、指定解除となるまで常時発光(例えば、弱発光)させてもよいし、移動玉mpの発光に同期して発光させてもよい。
【0111】
なお、ライン発光部LDに制御信号を送るための信号ラインCL1〜CL12、DL1〜DL12と、他機通信I/F9に接続される信号線束とは、発光ケーブル30に一体的に収容されたが、これらを物理的に別のケーブルとして構成してもよい。
【0112】
なお、本実施の形態では、各列n毎に処理を行うようにし、Gセンサモードによらない動作では、移動玉mpを上下方向に移動させるようにしたが、「閉じ込め状態」を含む通常の動作において移動玉mpを斜め方向に移動させるようにしてもよい。
【0113】
なお、「閉じ込め状態」は2つの指定玉dp間で移動玉mpが往復移動するものとしたが、2点に限られない。例えば、移動玉mpの斜め移動を可能に構成した上で、3点以上の複数の指定玉dpを指定し、これら複数の指定玉dp間を所定の順番で移動玉mpが移動するようにしてもよい。なお、移動玉mpを循環させる指定玉dpのグループは同時に複数存在してもよい。
【0114】
なお、仮に、移動玉mpの横方向移動や斜め移動を可能に構成した場合、移動玉mpが各指定玉dpで方向転換するとき、必ずしもその進行方向を180°変えるようにする必要はなく、垂直方向等、所定の方向に変更するようにしてもよい。上記のように3点以上の指定玉dp間を移動玉mpが移動する場合については、移動玉mpの方向は、次の指定玉dpに向くように転換される。
【0115】
なお、本実施の形態では、Gセンサモードにおいて、3軸方向に関して検出加速度に応じた制御を行うようにしたが、いずれか1軸または2軸についてのみ行うようにしてもよい。また、方向と制御内容との組み合わせは例示したものに限られない。
【0116】
なお、本実施の形態では、X軸、Y軸方向の加速度変化に対して、n値、a(n)値をそれぞれ1ずつ増減したが、増減する数は、1に限られず、2以上であってもよい。また、X軸、Y軸方向の加速度変化に対して、移動玉mpの変化させるべき移動態様は、マトリクス表示入力部mt上の座標に限られない。例えば、全体テンポを変更することで、T−INT1の処理間隔が変化し、これによって、移動玉mpの移動速度が変化するようにしてもよい。
【0117】
なお、Z軸方向の加速度変化に対して、発音される楽音の楽音特性の可変態様は、音源12から出力される楽音信号のカットオフ周波数Fの変更に限られない。例えば、生成される発音データKC中の上記楽音パラメータの変更により、音色、ピッチ、音量の変更、及びオクターブシフト等を行うようにしてもよい。あるいは、1つの列nに2チャンネルを割り当て、PANを変更してもよい。
【0118】
なお、Gセンサモードは対戦モードが設定されているか否かにかかわらず設定且つ動作可能に構成してもよい。なお、演奏装置MCは、SMF(Standard MIDI File)フォーマットの自動演奏データを再生可能に構成してもよい。
【0119】
なお、マトリクススイッチmtSWに対応して発音される楽音は、単音に限定されず、所定の短いメロディや和音であってもよい。なお、この場合でも、和音は、コード−ピラミッドのような分散和音(和音構成音を低い音から高い音へ上がって元の低い音に戻る)であってもよい。ただし、分散和音の発音において和音構成音のうち最初に発音される音は、上述したような移動玉mpの移動に伴い発音される音と同じ(通常は根音)にした方が、音楽教習効果を高める観点からは好ましい。また、1つの列nに多チャンネルを割り当てて、ステレオ発音等を可能としてもよい。
【0120】
なお、各n値、または各k値に対応付けられるものは、音色、音高に限られず、各種楽音パラメータを適用でき、また、表示に関するパラメータと共に、あるいは表示に関するパラメータのみを対応付けてもよい。
【0121】
なお、本実施の形態では、マトリクス表示部mtLEDをマトリクススイッチmtSWに一体に組み込み、座標の指定と指定された座標の表示とを共にマトリクス表示入力部mt上で行うようにしたが、これに限るものでなく、両者を別個に設けてもよい。その場合、マトリクス表示入力部mtにはマトリクス表示部mtLEDに相当する表示機能(例えばマトリクス液晶表示部)だけを設け、指定玉dpの指定はタッチパネル等のソフトスイッチや、何らかの他の操作子で受け付けてもよい。例えば、携帯電話機に適用する場合、その液晶表示部にマトリクス表示すると共に、携帯電話機に設けられる操作子を指定玉dp等の指定に用いることができるようにしてもよい。
【0122】
なお、マトリクス表示部mtLEDに相当する表示機能は、演奏装置MCの上面だけでなく底面にも設け、両者で同じ表示を同時に行うようにしてもよい。そのようにすれば、上面をユーザ側に、底面を観覧者側に向けて、多数の者にゲームの内容を見せることができ、利用場面が拡大する。
【0123】
なお、本実施の形態では、マトリクス表示部mtLEDは2段階で発光するとしたが、これに限られず、3段階以上として、移動玉mpと指定玉dpとの位置関係等の状態に応じて発光輝度を異ならせてもよい。あるいは、複数の発光色で発光可能に構成してもよい。また、マトリクス表示入力部mtは、マトリクス状態で指定玉dp乃至移動玉mpを可視表示できればよく、必ずしも発光でなくてもよい。例えば、マトリクス表示入力部mtを液晶画面で構成し、点滅速度の変更等によって各座標に対応する部分の表示パターンを複数種類実現してもよい。なお、マトリクス表示入力部mtの構成は、16×16でなくてもよく、縦横の値が異なっていてもよい。
【0124】
なお、2つの演奏装置MCを通信可能に接続するための通信手段は、発光ケーブル30等の有線接続に限定されず、赤外線等の無線通信でもよいし、また、インターネット等のネットワークを通じた通信であってもよい。
【0125】
なお、近く(10m程度)にある2台の演奏装置MC間で赤外線等で通信しあい、いずれか一方の演奏装置MCのクロックでこれら2台の演奏装置MCを動作させることで同期をとりセッションを可能にしてもよい。
【0126】
なお、発光ケーブル30や赤外線等の通信手段を用いて2台の演奏装置MC間で通信しあい、自装置MC1でマトリクス表示入力部mtを操作して発光及び発音がなされると、相手装置MC2のマトリクス表示入力部mtにおいても同じ位置が発光し、且つ対応する発音がなされるようにして、対戦前にどのチャンネルの音(音色)が鳴っているのかがわかるようにしてもよい。
【0127】
なお、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【0128】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードが伝送媒体等を介して供給される場合も、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R/RW、DVD−ROM、DVD−RAM、DVD−R/RW、DVD+RW、NV−RAM、磁気テープ、不揮発性のメモリカード、或いはネットワークを介したダウンロード等を用いることができる。
【0129】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【0130】
【図1】本発明の一実施の形態に係る演奏装置の全体構成を示すブロック図である。
【図2】本実施の形態の演奏装置2台を通信可能に接続して構成される演奏システムの利用態様を示す外観図である。
【図3】1つの演奏装置と発光ケーブルとを示す外観図である。
【図4】マトリクス表示入力部の平面図である。
【図5】発光ケーブルの一部表面を示す展開図である。
【図6】対戦モード中における、「閉じ込め状態」の態様を模式的に示すマトリクス表示入力部の遷移図である。
【図7】対戦モード中における、「ラリー状態」の態様を模式的に示す両演奏装置のマトリクス表示入力部の遷移図である。
【図8】対戦モードで且つGセンサモードの動作態様を模式的に示すマトリクス表示入力部の遷移図である。
【図9】本実施の形態におけるメイン処理のフローチャートである。
【図10】本実施の形態におけるメイン処理の図9の続きのフローチャートである。
【図11】第1タイマインタラプト処理(T−INT1)のフローチャートである。
【図12】第1タイマインタラプト処理(T−INT1)の図11の続きのフローチャートである。
【図13】ライン発光部を順次発光させるための、第2タイマインタラプト処理(T−INT2)のフローチャートである。
【図14】Gセンサモードの動作を実行するための、第3タイマインタラプト処理(T−INT3)のフローチャートである。
【符号の説明】
【0131】
1 CPU(発音データ生成手段、移動座標発生手段、可変手段、楽音発生指示手段、引き継ぎデータ生成手段)、9 他機通信I/F(他装置通信手段、引き継ぎデータ送出手段)、12 音源、24 Gセンサ、MC 演奏装置、MC2 相手装置(他装置)、mt マトリクス表示入力部(2次元領域)、mtLED マトリクス表示部(可視表示部)、mtSW マトリクススイッチ(座標指定手段)、dp 指定玉、mp 移動玉、KC 発音データ、a(n) 移動玉k値(移動座標のk値)、KL(n) 下側指定玉k値(所定座標のk値)、KH(n) 上側指定玉k値(所定座標のk値)、KN(n) 今回値、KS(n) 前回値、 24 Gセンサ(加速度検出手段)
【特許請求の範囲】
【請求項1】
2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成手段と、
前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生手段と、
当該演奏装置に生じる加速度を検出する加速度検出手段と、
前記加速度検出手段により検出された加速度に基づいて、前記移動座標発生手段により発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変手段とを有することを特徴とする演奏装置。
【請求項2】
前記加速度検出手段は、複数方向における加速度を検出可能であり、前記可変手段は、前記加速度検出手段により検出された加速度及びその方向に応じて、前記移動座標の前記移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される前記発音データに基づく楽音の楽音特性を変化させることを特徴とする請求項1記載の演奏装置。
【請求項3】
前記移動座標の前記移動の態様は、移動方向または移動速さの少なくとも一方であることを特徴とする請求項1または2記載の演奏装置。
【請求項4】
前記2次元領域における座標の各々を個別に指定可能な座標指定手段を有し、前記移動座標発生手段は、前記座標指定手段による座標の指定に基づいて、前記移動座標を発生させることを特徴とする請求項1〜3のいずれか1項に記載の演奏装置。
【請求項5】
前記発音データ生成手段により生成される発音データに基づき楽音発生を指示する楽音発生指示手段を有し、少なくとも前記移動座標が所定座標に到達したとき、前記発音データ生成手段が前記所定座標に対応する発音データを生成すると共に、前記楽音発生指示手段が前記所定座標に対応して生成された発音データに基づき楽音発生を指示することで、前記移動座標の移動状態がユーザに認識されることを特徴とする請求項1〜4のいずれか1項に記載の演奏装置。
【請求項6】
前記2次元領域における座標の各々に対応して配列された複数の可視表示部と、該複数の可視表示部を制御する可視表示部制御手段とを有し、少なくとも前記移動座標が所定座標に到達したとき、前記可視表示部制御手段が前記所定座標に対応する可視表示部を可視表示させるように制御することで、前記移動座標の移動状態がユーザに認識されることを特徴とする請求項1〜5のいずれか1項に記載の演奏装置。
【請求項7】
他装置と通信するための他装置通信手段と、前記移動座標発生手段により発生した移動座標が、前記2次元領域からはみ出した場合に、引き継ぎデータを生成する引き継ぎデータ生成手段と、前記引き継ぎデータ生成手段により生成された引き継ぎデータを前記他装置通信手段を介して前記他装置に送出する引き継ぎデータ送出手段とを有し、前記移動座標発生手段は、前記他装置からの引き継ぎデータが前記他装置通信手段を介して受信された場合には、該受信された引き継ぎデータに基づいて、前記2次元領域において移動する移動座標を新たに発生させることを特徴とする請求項1〜6のいずれか1項に記載の演奏装置。
【請求項8】
2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成ステップと、
前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生ステップと、
加速度を検出する加速度検出ステップと、
前記加速度検出ステップにより検出された加速度に基づいて、前記移動座標発生ステップにより発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成ステップにより生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変ステップとをコンピュータに実行させることを特徴とする演奏装置制御プログラム。
【請求項1】
2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成手段と、
前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生手段と、
当該演奏装置に生じる加速度を検出する加速度検出手段と、
前記加速度検出手段により検出された加速度に基づいて、前記移動座標発生手段により発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変手段とを有することを特徴とする演奏装置。
【請求項2】
前記加速度検出手段は、複数方向における加速度を検出可能であり、前記可変手段は、前記加速度検出手段により検出された加速度及びその方向に応じて、前記移動座標の前記移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成手段により生成される前記発音データに基づく楽音の楽音特性を変化させることを特徴とする請求項1記載の演奏装置。
【請求項3】
前記移動座標の前記移動の態様は、移動方向または移動速さの少なくとも一方であることを特徴とする請求項1または2記載の演奏装置。
【請求項4】
前記2次元領域における座標の各々を個別に指定可能な座標指定手段を有し、前記移動座標発生手段は、前記座標指定手段による座標の指定に基づいて、前記移動座標を発生させることを特徴とする請求項1〜3のいずれか1項に記載の演奏装置。
【請求項5】
前記発音データ生成手段により生成される発音データに基づき楽音発生を指示する楽音発生指示手段を有し、少なくとも前記移動座標が所定座標に到達したとき、前記発音データ生成手段が前記所定座標に対応する発音データを生成すると共に、前記楽音発生指示手段が前記所定座標に対応して生成された発音データに基づき楽音発生を指示することで、前記移動座標の移動状態がユーザに認識されることを特徴とする請求項1〜4のいずれか1項に記載の演奏装置。
【請求項6】
前記2次元領域における座標の各々に対応して配列された複数の可視表示部と、該複数の可視表示部を制御する可視表示部制御手段とを有し、少なくとも前記移動座標が所定座標に到達したとき、前記可視表示部制御手段が前記所定座標に対応する可視表示部を可視表示させるように制御することで、前記移動座標の移動状態がユーザに認識されることを特徴とする請求項1〜5のいずれか1項に記載の演奏装置。
【請求項7】
他装置と通信するための他装置通信手段と、前記移動座標発生手段により発生した移動座標が、前記2次元領域からはみ出した場合に、引き継ぎデータを生成する引き継ぎデータ生成手段と、前記引き継ぎデータ生成手段により生成された引き継ぎデータを前記他装置通信手段を介して前記他装置に送出する引き継ぎデータ送出手段とを有し、前記移動座標発生手段は、前記他装置からの引き継ぎデータが前記他装置通信手段を介して受信された場合には、該受信された引き継ぎデータに基づいて、前記2次元領域において移動する移動座標を新たに発生させることを特徴とする請求項1〜6のいずれか1項に記載の演奏装置。
【請求項8】
2次元領域における座標の各々に対応する発音データを生成可能な発音データ生成ステップと、
前記2次元領域における座標のいずれかを現在位置に執りつつ移動する移動座標を発生させる移動座標発生ステップと、
加速度を検出する加速度検出ステップと、
前記加速度検出ステップにより検出された加速度に基づいて、前記移動座標発生ステップにより発生した移動座標の移動の態様、または前記移動座標が位置する座標に対応して前記発音データ生成ステップにより生成される発音データに基づく楽音の楽音特性の、少なくとも一方を変化させる可変ステップとをコンピュータに実行させることを特徴とする演奏装置制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2006−20787(P2006−20787A)
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−200692(P2004−200692)
【出願日】平成16年7月7日(2004.7.7)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願日】平成16年7月7日(2004.7.7)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]