以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の一実施の形態に係る演奏装置の全体構成を示すブロック図である。図2は、本演奏装置の外観図である。本実施の形態の演奏装置MCを2台、接続ケーブル30で接続することで、演奏システムが構成され、対戦型のゲームも可能になっている。2台の演奏装置MCを特に区別するときは、自装置MC1及び相手装置MC2と呼称する。
図1に示すように、演奏装置MCは、ROM2、RAM3、タイマ4、記憶入出力装置5、記憶装置6、通信I/F7、他機通信I/F9、マトリクス表示入力部mt、パネルスイッチ10、表示部11、音源12、オフレベル検出部13及びGセンサ24がバス16を介してCPU1にそれぞれ接続されて構成される。音源12には、D/A変換器14を介してサウンドシステム15が接続されている。CPU1にはタイマ4が接続される。
CPU1は、本演奏装置MCの制御を司る。ROM2は、CPU1が実行する制御プログラムや各種テーブルデータ等を記憶する。RAM3は、演奏データ、テキストデータ等の各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。タイマ4は、タイマ割り込み処理における割り込み時間や各種時間を計時する。記憶入出力装置5は、記憶媒体であるフラッシュメモリ、フレキシブルディスク等の可搬の記憶媒体17に対してデータの記憶、読み出しを行う。パネルスイッチ10は、各種情報を入力するための複数のスイッチを備え、これらには、例えば、図2に示す操作子群19、エンコーダスイッチ18が含まれる。表示部11は、LCD等で構成される。記憶装置6は、演奏データ等を記憶するほか、上記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶することができる。
通信I/F7には、他のMIDI機器との間でUSB(Universal Serial Bus)端子等を介してMIDI(Musical Instrument Digital Interface)信号の送受信を行うMIDII/Fのほか、上記USB、インターネット等のネットワークを介してデータ通信を行うネットワークI/F、及び、有線または無線のLAN(ローカルエリアネットワーク)等が含まれる。他機通信I/F9は、他の演奏装置MC(相手装置MC2)とのデータ通信を実現する。
音源12は、入力される演奏データ乃至発音データを楽音信号に変換する。D/A変換器14は、デジタル/アナログ変換を行い、サウンドシステム15は、アンプ及びスピーカからなり(図示せず)、D/A変換器14から入力される楽音信号を音響に変換する。また、オフレベル検出部13は、音源12から出力される楽音信号からオフレベル信号を検出してそれをCPU1に供給する。なお、音源12は、一部をソフトウェアで構成してもよい。また、音源12を演奏装置MCに内蔵することなく、別体で設けた音源を演奏装置MCに接続し、演奏装置MCから上記音源に発音指示を送るように構成してもよい。
Gセンサ24は、例えば市販の加速度センサで構成でき、2次元(X、Y軸)方向における演奏装置MCに加わる加速度を検出する。Gセンサ24を構成するには、2軸加速度センサを用いてもよいし、1軸加速度センサを2つ互いに直交させて設けてもよい。
図2に示すように、演奏装置MCは、外観が箱形に形成され、上記マトリクス表示入力部mt、表示部11、操作子群19及びエンコーダスイッチ18は、その上面に配設される。マトリクス表示入力部mtに対して表示部11側が後方であり、ユーザは、演奏装置MCの後方に居て演奏装置MCを操作することになる。以降、演奏装置MCの前後左右は、ユーザからみて呼称する。
また、図2に示すように、演奏装置MCの前端部には、接続ケーブル30を接続するためのコネクタ23が設けられる。コネクタ23に接続ケーブル30を接続することで、演奏装置MC(自装置MC1)は、他機通信I/F9を介して相手装置MC2とデータ通信可能となる。
図3は、マトリクス表示入力部mtの平面図である。図1に示すように、マトリクス表示入力部mtには、複数のマトリクススイッチmtSWから成るマトリクススイッチ群mtSW(n、k)、及び複数のマトリクス表示部mtLEDから成るマトリクス表示部群mtLED(n、k)が含まれる。図3に示すように、マトリクス表示入力部mtは四角形の領域を有し、この領域に、マトリクススイッチmtSWが、縦横16×16のマトリクス状に合計256個配列される。各マトリクススイッチmtSWはプッシュ式スイッチであり、内部にはマトリクス表示部mtLEDが対応して内装されている。なお、各マトリクススイッチmtSWはタッチパネル方式の透過型有機EL(Electronic Luminescence)で構成したパネルスイッチであってもよい。各マトリクス表示部mtLEDは、少なくとも2段階の明るさで発光可能なLED(Light Emitting Diode)である。各マトリクススイッチmtSWは、少なくとも上部が透光部材で構成され、対応するマトリクス表示部mtLEDの発光が視認されるようになっている。
各マトリクススイッチmtSWのマトリクス表示部mtLEDは、マトリクススイッチmtSWの押下操作によって発光、消光するだけでなく、後述するCPU1による各種モードに応じた処理によっても発光制御される。
以降、マトリクス表示入力部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)である。
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値)間の音色を同じとしてもよい。
各マトリクススイッチmtSWは、個別に指等で押下される度に、指定(オン)/指定解除(オフ)される。なお、押下状態にあるときだけ指定(オン)状態とし、非押下状態のときは指定解除(オフ)状態となるように構成してもよい。
ここで、本出願人により既に実現されている公知の「順次発音モード」の動作を説明しておく。順次発音モードについては、入力受付に関する処理が、後述する図16のステップS322の「順次発音モードの入力受付処理」で実行され、再生(発光及び発音)に関する処理が、後述する図12のステップS108の「順次発音モード処理」で実行される。順次発音モードでは、各マトリクススイッチmtSWは、指定状態のマトリクススイッチmtSWのマトリクス表示部mtLEDが発光する。マトリクス表示部mtLEDは上記のように2段階発光でき、弱発光と、弱発光より輝度の高い強発光のいずれかで発光する。この順次発音モードでは、マトリクス表示部mtLEDは、非指定状態では消光され、指定状態では弱発光し、後述する発音列Pと一致した時点では強発光する。
例えば、図3で例示すると、「斜線付きの○」が弱発光、「●:(黒塗りの○)」が強発光していることを示す。順次発音モードでは、所定の操作により、発音列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について音色が自動的に同一に設定されるようにしてもよい。
従って、ユーザは、マトリクス状に配列されたマトリクススイッチmtSWを、左右方向を時間、上下方向を音高とみなして指定入力することで、簡単な作曲、再生を行うことができる。
次に、各種動作モードは、後述する図12〜図18の処理によって実現されるが、これらの処理については後に詳述することとし、まず、各種動作モードの動作を説明する。動作モードには、大別して、「ランダムループモード」、「2点ループモード」、「オルゴールモード」、「順次発音モード」の4モードがあり、これらは排他的にいずれか1つが設定される。このほか、「跳ね返りモード」、「動きモード」があるが、これらは、いずれかが、「ランダムループモード」または「2点ループモード」に加えて設定可能である。上記「動きモード」には、「回転モード」、「Gセンサモード」が含まれ、上記「オルゴールモード」には、「自動スクロールモード」、「手動スクロールモード」が含まれる。これら各種動作モードについて具体的な動作の一例を、図4〜図11を用いて説明する。
本実施の形態では、マトリクス表示部mtLEDが平面視円形で、発光すると、概念的に発光玉として把握できることから、以降、指定状態にあるマトリクススイッチmtSWのマトリクス表示部mtLEDを、「指定玉dp(dp1、dp2、dp3等)」と呼称する。また、発光するマトリクス表示部mtLEDが、順にシフトしていく場合、発光玉が移動するように把握できることから、以降、このような移動する発光玉を「移動玉mp」と呼称する。「移動玉mp」は、マトリクス表示入力部mtにおいては、いずれかのマトリクス表示部mtLED(通常、隣接するマトリクス表示部mtLED)を現在位置に執りつつ時間的に変位する移動座標で規定されるものである。
また、図4〜図11において、移動玉mpが「二重丸◎」で示され、指定玉dpが「点線の○」、または「●:(黒塗りの○)」で示されている。「点線の○」は特に、指定解除された、変位した、またはマトリクス表示入力部mtを外れたことにより、発光状態でなくなった指定玉dpを示している。さらに、「●:(黒塗りの○)」は、強発光しているマトリクス表示部mtLED(指定玉dp及び移動玉mpが含まれ得る)を示す。
図4は、「ランダムループモード」の動作を模式的に示すマトリクス表示入力部mtの遷移図である。
ランダムループモードでは通常、まず、所望のマトリクススイッチmtSWを指等で1つ指定(オン)することで、移動玉mp(最初は停止している)を発生させ、2つ以上指定(オン)することで、上記発生している移動玉mpの移動ルートrt(rt1、rt2等)を生成する。すなわち、図4(a)に示すように、1つ目の指定玉dp1を指定すると、それが弱発光すると共に、その座標に対応した楽音が連続発音される(図15のステップS303→S304→S309)、次に2つ目の指定玉dp2を指定すると、同様にそれが弱発光すると共に、移動ルートrt1が生成されると共に、上記楽音の連続発音が停止される(図4(b)、図15のステップS309→S310→S311)。ここで、移動ルートrt1は、指定玉dp1、dp2間を最短距離で結ぶ直線上を往復するようなルートに設定され、実際には直線上にマトリクス表示部mtLEDが存在するとは限らないので、元も直線に近接しているマトリクス表示部mtLEDが選択されて、略直線的なルートとなる。また、移動ルートrt1の生成と同時に移動玉mpも発生する。本実施の形態では、移動玉mpは、最新の指定玉dp2と同じ位置に発生するようにしているが、これ以外の指定玉dp(例えば最も古い指定玉dpであって、ここでは指定玉dp1)の位置に発生するようにしてもよい。
このまま、新たな指定玉dpの指定または指定解除がなされない限り、移動玉mpは指定玉dp1、dp2間を往復移動するだけである(図12のステップS109〜S113)。しかし、図4(c)に示すように、新たな指定玉dp3を指定すると、それが弱発光すると共に、移動ルートの再生成が行われ、元の移動ルートrt1が消滅して新たな移動ルートrt2が生成される(図15のステップS309→S310→S311)。移動ルートrt2は、指定玉dp1、dp2、dp3を指定された順序で循環する三角形のルートとなる。この場合、移動玉mpは、その向きが移動ルートrt2で規定される移動方向と一致した時点から、移動ルートrt2上を移動する移動玉mpとなる。なお、新たな指定玉dpが指定される度に、元の移動玉mpを消滅させて、新たな指定玉dp3の位置に移動玉mpを再発生させるようにしてもよい。
なお、4個以上の指定玉dpが指定された場合も、移動ルートrtは、指定された順序で循環するようにするが、これに限られず、途中で移動ルートrt自身の交差が生じないように多角形の環状に生成し、所定の方向に回るようなルートとしてもよい。
その後、図4(d)に示すように、移動玉mpは移動ルートrt2上を移動して指定玉dp2に向かう(図12のステップS109〜S113)。その途上で、移動玉mpが位置する指定状態にないマトリクス表示部mtLEDが逐一弱発光し(図13のステップS123)、通過後のマトリクス表示部mtLEDが逐一消光されていく(図13のステップS112)。
そして、移動玉mpがいずれかの指定玉dpの位置に到達したとき、例えば、図4(e)に示すように、指定玉dp2に一致したとき、指定玉dp2が強発光すると共に対応する発音がなされ(図12、図13のステップS113→S116→S122→S124)、移動玉mpは移動ルートrt2に従って向きを変える(ステップS113)。この場合における発音は、指定玉dp2の座標に対応する発音データKCに基づくものである。
移動玉mpが指定玉dp2を離れるとき、指定玉dp2が弱発光に戻される(図12のステップS115)。その後、移動玉mpは指定玉dp3に向かう(図4(f))。なお、一旦指定した指定玉dpは任意に解除でき、指定解除された指定玉dpは消光される(図15のステップS304、S305)。
ところで、ランダムループモードでは、複数の指定玉dp間で移動玉mpが移動するが、複数の指定玉dpのまとまりを「グループ」と称する。本実施の形態では、グループ内における指定玉dpの数の制限はないが、移動玉mpは1つのグループに対し1つとする。なお、1つのグループに複数の移動玉mpを発生させてもよい。また、同時に制御できるグループの数は、複数(例えば8個)であってもよく、その場合は、ランダムループモードに関する処理が各グループ毎に行われることになる。また、各グループ毎に、音色、音高、テンポ等のパラメータを独立して設定可能に構成してもよい。
図5は、「2点ループモード」の動作を模式的に示すマトリクス表示入力部mtの遷移図である。同図では特に、「跳ね返りモード」、「動きモード」が設定されていない例を示す。
2点ループモードの設定態様及び動作は、楽音の発生に関する動作を除けば、ランダムループモードにおける2つ目の指定玉dpを指定する段階までの設定、動作と同様である。すなわち、図5(a)に示すように、1つ目の指定玉dp1を指定すると、それが弱発光し(図16のステップS318→S324→S325)、次に2つ目の指定玉dp2を指定すると、同様にそれが弱発光すると共に、移動ルートrt1が生成される(図5(b)、図16のステップS318→S324→S325→S326→S327)。ランダムループモードと異なり、2点ループモードでは、1つのマトリクス表示入力部mtを押下しただけでは発音はされない。ここで、移動ルートrt1の設定態様、及び、移動ルートrt1の生成と同時に発生する移動玉mpの発生態様は、図4(b)の例と同様である。
また、図5(b)〜(c)に示すように、新たに第3の指定玉dp3が指定されると、最も古い指定玉dp1が消光されると共に該指定玉dp1の指定が解除され、移動ルートrtの修正がなされる。その結果、移動ルートrt1が消滅して、指定玉dp2、dp3間に移動ルートrt2が新たに生成される(図16のステップS327)。この場合、移動ルートrt1で移動していた移動玉mpは、後述する図5(g)、(h)の例と同様に、やがてマトリクス表示入力部mtからはみ出して消滅する。一方、移動ルートrt2上における例えば指定玉dp3の位置に、移動玉mpが新たに再発生する。
なお、2点ループを構成する2つの指定玉dpを1つの「2点ループ組」と呼称するとき、本実施の形態では、同時に発生可能な「2点ループ組」は1つに限定したが、これに限るものではなく、複数の「2点ループ組」をマトリクス表示入力部mtにおいて同時に発生可能に構成してもよい。そのように構成した場合、例えば、図5(b)の状態で新たに第3の指定玉dp3が指定されても、既に生成されている移動ルートrt1は消滅せず、最も古い指定玉dp1の指定も解除されない。すなわち、新たな第3の指定玉dp3が、2つ目の「2点ループ組」を構成する1つ目の指定玉dpであるとみなされ、その後の新たな第4の指定玉dp4の指定があったとき、指定玉dp3と指定玉dp4とで2つ目の「2点ループ組」が構成され、指定玉dp3、dp4間に、移動ルートrt1とは別個の新たな移動ルートrtが生成されることになる。
その後、図5(d)〜(f)に示すように、移動玉mpが、移動ルートrt2上において指定玉dp2、dp3間を往復移動する。その際、移動ルートrt2における途上で、指定状態にないマトリクス表示部mtLEDが弱発光し、直後に消光されること(図12のステップS109〜S115)、いずれかの指定玉dpの位置に到達したとき、その指定玉dpが強発光すると共に対応する発音がなされること(図12、図13のステップS113→S116→S122→S124)、及び、移動玉mpが移動ルートrt2に従って向きを変えること(図12のステップS113)は、ランダムループモードにおける図4(d)〜(f)の例で説明したのと同様である。
次に、移動玉mpが移動ルートrt2上において指定玉dp2に向かっている状態で、図5(g)に示すように、指定玉dp2の指定が解除されると、指定玉dp2が消光されると共にその指定が解除され、移動ルートrtの修正がなされる。その結果、移動ルートrt2が消滅して、指定玉dp2の延長上に移動ルートrt3が新たに生成される(図16のステップS328→S329→S330)。この時点では、移動玉mpは消滅せず、移動ルートrt3上を移動する。さらに、ここでは、跳ね返りモードが設定されていないものとしたので、図5(h)に示すように、移動ルートrt3が消滅し、移動玉mpも、移動ルートrt3の延長上においてマトリクス表示入力部mtから抜けて消滅する(図13のステップS116→S117→S119→S121)。
図6は、「跳ね返りモード」の動作を模式的に示すマトリクス表示入力部mtの遷移図である。上述のように、跳ね返りモードは、ランダムループモードまたは2点ループモードにおいて設定可能であり、同図では、残存する指定玉dpが1つとなった状態を例にとっている。なお、跳ね返りモードを、ランダムループモードまたは2点ループモードとは独立して単独で設定可能に構成し、例えば、指定玉dpがなくても移動玉mp及びその移動ルートrtを生成して、移動玉mpの跳ね返り動作を実現するように構成してもよい。
まず、図6(a)に示すように、移動玉mpが移動し、マトリクス表示入力部mtの左側の外縁位置、すなわち外縁座標(n=1の列)に一致したとき(図5(h)の例と同様の状態である)、ここでは跳ね返りモードが設定されているので、「所定の跳ね返り条件」内であれば、跳ね返りの移動ルートrt1が生成される(図13のステップS116→S117→S119→S120)。その結果、移動玉mpはマトリクス表示入力部mtからはみ出すことなく、マトリクス表示入力部mtの左縁部で、例えば入射角と同じ角度で内側方向に反射する(図6(b))。ここで、「所定の跳ね返り条件」は、跳ね返りモードが設定されていることのほか、例えば、同じ移動玉mpが跳ね返った回数が所定回数以下であること、等であるが、その条件は任意に変更可能である。また、所定の跳ね返り条件の設定により、ユーザの停止指示があるまで跳ね返りを無限に継続させてもよいし、指定玉dpに一致したとき停止するようにしてもよい。
同様に、移動玉mpがマトリクス表示入力部mtの下側の外縁座標(k=1の行)に一致すると、跳ね返りの移動ルートrt2が生成され(図13のステップS120)、移動玉mpが反射し、さらに、右側の外縁座標(n=16の列)に一致すると、移動ルートrt3が生成されて移動玉mpが反射する。元の移動ルートrtはその都度消滅する。
図7は、「ランダムループモード」に加えて、「動きモード」のうち「回転モード」が設定された場合における動作を模式的に示すマトリクス表示入力部mtの遷移図である。
ランダムループモードにおいて、指定玉dp1、dp2、dp3間を移動玉mpが循環移動している状態(図4(d)〜(f)と同様)で、図7(a)に示すように、回転指示Ronがなされると、図7(b)に示すように、回転中心P0が演算により求められ、回転中心P0を中心に、指定玉dp1、dp2、dp3及び移動玉mpで成るグループの図形(ここでは三角形)が、回転指示Ronで指示された方向(反時計方向)に回転する(図17のステップS401→S402→S405→S406→S407)。すなわち、指定玉dp1、dp2、dp3及び移動玉mpが互いの相対的位置関係を維持しつつ回転する。その際、指定玉dp1、dp2、dp3間の移動ルートrtも同様に回転し、従って、移動玉mpの移動ルートrt上の移動も並行して継続される。以下、動きモード(Gセンサモードも含む)において、このように一体で回転または変位する図形を「グループ図形」と称する。
ここで、回転指示Ron等の回転指示は、所定時間内に任意の少なくとも2つのマトリクススイッチmtSWを連続して押下することで行うことができる。例えば、ユーザは、マトリクス表示入力部mtの端部寄りにおいて、マトリクス表示入力部mt上を指でなぞるようにすればよく、最後にオンされた2つのマトリクススイッチmtSWで回転方向が時計方向または反時計方向のいずれかに決定される。例えば、図7(a)の例では、マトリクススイッチmtSWのうち、先にオンされたa1と後に(最後に)オンされたa2の2点で、反時計方向を指示したことになる。また、このような2点のオンの時間差によって、上記グループ図形の回転速度が規定される。なお、回転速度は一定としてもよい。また、回転指示の手法はこれに限定されるものでなく、パネルスイッチ10等によって指示を与えるように構成してもよい。
回転中心P0は、マトリクススイッチmtSWのいずれかの座標としなくてもよく、グループ図形の重心に相当する仮想の点とされる。また、グループ図形が回転するとき、各指定玉dpが通る軌跡は、演算上では円形であるが、実際に執る位置は、演算上の円形に近接したマトリクス表示部mtLEDである。
一方、図7(b)に示すように上記グループ図形が反時計方向に回転している状態で、図7(c)に示すように、回転停止指示Roffがなされると、上記グループ図形の回転が停止される(図7(d)、図17のステップS401→S402→S403→S404)。移動ルートrtも同様に回転停止し、移動玉mpの移動ルートrt上の移動は継続される。ここで、回転停止指示Roff等の回転停止指示の方法は、回転指示の方法と同様であり、上記グループ図形の回転と同じ方向に指でなぞる。例えば、図7(c)の例では、先にオンされたa3と後にオンされたa4の2点で、回転停止を指示したことになる。なお、上記グループ図形の回転に対して反対方向への操作がなされた場合は、該グループ図形が逆回転するように構成してもよい。
図8は、「ランダムループモード」に加えて、「動きモード」のうち「Gセンサモード」が設定された場合における動作を模式的に示すマトリクス表示入力部mtの遷移図である。
Gセンサモードに関する制御対象は、図12の前記ステップS103で所望に設定でき、例えば、テンポ、グループ図形の座標、またはその他のパラメータを制御対象とすることができる。例えば、制御対象が座標である場合は、X軸、Y軸の各方向における加速度の変化に基づいて、指定玉dp乃至移動玉mpが変位する。X、Y軸各方向の加速度は、演奏装置MCを各方向に移動、停止させる際に生じるだけでなく、重力の下、演奏装置MCを傾けることでも生じる。
本実施の形態では、演奏装置MCをユーザ側からみて左右方向に所定速さ以上で所定量以上傾けたとき(Y軸を中心として左方または右方に回転させたとき)、グループ図形が左方または右方に移動(変位)し、演奏装置MCをユーザ側からみて前後方向に所定速さ以上で所定量以上傾けたとき(X軸を中心として演奏装置MCの前部が下がる方向または上がる方向に回転させたとき)、グループ図形が前方または後方に移動するように制御される。
例えば、制御対象が座標である場合において、図8(a)に示すように、ランダムループモードにおいて、指定玉dp1、dp2、dp3間を移動玉mpが循環移動している状態(図4(d)〜(f)と同様)で、演奏装置MCの前部を下方に傾ける。そしてその傾きによる加速度変化(Y軸方向の加速度変化)が所定値以上であれば、図8(b)に示すように、指定玉dp1〜dp3及び移動玉mp(移動ルートrtを含む)から成るグループ図形が前方に変位する(図17のステップS408→S409→S410→S411→S414)。すなわち、指定玉dp1〜dp3及び移動玉mpが互いの相対的位置関係を維持しつつ前方に変位する。その際、指定玉dp1〜dp3間の移動ルートrtも同様に変位し、従って、変位後の移動ルートrt上における移動玉mpの移動も並行して継続される。演奏装置MCの前方への回転を止めると、Y軸方向の加速度変化が無くなるから、グループ図形は移動を停止する。
また、演奏装置MCをユーザからみて右方に傾けた場合も同様であり、X軸方向の加速度変化が所定値以上であれば、図8(c)に示すように、グループ図形が右方に変位する(ステップS414)。さらに、演奏装置MCの右部及び後部を下方に傾けた場合は、X軸、Y軸方向の加速度変化が所定値以上であれば、図8(d)に示すように、グループ図形が斜め後方右方に変位する(ステップS414)。
なお、「動きモード」においても、回転停止後または変位完了後のグループ図形において、移動玉mpの移動ルートrt上の移動は継続される(図12のステップS109〜S115、S122〜S124)。
図9は、「オルゴールモード」におけるマトリクス表示入力部mtとマトリクス全領域との関係を示す概念図である。オルゴールモードでは、指定玉dpの指定、記憶は、マトリクス表示入力部mt内の座標に限定されず、マトリクス全領域MTの座標に対して行うことができる。マトリクス全領域MTは、そのY軸方向については、マトリクス表示入力部mtと同じ16行存在するが、X軸方向については、マトリクス表示入力部mtの3倍の48列存在する。従って、マトリクス全領域MTは、左右方向にマトリクス表示入力部mtの3ページ分の領域を有している。
オルゴールモードにおいては、エンコーダスイッチ18を回転操作する等によってマトリクス全領域MTをX軸方向に手動でスクロールすることができ、マトリクス全領域MTのうちマトリクス表示入力部mtと一致している領域にある指定玉dp及び移動玉mpが、ユーザから視認できる。また、オルゴールモードにおいては、指定玉dpの指定の受け付けは、他の動作モードと同様に、あくまでマトリクス表示入力部mt内においてのみ可能であるが、スクロールによってマトリクス表示入力部mtから外れた指定玉dpも、その座標情報は記憶されており、スクロールによって再びマトリクス表示入力部mt上に現れ得る。指定玉dpの指定及び指定解除は、「自動スクロールモード」でない場合にできる。オルゴールモードでは、各処理は、各行(k)毎になされる。
例えば、図9(a)に示すように、マトリクス表示入力部mtにおいて指定玉dp1、dp2、dp3を指定すると、それらが弱発光する一方、指定解除された指定玉dpは消光される(図18のステップS508〜S511)。その後、図9(b)に示すように、手動スクロール操作によって、マトリクス全領域MTを左方にスクロールすると、マトリクス全領域MTがマトリクス表示入力部mtに対して相対的に左方に平面移動する。その結果、指定玉dp2、dp3のマトリクス表示入力部mtにおける位置が左方に変位すると共に、指定玉dp1がマトリクス表示入力部mtから外れる。その際、「手動スクロールモード」でない場合は、発音がなされないが(図18のステップS512→S513→S514)、「手動スクロールモード」である場合は、後述するように左右の縁部(発音列P)で発音がなされる(図18のステップS512→S513→S515)。
また、マトリクス表示入力部mtにおいて指定玉dp4、dp5を新たに指定すると、それらが弱発光し(図18のステップS508→S509→S511)、マトリクス全領域MTにおける指定玉dpとして記憶される。
図10は、「オルゴールモード」の「自動スクロールモード」における動作を模式的に示すマトリクス表示入力部mtの遷移図である。
自動スクロールモードでは、左方または右方のスクロール方向を指示することで、マトリクス全領域MTにおけるすべての指定玉dpに対して、指示された方向に向く移動ルートrtが生成される。自動スクロールモードの設定及び方向の指示は、例えばパネルスイッチ10によりなされる。例えば、右方スクロールが指示されると、図10(a)に示すように、指定玉dp1〜dp5の位置を起点として右方に向く移動ルートrt1〜rt5が生成され(図18のステップS501→S502)、図10(b)に示すように、各指定玉dp1〜dp5に対応する移動玉mp1〜mp5が右方に移動していく(図12のステップS109〜S114)。この場合、各移動玉mpは弱発光しつつ移動するが(図13のステップS116→S122→S123)、指定玉dpは消光される(図12のステップS114、S112)。
自動スクロールモードでスクロール方向が右方である場合は、マトリクス表示入力部mtの最右列が発音列Pとされる。従って、例えば、図10(c)に示すように、移動玉mp1がマトリクス表示入力部mtの右縁部(n=16の列)に達すると、移動玉mp1が強発光すると共に、その位置に対応する発音がなされ、さらに、当該移動玉mp1の移動ルートrt1がクリアされる(図13のステップS116→S117→S118)。移動玉mp1もマトリクス表示入力部mtから抜ける。
同様に、次に発音列Pに達する移動玉mp4、mp5についても、強発光及び対応する発音がなされ、対応する移動ルートrt4、rt5がクリアされる(図10(d))。なお、自動スクロールの方向が左方である場合は、マトリクス表示入力部mtの最左列が発音列Pとされ、その他の動作も右方スクロールの場合と左右対称となる。
なお、マトリクス全領域MTにおいて存在する指定玉dpは、マトリクス表示入力部mtに現れていなくても、上記のように移動ルートrt生成の対象となっているので、例えば、指示方向が右方である場合は、対応する移動玉mpがマトリクス表示入力部mtの左方からマトリクス表示入力部mtに現れて、マトリクス表示入力部mtの右縁部で強発光して右方に消えていく。なお、各移動玉mpは、一旦右方に消えた後、左方から再びマトリクス表示入力部mt内に現れるようにし、マトリクス表示入力部mtを何回でも循環するように構成してもよい。
図11は、「オルゴールモード」の「手動スクロールモード」におけるマトリクス表示入力部mtとマトリクス全領域との関係を模式的に示す遷移図である。
図11(a)に示すように、マトリクス全領域MT上に、指定玉dp1〜dp4が指定されているとする。その状態で、右方への手動スクロールが指示されると、マトリクス表示入力部mtの最右列が発音列Pとされると共に、マトリクス表示入力部mtに対してマトリクス全領域MTが相対的に右方に移動する。この場合、マトリクス全領域MTと共に移動する指定玉dpは、移動玉mpと同じように認識されるが、他の動作モードとは異なり、移動ルートrtが生成されるわけではないので、dp(mp)と表記している。そして、まず指定玉dp1(mp1)が発音列Pに達すると、該指定玉dp1が強発光すると共に、その位置に対応する発音がなされる(図18のステップS512→S513→S515)。同様に、次に発音列Pに達する指定玉dp2(mp2)についても、強発光及び対応する発音がなされる(図11(c))。
なお、手動スクロールモードにおいては、スクロールが完了する途中であってもスクロール方向を変えることができ、方向が変わると、マトリクス全領域MTのマトリクス表示入力部mtに対する相対的移動方向が切り替わると共に、発音列Pの列も反対側に切り替わる。
次に、図12〜図18のフローチャートに基づき、各種動作モードの処理を説明する。
図12、図13は、本実施の形態におけるメイン処理のフローチャートである。本実施の形態では、各マトリクススイッチmtSWに対応する発音データKCの発音が主な演奏対象とされるが、その発音動作を規定する、指定玉dp等の座標、移動ルートrt及び動作モードの組み合わせ等、発音データKCを発音させるためのシーケンスデータを、以降、SMF(スタンダードMIDIファイル)フォーマット等の一般の自動演奏データと区別するため「マトリクス演奏データ」と称する。なお、マトリクス演奏データには、テンポ値、各マトリクススイッチmtSWに対応する楽器音等の情報を含めてもよい。マトリクス演奏データは、後述する図15のステップS314、S315で記憶装置6等に記憶され、ステップS316、S317では、記憶されたもの、あるいは外部から受信されたものが読み出されて演奏装置MCに再生対象として設定される。
まず、初期設定を行い(ステップS101)、パネルスイッチ10による入力があれば、それに応じた設定を行う(ステップS102、S103)。例えば、モード設定、各列n毎の楽器音設定、演奏速度を規定するtem値の設定等を行う。なお、ここでは、外部からSMF等の演奏データを受信してそれを演奏するモードの設定もでき、その場合は、送信されてくる演奏データのテンポ信号に従って、tem値が自動的に設定されるようにしてもよい。あるいは、外部からマトリクス演奏データを受信した場合において、マトリクス演奏データにテンポ値が設定されていれば、それによってtem値が設定されるようにしてもよい。
次に、後述する図15、図16のマトリクス入力受付等処理を実行し(ステップS104)、再生対象として設定されているその他の(マトリクス演奏データ以外のSMF等の)演奏データがあるか否かを判別し(ステップS105)、その他の演奏データがあれば、その演奏データの発音処理を実行する(ステップS106)。この演奏データは、発音データKCとは別個であり、上記各種動作モードによる発音とは別個に単独で、あるいは並行してなされ得る。また、このステップS106では、前記ステップS317で、マトリクス演奏データが読み出され設定された場合に、当該マトリクス演奏データに対応付けて予め記憶されているMIDI等の演奏データの発音処理も行うことができる。
次に、動作モードが、上述した「順次発音モード」であるか否かを判別し(ステップS107)、そうであれば順次発音モード処理を上述の通り実行して(ステップS108)、次に、移動ルートrtが生成されているか否かを判別し(ステップS109)、生成されていなければ前記ステップS102に戻る一方、生成されていれば、歩進タイミング(T=0)であるか否かを判別する(ステップS110)。
図14は、カウンタ処理のフローチャートである。本処理は、タイマ処理により一定時間間隔で実行される。同図に示すように、T=temになるまでカウンタ値Tを毎回インクリメントし(ステップS201、S202)、T=temになると、カウンタ値Tを「0」にリセットする(ステップS203)。
図12に戻り、前記ステップS110で、歩進タイミングであれば、移動玉mpの位置と指定玉dpの位置が一致したか否かを判別し(ステップS111)、両者が一致しない場合は、移動玉mpが移動ルートrt上を移動途中であるので、移動玉mpの現在座標のマトリクス表示部mtLEDを消光させてから(ステップS112)、移動ルートrt上で移動玉mpを1つ歩進させる(ステップS113、図4(d)〜(f)、図5(d)等参照)。これにより、移動玉mpが去った直後のマトリクス表示部mtLEDが消光される。一方、前記ステップS111で、両者が一致した場合は、動作モードがオルゴールモードであるか否かを判別し(ステップS114)、オルゴールモードでない場合は、移動玉mpの現在座標のマトリクス表示部mtLEDを弱発光させてから(ステップS115)、移動ルートrt上で移動玉mpを1つ歩進させる(ステップS113)。すなわち、オルゴールモードでない場合は、移動玉mpが指定玉dpと一致した後に指定玉dpを離れる際、該指定玉dpが弱発光とされ、それが継続される。
しかし、前記ステップS114でオルゴールモードである場合は、移動ルートrtが生成されている自動スクロールモードであるので、移動玉mpが指定玉dpから離れた後は指定玉dpを消光させるべく、前記ステップS112に進む(図10(b)参照)。
次に、移動玉mpがマトリクス表示入力部mtにおける外縁座標に一致するか否かを判別する(ステップS116)。外縁座標は、上下端部または左右端部、すなわち、第1、第16行(k=1、16)、第1、第16列(n=1、16)のいずれかに含まれる座標である。その判別の結果、移動玉mpが外縁座標に一致しない場合は、移動玉mpが指定玉dpに一致するか否かを判別し(ステップS122)、移動玉mpが指定玉dpに一致しない場合は、移動玉mpが移動ルートrt上を移動途中であるので、移動玉mpを弱発光させる(ステップS123、図4(d)、(f)、図5(d)等参照)。これにより、移動玉mpが弱発光しつつ移動する。その後、前記ステップS102に戻る。一方、移動玉mpが指定玉dpに一致した場合は、移動玉mp乃至指定玉dpを強発光させると共に、対応する発音データKCに基づく発音を行う(ステップS124、図4(e)、図5(e)参照)。その後、前記ステップS102に戻る。
一方、前記ステップS116の判別の結果、移動玉mpが外縁座標に一致する場合は、オルゴールモードの自動スクロールモードが設定されている(F1=1)か否かを判別する(ステップS117)。ここで、「F1」は、自動スクロールモードであることを「1」で示すフラグであり、後述する図18のステップS502、S504、S506で設定される。その判別の結果、自動スクロールモードが設定されている場合は、移動玉mpが発音列Pに達した場合であるから、移動玉mpを強発光させると共に、対応する発音データKCに基づく発音を行い、さらに、当該移動玉mpに関する移動ルートrtをクリアして(ステップS118、図10(c)、(d)参照)、前記ステップS122に進む。これにより、次回の歩進(図12のステップS113)により、当該移動玉mpがマトリクス表示入力部mtから抜ける。
一方、前記ステップS117の判別の結果、自動スクロールモードが設定されていない場合は、ステップS119に進んで、前述した所定の跳ね返り条件内であるか否かを判別する。その判別の結果、所定の跳ね返り条件内である場合は、跳ね返りの移動ルートrtを生成して(ステップS120、図6(a)、(c)、(d)参照)、前記ステップS122に進む。これにより、次回の歩進(図12のステップS113)により、移動玉mpが外縁座標で反射することになる。一方、所定の跳ね返り条件内でない場合は、当該移動玉mpに関する移動ルートrtをクリアして(ステップS121)、前記ステップS102に戻る。これにより、次回の歩進(図12のステップS113)により、当該移動玉mpが消滅する。
図15、図16は、マトリクス入力受付等処理のフローチャートである。まず、設定されている動作モードが、動きモードのうちの回転モードであるか否かを判別し(ステップS301)、そうでない場合は、動作モードがランダムループモードである否かを判別し(ステップS302)、ランダムループモードである場合は、オンイベント、すなわち、いずれかのマトリクススイッチmtSWの押下があったか否かを判別する(ステップS303)。その判別の結果、オンイベントがあった場合は、指定玉dpのオンであるか、すなわち、オンされたマトリクススイッチmtSWの座標に既に指定玉dpがあるか否かを判別し(ステップS304)、そうでない場合は、新たな指定玉dpの指定であるので、今回オンされたマトリクススイッチmtSWを指定状態とすると共に、そのマトリクス表示部mtLEDを弱発光させる(ステップS309、図4(a)参照)。このとき、当該指定玉dpに対応する楽音の連続発音を開始する。
次に、他の指定玉dpがあるか否かを判別し(ステップS310)、ない場合はステップS312に進む一方、ある場合は、その既に存在する指定玉dpとの間でランダムループモード用の移動ルートrtを生成すると共に、今回の新たな指定玉dpの位置に移動玉mpを発生させて(ステップS311、図4(b)、(c)参照)、前記ステップS312に進む。このステップS311では、前記ステップS309で開始された楽音の連続発音を停止させる。
一方、前記ステップS304の判別の結果、指定玉dpのオンであった場合は、オンされた指定玉dpを消光すると共に、その指定を解除する(ステップS305)。そして、複数の指定玉dpが残っているか否かを判別し(ステップS306)、複数の指定玉dpが残っていれば、移動ルートrt生成が可能であるので、移動ルート修正(つなぎ直し)、すなわち、元の移動ルートrtをクリアすると共に、それら残っている複数の指定玉dp間に新たな移動ルートrtを生成して(ステップS307)、前記ステップS312に進む。また、複数の指定玉dpが残っていない場合は、移動ルートrtが維持できないので、元の移動ルートrtを完全にクリアして(ステップS308)、前記ステップS312に進む。
前記ステップS302の判別の結果、動作モードがランダムループモードでない場合は、動作モードが2点ループモードであるか否かを判別し(ステップS318)、そうであれば、オンイベントがあったか否かを判別し(ステップS324)、オンイベントがない場合は、オフイベント、すなわち、指定玉dpに対応しているマトリクススイッチmtSWの押下があったか否かを判別する(ステップS328)。
その判別の結果、オフイベントがない場合は、前記ステップS312に進む一方、オフイベントがあった場合は、今回オフされた指定玉dpを消光させると共にその指定を解除し(ステップS329)、ルート修正を行う(ステップS330)。このステップS330では、移動ルートrtが存在していた場合はその移動ルートrtをクリアする。特に、移動玉mpの進行方向前方にある指定玉dpのオフであった場合は、元の移動ルートrtの延長線上に新たな移動ルートrtを生成する(図5(g)参照)。なお、移動ルートrtが存在していなかった(単一であった指定玉dpがオフされた)場合は、この時点で移動ルートrtの生成はなされない。その後、前記ステップS312に進む。
前記ステップS324で、オンイベントがあった場合は、今回オンされた指定玉dpを弱発光させ(ステップS325、図5(a)参照)、他の指定玉dpが既にあるか否かを判別し(ステップS326)、ない場合は前記ステップS312に進む一方、あった場合は、2つの指定玉dp間で移動ルートrtを生成する(ステップS327)。この場合、他の指定玉dpが1つであった場合は、その指定玉dpと今回オンされた指定玉dpとの間に移動ルートrtが新規に生成される(図5(b)参照)。しかし、他の指定玉dpが2つ存在していた場合は、古い方の指定玉dpが消光及び指定解除されて、且つ元の移動ルートrtがクリアされて、最新の2つの指定玉dp間で新たな移動ルートrtが生成される(図5(c)参照)。その後、前記ステップS312に進む。
前記ステップS318の判別の結果、動作モードが2点ループモードでない場合は、動作モードがオルゴールモードであるか、順次発音モードであるかを判別する(ステップS319、S321)。そして、オルゴールモードであれば、後述する図18のオルゴールモード処理を実行し(ステップS320)、順次発音モードであれば、上述したような順次発音モードの入力受付処理を実行し(ステップS322)、いずれでもなければその他処理(その他のモードの処理等)を実行する(ステップS323)。その後、前記ステップS312に進む。
前記ステップS301の判別の結果、回転モードである場合は、前記ステップS312に進む。また、前記ステップS303でオンイベントがなかった場合も、前記ステップS312に進む。
前記ステップS312では、動作モードとして動きモードが設定されているか否かを判別し、動きモードが設定されている場合にのみ、後述する図17の動きモード処理を実行する(ステップS313)。次に、記憶指示があるか否かを判別し(ステップS314)、記憶指示がある場合にのみ、現在の動作モードに対応させて、指定玉dp、移動ルートrtをマトリクス演奏データとして記憶する(ステップS315)。次に、マトリクス演奏データの読み出し指示があるか否かを判別し(ステップS316)、読み出し指示があった場合にのみ、マトリクス演奏データを読み出し、演奏装置MCに再生用として設定して(ステップS317)、本処理を終了する。
図17は、動きモード処理のフローチャートである。まず、回転モードであるか否かを判別し(ステップS401)、回転モードである場合は、上述した、ランダムループモードまたは2点ループモードにおけるグループ図形の回転実行中であるか否かを判別し(ステップS402)、回転実行中でない場合は、回転指示Ronがあったか否かを判別する(ステップS405)。そして、回転指示RonがなければステップS408に進む一方、あった場合(図7(a)参照)は、上述のように、回転指示Ronに基づいて、回転中心P0、回転方向、及び回転速度を演算し(ステップS406)、グループ図形の回転を開始させて(ステップS407、図7(b)参照)、ステップS408に進む。これにより、回転の停止指示があるまで、歩進(図12のステップS113)する度にグループ図形が回転する。
一方、前記ステップS402の判別の結果、回転実行中である場合は、回転停止指示Roffがあったか否かを判別し(ステップS403)、回転停止指示Roffがなければ前記ステップS408に進む一方、あった場合は(図7(c)参照)、グループ図形の回転を停止させる(ステップS404、図7(d)参照)。
前記ステップS401の判別の結果、回転モードでない場合は、Gセンサモードであるか否かを判別し(ステップS408)、Gセンサモードである場合は、所定量以上の加速度変化があったか否かを判別する(ステップS409)。そして、Gセンサモードでない場合、または、Gセンサモードであるが所定量以上の加速度変化がない場合は、本処理を終了する一方、所定量以上の加速度変化があった場合は、ステップS410〜414で、Gセンサモードに関する制御対象の制御を行う。
すなわち、制御対象がテンポである場合は、tem値を変更する(ステップS410、S413)。例えば、tem値は、Y軸方向の加速度変化で変化し、演奏装置MCの前部を下方に傾けると小さく(速く)なり、上方に傾けると大きく(遅く)なる。なお、テンポ変更に関し、X軸、Y軸、いずれの方向の加速度変化を用いてもよいし、双方を用いてもよい。
また、制御対象が座標である場合は、X軸、Y軸方向の加速度変化方向、すなわち、演奏装置MCを傾けた方向に、グループ図形を変位させる(ステップS411、S414、図8(b)〜(d)参照)。この場合の座標の変位量は、時間当たりの加速度変化量に応じてもよいし、固定値であってもよい。例えば、マトリクス表示入力部mtの1座標分とした場合は、加速度変化が継続する限り、歩進(図12のステップS113)する度にグループ図形が変位することになる。
また、制御対象がテンポでも座標でもない場合は、その他の制御対象のパラメータを変更する(ステップS412)。この場合のパラメータは、例えば、発音される楽音の音量、音色、効果、PAN等の楽音パラメータであり、その内容も、図12の前記ステップS103で予め所望に設定することができる。その後、本処理を終了する。
図18は、前記ステップS320で実行されるオルゴールモード処理のフローチャートである。
まず、自動スクロールモード、手動スクロールモードの設定指示を受け付け(ステップS501、S503)、自動スクロールモードの設定指示があれば、各指定玉dpについて、指示方向への移動ルートrtを生成すると共に、フラグF1に「1」を、フラグF2に「0」を、それぞれ設定する(ステップS502、図10(a)参照)。一方、手段スクロールモードの設定指示があれば、フラグF1に「0」を、フラグF2に「1」を、それぞれ設定する(ステップS504)。ここで、フラグF2は、手動スクロールモードであることを「1」で示すフラグである。
次に、自動スクロールモードの設定解除指示を受け付け(ステップS505)、設定解除指示があれば、各指定玉dpについて生成されている移動ルートrtをすべてクリアすると共に、現在の指定玉dpを保持し(弱発光の状態に戻し)、フラグF1に「0」を設定する(ステップS506)。
次に、自動スクロールモード(F1=1)であるか否かを判別し(ステップS507)、自動スクロールモードでない場合は、ステップS508〜515で、オンイベント、スクロール指示を受け付けて、それらに応じた処理を行う。すなわち、指定玉dp以外がオンされた場合は、それを弱発光させて指定状態とする一方、指定玉dpがオンされた場合は、それを消光すると共にその指定状態を解除する(ステップS509〜S511、図9(a)、(c)参照)。
また、スクロール指示があった場合は、手動スクロールモードでないときは、単なるスクロール指示であるので、指定玉dpを、スクロール指示に基づく速度でその指示方向にシフトさせる一方(ステップS514、図9(b)参照)、手動スクロールモードであるときは、スクロール指示が示す先方の端の列を発音列Pとして設定すると共に、指定玉dpを、スクロール指示に基づく速度でその指示方向にシフトさせ、さらに、発音列Pに達した指定玉dp1を強発光させると共に、その位置に対応する発音データKCに基づく発音を行う(ステップS515、図11(b)、(c)参照)。その後、本処理を終了する。
本実施の形態によれば、ランダムループモード、2点ループモードでは、マトリクス表示入力部mtにおいて指定玉dpを複数指定すると、移動ルートrtが生成されて移動玉mpが発生し、移動玉mpが移動ルートrt上を弱発光しつつ移動すると共に、指定玉dpと一致したとき等には強発光すると共に対応する発音がなされる。特に、各マトリクススイッチmtSWに発音データKCが対応付けられ、座標に応じて異なる楽音を発生可能であるので、発音等の動作が単調でない。また、光の移動と音の変化により、移動玉mpの移動を認識して楽しめる。よって、視覚的及び聴覚的要素を併せ持った斬新な遊び方が可能になり、ゲーム性を持った面白みのある演奏を実現することができる。また、指定玉dpの指定追加や指定解除ができ、それに応じて移動ルートrtが修正されるので、一層面白みがある。また、順次発音モードはもとより、跳ね返りモード、動きモード等を含め各種の動作モードを設けたので、多彩な遊び方ができ、飽きにくい。
また、動きモードでは、回転指示や、演奏装置MC自体の傾き乃至動かし方で指定玉dp等を回転、変位させ、あるいはテンポ等を可変にして、面白みのある動的なゲームを実現することができる。
本実施の形態によればまた、オルゴールモードでは、マトリクス全領域MTに対して指定玉dpを指定、記憶できるようにし、発音列Pで移動玉mpを発音させることで、座標の移動に連動した発音を可能として、面白みのある演奏を実現することができる。特に、マトリクス全領域MTは、マトリクス表示入力部mtの領域を包含できる広さを有しているので、1単位の演奏を長くでき、一層長いメロディ演奏が可能となる。
なお、本実施の形態における各動作モードにおいて、発音及び発光をどのような状態のときに行うようにするかは、適宜改変が可能である。例えば、モード設定によって、マトリクス表示部mtLEDの発光、または発音のいずれかを全く排除するようにしてもよい。あるいは、移動玉mpの現在位置に対応する発音データKCに基づく発音を逐次行うようにすれば、例えば、移動玉mpが上昇しているときは、発音音高も上昇し、音だけでも移動玉mpの移動状態が認識できるだけでなく、臨場感が増して面白い。なお、マトリクススイッチmtSWに対応して発音される楽音は、単音に限定されず、所定の短いメロディや和音であってもよい。
また、移動玉mpの移動過程で楽音を発生させる場合は、その楽音は、マトリクススイッチmtSWに対応する発音データKCに基づくものに限ることなく、例えば、予め定めた所定の楽音を移動玉mpの現在位置にかかわらず一律に発音させてもよい。
なお、指定玉dp、移動玉mp等を記憶する際、それらの座標を絶対値として記憶してもよいし、何らかの座標を基準とした相対位置として記憶してもよい。
なお、ランダムループモードまたは2点ループモードでは、複数のグループが存在する場合において、異なるグループの移動玉mp同士が移動過程で交差するとき、その移動玉mpを発光乃至発音させるようにしてもよい。
なお、ランダムループモードまたは2点ループモードにおいて、指定玉dp間で生成される移動ルートrtは直線的でなくてもよく、予め定めたルールによって曲線乃至所定の蛇行曲線であってもよい。
なお、2点ループモードにおいて、2つの指定玉dpで1つのグループが構成されたが、例えば、3つ以上の指定玉dpでも1つのグループを構成可能にしてもよい。その場合は、例えば、指定玉dp1〜dp3が同グループとして指定されたとき、指定玉dp1、dp2間に移動ルートrt1、指定玉dp1、dp3間に移動ルートrt2、指定玉dp2、dp2間に移動ルートrt3というように、すべての指定玉dp間に移動ルートrtを各々生成してもよい。
なお、オルゴールモードにおいて、マトリクス全領域MTの長さはマトリクス表示入力部mtの3ページ分に限られず、もっと長くしてもよい。また、マトリクス全領域MTは、必ずしも横(X軸)方向にのみ広がっているものでなくてもよく、形状も問わない。例えば、縦(Y軸)方向にも広がりを持たせ、上下または斜め方向にもスクロール可能に構成してもよい。なお、順次発音モードにおいても、マトリクス全領域MTの範囲で指定玉dpを指定可能に構成し、より長い演奏を行えるようにしてもよい。
なお、本演奏装置MCのマトリクス表示入力部mtを用いて、ユーザの演奏がリアルタイムでSMFファイルとして記録されるようにしてもよい。この場合、曲の長さはマトリクス表示入力部mtの列数に限定されず、十分な長さを記録できるようにするのがよい。そして、記録されたSMFファイルは、外部に送ることもでき、後で任意に演奏装置MCを用いて再生することができるようにするのが望ましい。
なお、他の演奏装置MCと接続ケーブル30で接続して行う対戦型のゲームでは、移動玉mpを相手側の演奏装置MCとやりとり可能にして構成してもよい。また、グループ図形を一体としてやりとり可能にしてもよく、グループ図形が動きモードによる回転等の動作を維持しつつやりとりできるように構成すれば一層面白い。
なお、図15のステップS314、S315で記憶されるマトリクス演奏データは、対戦型のゲームにおいて相手側の演奏装置MCと互いに送受信できるほか、通信I/F7を介して、あるいは、記憶媒体17に一旦記憶させてパーソナルコンピュータ経由で、インターネット上のコンテンツサーバにアップさせることができ、逆にコンテンツサーバからダウンロードすることもできる。
なお、2つ以上のマトリクス演奏データを続けて再生するように指示した場合等、演奏曲が切り替わる際、1曲目の終了時には、1曲目で指定されていた複数の指定玉dpが徐々に、例えば、指定時期が古い順に消光されていくようにし(フェードアウト)、一方、2曲目の開始時には、2曲目で指定されている複数の指定玉dpが徐々に、例えば、指定時期が古い順に発光して現れるように(フェードイン)構成してもよい。
なお、動きモードにおいて、Gセンサ24は、3次元方向(X、Y、Z軸)方向の加速度を検出できるように構成し、Z軸方向の加速度変化に対しても何らかのパラメータ、例えば、発音される楽音のカットオフ周波数等、楽音特性を、Z軸方向における加速度の変化に基づいて変化させるようにしてもよい。
なお、マトリクス表示入力部mtにおける各列(n値)、または各行(k値)に対応付けられるものは、音色、音高に限られず、各種楽音パラメータを適用でき、また、表示に関するパラメータと共に、あるいは表示に関するパラメータのみを対応付けてもよい。
なお、本実施の形態では、マトリクス表示部mtLEDをマトリクススイッチmtSWに一体に組み込み、座標の指定と指定された座標の表示とを共にマトリクス表示入力部mt上で行うようにしたが、これに限るものでなく、両者を別個に設けてもよい。その場合、マトリクス表示入力部mtにはマトリクス表示部mtLEDに相当する表示機能(例えばマトリクス液晶表示部)だけを設け、指定玉dpの指定はタッチパネル等のソフトスイッチや、何らかの他の操作子で受け付けてもよい。例えば、携帯電話機に適用する場合、その液晶表示部にマトリクス表示すると共に、携帯電話機に設けられる操作子を指定玉dp等の指定に用いることができるようにしてもよい。
なお、マトリクス表示部mtLEDに相当する表示機能は、演奏装置MCの上面だけでなく底面にも設け、両者で同じ表示を同時に行うようにしてもよい。そのようにすれば、上面をユーザ側に、底面を観覧者側に向けて、多数の者に演奏状態の内容を見せることができ、利用場面が拡大する。
なお、本実施の形態では、マトリクス表示部mtLEDは2段階で発光するとしたが、これに限られず、3段階以上として、移動玉mpと指定玉dpとの位置関係等の状態に応じて発光輝度を異ならせてもよい。あるいは、複数の発光色で発光可能に構成してもよい。また、マトリクス表示入力部mtは、マトリクス状態で指定玉dp乃至移動玉mpを可視表示できればよく、必ずしも発光でなくてもよい。例えば、マトリクス表示入力部mtを液晶画面で構成し、点滅速度の変更等によって各座標に対応する部分の表示パターンを複数種類実現してもよい。なお、マトリクス表示入力部mtの構成は、16×16でなくてもよく、縦横の値が異なっていてもよい。
なお、本実施の形態では、跳ね返りモードは、ランダムループモードまたは2点ループモードにおいてのみ設定可能としたが、これに限るものではなく、他のモードにおいても設定可能に構成してもよい。
なお、本実施の形態では、「順次発音モード」、「ランダムループモード」、「2点ループモード」は、同時に並行して実行できないこととしたが、これらを互いに同時並行処理可能に構成してもよい。
なお、上記回転モードにおいて、回転指示Ronまたは回転停止指示Roffによって指でなぞられたマトリクススイッチmtSWに対応して、逐次、リアルタイムに発光及び/又は発音を行うようにしてもよい。また、どのマトリクススイッチmtSWがどのようなスピードでなぞられたのかを示す情報をデータとして出力するようにし、そのデータに応じて何らかの発光乃至発音の処理を行うようにしてもよい。例えば、オンされたマトリクススイッチmtSWに対応する発光が、オフされた後も僅かな時間だけ残るように制御し、指の軌跡が残像として見えるように発光制御してもよい。その際、残像の態様(明るさや減衰の速さ等)は、指の動きの速さや押下していた時間等に応じて可変としてもよい。
なお、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードが伝送媒体等を介して供給される場合も、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ROMのほか、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R/RW、DVD−ROM、DVD−RAM、DVD−R/RW、DVD+RW、NV−RAM、磁気テープ、不揮発性のメモリカード、或いはネットワークを介したダウンロード等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も本発明に含まれることは言うまでもない。
1 CPU(発音データ生成手段、楽音発生指示手段、移動座標発生手段、ルート修正手段、変位手段、可視表示部制御手段)、 9 他機通信I/F、 12 音源、 24 Gセンサ、 MC 演奏装置、 mt マトリクス表示入力部(2次元領域)、 mtLED マトリクス表示部(可視表示部)、 mtSW マトリクススイッチ(座標指定手段)、 dp 指定玉(所定座標、指定座標)、 mp 移動玉(移動座標)、 KC 発音データ、 rt 移動ルート