(57)【要約】【構成】ゲーム装置１２はＣＰＵ３６を含み、ＣＰＵ３６はゲームの進行状況等に応じてゲームＢＧＭを生成する。ＣＰＵ３６は、ゲームの進行状況等に従うコンダクタデータをメインメモリ４０から選択し、コンダクタデータに含まれる１または２以上のトラックデータについてのＢＧＭデータを生成する。ＢＧＭデータを生成する場合には、トラックデータによって指定されるリズムグループ内のリズムデータを所定の順番またはランダムに選択するとともに、同じく指定されるフレーズグループ内のフレーズデータをランダムに選択する。そして、選択されたリズムデータとフレーズデータとからＢＧＭデータを生成する。【効果】予め用意してあるリズムデータおよびフレーズデータを選択するだけなので、処理負担を増大させずに様々なＢＧＭを生成し、演奏できるので、ゲームに対する興味の減退を防止することができる。【選択図】  図２
2004325984.tif 000002
【特許請求の範囲】
【請求項１】
音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶するリズムパターン記憶手段、
少なくとも１つのパートで構成されるＢＧＭデータを再生するＢＧＭデータ再生手段、
前記ＢＧＭデータに従って出力される音のデータを記憶する音色データ記憶手段、および
前記ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する音出力手段を備えたゲーム装置に実行させるゲームＢＧＭ生成プログラムであって、
前記ゲーム装置のプロセサに、
前記フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択するフレーズ選択ステップ、
前記リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを所定のルールに従って選択するリズム選択ステップ、および
前記フレーズ選択ステップによって選択されたフレーズデータと前記リズム選択ステップによって選択されたリズムデータとからＢＧＭデータを生成するＢＧＭ生成ステップ、を実行させる、ゲームＢＧＭ生成プログラム。
【請求項２】
前記リズム選択ステップは、１種類の前記リズムパターンデータからランダムにリズムデータを選択するランダム選択ステップを含む、請求項１記載のゲームＢＧＭ生成プログラム。
【請求項３】
前記リズム選択ステップは、１種類の前記リズムパターンデータからリズムデータを所定の順番で選択する順次選択ステップを含む、請求項１または２記載のゲームＢＧＭ生成プログラム。
【請求項４】
前記ゲーム装置は、同じフレーズが選択された回数をカウントする連続カウンタをさらに備え、
前記フレーズ選択ステップは、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、前記連続カウンタをインクリメントするインクリメントステップ、および前記連続カウンタのカウント値が所定値より大きいとき、フレーズデータを選択し直す再選択ステップを含む、請求項１ないし３のいずれかに記載のゲームＢＧＭ生成プログラム。
【請求項５】
前記ゲーム装置は、プレイヤによる操作を入力する操作手段、およびＢＧＭの演奏方法を変化させる演奏変化データを記憶する演奏変化データ記憶手段をさらに備え、
少なくとも前記操作手段の操作に応じて演奏変化データを前記演奏変化データ記憶手段に記憶させる演奏変化データ記憶ステップ、および
前記演奏変化データ記憶ステップによって前記演奏変化データ記憶手段に記憶された演奏変化データに応じて、前記ＢＧＭデータに所定の変化を加えるＢＧＭデータ変化ステップを、前記プロセサにさらに実行させる、請求項１ないし４のいずれかに記載のゲームＢＧＭ生成プログラム。
【請求項６】
前記ＢＧＭデータ変化ステップは、前記演奏変化データに従って前記ＢＧＭデータのテンポを変化させるテンポ変化ステップを含む、請求項５記載のゲームＢＧＭ生成プログラム。
【請求項７】
前記ゲーム装置は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段をさらに備え、
前記ＢＧＭデータ再生手段は、前記期間指定データに基づいて演奏休止期間におけるＢＧＭデータの再生を休止させ、
前記期間指定データによって指定される演奏期間および演奏休止期間をリズムデータの選択回数でカウントする期間カウントステップを前記プロセサにさらに実行させる、請求項１ないし６のいずれかに記載のゲームＢＧＭ生成プログラム。
【請求項８】
音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶するリズムパターン記憶手段、
少なくとも１つのパートで構成されるＢＧＭデータを再生するＢＧＭデータ再生手段、
前記ＢＧＭデータに従って出力される音のデータを記憶する音色データ記憶手段、および
前記ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する音出力手段を備えたゲーム装置におけるゲームＢＧＭ生成方法であって、
（ａ）  前記フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択し、
（ｂ）  前記リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを順次的に或いはランダムに選択し、そして、
（ｃ）  前記ステップ（ａ）  によって選択されたフレーズデータと前記ステップ（ｂ）  によって選択されたリズムデータとからＢＧＭデータを生成する、ゲームＢＧＭ生成方法。
【請求項９】
少なくともゲームの進行状況に応じたＢＧＭを演奏するゲーム装置において、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶するリズムパターン記憶手段、
少なくとも１つのパートで構成されるＢＧＭデータを再生するＢＧＭデータ再生手段、
前記ＢＧＭデータに従って出力される音のデータを記憶する音色データ記憶手段、
前記フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択するフレーズ選択手段、
前記リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを所定のルールに従って選択するリズムパターン選択手段、
前記フレーズ選択ステップによって選択されたフレーズデータと前記リズムパターン選択ステップによって選択されたリズムデータとから前記ＢＧＭデータを生成するＢＧＭ生成手段、および
前記ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する音出力手段を備えることを特徴とする、ゲーム装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はゲームＢＧＭ生成プログラム、ゲームＢＧＭ生成方法およびゲーム装置に関し、特にたとえば、ゲームステージの雰囲気に合わせた演出の一環として、臨場感を高めるために演奏されるＢＧＭを生成する、ゲームＢＧＭ生成プログラム、ゲームＢＧＭ生成方法およびゲーム装置に関する。
【０００２】
【従来の技術】
一般的に、テレビゲーム装置や液晶ゲーム装置などのゲーム装置で動作するゲームソフトは、ゲームの臨場感を高めるために、ＢＧＭが用意され、プレイヤはＢＧＭを聞きながらゲームをプレイしている。このＢＧＭは、ゲーム画面と同様に、予め複数種類用意されており、ゲームの進行に従って選択的に出力される。たとえば、通常、ＢＧＭは、楽曲のデータを最初から最後まで演奏し、この演奏が繰り返される。また、ＢＧＭが単調にならないように、プレイヤキャラクタが敵キャラクタに遭遇したり、戦闘シーンに移行したりすると、異なるＢＧＭが出力され、または、予め設けられた制限時間が迫ってくると、演奏のテンポが速くなっていた。
【０００３】
また、ＢＧＭが単調にならないようにするためには、特許文献１に開示されるような方法に従ってＢＧＭを自動生成することも考えられる。この特許文献１に開示されるＢＧＭの自動生成方法は、フレーズデータベースを予め用意し、選択されたフレーズに基づいて新しくフレーズを生成し、自動的にメロディを生成するものである。
【０００４】
【特許文献１】
特許第３２７１２８２号
【０００５】
【発明が解決しようとする課題】
しかし、前者のように、ゲームの進行に従ってＢＧＭを変化させたり、ＢＧＭのテンポを変化させたりしたとしても、同じ場面では同じＢＧＭが演奏されるため、プレイヤはＢＧＭに飽きてしまい、ゲームへの興味を減退させるおそれがあった。
【０００６】
また、後者では、多彩なＢＧＭを生成することができるため、前者のような飽きは来ないが、ゲームのＢＧＭを生成する装置としては、その規模が大きく、しかも、フレーズやメロディの生成処理が膨大であるため、本来のゲーム進行のための処理を圧迫してしまうという問題があった。つまり、ゲーム装置には不向きであった。
【０００７】
それゆえに、この発明の主たる目的は、処理負担を増大させずに多彩なＢＧＭを生成することができる、ゲームＢＧＭ生成プログラム、ゲームＢＧＭ生成方法およびゲーム装置を提供することである。
【０００８】
【課題を解決するための手段】
請求項１は、フレーズデータ記憶手段、リズムパターン記憶手段、ＢＧＭデータ再生手段、音色データ記憶手段、および音出力手段を備えるゲーム装置に実行させるＢＧＭデータ生成プログラムである。このゲーム装置では、フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶する。ＢＧＭデータ再生手段は、少なくとも１つのパートで構成されるＢＧＭデータを再生する。音色データ記憶手段は、ＢＧＭデータに従って出力される音のデータを記憶する。そして、音出力手段は、ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する。ＢＧＭデータ生成プログラムは、ゲーム装置のプロセサに、フレーズ選択ステップ、リズム選択ステップ、およびＢＧＭ生成ステップ、を実行させる。フレーズ選択ステップは、フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択する。リズム選択ステップは、リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを所定のルールに従って選択する。そして、ＢＧＭ生成ステップは、フレーズ選択ステップによって選択されたフレーズデータとリズム選択ステップによって選択されたリズムデータとからＢＧＭデータを生成する。
【０００９】
請求項２は請求項１に従属し、リズム選択ステップは、１種類のリズムパターンデータからランダムにリズムデータを選択するランダム選択ステップを含む。
【００１０】
請求項３は請求項１または２に従属し、リズム選択ステップは、１種類のリズムパターンデータからリズムデータを所定の順番で選択する順次選択ステップを含む。
【００１１】
請求項４は、請求項１ないし３のいずれかに従属し、ゲーム装置は、同じフレーズが選択された回数をカウントする連続カウンタをさらに備える。フレーズ選択ステップは、インクリメントステップおよび再選択ステップを含む。インクリメントステップは、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、連続カウンタをインクリメントする。再選択ステップは、連続カウンタのカウント値が所定値より大きいとき、フレーズデータを選択し直す。
【００１２】
請求項５は、請求項１ないし４のいずれかに従属し、ゲーム装置は、プレイヤによる操作を入力する操作手段、およびＢＧＭの演奏方法を変化させる演奏変化データを記憶する演奏変化データ記憶手段をさらに備える。ゲームＢＧＭ生成プログラムは、演奏変化データ記憶ステップおよびＢＧＭデータ変化ステップを、プロセサにさらに実行させる。演奏変化データ記憶ステップは、少なくとも操作手段の操作に応じて演奏変化データを演奏変化データ記憶手段に記憶させる。ＢＧＭデータ変化ステップは、演奏変化データ記憶ステップによって演奏変化データ記憶手段に記憶された演奏変化データに応じて、ＢＧＭデータに所定の変化を加える。
【００１３】
請求項６は請求項５に従属し、ＢＧＭデータ変化ステップは、演奏変化データに従ってＢＧＭデータのテンポを変化させるテンポ変化ステップを含む。
【００１４】
請求項７は請求項１ないし６のいずれかに従属し、ゲーム装置は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段をさらに備える。ＢＧＭデータ再生手段は、期間指定データに基づいて演奏休止期間におけるＢＧＭデータの再生を休止させる。ゲームＢＧＭ生成プログラムは、期間指定データによって指定される演奏期間および演奏休止期間をリズムデータの選択回数でカウントする期間カウントステップをプロセサにさらに実行させる。
【００１５】
請求項８は、フレーズデータ記憶手段、リズムパターン記憶手段、ＢＧＭデータ再生手段、音色データ記憶手段および音出力手段を備えるゲーム装置におけるゲームＢＧＭ生成方法である。このゲーム装置では、フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶する。ＢＧＭデータ再生手段は、少なくとも１つのパートで構成されるＢＧＭデータを再生する。音色データ記憶手段は、ＢＧＭデータに従って出力される音のデータを記憶する。そして、音出力手段は、ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する。このゲーム装置は、（ａ）  フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択し、（ｂ）  リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを順次的に或いはランダムに選択し、そして、（ｃ）  ステップ（ａ）  によって選択されたフレーズデータとステップ（ｂ）  によって選択されたリズムデータとからＢＧＭデータを生成する。
【００１６】
請求項９は、少なくともゲームの進行状況に応じたＢＧＭを演奏するゲーム装置である。このゲーム装置は、フレーズデータ記憶手段、リズムパターン記憶手段、ＢＧＭデータ再生手段、音色データ記憶手段、フレーズ選択手段、リズムパターン選択手段、ＢＧＭ生成手段および音出力手段を備える。フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する２つ以上のリズムデータによって構成される少なくとも１種類のリズムパターンデータを記憶する。ＢＧＭデータ再生手段は、少なくとも１つのパートで構成されるＢＧＭデータを再生する。音色データ記憶手段は、ＢＧＭデータに従って出力される音のデータを記憶する。フレーズ選択手段は、フレーズデータ記憶手段に記憶された１のグループから１種類のフレーズデータをランダムに選択する。リズムパターン選択手段は、リズムパターン記憶手段に記憶された１種類のリズムパターンデータから１つのリズムデータを所定のルールに従って選択する。ＢＧＭ生成手段は、フレーズ選択ステップによって選択されたフレーズデータとリズムパターン選択ステップによって選択されたリズムデータとからＢＧＭデータを生成する。そして、音出力手段は、ＢＧＭデータ再生手段によって再生されたＢＧＭデータに従う音を出力する。
【００１７】
【作用】
請求項１によれば、ゲーム装置（１２：実施例で相当する参照番号。以下、同じ。）は、フレーズデータ記憶手段（４０，７６）、リズムパターン記憶手段（４０，７８）、ＢＧＭデータ再生手段（３６）、音色データ記憶手段（４０，５４）および音出力手段（３４ａ，５２，６２）を備える。フレーズデータ記憶手段（４０，７６）は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。たとえば、フレーズは、楽曲の一部の楽譜（譜面）に相当し、これに対応するデータがフレーズデータである。リズムパターン記憶手段（４０，７８）は、フレーズを演奏するための演奏（発音）の長さおよびフレーズの発音タイミングを指定するリズムデータで構成される少なくとも１種類のリズムパターンデータを記憶する。たとえば、リズムは、音符で規定され、当該音符に対応するデータがリズムデータである。ＢＧＭデータ再生手段（３６）は、少なくとも１つのパート（楽器やオーケストラ）で構成されるＢＧＭデータを再生する。音色データ記憶手段（４０，５４）は、ＢＧＭデータに従って出力される音、すなわち楽器やオーケストラの音についてのデータを記憶する。音出力手段（３４ａ，５２，６２）は、ＢＧＭデータ再生手段（３６，Ｓ１１３，Ｓ１８３）によって再生されたＢＧＭデータに従う音を出力する。つまり、ＢＧＭが演奏される。ゲームＢＧＭ生成プログラムは、このゲーム装置のプロセサに、フレーズ選択ステップ（Ｓ９１，Ｓ１５７）、リズム選択ステップ（Ｓ５９，Ｓ１３３）およびＢＧＭ生成ステップ（Ｓ１１３，Ｓ１８３）を実行させる。フレーズ選択ステップ（Ｓ９１，Ｓ１５７）は、フレーズデータ記憶手段（４０，７６）に記憶された１のグループから１種類のフレーズデータをランダムに選択する。リズム選択ステップ（Ｓ５９，Ｓ１３３）は、リズムパターン記憶手段（４０，７８）に記憶された１種類のリズムパターンデータからリズムデータを所定のルールに従って選択する。ＢＧＭ生成ステップ（Ｓ１１３，Ｓ１８３）は、フレーズ選択ステップ（Ｓ９１，Ｓ１５７）によって選択されたフレーズデータとリズム選択ステップ（Ｓ５９，Ｓ１３３）によって選択されたリズムデータとからＢＧＭデータを生成する。
【００１８】
この発明によれば、ランダムに選択したフレーズデータと所定のルールに従って選択したリズムデータとからＢＧＭデータを生成するので、様々なＢＧＭデータを生成することができる。また、フレーズデータやリズムデータは予め用意しておくので、それらのデータの生成処理を行う必要がなく、処理負担の増大を防止することができる。
【００１９】
請求項２によれば、ランダム選択ステップ（Ｓ１３３）は、１種類のリズムパターンデータからランダムにリズムを選択するので、様々なリズムパターンに従うＢＧＭを演奏することができる。
【００２０】
請求項３によれば、順次選択ステップ（Ｓ５９）は、１種類のリズムパターンデータからリズムデータを所定の順番で選択するので、予め設定されるリズムパターンに従うＢＧＭを演奏することができる。
【００２１】
請求項４によれば、ゲーム装置（１２）は、同じフレーズが選択された回数をカウントする連続カウンタ（４０，８２ｄ）をさらに備える。インクリメントステップ（Ｓ９５，Ｓ１６１）は、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、連続カウンタ（４０，８２ｄ）をインクリメントする。再選択ステップ（Ｓ９１，Ｓ１５７）は、連続カウンタ（４０，８２ｄ）のカウント値が所定値より大きいとき、フレーズデータを選択し直す。つまり、同じフレーズが繰り返し選択されることによって、ＢＧＭが単調になるのを防止してある。
【００２２】
請求項５によれば、ゲーム装置（１２）は、プレイヤによる操作を入力する操作手段（２２，２６）およびＢＧＭの演奏方法を変化させる演奏変化データを記憶する記憶手段（４０，８０）をさらに備えている。ゲームＢＧＭ生成プログラムは、演奏変化データ記憶ステップ（Ｓ２１，Ｓ２５，Ｓ３３）およびＢＧＭデータ変化ステップ（Ｓ１１９，Ｓ１２１，Ｓ１２５，Ｓ１７１，Ｓ１８７，Ｓ１９１）を実行する。演奏変化データ記憶ステップ（Ｓ２１，Ｓ２５，Ｓ３３）は、少なくとも操作手段の操作に応じて演奏変化データを演奏変化データ記憶手段（４０，８０）に記憶する。ただし、ゲームの進行状況や所定のイベント等に応じて演奏変化データを記憶するようにしてもよい。ＢＧＭデータ変化ステップ（Ｓ１１９，Ｓ１２１，Ｓ１２５，Ｓ１７１，Ｓ１８７，Ｓ１９１）は、演奏変化データ記憶手段（４０，８０）に記憶された演奏変化データに応じてＢＧＭデータに所定の変化を加える。つまり、プレイヤの操作等に応じて、ＢＧＭの演奏を変化させることにより、ゲーム画面だけでなく、ＢＧＭによって、ゲーム内容等の演出効果を高めているのである。
【００２３】
請求項６によれば、たとえば、テンポ変化ステップ（Ｓ１２５，Ｓ１９１）は、演奏変化データに従ってＢＧＭデータのテンポを変化させる。つまり、ＢＧＭの演奏速度を改変することができる。
【００２４】
請求項７によれば、ゲーム装置（１２）は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段（４０，８２ｂ，８２ｃ）含む。ＢＧＭデータ再生手段（３６）は、期間指定データに基づいて演奏休止期間におけるＢＧＭデータの再生を休止させる。ゲームＢＧＭ生成プログラムでは、期間カウントステップが、期間指定データによって指定される演奏期間および演奏休止期間をリズムの選択回数でカウントする。このように、演奏期間および演奏休止期間をリズムの選択回数でカウントするので、演奏休止状態から演奏状態に戻る（移行）する場合であっても、フレーズの発音タイミング、すなわちＢＧＭの演奏タイミングにずれが生じることがない。
【００２５】
請求項８または請求項９においても、請求項１と同様に、処理負担を増大させずに多彩なＢＧＭを生成することができる。
【００２６】
【発明の効果】
この発明によれば、予め用意した複数のフレーズデータからフレーズデータをランダムに選択するとともに、１種類のリズムパターンからリズムデータを所定のルールに従って選択し、選択したフレーズデータおよびリズムデータに基づいてＢＧＭデータを生成するので、様々なＢＧＭを生成することができる。また、フレーズデータやリズムパターンは予め用意してあるので、ＢＧＭの生成処理の負担がいたずらに増大することもない。
【００２７】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００２８】
【実施例】
図１を参照して、この実施例のビデオゲームシステム１０はビデオゲーム装置１２を含む。このビデオゲーム装置１２には電源が与えられるが、この電源は、実施例では、一般的なＡＣアダプタ（図示せず）であってよい。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ビデオゲーム装置１２を駆動するのに適した低いＤＣ電圧信号に変換する。他の実施例としては、電源として、バッテリが用いられてもよい。
【００２９】
ビデオゲーム装置１２は、略立方体のハウジング１４を含み、ハウジング１４の上端には光ディスクドライブ１６が設けられる。光ディスクドライブ１６には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が装着される。ハウジング１４の前面には複数の（実施例では４つの）コネクタ２０が設けられる。これらコネクタ２０は、ケーブル２４によって、コントローラ２２をビデオゲーム装置１２に接続するためのものであり、この実施例では最大４つのコントローラ２２をビデオゲーム装置１２に接続することができる。
【００３０】
コントローラ２２には、その上面，下面，或いは側面などに、操作手段（コントロール）２６が設けられる。操作手段２６は，たとえば２つのアナログジョイスティック，１つの十字キー，複数のボタンスイッチ等を含む。１つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤキャラクタ（プレイヤがコントローラ２２によって操作可能な動画キャラクタ）の移動方向および／または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤキャラクタの動作を指示するために利用されたり、３次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。
【００３１】
なお、この実施例ではコントローラ２２がそれと一体的に設けられるケーブル２４によってビデオゲーム装置１２に接続された。しかしながら、コントローラ２２は、他の方法、たとえば電磁波（たとえば電波または赤外線）を介してワイヤレスで、ビデオゲーム装置１２に接続されてもよい。また、コントローラ２２の操作手段２６の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは１つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【００３２】
ビデオゲーム装置１２のハウジング１４の前面のコネクタ２０の下方には、少なくとも１つの（この実施例では２つの）メモリスロット２８が設けられる。このメモリスロット２８にはメモリカード３０が挿入される。メモリカード３０は、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（たとえばゲームの結果）を保存（セーブ）しておいたりするために利用される。
【００３３】
ビデオゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ（図示せず）が設けられ、そのコネクタを用いて、ＡＶケーブル３２を通してビデオビデオゲーム装置１２にモニタ３４を接続する。このモニタ３４は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２は、ビデオゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に与える。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声、または２スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。
【００３４】
このゲームシステム１０において、ユーザまたはゲームプレイヤがゲーム（または他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）をストアしている適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ１６にローディングする。応じて、ゲーム装置１２がその光ディスク１８にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、操作手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作手段２６の他のものを動かすことによって、動画キャラクタ（プレイヤキャラクタ）を異なる方向に移動させ、または３次元（３Ｄ）のゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００３５】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。ビデオゲーム装置１２には、中央処理ユニット（以下、「ＣＰＵ」という。）３６が設けられる。このＣＰＵ３６は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置１２の全体的な制御を担当する。ＣＰＵ３６ないしコンピュータは、ゲームプロセサとして機能し、このＣＰＵ３６には、バスを介して、メモリコントローラ３８が結合される。メモリコントローラ３８は主として、ＣＰＵ３６の制御の下で、バスを介して結合されるメインメモリ４０の書込みや読出しを制御する。このメモリコントローラ３８にはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：グラフィックス処理装置）  ４２が結合される。
【００３６】
ＧＰＵ４２は、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、メモリコントローラ３８を介してＣＰＵ３６からのグラフィクスコマンド（ｇｒａｐｈｉｃｓ  ｃｏｍｍａｎｄ  ：作画命令）  を受け、そのコマンドに従って、ジオメトリユニット４４およびレンダリングユニット４６によって３次元（３Ｄ）ゲーム画像を生成する。つまり、ジオメトリユニット４４は、３次元座標系の各種キャラクタやオブジェクト（複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも３つの頂点座標によって定義される多角形平面をいう。）の回転，移動，変形等の座標演算処理を行う。レンダリングユニット４６は、各種オブジェクトの各ポリゴンにテクスチャ（Ｔｅｘｔｕｒｅ  ：模様画像）を張り付けるなどの画像生成処理を施す。したがって、ＧＰＵ４２によって、ゲーム画面上に表示すべき３Ｄ画像データが生成（作成）され、その画像データがフレームバッファ４８内に描画（記憶）される。
【００３７】
なお、ＧＰＵ４２が作画コマンドを実行するにあたって必要なデータ（プリミティブまたはポリゴンやテクスチャ等）は、ＧＰＵ４２がメモリコントローラ３８を介して、メインメモリ４０から入手する。
【００３８】
フレームバッファ４８は、たとえばラスタスキャンモニタ３４の１フレーム分の画像データを描画（蓄積）しておくためのメモリであり、ＧＰＵ４２によって１フレーム毎に書き換えられる。後述のビデオＩ／Ｆ５８がメモリコントローラ３８を介してフレームバッファ４８のデータを読み出すことによって、モニタ３４の画面上に３Ｄゲーム画像が表示される。
【００３９】
また、Ｚバッファ５０は、フレームバッファ４８に対応する画素（記憶位置またはアドレス）数×１画素当たりの奥行データのビット数に相当する記憶容量を有し、フレームバッファ４８の各記憶位置に対応するドットの奥行き情報または奥行データ（Ｚ値）を記憶するものである。
【００４０】
なお、フレームバッファ４８およびＺバッファ５０は、ともにメインメモリ４０の一部を用いて構成されてもよい。
【００４１】
メモリコントローラ３８はまた、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）５２を介して、ＡＲＡＭ５４に結合される。したがって、メモリコントローラ３８は、メインメモリ４０だけでなく、サブメモリとしてのＡＲＡＭ５４の書込みおよび／または読出しを制御する。
【００４２】
ＤＳＰ５２は、サウンドプロセサとして働き、ＣＰＵ３６の指示に従って、ＡＲＡＭ５４に書き込まれている音波形データ（図５参照）を用いて、ゲームに必要な音（効果音）、音声或いは音楽（ＢＧＭ）に対応するオーディオデータを生成する。
【００４３】
メモリコントローラ３８は、さらに、バスによって、各インタフェース（Ｉ／Ｆ）５６，５８，６０，６２および６４に結合される。コントローラＩ／Ｆ５６は、コントローラ２２のためのインタフェースであり、コントローラ２２の操作手段２６の操作信号またはデータをメモリコントローラ３８を通してＣＰＵ３６に与える。ビデオＩ／Ｆ５８は、フレームバッファ４８にアクセスし、ＧＰＵ４２で作成した画像データを読み出して、画像信号または画像データ（ディジタルＲＧＢピクセル値）をＡＶケーブル３２（図１）を介してモニタ３４に与える。
【００４４】
外部メモリＩ／Ｆ６０は、ゲーム装置１２の前面に挿入されるメモリカード３０（図１）をメモリコントローラ３８に連係させる。それによって、メモリコントローラ３８を介して、ＣＰＵ３６がこのメモリカード３０にデータを書込み、またはメモリカード３０からデータを読み出すことができる。オーディオＩ／Ｆ６２は、メモリコントローラ３８を通してＤＳＰ５２から与えられるオーディオデータまたは光ディスク１８から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号（音声信号）をモニタ３４のスピーカ３４ａに与える。
【００４５】
なお、ステレオ音声の場合には、スピーカ３４ａは、少なくとも、左右１つずつ設けられる。また、サラウンド処理することで、左右２つのスピーカのみであっても後方から音が発生しているように音を聞かせることも可能である。
【００４６】
そして、ディスクＩ／Ｆ６４は、そのディスクドライブ１６をメモリコントローラ３８に結合し、したがって、ＣＰＵ３６がディスクドライブ１６を制御する。このディスクドライブ１６によって光ディスク１８から読み出されたプログラムデータやテクスチャデータ等が、ＣＰＵ３６の制御の下で、メインメモリ４０に書き込まれる。
【００４７】
図３にはメインメモリ４０のメモリマップが示される。メインメモリ４０は、プログラム記憶領域７０、コンダクタデータ記憶領域７２、音色記憶領域７４、フレーズ記憶領域７６、リズムパターン記憶領域７８、フラグ記憶領域８０、カウンタ記憶領域８２およびフレーズ番号記憶領域８４などを含む。プログラム記憶領域７０には、光ディスク１８から読み出したゲームプログラムが、１度にまたは部分的にかつ順次的に、記憶される。このゲームプログラムは、この実施例では、ゲームメイン処理プログラム７０ａ、フレーズ選択プログラム７０ｂ、リズム選択プログラム７０ｃ、ＢＧＭ生成プログラム７０ｄ、ＢＧＭ演奏プログラム７０ｅ、操作入力プログラム７０ｆおよびＢＧＭ演奏変化付与プログラム７０ｇなどによって構成される。
【００４８】
ゲームメイン処理プログラム７０ａは、当該ゲームのメインルーチンを処理するプログラムである。フレーズ選択プログラム７０ｂは、後述するコンダクタデータが示すフレーズグループからフレーズデータをランダムに選択するプログラムである。リズム選択プログラム７０ｃは、後述するコンダクタデータが示すリズムグループからリズムデータを所定のルールに従って（順次的に或いはランダムに）選択するプログラムである。ＢＧＭ生成プログラム７０ｄは、フレーズ選択プログラム７０ｂによって選択されたフレーズデータとリズム選択プログラム７０ｃによって選択されたリズムデータとからＢＧＭデータを生成するプログラムである。
【００４９】
なお、コンダクタデータは、後述するように、複数種類用意されており、ゲームの進行状況等に応じて、ゲームメイン処理プログラム７０ａによって１つのコンダクタデータが選択される。
【００５０】
ＢＧＭ演奏プログラム７０ｅは、ＢＧＭ生成プログラム７０ｄによって生成されたＢＧＭデータを演奏（再生）するプログラムである。操作入力プログラム７０ｆは、プレイヤによるコントローラ２２（操作手段２６）の操作入力を検出するプログラムである。ＢＧＭ演奏変化付与プログラム７０ｇは、操作入力プログラム７０ｆで検出された操作入力、ゲームの進行状況或いはイベント等に応じて、ＢＧＭの演奏（出力）に変化を加えるプログラムである。
【００５１】
なお、図示は省略するが、ゲームプログラムとしては、画像処理プログラムも記憶され、この画像処理プログラムを実行することによって、ゲームの仮想３次元空間  （ゲーム世界）の画像がモニタ３４に表示されたり、プレイヤキャラクタ、敵キャラクタおよびアイテム（武器、金貨、食物、道具、薬など）などのキャラクタ、或いは、建物、壁および樹木などのオブジェクトについての画像がモニタ３４に表示されたりする。
【００５２】
コンダクタデータ記憶領域７２には、異なる種類の複数のコンダクタデータ、この実施例では、コンダクタＡデータ７２ａ，コンダクタＢデータ７２ｂ，コンダクタＣデータ７２ｃ，…が記憶される。ここで、「コンダクタ」は「指揮者」を意味するが、この実施例では、コンダクタデータは、ＢＧＭデータを生成するためのデータである。後で詳細に説明するが、コンダクタデータ７２ａ〜７２ｃは、それぞれ、テンポデータおよび少なくとも１つのトラックデータとによって構成される。トラックデータは、さらに、プログラム（音色）の番号（記号）を示すデータ（音色グループ番号データ）、フレーズグループの番号（記号）を示すデータ（フレーズグループ番号データ）およびリズムグループの番号（記号）を示すデータ（リズムグループ番号データ）などによって構成される（図７参照）。
【００５３】
なお、これらのコンダクタデータ７２ａ〜７２ｃは、ゲームプログラムと同様に、光ディスク１８から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【００５４】
音色記憶領域７４は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、音色グループ１（Ｐｒｏｇ０１）の記憶領域７４０，音色グループ２（Ｐｒｏｇ０２）の記憶領域７４２，…によって構成される。記憶領域７４０および記憶領域７４２は、図４（Ａ）に示すように、それぞれ、１または複数の音色のデータ（後述する音波形データ）に割り当てられた番号（記号）のデータが記憶される。ただし、図面においては、分かり易く説明するために、音波形データの名称（ファイル名）を記述してある。つまり、記憶領域７４０には、プログラム（音色）ＡおよびプログラムＤが記述され、記憶領域７４２には、プログラムＢ、プログラムＣおよびプログラムＤが記述される。
【００５５】
なお、図４（Ａ）からも分かるように、各記憶領域内では、異なる種類の音色データの番号が記述されるが、異なる記憶領域では、同じ種類の音色データの番号が記述される場合もある。
【００５６】
また、このような音色のグループは、ゲームのプログラマ等の開発者が予め設定してある。
【００５７】
音色データすなわち音波形データは、図５に示すように、音波形データ記憶領域、この実施例では、サブメモリとしてのＡＲＡＭ５４に、光ディスク１８からロードされ書き込まれる。この図５に示すように、たとえば、音波形データ記憶領域すなわちＡＲＡＭ５４には、パート毎の音についての音波形データが記憶され、原則として、１のパートは１の楽器に対応する。ただし、オーケストラの音のように、１のパートが２以上の楽器に対応する場合もある。具体的には、この実施例では、ピアノの音についての音波形Ａデータ（Ｐｒｏｇ＿ａ）５４ａ、ベースの音についての音波形Ｂデータ（Ｐｒｏｇ＿ｂ）５４ｂ、ドラムの音についての音波形Ｃデータ（Ｐｒｏｇ＿ｃ）５４ｃおよびオーケストラの音についての音波形Ｄデータ（Ｐｒｏｇ＿ｄ）５４ｄなどが記憶される。図示は省略するが、他のパートの音についての音波形データも記憶される。
【００５８】
つまり、ＤＳＰ５２は、ＣＰＵ３６の指示の下、音波形データ５４ａ，５４ｂ，５４ｃ，５４ｄ，…のいずれか１つ或いは２つ以上を用いて、ゲームに必要な音（効果音）、音声或いは音楽（ＢＧＭ）に対応するオーディオデータを生成するのである。
【００５９】
図３に戻って、フレーズ記憶領域７６は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、フレーズグループ１の記憶領域７６０，フレーズグループ２の記憶領域７６２，…、およびフレーズデータ記憶領域７７０によって構成される。図４（Ｂ）に示すように、記憶領域７６０および記憶領域７６２には、それぞれ、１または複数のフレーズデータに割り当てられた番号（記号）のデータが記憶される。１の記憶領域すなわち１のグループに記憶されるフレーズデータの番号としては、音楽的特徴が類似（近似）する異なる種類のフレーズデータの番号が記述される。ここで、「音楽的特徴が類似する」とは、楽曲の中でいずれのフレーズを演奏したとしても、違和感や不快感を感じることがないことを意味する。
【００６０】
ただし、図面においては、分かり易く示すために、フレーズデータの名称（ファイル名）を記述してある。つまり、この実施例では、記憶領域７６０にはフレーズＡ，フレーズＢ，フレーズＣおよびフレーズＤが記述され、記憶領域７６２にはフレーズＡ，フレーズＣおよびフレーズＤが記述される。
【００６１】
また、フレーズデータ記憶領域７７０には、異なる種類の複数のフレーズデータが記憶される。この実施例では、フレーズＡデータ（Ｔｉｐ＿ａ）７７０ａ，フレーズＢデータ（Ｔｉｐ＿ｂ）７７０ｂ，フレーズＣデータ（Ｔｉｐ＿ｃ）７７０ｃ，フレーズＤデータ（Ｔｉｐ＿ｄ）７７０ｄ，…が記憶される。
【００６２】
ここで、フレーズは、楽曲の一部の楽譜（譜面）を意味し、その最小構成単位は１つの音符である。具体的には、図６（Ａ）に示すように、フレーズは、五線譜表に、音色の発音の長さおよび音程  （音高；音の高さ）を指定する１または２以上の音符を並べたものである。このフレーズは、予めゲームプログラマ等の開発者によって決定される。
【００６３】
具体的に説明すると、この実施例では、フレーズＡデータ７７０ａに対応するフレーズは、１つの２分音符によって構成され、この音符の音高は、ト音記号のみが表記されるとき、ソの音に相当する。また、フレーズＢデータ７７０ｂに対応するフレーズは、左から順に、１６分音符、１６分音符、８分音符、８分音符、８分音符および４分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、ド、レ、ミ、ソ、シ、ミ／（／は１オクターブ（完全８度）上の音を意味する。以下、同じである。）およびレ／の音に相当する。さらに、フレーズＣデータ７７０ｂに対応するフレーズは、左から順に、８分音符、４分音符、８分音符、８分音符、４分音符および８分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、ソ、ラ、ソ、ミ、ソおよびミの音に相当する。さらにまた、フレーズＤデータ７７０ｄに対応するフレーズは、左から順に、４分音符、４分音符、付点４分音符（４分音符＋８分音符の長さ）、８分音符、４分音符および４分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、レ／、ラ、ラ、ソ、ミおよびソの音に相当する。
【００６４】
つまり、フレーズデータは、楽曲の一部の楽譜についてのデータであり、音色の発音の長さおよび音程（音階）を指定（規定）するデータである。
【００６５】
なお、図４（Ｂ）に示したように、フレーズグループの記憶領域に直接フレーズデータを記憶せずに、フレーズグループの記憶領域とフレーズデータ記憶領域とを別に設けるようにしたのは、異なるフレーズグループであっても同じフレーズデータが含まれる場合があり、データ量が多くなってしまうのを防止するためである。
【００６６】
図３に戻って、リズムパターン記憶領域７８は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、リズムグループ１の記憶領域７８０，リズムグループ２の記憶領域７８２，…によって構成される。これらの記憶領域には、それぞれ、２つ以上のリズムのデータ（リズムデータ）が記憶される。具体的には、この実施例では、図４（Ｃ）に示すように、記憶領域７８０にはリズムＡデータ（Ｒｈｙｔｈｍ＿ａ）７８０ａ，リズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂおよび同じくリズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂが記憶される。また、記憶領域７８２には、リズムＢデータ７８０ｂ，リズムＡデータ７８０ａ，リズムＣデータ（Ｒｈｙｔｈｍ＿ｃ）７８０ｃ，リズムＤデータ（Ｒｈｙｔｈｍ＿ｄ）７８０ｄおよびリズムＢデータ７８０ｂが記憶される。
【００６７】
このリズムデータは、フレーズ（データ）を演奏するための演奏（発音）の長さおよびフレーズ（データ）の発音（演奏開始）のタイミング（発音タイミング）を指定する１の音符についてのデータである。たとえば、１のグループ内に含まれるリズムデータは、順次的に或いはランダムに選択することにより、或るリズムのパターン（リズムパターン）が形成される。この点において、１のグループ内に含まれるリズムデータをまとめてリズムパターンデータと言うことができる。
【００６８】
この実施例では、図６（Ｂ）に示すように、リズムグループ１（Ｒｈｙｔｈｍｓ０１）は、左から順に、リズムＡデータ７８０ａに対応する４分音符、リズムＢデータ７８０ｂに対応する８分音符および同じくリズムＢデータ７８０ｂに対応する８分音符によってリズムパターンが形成される。
【００６９】
たとえば、リズムの選択方法として順次選択方法が選択された場合には、先頭から順に（左から順に）リズムデータが選択され、すなわち、リズムＡデータ７８０ａ、リズムＢデータ７８０ｂ、リズムＢデータ７８０ｂの順番で選択され、ゲームプログラマが意図したリズムパターンが形成される。また、リズムの選択方法としてランダム選択方法が選択された場合には、３つのリズムデータ７８０ａ，７８０ｂ，７８０ｂが適当な順番で（ランダムに）選択され、複数種類のリズムパターンが形成される。
【００７０】
同様に、リズムグループ２（Ｒｈｙｔｈｍｓ０２）では、リズムＢデータ７８０ｂ、リズムＡデータ７８０ａ、リズムＣデータ７８０ｃ、リズムＤデータ７８０ｄおよびリズムＢデータによってリズムパターンが形成される。
【００７１】
たとえば、順次選択方法が選択された場合には、リズムグループ１の場合と同様に、先頭から順に各リズムデータが選択され、ゲームプログラマ等が意図したリズムパターンが形成される。一方、ランダム選択方法が選択された場合には、リズムグループ１の場合と同様に、５つのリズムデータ７８０ｂ，７８０ａ，７８０ｃ，７８０ｄ，７８０ｂがランダムに選択され、複数種類のリズムパターンが形成される。
【００７２】
なお、音色記憶領域７４、フレーズ記憶領域７６およびリズムパターン記憶領域７８に記憶されるデータも、ゲームプログラムと同様に、光ディスク１８から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【００７３】
図３に戻って、フラグ記憶領域８０には、戦闘フラグ８０ａ、隊列少数フラグ８０ｂ、体力減少フラグ８０ｃ、スウィングフラグ８０ｄ、演奏期間フラグ８０ｅおよび演奏休止期間フラグ８０ｆが記憶される。図示は省略するが、これらのフラグ８０ａ〜８０ｆは、それぞれ、１ビットのレジスタで構成され、成立（オン）されると、レジスタのデータ値は“１”に設定され、逆にオフされると、レジスタのデータ値は“０”に設定される。
【００７４】
戦闘フラグ８０ａは、プレイヤキャラクタ等が敵キャラクタと戦闘する場面（戦闘シーン）であるか否かを判別するためのフラグであり、戦闘シーンではオンされ、それ以外ではオフされる。隊列少数フラグ８０ｂは、プレイヤキャラクタについてくる仲間（味方）のキャラクタ（たとえば、「ピクミン」；「ＰＩＫＭＩＮ」（登録商標））が一定数以下であり、かつ、或るゲームステージにおいて一匹以上死んだかどうかを判別するためのフラグである。この隊列少数フラグ８０ｂは、ピクミンが一定数以下であり、かつ、或るゲームステージにおいて一匹以上死んだ場合にはオンされ、それ以外ではオフされる。体力減少フラグ８０ｃは、プレイヤキャラクタの体力値が一定レベル以下になったかどうかを判別するためのフラグであり、プレイヤキャラクタの体力値が一定レベル以下の場合にはオンされ、プレイヤキャラクタの体力値が一定レベルを超えている場合にはオフされる。
【００７５】
スウィングフラグ８０ｄは、演奏されるＢＧＭのテンポのカウント方法を変更するか否かを判別するためのフラグであり、テンポのカウント方法を変更する場合にはオンされ、変更しない場合にはオフされる。演奏期間フラグ８０ｅは、ＢＧＭの演奏期間を判別するためのフラグであり、ＢＧＭの演奏期間である場合にはオンされ、それ以外ではオフされる。また、演奏休止期間フラグ８０ｆは、ＢＧＭの演奏休止期間を判別するためのフラグであり、ＢＧＭの演奏休止期間である場合にはオンされ、それ以外ではオフされる。
【００７６】
カウンタ記憶領域８２には、複数のカウンタが設けられ、この実施例では、リズムステップカウンタ８２ａ、演奏期間カウンタ８２ｂ、演奏休止期間カウンタ８２ｃおよびフレーズ連続カウンタ８２ｄが設けられる。たとえば、これらのカウンタ８２ａ〜８２ｄは、それぞれ、レジスタによって構成され、後述するＢＧＭの生成および再生処理（図１０〜図１６参照）において用いられる。
【００７７】
フレーズ番号記憶領域８４は、後述するＢＧＭの生成および再生処理（図１０〜図１６参照）において用いられる領域であり、ＢＧＭデータの生成時に選択されたフレーズデータに割り当てられた番号（以下、単に「フレーズ番号」という。）を記憶する。ただし、フレーズデータの名称を記憶するようにしてもよい。
【００７８】
なお、図示は省略するが、メインメモリ４０には、上述したようなゲーム世界の画像データ、キャラクタの画像データおよびオブジェクトの画像データなども記憶され、このような画像データもまた、ゲームプログラムと同様に、光ディスク１８から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【００７９】
図７はコンダクタデータ（７２ａ，７２ｂ，７２ｃ，…）のデータ構造７２０を示す図解図である。この図７を参照して、上述したように、コンダクタデータ（７２ａ，７２ｂ，７２ｃ，…）は、テンポデータ７２２および複数のトラックデータ７２４，７２６，７２８，７３０，…によって構成される。
【００８０】
テンポデータ７２２は、楽曲を演奏する際の演奏速度を制御するためのデータである。ここで、テンポは、楽曲を演奏する際の速度を意味しており、１分間あたりに演奏する単位音符の数（ｂｐｍ：ｂｅｅｔ  ｐｅｒ  ｍｉｎｕｔｅｓ）  を用いて表される。単位音符としては、４分音符が用いられるのが一般的である。ただし、楽曲によっては、他の音符が用いられる場合もある。つまり、テンポデータ７２２は、この単位音符をどの程度の速さで演奏するかを規定（指定）するためのデータである。
【００８１】
したがって、ＤＳＰ５２は、ＢＧＭに対応するオーディオデータを生成する際、このテンポデータ７２２に従って、たとえば、メトロノームがカチカチと音を立てるのと同様に、カチカチと音を立てるタイミングでハイレベルとなるパルスを含むパルスデータを生成する。ただし、パルス幅は、拍（単位音符）の長さによって決定され、デフォルトのテンポデータでは、単位音符が存在する表の拍子と単位音符が存在しない裏の拍子との時間間隔が同じ間隔に設定される。
【００８２】
トラックデータ７２４，７２６，７２８，７３０は、それぞれ、該当するコンダクタデータ（７２ａ，７２ｂ，７２ｃ，…）に基づく楽曲（ＢＧＭ）の演奏を担当する１または２以上のパート（楽器やオーケストラなど）についてのデータである。このトラックデータ７２４（トラックデータ７２６，７２８，７３０も同様）は、音色グループ番号データ７２４ａ、フレーズグループ番号データ７２４ｂ、リズムグループ番号データ７２４ｃ、リズムの選択方法識別データ７２４ｄ、演奏期間データ７２４ｅ、演奏休止期間データ７２４ｆ、音量データ７２４ｇ、音響データ７２４ｈおよび移調データ７２４ｉによって構成される。
【００８３】
音色グループ番号データ７２４ａは、プログラム（音色）グループ（Ｐｒｏｇ）に付加される番号（記号）を示すデータである。ただし、音色グループの番号（記号）に変えて、音色グループの名称を示すデータであってもよい。したがって、この音色グループデータ７２４ａを参照することにより、当該トラック７２４の再生に使用する音波形データ（Ｗａｖｅ＿ａ，Ｗａｖｅ＿ｂ，Ｗａｖｅ＿ｃ，…）の番号を記憶する記憶領域を特定することができる。
【００８４】
フレーズグループ番号データ７２４ｂは、フレーズグループ（Ｔｉｐｓ）に付加される番号（記号）を示すデータである。ただし、フレーズグループの番号（記号）に変えて、フレーズグループの名称を示すデータであってもよい。したがって、このフレーズグループ番号データ７２４ｂを参照することにより、当該トラック７２４の再生に使用するフレーズデータの番号を記憶する記憶領域を特定することができる。
【００８５】
リズムグループ番号データ７２４ｃは、リズムグループ（Ｒｈｙｔｈｍｓ）に付加される番号（記号）を示すデータである。ただし、リズムグループの番号（記号）名称に変えてグループの名称を示すデータであってもよい。したがって、このリズムグループ番号データ７２４ｃを参照することにより、当該トラック７２４の再生に使用するリズムグループ（リズムパターン）を記憶する記憶領域を特定することができる。
【００８６】
リズム選択方法識別データ７２４ｄは、選択されたリズムグループ内におけるリズムデータ…の選択方法を識別するデータである。この実施例では、リズムデータをテーブルの順番に従って選択する順次選択方法とリズムデータをランダムに選択するランダム選択方法とがあり、このリズム選択方法識別データ７２４ｄを参照することにより、当該トラックの再生に使用するリズムデータの選択方法が識別される。
【００８７】
演奏期間データ７２４ｅは、楽曲の演奏期間を指定（規定）するためのデータであり、具体的には、選択されたリズムグループ（リズムパターン）におけるリズムデータの選択回数によって決定される。ただし、厳密に言うと、順次選択方法とランダム選択方法とでは、リズムデータの選択回数のカウントの仕方が異なる。順次選択方法では、選択されたリズムパターンに含まれるリズムデータをすべてカウントしたときに、１周期（１サイクル）がカウントされる。一方、ランダム選択方法では、選択されたリズムパターンに含まれるリズムデータが選択される毎に、１サイクルがカウントされる。つまり、演奏期間データ７２４ｅは、このサイクル数を示すデータである。
【００８８】
演奏休止期間データ７２４ｆは、楽曲の演奏休止期間を指定するためのデータであり、演奏期間データ７２４ｅと同様に、選択されたリズムグループ（リズムパターン）におけるリズムデータの選択回数を示すデータである。ただし、順次選択方法とランダム選択方法とでは、選択回数すなわちサイクルのカウントの仕方が異なる点は、演奏期間データ７２４ｅの場合と同じである。このように、演奏休止期間についても、リズムデータの選択回数で指定するのは、演奏休止状態から演奏を再開する場合に、音の出力タイミングがずれるのを防止するためである。
【００８９】
音量データ７２４ｇは、音量（音の大きさ）を示すデータある。音響データ７２４ｈは、定位（サラウンド）の大きさを示すデータである。移調データ７２４ｉは、移調（転調）の幅を示すデータであり、「♭」や「♯」などの変記号に相当するデータである。
【００９０】
たとえば、この実施例のゲームは、主人公であるプレイヤキャラクタが、仲間（味方）のキャラクタであるピクミンを率いて、敵キャラクタと戦闘するなどの様々なイベントをクリアすることにより、最終的な目的を達成するものである。このゲームでは、ピクミンは、植物と動物の両方の特徴を兼ね揃えた生命体であり、頭の先にある芽が地面から伸びていて、プレイヤキャラクタがその芽を引っこ抜くことにより、仲間に（隊列に）加わる。また、プレイヤキャラクタはメイン（主）とサブ（副）の２人存在し、プレイヤはコントローラ２２（操作手段２６）を操作して、それらを適宜切り換えることにより、様々なイベントを効率よくクリアして行く。
【００９１】
簡単に説明すると、メインのプレイヤキャラクタ（以下、「メインキャラクタ」という。）およびサブのプレイヤキャラクタ（以下、「サブキャラクタ」という。）は、共に行動することができ、この場合には、メインキャラクタおよびサブキャラクタの両方にピクミンの隊列がついてくる。また、プレイヤは、必要に応じて、メインキャラクタとサブキャラクタとを切り離して、個別に操作することができ、この場合には、メインキャラクタとサブキャラクタとのそれぞれに、分割されたピクミンの隊列がついてくる。したがって、たとえば、メインキャラクタは、自身についてきたピクミンの隊列を敵キャラクタと戦闘させることができ、他方で、サブキャラクタは、自身についてきたピクミンの隊列に橋を作るなどの作業をさせることができる。
【００９２】
また、戦闘シーンにおいては、敵キャラクタにピクミンが食べられてしまう場合があり、これにより、メインキャラクタおよびサブキャラクタについてくるピクミンの隊列が減少する。
【００９３】
このようなＡＩアクションゲームやロールプレイングゲームなどでは、通常、ゲームの進行中では、ＢＧＭが演奏され、当該ＢＧＭはゲームの進行状況などに応じて変化される。たとえば、通常のゲーム世界が表示されている場合と戦闘シーンとでは、異なるＢＧＭが演奏される。
【００９４】
しかし、一般的なロールプレイングゲームでは、同じシーン（場面）においては、同じＢＧＭが演奏されるため、プレイヤがゲームを繰り返している間に、ＢＧＭに飽きてしまい、ゲーム自体への興味も減退してしまう恐れがあった。
【００９５】
これを回避するため、この実施例では、毎回ＢＧＭを生成し、同じシーンであっても、同じＢＧＭが演奏されるのを可及的に防止するようにしてある。これにより、ゲームに対する興味の減退を回避してある。
【００９６】
具体的には、図２に示したＣＰＵ３６が図３に示したようなゲームプログラムを実行することにより、図８および図９に示すフロー図を処理する。図８に示すように、ＣＰＵ３６はゲーム処理を開始すると、ステップＳ１で、ゲームメイン処理を実行する。
【００９７】
詳細な説明は省略するが、このステップＳ１では、ゲームの進行を制御したり、ゲームの進行に応じたゲーム画面を表示したり、プレイヤキャラクタや敵キャラクタの表示を制御したりなどする。たとえば、プレイヤがコントローラ２２の操作手段２６のうち、アナログジョイスティック（または３Ｄジョイスティック）を操作すると、これに応じて、ＣＰＵ３６は、ジョイスティックの傾斜方向および傾斜量のデータをコントローラＩ／Ｆ５６から受けて、そのデータに基づいて、プレイヤキャラクタの位置をゲーム世界（ワールド座標系）において変更する。
【００９８】
また、ゲームの進行中では、その進行状況等に応じたＢＧＭが演奏される。たとえば、戦闘シーンでは、当該戦闘シーンに対応したコンダクタデータが選択され、選択されたコンダクタデータに基づいてＢＧＭデータが生成される。そして、ＣＰＵ３６の指示に従って、ＤＳＰ５２がＢＧＭデータに従ってオーディオデータを生成する。生成されたオーディオデータは、オーディオＩ／Ｆ６２でオーディオ信号に変換された後、スピーカ３４ａから出力される。すなわち、ＢＧＭが演奏される。このＢＧＭの生成出力（再生）の処理については、後で詳細に説明する（図１０〜図１６参照）。
【００９９】
続くステップＳ３では、敵キャラクタが一定範囲内に存在するかどうかを判断する。ステップＳ３で“ＮＯ”であれば、つまり敵キャラクタが一定範囲内に存在しない場合には、そのままステップＳ１３に進む。一方、ステップＳ３で“ＹＥＳ”であれば、つまり敵キャラクタが一定範囲内に存在する場合には、ステップＳ５で、敵キャラクタが戦闘状態かどうかを判断する。ステップＳ５で“ＮＯ”であれば、つまり敵キャラクタが戦闘状態でない場合には、ステップＳ１１で、現在演奏されているＢＧＭについてのコンダクタデータに、敵キャラクタの存在を音（音楽）で表現するためのトラック（敵気配トラック）データを加えて、図９に示すステップＳ３５に進む。
【０１００】
一方、ステップＳ５で“ＹＥＳ”であれば、つまり敵キャラクタが戦闘状態である場合には、ステップＳ７で、戦闘フラグ８０ａをオンし、ステップＳ９で、現在演奏されているＢＧＭについてのコンダクタデータに、戦闘シーンを音（音楽）で表現するためのトラック（戦闘トラック）データを加えて、図９に示すステップＳ３５に進む。
【０１０１】
ステップＳ１３では、イベントが進行しているかどうかを判断する。この実施例では、イベントは、複数のピクミンが物や戦闘により倒した敵キャラクタを運んだり、ゲートの破壊や橋建設などの通路確保の仕事をしたりしている状態を意味する。ステップＳ１３で“ＹＥＳ”であれば、つまりイベントが進行している場合には、ステップＳ１５で、現在演奏されているＢＧＭについてのコンダクタデータに、イベントが進行していることを音（音楽）で表現するためのトラック（イベントトラック）データを加えて、図９に示すステップＳ３５に進む。
【０１０２】
一方、ステップＳ１３で“ＮＯ”であれば、つまりイベントが進行していない場合には、ステップＳ１７で、隊列を成しているピクミンが一定数（たとえば、３０匹）以下かどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまり隊列を成しているピクミンが一定数を超えている場合には、図９に示すステップＳ２３に進む。しかし、ステップＳ１７で“ＹＥＳ”であれば、つまり隊列を成しているピクミンが一定数以下である場合には、ステップＳ１９で、ピクミンがそのステージ（戦闘シーン）において一匹以上死んだかどうかを判断する。
【０１０３】
ステップＳ１９で“ＮＯ”であれば、つまりピクミンがそのステージにおいて死んでいない場合には、図９に示すステップＳ２３に進む。一方、ステップＳ１９で“ＹＥＳ”であれば、つまりピクミンがそのステージにおいて一匹以上死んだ場合には、ステップＳ２１で、ピクミンの隊列が減ったことを判別するためのフラグすなわち隊列少数フラグ８０ｂをオンしてから、図９に示すステップＳ３５に進む。
【０１０４】
このように、ピクミンが一定数以下であり、かつピクミンがステージ上で死んだ場合に、隊列少数フラグ８０ｂをオンするようにしてあるのは、当該ゲームの開始時点において、隊列を成しているピクミンの数が一定数以下である場合と区別するためである。
【０１０５】
図９に示すように、ステップＳ２３では、プレイヤキャラクタの体力が一定レベル以下であるかどうかを判断する。ステップＳ２３で“ＹＥＳ”であれば、つまりプレイヤキャラクタの体力が一定レベル以下であれば、ステップＳ２５で、プレイヤキャラクタの体力が減少したことを判別するフラグすなわち体力減少フラグ８０ｃをオンして、ステップＳ３５に進む。
【０１０６】
一方、ステップＳ２３で“ＮＯ”であれば、つまりプレイヤキャラクタの体力が一定レベルを超えている場合には、ステップＳ２７で、ゲーム世界における地形が開けているかどうかを判断する。ステップＳ２７で“ＹＥＳ”であれば、つまりゲーム世界における地形が開けている場合には、ステップＳ２９で、現在演奏されているＢＧＭについてのコンダクタデータに、地形が開けていること（広闊）を音（音楽）で表現するためのトラック（広闊トラック）データを加えて、ステップＳ３５に進む。
【０１０７】
しかし、ステップＳ２７で“ＮＯ”であれば、つまりゲーム世界における地形が開けていない場合には、ステップＳ３１で、プレイヤキャラクタがサブ（サブキャラクタ）かどうかを判断する。ステップＳ３１で“ＮＯ”であれば、つまりプレイヤキャラクタがメイン（メインキャラクタ）であれば、そのままステップＳ３５に進む。一方、ステップＳ３１で“ＹＥＳ”であれば、つまりプレイヤキャラクタがサブキャラクタである場合には、ステップＳ３３で、演奏されるＢＧＭのテンポのカウント方法を変更するか否かを判別するためのフラグすなわちスウィングフラグ８０ｄをオンして、ステップＳ３５に進む。
【０１０８】
ステップＳ３５では、その他のゲーム処理を実行する。その他のゲーム処理としては、ゲームの進行によって発生したゲームデータのバックアップ（セーブ）処理などが該当する。たとえば、ゲームの進行に従って、ゲームデータがメインメモリ４０のワーク領域（図示せず）に書き込まれ、ゲームデータは逐次更新される。そして、プレイヤの指示や所定のイベントに従って、バックアップ処理が実行されると、メインメモリ４０のワーク領域に書き込まれているゲームデータが外部メモリＩ／Ｆ６０を介してメモリカード３０に記憶される（図２）。
【０１０９】
続くステップＳ３７では、ゲーム終了かどうかを判断する。ステップＳ３７で“ＮＯ”であれば、つまりゲーム終了でなければ、ステップＳ１に戻る。一方、ステップＳ３７で“ＹＥＳ”であれば、つまりゲーム終了であれば、ゲーム処理を終了する。
【０１１０】
図１０〜図１６はＢＧＭの生成および再生処理を示すフロー図である。なお、このＢＧＭの生成および再生処理は、１つのトラックについての処理であり、コンダクタデータに、２つ以上のトラックデータが含まれる場合には、それぞれのトラックについて同じ処理が同時（並列）に実行される。
【０１１１】
図１０に示すように、ＣＰＵ３６はＢＧＭの生成および再生処理を開始すると、ステップＳ４１で、ＢＧＭストップコールすなわち再生の停止指示（停止命令）があるかどうかを判断する。ステップＳ４１で“ＹＥＳ”であれば、つまりＢＧＭストップコールがある場合には、ステップＳ４３で、現在演奏中のＢＧＭをストップする。つまり、ＢＧＭデータの再生を停止する。そして、ステップＳ４５で、初期化を実行し、ＢＧＭの生成および再生処理をリターンして、図８に示したステップＳ１のゲームメイン処理に戻る。
【０１１２】
このステップＳ４５における初期化では、Ｔｉｐｓ（フレーズグループ番号）＝００，Ｒｙｔｈｍｓ（リズムグループ番号）＝００，リズムステップカウンタ＝００，演奏期間フラグ＝０（オフ），演奏期間カウンタ＝００，演奏休止期間カウンタ＝００，フレーズ番号＝００およびフレーズ連続カウンタ＝００のそれぞれを設定する。
【０１１３】
一方、ステップＳ４１で“ＮＯ”であれば、つまりＢＧＭストップコールがない場合には、ステップＳ４７で、新しいＢＧＭコールすなわち新しいＢＧＭの再生指示（再生命令）があるかどうかを判断する。ステップＳ４７で“ＮＯ”であれば、つまり新しいＢＧＭコールがない場合には、そのままステップＳ５５に進む。一方、ステップＳ４７で“ＹＥＳ”であれば、ステップＳ４９で、現在演奏中のＢＧＭをストップし、ステップＳ５１で、初期化を実行し、ステップＳ５３で、新しいＢＧＭの再生を開始して、ステップＳ５５に進む。
【０１１４】
ステップＳ５１の初期化では、Ｔｉｐｓ（フレーズグループ番号）＝指定値，Ｒｈｙｔｈｍｓ（リズムグループ番号）＝指定値，リズムステップカウンタ＝００，演奏期間フラグ＝１（オン），演奏期間カウンタ＝指定値，演奏休止期間カウンタ＝指定値，フレーズ番号＝００およびフレーズ連続カウンタ＝００のそれぞれを設定する。
【０１１５】
ここで、指定値とは、コンダクタデータによって指定される値を意味する。したがって、たとえば、Ｔｉｐｓには、フレーズグループ番号データ（７２４ｂ）が示す値（番号）が設定され、Ｒｈｙｔｈｍｓには、リズムグループ番号データ（７２４ｃ）が示す値（番号）が設定され、演奏期間カウンタ８２ｂには、演奏期間データ（７２４ｅ）が示す値が設定され、演奏休止期間カウンタ８２ｃには、演奏休止期間データ（７２４ｆ）が示す値が設定される。
【０１１６】
ステップＳ５５では、リズムの選択方法がランダムモード（ランダム選択方法）であるかどうかを判断する。具体的には、当該トラックデータ（７２４）に含まれるリズム選択方法識別データ（７２４ｄ）に基づいて順次選択方法かランダム選択方法かを判別する。ステップＳ５５で“ＹＥＳ”であれば、つまりランダム選択方法である場合には、図１４にステップＳ１２９に進む。
【０１１７】
一方、ステップＳ５５で“ＮＯ”であれば、つまり順次選択方法である場合には、ステップＳ５７で、リズムステップカウンタ８２ａのカウント値が“００”であるかどうかを判断する。ステップＳ５７で“ＮＯ”であれば、つまりリズムステップカウンタ８２ａのカウント値が“００”でない場合には、図１３に示すステップＳ１０３に進む。一方、ステップＳ５７で“ＹＥＳ”であれば、つまりリズムステップカウンタ８２ａのカウント値が“００”である場合には、ステップＳ５９で、選択されたリズムグループからリズムを順番に選択する。つまり、当該トラックデータ（７２４）に含まれるリズムグループ番号データ（７２４ｃ）に従って１のリズムグループ記憶領域が選択され、この選択されたリズムグループ記憶領域に記憶されるリズムデータを先頭から順に選択する。たとえば、この実施例では、図４（Ｃ）に示したリズムグループ記憶領域において、上から順番にリズムデータが選択されるのである。
【０１１８】
図１１に示すように、続くステップＳ６１では、当該リズムグループのすべてのリズムを選択したかどうかを判断する。つまり、前回選択したリズムデータが当該グループ記憶領域の最後尾のリズムデータであるかどうかを判断する。ステップＳ６１で“ＮＯ”であれば、つまり当該リズムグループのすべてのリズムを選択していない場合には、図１２に示すステップＳ８５に進む。一方、ステップＳ６１で“ＹＥＳ”であれば、つまり当該リズムグループのすべてのリズムを選択した場合には、ステップＳ６３で、当該リズムグループの先頭のリズムを選択し、ステップＳ６５で、選択されたリズム（リズムデータ）のステップ数をリズムステップカウンタ８２ａに設定する。
【０１１９】
ここで、ステップ数は、予め決定した基準（所定）の音符（この実施例では、１６分音符）を最小単位（この実施例では、３０ステップ）とした場合における、選択された音符（リズム）のステップ数を意味する。したがって、たとえば、選択されたリズムデータが４分音符に対応する場合には、ステップ数として“１２０”が設定され、また、選択されたリズムデータが８分音符に対応する場合には、ステップ数として“６０”が設定される。以下、同様である。
【０１２０】
続くステップＳ６７では、演奏期間フラグ８０ｅがオンであるかどうかを判断する。ステップＳ６７で“ＮＯ”であれば、つまり演奏期間フラグ８０ｅがオフである場合には、演奏休止期間であると判断して、ステップＳ６９で、演奏休止期間カウンタ８２ｃをデクリメントして、ステップＳ７１で、演奏休止期間カウンタ８２ｃのカウント値が“００”であるかどうかを判断する。
【０１２１】
ステップＳ７１で“ＮＯ”であれば、つまり演奏休止期間カウンタ８２ｃのカウント値が“００”でない場合には、図１２のステップＳ８９に進む。一方、ステップＳ７１で“ＹＥＳ”であれば、つまり演奏休止期間カウンタ８２ｃのカウント値が“００”である場合には、ステップＳ７３で、演奏期間フラグ８０ｅをオンし、ステップＳ７５で、演奏休止期間カウンタ８２ｃに指定値を設定して、図１２に示すステップＳ９１に進む。
【０１２２】
また、ステップＳ６７で“ＹＥＳ”であれば、つまり演奏期間フラグ８０ｅがオンである場合には、演奏期間であると判断して、ステップＳ７７で、演奏期間カウンタ８２ｂをデクリメントし、ステップＳ７９で、演奏期間カウンタ８２ｂのカウント値が“００”であるかどうかを判断する。ステップＳ７９で“ＮＯ”であれば、つまり演奏期間カウンタ８２ｂのカウント値が“００”でない場合には、そのまま図１２に示すステップＳ９１に進む。しかし、ステップＳ７９で“ＹＥＳ”であれば、つまり演奏期間カウンタ８２ｂのカウント値が“００”である場合には、ステップＳ８１で、演奏休止期間カウンタ８２ｃの指定値が“００”であるかどうかを判断する。
【０１２３】
ステップＳ８１で“ＮＯ”であれば、つまり演奏休止期間カウンタ８２ｃの指定値が“００”でない場合には、演奏休止期間があると判断して、図１３に示すステップＳ１０７に進む。一方、ステップＳ８１で“ＹＥＳ”であれば、つまり演奏休止期間カウンタ８２ｃの指定値が“００”である場合には、演奏休止期間がないと判断して、ステップＳ８３で、演奏期間カウンタ８２ｂに指定値を設定して、図１２に示すステップＳ９１に進む。
【０１２４】
上述したように、図１１のステップＳ６１において、当該リズムグループのすべてのリズムを選択していないと判断した場合には、図１２に示すように、ステップＳ８５で、選択されたリズムのステップ数をリズムステップカウンタ８２ａに設定する。続くステップＳ８７では、演奏期間フラグ８０ｅがオンであるかどうかを判断する。ステップＳ８７で“ＹＥＳ”であれば、つまり演奏期間フラグ８０ｅがオンである場合には、そのままステップＳ９１に進む。しかし、ステップＳ８７で“ＮＯ”であれば、つまり演奏期間フラグ８０ｅがオフである場合には、ステップＳ８９で、戦闘フラグ８０ａがオンであるかどうかを判断する。
【０１２５】
ステップＳ８９で“ＮＯ”であれば、つまり戦闘フラグ８０ａがオフである場合には、図１３に示すステップＳ１０５に進む。一方、ステップＳ８９で“ＹＥＳ”であれば、つまり戦闘フラグ８０ａがオンである場合には、ステップＳ９１に進む。このように、演奏期間フラグ８０ｅがオフの場合であっても、戦闘フラグ８０ａがオンの場合には、戦闘シーンにおいてＢＧＭを強制的に演奏するために、ステップＳ９１に進んで、演奏休止期間フラグ８０ｆを無視するようにしてあるのである。
【０１２６】
ステップＳ９１では、指定されているフレーズグループからフレーズをランダム（適当）に選択する。つまり、当該トラックデータ（７２４）に含まれるフレーズグループ番号（７２４ｂ）に従って１のフレーズグループが選択され、この選択されたフレーズグループの記憶領域に記憶されるフレーズ番号が、たとえば、乱数によってランダムに選択される。そして、ランダムに選択されたフレーズ番号が示すフレーズデータをフレーズデータ記憶領域７７０から読み出す（選択する）のである。続くステップＳ９３では、選択されたフレーズ番号とフレーズ番号記憶領域８４に記憶されたフレーズ番号とが一致するかどうかを判断する。つまり、前回選択したフレーズデータと今回選択したフレーズデータとが同じであるかどうかを判断する。
【０１２７】
ステップＳ９３で“ＹＥＳ”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致する場合には、ステップＳ９５で、フレーズ連続カウンタ８２ｄをインクリメントし、ステップＳ９７で、フレーズ連続カウンタ８２ｄのカウント値が“０３”以上かどうかを判断する。つまり、連続して同じフレーズデータが３回選択されたかどうかを判断する。ステップＳ９７で“ＮＯ”であれば、つまりフレーズ連続カウンタ８２ｄのカウント値が“０３”未満である場合には、そのまま図１３に示すステップＳ１１７に進む。一方、ステップＳ９７で“ＹＥＳ”であれば、つまりフレーズ連続カウンタ８２ｄのカウント値が“０３”以上である場合には、連続して同じフレーズデータが３回選択されたと判断して、ステップＳ９１に戻る。すなわち、連続して同じフレーズデータが３回選択された場合には、フレーズデータを選択し直して、３回以上連続して同じフレーズが演奏されるのを禁止してある。これにより、ＢＧＭが単調になるのを回避しているのである。
【０１２８】
一方、ステップＳ９３で“ＮＯ”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致しない場合には、選択されたフレーズ番号をメインメモリ４０のフレーズ番号記憶領域８４に記憶（上書き）し、ステップＳ１０１で、フレーズ連続カウンタ８２ｄのカウント値を“００”に設定（リセット）して、図１３に示すステップＳ１１７に進む。
【０１２９】
上述したように、図１０のステップＳ５７において、リズムステップカウンタ８２ａのカウント値が“００”であると判断した場合には、図１３に示すように、ステップＳ１０３で、演奏期間フラグ８０ｅがオンであるかどうかを判断する。ステップＳ１０３で“ＹＥＳ”であれば、つまり演奏期間フラグ８０ｅがオンである場合には、演奏期間であると判断して、そのままステップＳ１１３に進む。一方、ステップＳ１０３で“ＮＯ”であれば、つまり演奏期間フラグ８０ｅがオフである場合には、演奏休止期間であると判断して、ステップＳ１０５に進む。
【０１３０】
また、上述したように、図１１のステップＳ８１において、演奏休止期間カウンタ８２ｃの指定値が“００”でないと判断した場合には、図１３に示すように、ステップＳ１０７で、演奏期間フラグ８０ｅをオフし、ステップＳ１０９で、演奏期間カウンタ８２ｂに指定値を設定して、ステップＳ１０５に進む。
【０１３１】
ステップＳ１０５では、フレーズの再生中かどうかを判断する。ステップＳ１０５で“ＮＯ”であれば、つまりフレーズの再生中でない場合には、ステップＳ１１１で、フレーズを再生しないで、つまりフレーズの再生を休止して、ステップＳ１２７に進む。一方、ステップＳ１０５で“ＹＥＳ”であれば、つまりフレーズの再生中であれば、ステップＳ１１３で、選択されているフレーズを、選択されたリズムデータに従って再生し、ステップＳ１１５に進む。
【０１３２】
図１７は、リズムの選択方法として順次選択方法が選択されている場合において、演奏するＢＧＭ（楽譜）を生成する方法を説明するための図解図である。たとえば、図１７（Ａ）に示すように、リズムグループ１（Ｒｈｙｔｈｍｓ０１）が選択されると、順次選択方法では、リズムＡデータ（Ｒｈｙｔｈｍ＿ａ）７８０ａ，リズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂおよびリズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂの順番で、繰り返しリズムデータが選択される。
【０１３３】
また、たとえば、フレーズグループ１（Ｔｉｐｓ０１）が選択されると、上述したように、このフレーズグループ１に含まれるフレーズ番号がランダムに選択される。そして、選択されたフレーズ番号が示すフレーズデータが選択される。ここでは、たとえば、図１７（Ｂ）に示すように、フレーズＢデータ（Ｔｉｐ＿ｂ）７７０ｂ、フレーズＣデータ（Ｔｉｐ＿ｃ）７７０ｃ、フレーズＡデータ（Ｔｉｐ＿ａ）７７０ａ、フレーズＡデータ（Ｔｉｐ＿ａ）７７０ａ、フレーズＤデータ（Ｔｉｐ＿ｄ）７７０ｄおよびフレーズＢデータ（Ｔｉｐ＿ｂ）７７０ｂの順番でフレーズが選択されたとする。
【０１３４】
図１７（Ａ）に示すリズムデータ（音符）は、それぞれ、図１７（Ｂ）に示すフレーズデータ（フレーズ）に対応する。また、上述したように、リズムデータは、フレーズデータを演奏するための演奏の長さおよび発音タイミングを規定するため、フレーズは、それぞれ、対応するリズムに従ってその一部が抽出され、図１７（Ｃ）に示すような楽譜（ノート）が生成される。
【０１３５】
つまり、最初（１番目）のリズムＡデータ７８０ａと対応するフレーズＢデータ７７０ｂは、リズムＡデータ７８０ａに対応する４分音符に相当する長さだけ抽出される。つまり、フレーズＢデータ７７０ｂに対応するフレーズの最初の１６分音符、２番目の１６分音符および３番目の１６分音符が抽出される。
【０１３６】
なお、図面においては、抽出するフレーズを分かり易く示すために、当該フレーズの一部を四角枠で囲んである。また、リズムデータに対応する音符の音の長さおよび抽出したフレーズの長さを、バーグラフで相対的に示してある。以下、同様である。
【０１３７】
また、２番目のリズムＢデータ７８０ｂと対応するフレーズＣデータ７７０ｃでは、１番目の８分音符が抽出される。３番目のリズムＢデータ７８０ｂと対応するフレーズＡデータ７７０ａでは、１の音符（２分音符）で構成されるフレーズであるため、当該２分音符の示す音が、リズムＢデータ７８０ｂに対応する８分音符に相当する長さだけ抽出される。４番目のリズムＡデータ７８０ａと対応するフレーズＡデータ７７０ａもまた、２分音符の示す音が、リズムＡデータ７８０ａに対応する４分音符の長さだけ抽出される。５番目のリズムＢデータ７８０ｂと対応するフレーズＤデータ７７０ｄでは、１番目の４分音符が示す音が、リズムＢデータ７８０ｂに対応する８分音符に相当する長さだけ抽出される。そして、６番目のリズムＢデータ７８０ｂと対応するフレーズＢデータ７７０ｂでは、最初の１６分音符および２番目の１６分音符が抽出される。
【０１３８】
したがって、図１７（Ｃ）に示すような楽譜が生成される。この楽譜に対応するデータがＢＧＭデータである。ただし、上述したように、このＢＧＭの生成再生処理では、１つのトラックについての処理であるため、コンダクタデータが２つ以上のトラックデータを含む場合には、それぞれで生成されたＢＧＭデータをまとめて、ＢＧＭデータと言うこともできる。
【０１３９】
ＣＰＵ３６は、このＢＧＭデータをコンダクタデータ（７２０）に含まれるテンポデータ（７２２）に従って再生するとともに、トラックデータ（７２４）に含まれる音色グループ番号データ７２４ａが示す音色データ（音波形データ）、音量データ（７２４ｇ）が示す音量（音の大きさ）および音響データ（７２４ｈ）が示す音響の大きさを指定する。つまり、ＤＳＰ５２にテンポデータ７２２に従うＢＧＭデータが与えられるとともに、使用する音色データ、音量データおよび音響データが与えられ（指定され）、これに従って、ＤＳＰ５２は、ＢＧＭデータについてのオーディオデータを生成する。このオーディオデータが、オーディオＩ／Ｆ６２を介してスピーカ３４ａに出力される。つまり、ＢＧＭが演奏（再生）される。
【０１４０】
なお、図１７に示す例では、リズムデータおよびフレーズデータが、それぞれ、６回選択された状態を示してあるが、リズムデータおよびフレーズデータが一回選択される毎に、選択されたリズムに従うフレーズが再生され、リズムが指定する長さ分のフレーズが再生されると、次のリズムデータおよびフレーズデータが選択される。このような処理が繰り返され、ＢＧＭが再生されるのである。
【０１４１】
また、図１８は、演奏期間および演奏休止期間が規定（指定）される場合の演奏方法を説明するための図解図である。この図１８に示す例では、リズムグループ１（Ｒｈｙｔｈｍｓ０１）が選択され、フレーズグループ２（Ｔｉｐｓ０２）が選択され、さらに、演奏期間（ＯｎＣｙｃｌｅ）カウンタ８２ｂに指定値“０２”が設定され、演奏休止期間（ＯｆｆＣｙｃｌｅ）カウンタ８２ｃに指定値“０３”が設定されている場合について説明する。
【０１４２】
図１８（Ａ）に示すように、リズムの選択方法として順次選択方法が選択された場合には、上述したように、リズムデータが順次選択され、フレーズデータがランダムに選択される。ただし、図１８においては、簡単のため、フレーズを四角枠およびその枠内の模様（斜線や白抜き）で示してある。また、四角枠の長さ（幅）が抽出したフレーズに相当し、点線で示す四角枠は、演奏が休止されることを示している。
【０１４３】
上述したように、順次選択方法が選択されている場合には、リズムパターンを構成するリズムデータをすべて選択したときに、１周期（１サイクル）をカウントする。したがって、演奏期間カウンタ８２ｂに指定値“０２”が設定されると、この演奏期間カウンタ８２ｂは、リズムパターンを構成する、リズムＡデータ７８０ａ、リズムＢデータ７８０ｂおよびリズムＢデータ７８０ｂがすべて選択されたときにデクリメントされ、すなわちリズムパターンを選択する毎にデクリメントされ、演奏期間カウンタ８２ｂのカウント値が“００”になると、演奏を停止する。演奏が停止されると、演奏休止期間カウンタ８２ｃに指定値“０３”が設定され、この演奏休止期間カウンタ８２ｃもまた、リズムパターンを構成する、リズムＡデータ７８０ａ、リズムＢデータ７８０ｂおよびリズムＢデータ７８０ｂをすべて選択されたときにデクリメントされ、すなわちリズムパターンが選択される毎にデクリメントされ、演奏休止期間カウンタ８２ｃのカウント値が“００”になると、演奏を開始（再開）する。つまり、演奏休止状態から演奏状態に戻る（移行する）。
【０１４４】
つまり、リズムパターン（すべてのリズムデータ）の選択回数をカウントすることにより、演奏期間および演奏休止期間を計る（カウントする）ので、演奏休止状態から演奏状態に移行した場合であっても、フレーズの発音タイミングにずれが生じることはない。
【０１４５】
なお、この実施例では、演奏休止期間においては、たとえば、フレーズデータにマスクをかけることにより、音が出力されないようにしてある。
【０１４６】
図１３に戻って、上述したように、図１２のステップＳ９７において、フレーズ連続カウンタ８２ｄのカウント値が“０３”未満であると判断されたり、同じく図１２のステップＳ１０１において、フレーズ連続カウンタ８２ｄに“００”を設定したりした場合には、この図１３に示すように、ステップ１１７で、隊列少数フラグ８０ｂがオンであるかどうを判断する。ステップＳ１１７で“ＮＯ”であれば、つまり隊列少数フラグ８０ｂがオフである場合には、ステップＳ１１３に進む。一方、ステップＳ１１７で“ＹＥＳ”であれば、つまり隊列少数フラグ８０ｂがオンである場合には、ステップＳ１１９で、選択されているフレーズの一部を適当に間引いてから、ステップＳ１１３に進む。つまり、一部の音を削除したフレーズを演奏することにより、隊列のピクミンが欠けたことを音により演出しているのである。たとえば、フレーズデータの一部にマスクをかければ、一部のフレーズを間引くことができる。
【０１４７】
ステップＳ１１５では、スウィングフラグ８０ｄがオンかどうかを判断する。ステップＳ１１５で“ＹＥＳ”であれば、つまりスウィングフラグ８０ｄがオンである場合には、ステップＳ１２１で、跳ねたリズムにするようにテンポのカウント方法を変更（スウィング）して、ステップＳ１２３に進む。上述したように、この実施例では、デフォルトのテンポは、１分間に演奏される単位音符の数で予め決定され、表の拍子と裏の拍子との時間間隔が同じ間隔に設定されるが、ステップＳ１２１では、表の拍子と裏の拍子との時間間隔が３対１の割合になるように変更する。これにより、跳ねた感じのリズムでＢＧＭが演奏されるのである。
【０１４８】
具体的には、図１９（Ａ）に示すように、デフォルトのテンポ（Ｎｏｒｍａｌ）では、表の拍子（Ｏｎ  Ｂｅａｔ）と裏の拍子（Ｏｆｆ  Ｂｅａｔ）とでは、同じ時間間隔（１対１の割合）で、生成された楽譜すなわちＢＧＭが演奏される。一方、図１９（Ｂ）に示すように、スウィングする場合には、Ｏｎ  Ｂｅａｔの期間とＯｆｆ  Ｂｅａｔの期間との時間間隔が３対１の割合になるように、テンポのカウント方法が変更され、すなわちＤＳＰ５２によって生成されるパルスデータのパルス幅が変更され、変更されたテンポに従ってＢＧＭが演奏される。また、図１９（Ａ）および図１９（Ｂ）から分かるように、テンポのカウント方法が変更された場合には、一部の音符（厳密には音の長さ）が変更される。これは、Ｏｎ  Ｂｅａｔの期間とＯｆｆ  Ｂｅａｔの期間との時間間隔の割合が変更されるためである。
【０１４９】
このように、テンポのカウント方法を変えることにより、プレイヤはゲーム画面だけでなく、演奏されるＢＧＭによって、現在操作中のプレイヤキャラクタがメインキャラクタかサブキャラクタかを容易に判別することができるのである。以下、同様である。
【０１５０】
ステップＳ１２３では、体力減少フラグ８０ｃがオンかどうかを判断する。ステップＳ１２３で“ＮＯ”であれば、つまり体力減少フラグ８０ｃがオフであれば、そのままステップＳ１２７に進む。しかし、ステップＳ１２３で“ＹＥＳ”であれば、つまり体力減少フラグ８０ｃがオンであれば、ステップＳ１２５で、テンポを落として、ステップＳ１２７に進む。たとえば、ステップＳ１２７では、１分間に演奏する単位音符の数がデフォルトのテンポの半分にするように、テンポを変更する。ただし、表の拍子と裏の拍子との時間間隔は同じ間隔である。つまり、デフォルトのテンポデータを時間軸方向に均等に引き延ばして、演奏速度を遅くしているのである。以下、同様である。
【０１５１】
ステップＳ１２７では、リズムステップカウンタ８２ａをデクリメントして、図１０に示したステップＳ４１に戻る。つまり、リズムステップカウンタ８２ａのカウント値が“００”になるまでは、選択されているリズムに従って、選択されているフレーズが再生され、リズムステップカウンタ８２ａのカウント値が“００”になると、次のリズムが選択されるとともに、次のフレーズがランダムに選択されるのである。
【０１５２】
また、上述したように、図１０のステップＳ５５において、リズムの選択方法がランダム選択方法であると判断した場合には、図１４に示すように、ステップＳ１２９で、リズムステップカウンタ８２ａのカウント値が“００”であるかどうかを判断する。ステップＳ１２９で“ＮＯ”であれば、つまりリズムステップカウンタ８２ａのカウント値が“００”でない場合には、図１６に示すステップＳ１７１に進む。一方、ステップＳ１２９で“ＹＥＳ”であれば、つまりリズムステップカウンタ８２ａのカウント値が“００”である場合には、ステップＳ１３１で、選択されたリズムグループの記憶領域からリズム（リズムデータ）をランダムに選択し、ステップＳ１３３で、選択されたリズムのステップ数をリズムステップカウンタ８２ａに設定する。
【０１５３】
続くステップＳ１３５では、演奏期間フラグ８０ｅがオンであるかどうかを判断する。ステップＳ１３５で“ＮＯ”であれば、つまり演奏期間フラグ８０ｅがオフである場合には、ステップＳ１３７で、演奏休止期間カウンタ８２ｃをデクリメントして、ステップＳ１３９で、演奏休止期間カウンタ８２ｃのカウント値が“００”かどうかを判断する。ステップＳ１３９で“ＮＯ”であれば、つまり演奏休止期間カウンタ８２ｃのカウント値が“００”でない場合には、図１５に示すステップＳ１５３に進む。一方、ステップＳ１３９で“ＹＥＳ”であれば、つまり演奏休止期間カウンタ８２ｃのカウント値が“００”である場合には、ステップＳ１４１で、演奏期間フラグ８０ｅをオンし、ステップＳ１４３で、演奏休止期間カウンタ８２ｃに指定値を設定してから、図１５に示すステップＳ１５５に進む。
【０１５４】
一方、ステップＳ１３５で“ＹＥＳ”であれば、つまり演奏期間フラグ８０ｅがオンである場合には、ステップＳ１４５で、演奏期間カウンタ８２ｂをデクリメントして、ステップＳ１４７で、演奏期間カウンタ８２ｂのカウント値が“００”であるかどうかを判断する。
【０１５５】
ステップＳ１４７で“ＮＯ”であれば、つまり演奏期間カウンタ８２ｂのカウント値が“００”でない場合には、そのまま図１５に示すステップＳ１５５に進む。一方、ステップＳ１４７で“ＹＥＳ”であれば、つまり演奏期間カウンタ８２ｂのカウント値が“００”である場合には、ステップＳ１４９で、演奏休止期間カウンタ８２ｃの指定値が“００”であるかどうかを判断する。ステップＳ１４９で“ＮＯ”であれば、つまり演奏休止期間カウンタ８２ｃの指定値が“００”でない場合には、演奏休止期間があると判断して、図１６に示すステップＳ１７５に進む。一方、ステップＳ１４９で“ＹＥＳ”であれば、つまり演奏休止期間カウンタ８２ｃの指定値が“００”である場合には、演奏休止期間がないと判断して、ステップＳ１５１で、演奏期間カウンタに指定値を設定してから、図１５に示すステップＳ１５５に進む。
【０１５６】
上述したように、図１４のステップＳ１３９において、演奏休止期間カウンタ８２ｃのカウント値が“００”でないと判断した場合には、図１５に示すように、ステップＳ１５３で、戦闘フラグ８０ａがオンかどうかを判断する。ステップＳ１５３で“ＮＯ”であれば、つまり戦闘フラグ８０ａがオンでない場合には、図１６に示すステップＳ１７３に進む。一方、ステップＳ１５３で“ＹＥＳ”であれば、つまり戦闘フラグ８０ａがオンである場合には、ステップＳ１５５で、指定（選択）されているフレーズグループからフレーズ番号をランダムに選択して、選択したフレーズ番号が示すフレーズデータをフレーズデータ記憶領域７７０から読み出す（選択する）。
【０１５７】
続くステップＳ１５７では、選択されたフレーズ番号とフレーズ番号記憶領域８４に記憶されたフレーズ番号とが一致するかどうかを判断する。つまり、続けて同じフレーズデータが選択されたかどうかを判断する。ステップＳ１５７で“ＹＥＳ”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致する場合には、続けて同じフレーズデータが選択されたと判断して、ステップＳ１５９で、フレーズ連続カウンタ８２ｄをインクリメントする。そして、ステップＳ１６１で、フレーズ連続カウンタ８２ｄのカウント値が“０３”以上であるかどうかを判断する。
【０１５８】
ステップＳ１６１で“ＹＥＳ”であれば、つまりフレーズ連続カウンタ８２ｄのカウント値が“０３”以上である場合には、続けて同じフレーズが３回選択されたと判断して、ステップＳ１５５に戻って、フレーズの選択をやり直す。一方、ステップＳ１６１で“ＮＯ”であれば、つまりフレーズ連続カウンタ８２ｄのカウント値が“０３”未満である場合には、続けて同じフレーズが選択された回数が２回以下であると判断して、そのままステップＳ１６７に進む。
【０１５９】
また、ステップＳ１５７で“ＮＯ”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致しない場合には、続けて同じフレーズが選択されていないと判断して、ステップＳ１６３で、選択されたフレーズ番号をメインメモリ４０のフレーズ番号記憶領域８４に記憶（上書き）し、ステップＳ１６５で、フレーズ連続カウンタ８２ｄのカウント値を“００”に設定（リセット）して、ステップＳ１６７に進む。
【０１６０】
ステップＳ１６７では、隊列少数フラグ８０ｂがオンかどうかを判断する。ステップＳ１６７で“ＹＥＳ”であれば、つまり隊列少数フラグ８０ｂがオンである場合には、ステップＳ１６９で、選択されているフレーズの一部を適当に間引いて、図１６に示すステップＳ１８１に進む。一方、ステップＳ１６７で“ＮＯ”であれば、つまり隊列少数フラグ８０ｂがオンでない場合には、そのまま図１６に示すステップＳ１８１に進む。
【０１６１】
上述したように、図１４のステップＳ１２９において、リズムステップカウンタ８２ａのカウント値が“００”でないと判断した場合には、図１６に示すように、ステップＳ１７１で、演奏期間フラグ８０ｅがオンであるかどうかを判断する。ステップＳ１７１で“ＹＥＳ”であれば、つまり演奏期間フラグ８０ｅがオンである場合には、そのままステップＳ１８３に進む。一方、ステップＳ１７１で“ＮＯ”であれば、つまり演奏期間フラグ８０ｅがオフである場合には、ステップＳ１７３に進む。
【０１６２】
また、上述したように、図１４のステップＳ１４９において、演奏休止期間カウンタ８２ｃの指定値が“００”でないと判断した場合には、図１６に示すステップＳ１７５で、演奏期間フラグ８０ｅをオフし、ステップＳ１７７で、演奏期間カウンタ８２ｂに指定値を設定して、ステップＳ１７３に進む。
【０１６３】
ステップＳ１７３では、フレーズの再生中かどうかを判断する。ステップＳ１７３で“ＮＯ”であれば、つまりフレーズの再生中でない場合には、ステップＳ１７９で、フレーズの再生をせずに、そのままステップＳ１９１に進む。一方、ステップＳ１７３で“ＹＥＳ”であれば、つまりフレーズの再生中である場合には、ステップＳ１８１で、選択されているフレーズを、選択されたリズムに従って再生して、ステップＳ１８３に進む。
【０１６４】
図２０は、リズムの選択方法としてランダム選択方法が選択された場合に、演奏するＢＧＭ（楽譜）を生成する方法を説明するための図解図である。たとえば、図２０（Ａ）に示すように、リズムグループ２（Ｒｈｙｔｈｍｓ０２）が選択され、ランダム選択方法において、リズムＡデータ（Ｒｈｙｔｈｍ＿ａ）７８０ａ，リズムＡデータ（Ｒｈｙｔｈｍ＿ａ）７８０ａ，リズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂ，リズムＤデータ（Ｒｈｙｔｈｍ＿ｄ）７８０ｄ、リズムＢデータ（Ｒｈｙｔｈｍ＿ｂ）７８０ｂおよびリズムＣデータ（Ｒｈｙｔｈｍ＿ｃ）７８０ｃが順に選択されたとする。
【０１６５】
また、たとえば、フレーズグループ１（Ｔｉｐｓ０１）が選択され、上述したように、このフレーズグループ１に含まれるフレーズ番号がランダムに選択され、選択されたフレーズ番号に対応するフレーズデータがフレーズ記憶領域７７０から選択される。たとえば、図２０（Ｂ）に示すように、フレーズＢデータ（Ｔｉｐ＿ｂ）７７０ｂ、フレーズＣデータ（Ｔｉｐ＿ｃ）７７０ｃ、フレーズＡデータ（Ｔｉｐ＿ａ）７７０ａ、フレーズＢデータ（Ｔｉｐ＿ｂ）７７０ｂ、フレーズＤデータ（Ｔｉｐ＿ｄ）７７０ｄおよびフレーズＤデータ（Ｔｉｐ＿ｄ）７７０ｄの順番でフレーズが選択されたとする。
【０１６６】
図２０（Ａ）に示す各リズムデータ（音符）は、図２０（Ｂ）に示す各フレーズデータ（フレーズ）に対応し、上述したように、リズムデータは、フレーズデータを演奏するための演奏の長さおよび発音タイミングを規定する。したがって、図１７に示した順次選択方法の場合と同様にして、図２０（Ｃ）に示すような楽譜（ノート）が生成される。
【０１６７】
具体的には、最初（１番目）のリズムＡデータ７８０ａと対応するフレーズＢデータ７７０ｂは、リズムＡデータ７８０ａに対応する４分音符に相当する長さだけ抽出される。つまり、フレーズＢデータ７７０ｂに対応するフレーズの最初の１６分音符、２番目の１６分音符および３番目の１６分音符が抽出される。
【０１６８】
同様に、２番目のリズムＡデータ７８０ａと対応するフレーズＣデータ７７０ｃでは、１番目の８分音符、２番目の４分音符および３番目の８分音符が抽出される。３番目のリズムＢデータ７８０ｂと対応するフレーズＡデータ７７０ａでは、１の音符（２分音符）で構成されるフレーズであるため、当該２分音符の示す音が、リズムＢデータ７８０ｂに対応する８分音符に相当する長さだけ抽出される。４番目のリズムＤデータ７８０ｄと対応するフレーズＢデータ７７０ｂでは、１番目の１６分音符、２番目の１６分音符、３番目の８分音符および４番目の８分音符が抽出される。５番目のリズムＢデータ７８０ｂと対応するフレーズＤデータ７７０ｄでは、１番目の４分音符の示す音が、リズムＢデータ７８０ｂに対応する８分音符に相当する長さだけ抽出される。そして、６番目のリズムＣデータ７８０ｃと対応するフレーズＤデータ７７０ｄでは、１番目の４分音符、２番目の４分音符、３番目の付点４分音符および４番目の８分音符が抽出される。
【０１６９】
なお、図２０に示す例においても、図１７に示した例と同様に、リズムデータおよびフレーズデータが、それぞれ、６回選択された状態を示してあるが、リズムデータおよびフレーズデータが一回選択される毎に、選択されたリズムに従うフレーズが再生され、リズムが指定する長さ分のフレーズが再生されると、次のリズムデータおよびフレーズデータが選択される。このような処理が繰り返され、ＢＧＭが再生されるのである。
【０１７０】
また、図１８（Ｂ）に示すように、リズムの選択方法としてランダム選択方法が選択された場合には、上述したように、リズムデータおよびフレーズデータが、それぞれ、ランダムに選択される。また、上述したように、ランダム選択方法が選択されている場合には、リズムパターンを構成する１のリズムデータを選択する毎に、１周期（１サイクル）をカウントする。
【０１７１】
したがって、演奏期間カウンタ８２ｂに指定値“０２”が設定されると、この演奏期間カウンタ８２ｂは、リズムデータが選択される毎にデクリメントされ、演奏期間カウンタ８２ｂのカウント値が“００”になると、演奏を停止する。演奏が停止されると、演奏休止期間カウンタ８２ｃに指定値“０３”が設定され、この演奏休止期間カウンタ８２ｃは、リズムデータが選択される毎にデクリメントされ、演奏休止期間カウンタ８２ｃのカウント値が“００”になると、演奏休止状態から演奏状態に移行する（戻る）。
【０１７２】
なお、演奏休止期間においては、フレーズデータにマスクをかけるようにするのは、順次選択方法の場合と同じである。
【０１７３】
このように、ランダム選択方法においても、リズムデータの選択回数によって、演奏期間および演奏休止期間を計る（カウントする）ので、演奏休止状態から演奏状態に移行された場合であっても、フレーズの発音タイミングにずれが生じることはない。
【０１７４】
なお、ＢＧＭの再生については、上述の順次選択方法における場合と同じである。
【０１７５】
図１６に戻って、ステップＳ１８３では、スウィングフラグ８０ｄがオンであるかどうかを判断する。ステップＳ１８３で“ＹＥＳ”であれば、つまりスウィングフラグ８０ｄがオンである場合には、ステップＳ１８５で、跳ねたリズムにするようにテンポのカウント方法を変更して、ステップＳ１８７に進む。一方、ステップＳ１８３で“ＮＯ”であれば、つまりスウィングフラグ８０ｄがオフである場合には、そのままステップＳ１８７に進む。
【０１７６】
ステップＳ１８７では、体力減少フラグ８０ｃがオンであるかどうかを判断する。ステップＳ１８７で“ＮＯ”であれば、つまり体力減少フラグ８０ｃがオフである場合には、そのままステップＳ１９１に進む。一方、ステップＳ１８７で“ＹＥＳ”であれば、つまり体力減少フラグ８０ｃがオンである場合には、ステップＳ１８９で、テンポを落としてから、ステップＳ１９１に進む。
【０１７７】
ステップＳ１９１では、リズムステップカウンタ８２ａをデクリメントして、図１０に示したステップＳ４１に戻る。つまり、リズムステップカウンタ８２ａのカウント値が“００”になるまでは、選択されているリズムに従って、選択されているフレーズが再生され、リズムステップカウンタ８２ａのカウント値が“００”になると、次のリズムがランダムに選択されるとともに、次のフレーズがランダムに選択されるのである。
【０１７８】
なお、このＢＧＭの生成および再生処理においては省略したが、移調データ７２４ｉに従って、生成するＢＧＭデータを移調させるようにしてもよい。たとえば、プレイヤの所定の操作、ゲームの進行状況或いは所定のイベント等に従ってオン／オフされるフラグ（移調フラグ）をフラグ記憶領域８０に記憶しておき、移調フラグがオンである場合に、生成するＢＧＭデータを移調させることができる。これにより、半音上げたり、半音下げたりなどしたＢＧＭを演奏ることもできる。
【０１７９】
この実施例によれば、ゲーム進行状況に応じて選択されるコンダクタデータに従ってランダムに選択されるフレーズデータと所定のルールに従って選択されるリズムデータとからＢＧＭデータを生成するので、同じＢＧＭが演奏されるのを可及的に少なくすることができる。つまり、ゲームの趣向性を向上することができ、同じＢＧＭが演奏されることに起因するゲーム自体への興味の減退を防止することができる。
【０１８０】
また、予め用意してあるフレーズデータやリズムデータを用いてＢＧＭデータを生成するので、フレーズデータやリズムデータ（リズムパターン）を生成する必要がない。したがって、ＣＰＵの処理負担が増大することもない。
【０１８１】
なお、この実施例では、ピクミンの隊列が減った場合には、１のパート（トラック）において選択されたフレーズの一部を適当に間引いて再生するようにしたが、任意の１または複数のトラックの再生を停止するようにしてもよい。
【０１８２】
また、この実施例では、フレーズデータやリズムデータをグループに分けて複数記憶するようにしたが、いずれについても少なくとも１のグループを設けておけば、様々なＢＧＭを生成することができる。
【０１８３】
さらに、この実施例では、プレイヤの操作やゲームの進行状況（イベント）等に応じて再生するＢＧＭに変化を加えるようにしたが、これらは単なる例示に過ぎず、ゲームプログラマ等の設計者によって決定される事項である。つまり、任意のイベント等に応じて再生するＢＧＭに変化を加える点に着目すべきである。
【０１８４】
また、この実施例では、図１に示したようなビデオゲーム装置についてのみ説明したが、モニタおよびスピーカが一体的に設けられるゲーム装置、携帯型ゲーム装置およびゲーム機能を備える携帯電話機などにも適用できることは言うまでもない。
【図面の簡単な説明】
【図１】この発明のゲームシステムの一例を示す図解図である。
【図２】図１実施例に示すビデオゲーム装置の電気的な構成を示すブロック図である。
【図３】図２に示すメインメモリのメモリマップを示す図解図である。
【図４】図２に示すメモリマップの一部を示す図解図である。
【図５】図２に示すＡＲＡＭのメモリマップを示す図解図である。
【図６】図３に示すフレーズデータおよびリズムデータを示す図解図である。
【図７】図２に示すコンダクタデータのデータ構造を示す図解図である。
【図８】図２に示すＣＰＵのゲーム処理の一部を示すフロー図である。
【図９】図２に示すＣＰＵのゲーム処理の他の一部を示すフロー図である。
【図１０】図２に示すＣＰＵのＢＧＭの生成および再生処理の一部を示すフロー図である。
【図１１】図２に示すＣＰＵのＢＧＭの生成および再生処理の他の一部を示すフロー図である。
【図１２】図２に示すＣＰＵのＢＧＭの生成および再生処理のその他の一部を示すフロー図である。
【図１３】図２に示すＣＰＵのＢＧＭの生成および再生処理のさらに他の一部を示すフロー図である。
【図１４】図２に示すＣＰＵのＢＧＭの生成および再生処理の他の一部を示すフロー図である。
【図１５】図２に示すＣＰＵのＢＧＭの生成および再生処理のその他の一部を示すフロー図である。
【図１６】図２に示すＣＰＵのＢＧＭの生成および再生処理のさらに他の一部を示すフロー図である。
【図１７】順次選択方法でリズムを選択する場合のＢＧＭの生成方法を示す図解図である。
【図１８】演奏期間および演奏休止期間が規定される場合のＢＧＭの演奏方法を示す図解図である。
【図１９】通常のテンポとスウィング時のテンポとにおけるＢＧＭの演奏方法を示す図解図である。
【図２０】ランダム選択方法でリズムを選択する場合のＢＧＭの生成方法を示す図解図である。
【符号の説明】
１０  …ゲームシステム
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
３４  …モニタ
３４ａ  …スピーカ
３６  …ＣＰＵ
３８  …メモリコントローラ
４０  …メインメモリ
４２  …ＧＰＵ
５２  …ＤＳＰ
５４  …ＡＲＡＭ
６２  …オーディオＩ／Ｆ
【図１】
2004325984.tif 000003
【図２】
2004325984.tif 000004
【図３】
2004325984.tif 000005
【図４】
2004325984.tif 000006
【図５】
2004325984.tif 000007
【図６】
2004325984.tif 000008
【図７】
2004325984.tif 000009
【図８】
2004325984.tif 000010
【図９】
2004325984.tif 000011
【図１０】
2004325984.tif 000012
【図１１】
2004325984.tif 000013
【図１２】
2004325984.tif 000014
【図１３】
2004325984.tif 000015
【図１４】
2004325984.tif 000016
【図１５】
2004325984.tif 000017
【図１６】
2004325984.tif 000018
【図１７】
2004325984.tif 000019
【図１８】
2004325984.tif 000020
【図１９】
2004325984.tif 000021
【図２０】
2004325984.tif 000022