(57)【特許請求の範囲】
【請求項１】
荷重センサを備えた荷重測定器からの信号を処理する音楽演奏装置のコンピュータにおいて実行される音楽演奏プログラムであって、
前記荷重測定器からの信号に基づいて、重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置取得手段によって取得された重心位置の移動が所定の条件を満たすか否かを判定する判定手段と、
前記判定手段によって前記重心位置の移動が前記所定の条件を満たすと判定されるごとに、所定の音楽を順次再生する音楽再生手段として、前記コンピュータを機能させる、音楽演奏プログラム。
【請求項２】
前記判定手段は、前記重心位置取得手段によって取得された重心位置が所定の基準線を越えて移動したことに応じて、所定の音楽を再生するか否かを判定し、
前記音楽再生手段は、前記判定手段によって前記所定の音楽を再生すると判定されるごとに、前記所定の音楽を所定の間隔ずつ順次再生する、請求項１に記載の音楽演奏プログラム。
【請求項３】
前記判定手段は、前記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度が所定値以上か否かを判定し、
前記音楽再生手段は、前記判定手段によって前記重心位置の移動速度が所定値以上であると判定される場合、所定の音楽を順次再生する、請求項１に記載の音楽演奏プログラム。
【請求項４】
前記重心位置取得手段によって取得された重心位置を用いて、前記所定の音楽の再生音量を設定する音量設定手段として、前記コンピュータを更に機能させ、
前記音楽再生手段は、前記音量設定手段で設定された再生音量で前記所定の音楽を再生する、請求項１から３の何れかに記載の音楽演奏プログラム。
【請求項５】
前記重心位置取得手段によって取得された重心位置と前記所定の基準線との位置関係に基づいて、前記所定の音楽の再生音量を設定する音量設定手段として、前記コンピュータを更に機能させ、
前記音楽再生手段は、前記音量設定手段で設定された再生音量で前記所定の音楽を再生する、請求項２に記載の音楽演奏プログラム。
【請求項６】
前記音量設定手段は、前記所定の基準線から前記重心位置までの距離が遠いほど前記再生音量を大きく設定する、請求項５に記載の音楽演奏プログラム。
【請求項７】
前記音量設定手段は、前記重心位置が前記所定の基準線を含む所定の領域にない場合は、前記再生音量を第１の音量に設定し、前記重心位置が前記所定の領域にある場合は、前記第１の音量よりも小さな音量の範囲で前記再生音量を設定する、請求項５又は６に記載の音楽演奏プログラム。
【請求項８】
前記音量設定手段は、前記所定の基準線から前記重心位置までの距離に応じて音量の上限値を定め、当該上限値内で前記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に応じて、前記再生音量を設定する、請求項５から７の何れかに記載の音楽演奏プログラム。
【請求項９】
前記音量設定手段は、前記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に応じて、前記再生音量を設定する、請求項４に記載の音楽演奏プログラム。
【請求項１０】
前記音量設定手段は、前記重心位置の移動速度が速いほど前記再生音量を大きく設定する、請求項９に記載の音楽演奏プログラム。
【請求項１１】
前記音楽再生手段は、現在の再生音量から前記音量設定手段で設定された再生音量へ所定期間かけて徐々に変化させて、前記所定の音楽を再生する、請求項４から１０の何れかに記載の音楽演奏プログラム。
【請求項１２】
前記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に基づいて、前記所定の音楽の再生速度を設定する再生速度設定手段として、前記コンピュータを更に機能させ、
前記音楽再生手段は、前記再生速度設定手段によって設定された再生速度で、前記所定の音楽を再生する、請求項１から１１の何れかに記載の音楽演奏プログラム。
【請求項１３】
前記再生速度設定手段は、前記重心位置の移動速度が速いほど、前記再生速度を速く設定する、請求項１２に記載の音楽演奏プログラム。
【請求項１４】
直前に前記判定手段によって前記所定の音楽を再生すると判定されてから、次に前記判定手段によって前記所定の音楽を再生すると判定されるまでの間の時間を計測する時間計測手段と、
前記時間計測手段によって計測された時間に基づいて、前記所定の音楽の再生速度を設定する再生速度設定手段として、前記コンピュータを更に機能させ、
前記音楽再生手段は、前記再生速度設定手段によって設定された再生速度で、前記所定の音楽を再生する、請求項２、５から８の何れかに記載の音楽演奏プログラム。
【請求項１５】
前記再生速度設定手段は、前記時間計測手段によって計測された時間が短いほど、前記再生速度を速く設定する、請求項１４に記載の音楽演奏プログラム。
【請求項１６】
前記判定手段は、前記重心位置が前記所定の基準線を越えて移動した場合において、当該所定の基準線をはさんだ一方の側から他方の側に前記重心位置が移動したときのみ、前記所定の音楽を再生すると判定する、請求項２、５から８の何れかに記載の音楽演奏プログラム。
【請求項１７】
前記荷重測定器からの信号に基づいて、前記荷重測定器にかかる荷重値を繰り返し取得する荷重値取得手段として、前記コンピュータを更に機能させ、
前記音楽再生手段は、前記荷重値取得手段によって取得された荷重値が所定値以上の場合のみ前記所定の音楽を再生する、請求項１から１６の何れかに記載の音楽演奏プログラム。
【請求項１８】
前記音楽再生手段は、前記判定手段によって前記重心位置の移動が前記所定の条件を満たすと判定されるごとに、前記所定の音楽を所定の間隔ずつ順次再生する、請求項１に記載の音楽演奏プログラム。
【請求項１９】
前記所定の音楽は、一定の間隔で区切られている、請求項１から１８の何れかに記載の音楽演奏プログラム。
【請求項２０】
前記所定の音楽は、１音ずつ区切られており、
前記音楽再生手段は、前記判定手段によって前記所定の音楽を再生すると判定されるごとに、前記所定の音楽を１音ずつ順次再生する、請求項１から１８の何れかに記載の音楽演奏プログラム。
【請求項２１】
前記荷重測定器は複数の荷重センサを有し、
前記重心位置取得手段は、前記複数の荷重センサによってそれぞれ検出された荷重値に基づいて、前記重心位置を算出する、請求項１から２０の何れかに記載の音楽演奏プログラム。
【請求項２２】
荷重センサを備えた荷重測定器からの信号を処理する音楽演奏装置であって、
前記荷重測定器からの信号に基づいて、重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置取得手段によって取得された重心位置の移動が所定の条件を満たすか否かを判定する判定手段と、
前記判定手段によって前記重心位置の移動が前記所定の条件を満たすと判定されるごとに、所定の音楽を順次再生する音楽再生手段とを備える、音楽演奏装置。
【請求項２３】
荷重センサを備えた荷重測定器からの信号を処理する音楽演奏システムであって、
前記荷重測定器からの信号に基づいて、重心位置を繰り返し取得する重心位置取得手段と、
前記重心位置取得手段によって取得された重心位置の移動が所定の条件を満たすか否かを判定する判定手段と、
前記判定手段によって前記重心位置の移動が前記所定の条件を満たすと判定されるごとに、所定の音楽を順次再生する音楽再生手段とを備える、音楽演奏システム。
【請求項２４】
荷重センサを備えた荷重測定器からの信号に基づいて、重心位置を繰り返し取得する重心位置取得ステップと、
前記重心位置取得ステップで取得された重心位置の移動が所定の条件を満たすか否かを判定する判定ステップと、
前記判定ステップで前記重心位置の移動が所定の条件を満たすと判定されるごとに、前記所定の音楽を順次再生する音楽再生ステップとを含む、音楽演奏方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽演奏プログラム、音楽演奏装置、音楽演奏方法および音楽演奏システムに関し、より特定的には、体重の重心の移動に基づいて音楽の演奏を行う音楽演奏プログラム、音楽演奏装置、音楽演奏方法および音楽演奏システムに関する。
【背景技術】
【０００２】
従来、画面上をスクロール移動する位置指示マークによる指示に応じた踏み位置をユーザが踏むことにより、音楽に合わせてステップを行うダンスゲーム装置が存在する（例えば、特許文献１）。具体的には、特許文献１に記載のダンスゲーム装置は、複数の踏み台部と、音楽を出力するスピーカと、踏み位置マークを表示する表示部とが備える。表示部には、音楽の進行に応じて踏み位置マークが表示されて、画面上をスクロール移動する。踏み位置マークが所定の位置に移動したタイミングと、当該踏み位置マークに対応した踏み台部が踏まれたタイミングとに応じて得点が算出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３７４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載のダンスゲーム装置は、音楽の進行に応じて所定の踏み位置を踏むことによって、リズム感を表現するものであり、音楽の進行を体全体あるいは体の一部で制御するものではなかった。このため、例えば、音楽を演奏するという感覚をユーザに与えるようなものではなかった。また、特許文献１に記載のゲーム装置では、踏み台部が踏まれたことを検出するのみであり、ユーザの体全体の動きをゲームに反映するという点では不十分であった。
【０００５】
それ故、本発明の目的は、ユーザの体の動きを反映して音楽を演奏することが可能な音楽演奏装置、音楽演奏プログラム等を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明は、荷重センサを備えた荷重測定器からの信号を処理する音楽演奏装置のコンピュータにおいて実行される音楽演奏プログラムである。当該音楽演奏プログラムは、重心位置取得手段と、判定手段と、音楽再生手段として、上記コンピュータを機能させる。重心位置取得手段は、上記荷重測定器からの信号に基づいて、重心位置を繰り返し取得する。判定手段は、上記重心位置取得手段によって取得された重心位置の移動が所定の条件を満たすか否かを判定する。音楽再生手段は、上記判定手段によって上記重心位置の移動が上記所定の条件を満たすと判定されるごとに、所定の音楽を順次再生する。
【０００８】
上記によれば、重心位置の移動が所定の条件を満たすごとに、所定の音楽が順次再生される。これにより、ユーザは体の動きに応じて音楽の進行を制御することができる。例えば、重心位置が所定の線を越えて移動した場合や、重心の移動速度（重心が移動する速さ）が所定値以上の場合、重心位置の移動パターンが所定のパターンと一致する場合において、重心位置の移動が所定の条件を満たすと判定されてもよい。
【０００９】
本発明の他の構成では、上記判定手段は、上記重心位置取得手段によって取得された重心位置が所定の基準線を越えて移動したことに応じて、所定の音楽を再生するか否かを判定してもよい。上記音楽再生手段は、上記判定手段によって上記所定の音楽を再生すると判定されるごとに、上記所定の音楽を所定の間隔ずつ順次再生する。
【００１０】
上記によれば、重心位置が基準線を越えて移動したことに応じて所定の音楽を再生するか否かが判定され、所定の音楽を再生すると判定されるごとに、所定の音楽を所定の間隔ずつ順次再生することができる。例えば、重心位置が基準線を越えて移動したと判定されるとある音節が再生され、次に重心位置が基準線を越えて移動したと判定されると、次の音節が再生される。これにより、ユーザの体の動きを音楽再生の制御に反映することができる。
【００１１】
本発明の他の構成では、上記判定手段は、上記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度が所定値以上か否かを判定してもよい。上記音楽再生手段は、上記判定手段によって上記重心位置の移動速度が所定値以上であると判定される場合、所定の音楽を順次再生する。
【００１２】
上記によれば、重心位置の移動速度が所定値以上であると判定される場合に、所定の音楽を順次再生することができる。これにより、ユーザの体の動きを音楽再生の制御に反映することができる。
【００１３】
本発明の他の構成では、上記プログラムは、音量設定手段として、上記コンピュータを更に機能させてもよい。音量設定手段は、上記重心位置取得手段によって取得された重心位置を用いて、上記所定の音楽の再生音量を設定する。上記音楽再生手段は、上記音量設定手段で設定された再生音量で上記所定の音楽を再生する。
【００１４】
上記によれば、重心位置取得手段によって取得された重心位置を用いて、所定の音楽の再生音量を設定することができる。例えば、重心位置や重心が移動する速さに応じて、再生音量を設定することができる。これにより、ユーザの重心移動によって再生音量を変化させることができる。
【００１５】
本発明の他の構成では、上記プログラムは、音量設定手段として上記コンピュータを更に機能させてもよい。音量設定手段は、上記重心位置取得手段によって取得された重心位置と上記所定の基準線との位置関係に基づいて、上記所定の音楽の再生音量を設定する。上記音楽再生手段は、上記音量設定手段で設定された再生音量で上記所定の音楽を再生する。
【００１６】
上記によれば、重心位置に応じて再生音量を設定することができ、ユーザの重心移動によって再生音量を変化させることができる。
【００１７】
本発明の他の構成では、上記音量設定手段は、上記所定の基準線から上記重心位置までの距離が遠いほど上記再生音量を大きく設定してもよい。
【００１８】
上記によれば、重心位置が基準線から離れるほど音量を大きくすることができ、ユーザの踏む力に応じて、音量を大きくすることができる。これにより、ユーザは、例えば、ペダルを強く踏むと大きな音が出る足踏みオルガンと同じ要領で再生音量を調整することができ、足踏みオルガンを演奏しているような感覚をユーザに与えることができる。
【００１９】
本発明の他の構成では、上記音量設定手段は、上記重心位置が上記所定の基準線を含む所定の領域にない場合は、上記再生音量を第１の音量に設定し、上記重心位置が上記所定の領域にある場合は、上記第１の音量よりも小さな音量の範囲で上記再生音量を設定してもよい。
【００２０】
上記によれば、重心位置が基準線を含む所定の領域を超えると、再生音量を第１の音量に設定し、重心位置が所定の領域にある場合は、第１の音量よりも小さな音量で再生音量を設定することができる。これにより、基準線からの距離が所定以上の場合は音量を最大値に固定し、基準線からの距離が所定未満の場合は最大値よりも小さな音量に設定することができる。
【００２１】
本発明の他の構成では、上記音量設定手段は、上記所定の基準線から上記重心位置までの距離に応じて音量の上限値を定め、当該上限値内で上記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に応じて、上記再生音量を設定してもよい。
【００２２】
上記によれば、重心位置および重心の移動速度に応じて、再生音量を設定することができる。例えば、重心が比較的速く移動している場合でも重心位置が基準線から比較的近い範囲で移動している場合は、再生音量を小さくすることができる。
【００２３】
本発明の他の構成では、上記音量設定手段は、上記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に応じて、上記再生音量を設定してもよい。
【００２４】
上記によれば、重心の移動速度に応じて、再生音量を設定することができ、ユーザの重心移動によって再生音量を変化させることができる。
【００２５】
本発明の他の構成では、上記音量設定手段は、上記重心位置の移動速度が速いほど上記再生音量を大きく設定してもよい。
【００２６】
上記によれば、重心の移動速度が速いほど音量を大きくすることができ、ユーザは、例えば、足踏みオルガンと同様の要領で音量を調整することができる。
【００２７】
本発明の他の構成では、上記音楽再生手段は、現在の再生音量から上記音量設定手段で設定された再生音量へ所定期間かけて徐々に変化させて、上記所定の音楽を再生してもよい。
【００２８】
上記によれば、再生音量が急激に変化することを防止することができる。
【００２９】
本発明の他の構成では、上記プログラムは、再生速度設定手段として、上記コンピュータを更に機能させてもよい。再生速度設定手段は、上記重心位置取得手段によって取得された重心位置に基づいて算出される重心位置の移動速度に基づいて、上記所定の音楽の再生速度を設定する。上記音楽再生手段は、上記再生速度設定手段によって設定された再生速度で、上記所定の音楽を再生する。
【００３０】
上記によれば、重心の移動速度に基づいて、音楽の再生速度（テンポ）を変化させることができる。
【００３１】
本発明の他の構成では、上記再生速度設定手段は、上記重心位置の移動速度が速いほど、上記再生速度を速く設定してもよい。
【００３２】
上記によれば、重心の移動速度が速いほど、音楽の再生速度（テンポ）を速くすることができ、ユーザの動きを音楽のテンポと合わせることができる。
【００３３】
本発明の他の構成では、上記プログラムは、時間計測手段と、再生速度設定手段として、上記コンピュータを更に機能させてもよい。時間計測手段は、直前に上記判定手段によって上記所定の音楽を再生すると判定されてから、次に上記判定手段によって上記所定の音楽を再生すると判定されるまでの間の時間を計測する。再生速度設定手段は、上記時間計測手段によって計測された時間に基づいて、上記所定の音楽の再生速度を設定する。上記音楽再生手段は、上記再生速度設定手段によって設定された再生速度で、上記所定の音楽を再生する。
【００３４】
上記によれば、時間計測手段によって計測された時間に基づいて、音楽の再生速度（テンポ）を変化させることができる。
【００３５】
本発明の他の構成では、上記再生速度設定手段は、上記時間計測手段によって計測された時間が短いほど、上記再生速度を速く設定してもよい。
【００３６】
上記によれば、例えばユーザが速く移動した場合は、音楽の再生速度を速くすることができ、ユーザの動きを音楽のテンポと合わせることができる。
【００３７】
本発明の他の構成では、上記判定手段は、上記重心位置が上記所定の基準線を越えて移動した場合において、当該所定の基準線をはさんだ一方の側から他方の側に上記重心位置が移動したときのみ、上記所定の音楽を再生すると判定してもよい。
【００３８】
上記によれば、重心位置が基準線を越えて移動した場合において、その移動方向が一定の方向である場合のみ、所定の音楽を所定の間隔ずつ順次再生することができる。
【００３９】
本発明の他の構成では、上記プログラムは、上記荷重測定器からの信号に基づいて、上記荷重測定器にかかる荷重値を繰り返し取得する荷重値取得手段として、上記コンピュータを更に機能させてもよい。上記音楽再生手段は、上記荷重値取得手段によって取得された荷重値が所定値以上の場合のみ上記所定の音楽を再生する。
【００４０】
上記によれば、例えば、荷重測定器に荷重がかかっている場合のみ、所定の音楽を再生することができる。
【００４１】
上記音楽再生手段は、上記判定手段によって上記重心位置の移動が上記所定の条件を満たすと判定されるごとに、上記所定の音楽を所定の間隔ずつ順次再生してもよい。
【００４２】
上記によれば、所定の音楽を所定の間隔ずつ順次再生することができる。
【００４３】
本発明の他の構成では、前記所定の音楽は、一定の間隔で区切られていてもよい。
【００４４】
上記によれば、例えば、所定の音楽を音節毎に順次再生することができる。
【００４５】
本発明の他の構成では、上記所定の音楽は、１音ずつ区切られていてもよい。上記音楽再生手段は、上記判定手段によって上記所定の音楽を再生すると判定されるごとに、上記所定の音楽を１音ずつ順次再生する。
【００４６】
上記によれば、所定の音楽を１音ずつ順次再生することができる。
【００４７】
本発明の他の構成では、上記荷重測定器は複数の荷重センサを有してもよい。上記重心位置取得手段は、上記複数の荷重センサによってそれぞれ検出された荷重値に基づいて、上記重心位置を算出する。
【００４８】
上記によれば、複数の荷重センサによって重心位置を算出することができる。
【００４９】
また、本発明は、上記音楽演奏プログラムを実行する音楽演奏装置の形態で実施されてもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、１つの情報処理システムとして構成されてもよい。当該情報処理システムは、１つの装置によって構成されてもよいし、複数の装置がネットワーク等によって接続されることによって構成されてもよい。
【発明の効果】
【００５０】
本発明によれば、ユーザの体の動きを反映して音楽を演奏することができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施例であるゲームシステムの外観を示す外観図
【図２】本実施例のビデオゲームシステム１０の電気的な構成を示すブロック図
【図３】図１に示した荷重コントローラ３６の外観を示す斜視図
【図４】図３に示した荷重コントローラ３６のＶＩ−ＶＩ断面図
【図５】荷重コントローラ３６の電気的な構成の一例を示すブロック図
【図６】ユーザが荷重コントローラ３６の上に乗り、本実施形態に係るゲームを行う様子を示した図
【図７】重心位置を定義するＸＹ座標系を示す図
【図８】ＸＹ座標系において定義される基準線および各領域を示す図
【図９】複数の音節に分割された楽曲を示す図
【図１０】重心位置が基準線７０を超えて移動する様子を示す図
【図１１】重心位置と音量との関係を示す図
【図１２】ゲーム装置１２のメインメモリ（外部メインメモリ４６又は内部メインメモリ４２ｅ）に記憶される主なデータを示す図
【図１３】ゲーム装置１２において実行される第１実施形態のゲーム処理の流れを示すフローチャート
【図１４】ゲーム装置１２において実行される第２実施形態のゲーム処理の流れを示すフローチャート
【図１５】基準線の他の例を示す図
【図１６】基準線の他の例を示す図
【図１７】基準線の他の例を示す図
【図１８】他の実施形態において移動方向に応じて各音節が順次再生されることを示す図
【発明を実施するための形態】
【００５２】
［ゲームシステムの全体構成］
次に、図面を参照して本発明に一実施例について説明する。図１は、本発明の一実施例であるゲームシステムの外観を示す外観図である。ゲームシステム１０は、ゲーム装置１２、コントローラ２２および荷重コントローラ３６を含む。なお、図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ（２２，３６）と通信可能に設計されている。また、ゲーム装置１２と各コントローラ（２２，３６）とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。
【００５３】
ゲーム装置１２は、略直方体のハウジング１４を含み、ハウジング１４の前面にはディスクスロット１６が設けられる。ディスクスロット１６から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が挿入されて、ハウジング１４内のディスクドライブ５４（図２参照）に装着される。ディスクスロット１６の周囲には、ＬＥＤと導光板が配置され、さまざまな処理に応答させて点灯させることが可能である。
【００５４】
また、ゲーム装置１２のハウジング１４の前面であり、その上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１６の近傍には、外部メモリカード用コネクタカバー２８が設けられる。この外部メモリカード用コネクタカバー２８の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」という。）が挿入される。メモリカードは、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。
【００５５】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００５６】
ゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル３２ａを通してゲーム装置１２にモニタ３４およびスピーカ３４ａを接続する。このモニタ３４およびスピーカ３４ａは典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２ａは、ゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ３４の周辺（この実施例では、モニタ３４の上側）には、２つの赤外ＬＥＤ（マーカ）３４０ｍ，３４０ｎを備えるマーカ部３４ｂが設けられる。このマーカ部３４ｂは、電源ケーブル３２ｂを通してゲーム装置１２に接続される。したがって、マーカ部３４ｂには、ゲーム装置１２から電源が供給される。これによって、マーカ３４０ｍ，３４０ｎは発光し、それぞれモニタ３４の前方に向けて赤外光を出力する。
【００５７】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００５８】
このゲームシステム１０において、ユーザまたはユーザがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする。それに応じて、ゲーム装置１２がその光ディスク１８に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。
【００５９】
ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、入力手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段２６に対する操作以外にも、コントローラ２２自体を動かすことによって、動画オブジェクト（ユーザオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。コントローラ２２には、３軸方向の加速度を検出する加速度センサ（図示せず）を備えており、ユーザがコントローラ２２を動かすことによって生じる加速度を検出することができる。ゲーム装置１２は、コントローラ２２からの加速度に応じて所定のゲーム処理をすることができる。さらに、コントローラ２２には、マーカ３４０ｍ，３４０ｎが発する赤外光を撮像する撮像手段が備えられており、これによって、コントローラ２２は、モニタ３４の画面上を指示する指示入力装置としても機能する。
【００６０】
図２は、本実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１４内の各コンポーネントは、プリント基板に実装される。図２に示されるように、ゲーム装置１２には、ＣＰＵ４０が設けられる。このＣＰＵ４０は、ゲームプロセッサとして機能する。このＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００６１】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりし、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク１８からプログラムデータやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００６２】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ（Graphics Processor Unit）４２ｂ，ＤＳＰ（Digital Signal Processor）４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【００６３】
入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後で詳細に説明する。
【００６４】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド（作画命令）を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００６５】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。なお、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００６６】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００６７】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００６８】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ３４およびスピーカ３４ａに出力される。したがって、ゲーム画面がモニタ３４に表示され、ゲームに必要な音（音楽）がスピーカ３４ａから出力される。
【００６９】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０および外部メモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００７０】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（送信データとする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（受信データとする）を、ネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、受信データをフラッシュメモリ４４に記憶する。ただし、一定の場合には、受信データをそのまま破棄する。さらに、入出力プロセッサ４２ａは、ダウンロードサーバからダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、ダウンロードデータをフラッシュメモリ４４に記憶する。
【００７１】
また、入出力プロセッサ４２ａは、コントローラ２２や荷重コントローラ３６から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０のゲーム処理によって利用された後、バッファ領域から消去される。
【００７２】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格にしたがってコントローラ２２や荷重コントローラ３６との間で通信を行う。
【００７３】
また、図面の都合上、図２では、コントローラ２２と荷重コントローラ３６とをまとめて記載してある。
【００７４】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０および外部メモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。外部メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０や外部メモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００７５】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１４）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、システムＬＳＩ４２は、通常の通電状態となるモード（通常モードと呼ぶこととする）を設定する。一方、電源ボタン２０ａがオフされると、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、システムＬＳＩ４２は、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という。）を設定する。この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、このスタンバイモードは、ＣＰＵ４０によってアプリケーションの実行が行われないモードである。
【００７６】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動させないようにして、消費電力を低減するようにしてある。
【００７７】
また、図示は省略するが、ゲーム装置１２のハウジング１４内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００７８】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００７９】
また、通常モードとスタンバイモードの切り替えは、コントローラ２２の電源スイッチ（入力手段２６のスイッチの１つ）のオン／オフの切り替えによっても遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００８０】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク１８が排出される。
【００８１】
図３は、図１に示した荷重コントローラ３６の外観を示す斜視図である。図３に示されるように、荷重コントローラ３６は、ユーザがその上に乗る（ユーザの足を乗せる）台３６ａ、および台３６ａにかかる荷重を検出するための少なくとも４つの荷重センサ３６４（３６４ａ〜３６４ｄ）を備える。なお、各荷重センサ３６４は台３６ａに内包されており（図４参照）、図３においてはその配置が点線で示されている。
【００８２】
台３６ａは、略直方体に形成されており、上面視で略長方形状である。たとえば長方形の短辺が３０ｃｍ程度に設定され、その長辺が５０ｃｍ程度に設定される。ユーザが乗る台３６ａの上面は平坦にされる。台３６ａの４隅の側面は、部分的に円柱状に張り出すように形成されている。
【００８３】
この台３６ａにおいて、４つの荷重センサ３６４は、所定の間隔を置いて配置される。この実施例では、４つの荷重センサ３６４は、台３６ａの周縁部に、具体的には４隅にそれぞれ配置される。荷重センサ３６４の間隔は、台３６ａに対するユーザの荷重のかけ方によるゲーム操作の意図をより精度良く検出できるように適宜な値に設定される。
【００８４】
図４は、図３に示した荷重コントローラ３６のＶＩ−ＶＩ断面図を示すとともに、荷重センサ３６４の配置された隅の部分が拡大表示されている。この図４から分かるように、台３６ａは、ユーザが乗るための支持板３６０と脚３６２を含む。脚３６２は、荷重センサ３６４が配置される箇所に設けられる。この実施例では４つの荷重センサ３６４が４隅に配置されるので、４つの脚３６２が４隅に設けられる。脚３６２は、たとえばプラスチック成型によって略有底円筒状に形成されており、荷重センサ３６４は、脚３６２内の底面に設けられた球面部品３６２ａ上に配置される。支持板３６０は、この荷重センサ３６４を介して脚３６２に支持される。
【００８５】
支持板３６０は、上面と側面上部とを形成する上層板３６０ａ、下面と側面下部とを形成する下層板３６０ｂ、および上層板３６０ａと下層板３６０ｂとの間に設けられる中層板３６０ｃを含む。上層板３６０ａと下層板３６０ｂとは、たとえばプラスチック成型により形成されており、接着等により一体化される。中層板３６０ｃは、たとえば１枚の金属板のプレス成型により形成されている。この中層板３６０ｃが、４つの荷重センサ３６４の上に固定される。上層板３６０ａは、その下面に格子状のリブ（図示しない）を有しており、当該リブを介して中層板３６０ｃに支持されている。したがって、台３６ａにユーザが乗ったときには、その荷重は、支持板３６０、荷重センサ３６４および脚３６２を伝達する。図４に矢印で示したように、入力される荷重によって生じた床からの反作用は、脚３６２から、球面部品３６２ａ、荷重センサ３６４、中層板３６０ｃを介して、上層板３６０ａに伝達する。
【００８６】
荷重センサ３６４は、たとえば歪ゲージ（歪センサ）式ロードセルであり、入力された荷重を電気信号に変換する荷重変換器である。荷重センサ３６４では、荷重入力に応じて、起歪体３６５が変形して歪が生じる。この歪が、起歪体に貼り付けられた歪センサ３６６によって、電気抵抗の変化に変換され、さらに電圧変化に変換される。したがって、荷重センサ３６４は、入力荷重を示す電圧信号を出力端子から出力する。
【００８７】
なお、荷重センサ３６４は、音叉振動式、弦振動式、静電容量式、圧電式、磁歪式、またはジャイロ式のような他の方式の荷重センサであってもよい。
【００８８】
図３に戻って、荷重コントローラ３６には、さらに、電源ボタン３６ｃが設けられる。この電源ボタン３６ｃがオンされると、荷重コントローラ３６の各回路コンポーネント（図５参照）に電源が供給される。ただし、荷重コントローラ３６は、ゲーム装置１２からの指示に従ってオンされる場合もある。また、荷重コントローラ３６は、ユーザが乗っていない状態が一定時間（たとえば、３０秒）以上継続すると、電源がオフされる。ただし、荷重コントローラ３６が起動されている状態で、電源ボタン３６ｃをオンしたときに、電源がオフされてもよい。
【００８９】
図５は、荷重コントローラ３６の電気的な構成の一例を示すブロック図である。なお、この図５では、信号および通信の流れは実線矢印で示される。破線矢印は、電源の供給を示している。
【００９０】
荷重コントローラ３６は、その動作を制御するためのマイクロコンピュータ（マイコン）１００を含む。マイコン１００は図示しないＣＰＵ、ＲＯＭおよびＲＡＭ等を含み、ＣＰＵはＲＯＭに記憶されたプログラムに従って荷重コントローラ３６の動作を制御する。
【００９１】
マイコン１００には、電源ボタン３６ｃ、ＡＤコンバータ１０２、ＤＣ−ＤＣコンバータ１０４および無線モジュール１０６が接続される。さらに、無線モジュール１０６には、アンテナ１０６ａが接続される。４つの荷重センサ３６４は、それぞれ、増幅器１０８を介してＡＤコンバータ１０２に接続される。
【００９２】
また、荷重コントローラ３６には電源供給のために電池１１０が収容されている。他の実施例では、電池に代えてＡＣアダプタを接続し、商用電源を供給するようにしてもよい。かかる場合には、ＤＣ−ＤＣコンバータに代えて、交流を直流に変換し、直流電圧を降圧および整流する電源回路を設ける必要がある。この実施例では、マイコン１００および無線モジュール１０６への電源の供給は、電池から直接的に行われる。つまり、マイコン１００内部の一部のコンポーネント（ＣＰＵ）と無線モジュール１０６とには、常に電源が供給されており、電源ボタン３６ｃがオンされたか否か、ゲーム装置１２から電源オン（荷重検出）のコマンドが送信されたか否かを検出する。一方、荷重センサ３６４、ＡＤコンバータ１０２および増幅器１０８には、電池１１０からの電源がＤＣ−ＤＣコンバータ１０４を介して供給される。ＤＣ−ＤＣコンバータ１０４は、電池１１０からの直流電流の電圧値を異なる電圧値に変換して、荷重センサ３６４、ＡＤコンバータ１０２および増幅器１０８に与える。
【００９３】
これら荷重センサ３６４、ＡＤコンバータ１０２および増幅器１０８への電源供給は、マイコン１００によるＤＣ−ＤＣコンバータ１０４の制御によって、必要に応じて行われるようにしてよい。つまり、マイコン１００は、荷重センサ３６４を動作させて荷重を検出する必要があると判断されるときに、ＤＣ−ＤＣコンバータ１０４を制御して、各荷重センサ３６４、ＡＤコンバータ１０２および各増幅器１０８に電源を供給するようにしてよい。
【００９４】
電源が供給されると、各荷重センサ３６４は、入力された荷重を示す信号を出力する。当該信号は各増幅器１０８で増幅され、ＡＤコンバータ１０２でアナログ信号からディジタルデータに変換されて、マイコン１００に入力される。各荷重センサ３６４の検出値には各荷重センサ３６４の識別情報が付与されて、いずれの荷重センサ３６４の検出値であるかが識別可能にされる。このようにして、マイコン１００は、同一時刻における４つの荷重センサ３６４のそれぞれの荷重検出値を示すデータを取得することができる。
【００９５】
一方、マイコン１００は、荷重センサ３６４を動作させる必要がないと判断されるとき、つまり、荷重検出タイミングでないとき、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ３６４、ＡＤコンバータ１０２および増幅器１０８への電源の供給を停止する。このように、荷重コントローラ３６では、必要なときにだけ、荷重センサ３６４を動作させて荷重の検出を行うことができるので、荷重検出のための電力消費を抑制することができる。
【００９６】
荷重検出の必要なときとは、典型的には、ゲーム装置１２（図１）が荷重データを取得したいときである。たとえば、ゲーム装置１２が荷重情報を必要とするとき、ゲーム装置１２は荷重コントローラ３６に対して荷重取得命令を送信する。マイコン１００は、ゲーム装置１２から荷重取得命令を受信したときに、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ３６４等に電源を供給し、荷重を検出する。一方、マイコン１００は、ゲーム装置１２から荷重取得命令を受信していないときには、ＤＣ−ＤＣコンバータ１０４を制御して、電源供給を停止する。
【００９７】
あるいは、マイコン１００は、一定時間ごとに荷重検出タイミングであると判断して、ＤＣ−ＤＣコンバータ１０４を制御するようにしてもよい。このような周期的な荷重検出を行う場合、周期情報は、たとえば、初めにゲーム装置１２から荷重コントローラ３６のマイコン１００に与えられて記憶されてよいし、または、予めマイコン１００に記憶されてよい。
【００９８】
荷重センサ３６４からの検出値を示すデータは、荷重コントローラ３６の操作データ（入力データ）として、マイコン１００から無線モジュール１０６およびアンテナ１０６ｂを介してゲーム装置１２（図１）に送信される。たとえば、ゲーム装置１２からの命令を受けて荷重検出を行った場合、マイコン１００は、ＡＤコンバータ１０２から荷重センサ３６４の検出値データを受信したときに、当該検出値データをゲーム装置１２に送信する。あるいは、マイコン１００は、一定時間ごとに検出値データをゲーム装置１２に送信するようにしてもよい。荷重の検出周期よりも送信周期が長い場合には、送信タイミングまでに検出された複数の検出タイミングの荷重値を含むデータが送信される。
【００９９】
なお、無線モジュール１０６は、ゲーム装置１２の無線コントローラモジュール５２と同じ無線規格（Ｂｌｕｅｔｏｏｔｈ、無線ＬＡＮなど）で通信可能にされる。したがって、ゲーム装置１２のＣＰＵ４０は、無線コントローラモジュール５２等を介して荷重取得命令を荷重コントローラ３６に送信することができる。荷重コントローラ３６のマイコン１００は、無線モジュール１０６およびアンテナ１０６ａを介して、ゲーム装置１２からの命令を受信し、また、各荷重センサ３６４の荷重検出値（または荷重算出値）を含む入力データをゲーム装置１２に送信することができる。
【０１００】
たとえば４つの荷重センサ３６４で検出される４つの荷重値の単なる合計値に基づいて実行されるようなゲームの場合には、ユーザは荷重コントローラ３６の４つの荷重センサ３６４に対して任意の位置をとることができ、つまり、ユーザは台３６ａの上の任意の位置に任意の向きで乗ってゲームをプレイすることができる。しかし、ゲームの種類によっては、各荷重センサ３６４で検出される荷重値がユーザから見ていずれの方向の荷重値であるかを識別して処理を行う必要があり、つまり、荷重コントローラ３６の４つの荷重センサ３６４とユーザとの位置関係が把握されている必要がある。この場合、たとえば、４つの荷重センサ３６４とユーザとの位置関係を予め規定しておき、当該所定の位置関係が得られるようにユーザが台３６ａ上に乗ることが前提とされてよい。典型的には、台３６ａの中央に乗ったユーザの前後左右にそれぞれ荷重センサ３６４が２つずつ存在するような位置関係、つまり、ユーザが荷重コントローラ３６の台３６ａの中央に乗ったとき、ユーザの中心から右前、左前、右後および左後の方向にそれぞれ荷重センサ３６４が存在するような位置関係が規定される。この場合、この実施例では、荷重コントローラ３６の台３６ａが平面視で矩形状に形成されるとともにその矩形の１辺（長辺）に電源ボタン３６ｃが設けられているので、この電源ボタン３６ｃを目印として利用して、ユーザには電源ボタン３６ｃの設けられた長辺が所定の方向（前、後、左または右）に存在するようにして台３６ａに乗ってもらうことを予め決めておく。このようにすれば、各荷重センサ３６４で検出される荷重値は、ユーザから見て所定の方向（右前、左前、右後および左後）の荷重値となる。したがって、荷重コントローラ３６およびゲーム装置１２は、荷重検出値データに含まれる各荷重センサ３６４の識別情報と、予め設定（記憶）された各荷重センサ３６４のユーザに対する位置ないし方向を示す配置データとに基づいて、各荷重検出値がユーザから見ていずれの方向に対応するかを把握することができる。これにより、たとえば前後左右の操作方向のようなユーザによるゲーム操作の意図を把握することが可能になる。
【０１０１】
なお、各荷重センサ３６４のユーザに対する配置は予め規定せずに、初期設定やゲーム中の設定などでユーザの入力によって配置が設定されるようにしてもよい。たとえば、ユーザから見て所定の方向（左前、右前、左後または右後など）の部分に乗るようにユーザに指示する画面を表示するとともに荷重値を取得することによって、各荷重センサ３６４のユーザに対する位置関係を特定することができるので、この設定による配置データを生成して記憶するようにしてよい。あるいは、モニタ３４の画面上に、荷重コントローラ３６の配置を選択するための画面を表示して、目印（電源ボタン３６ｃ）がユーザから見てどの方向に存在するかをコントローラ２２による入力によって選択してもらい、この選択に応じて各荷重センサ３６４の配置データを生成して記憶するようにしてよい。
【０１０２】
（第１実施形態）
（ゲーム処理の概要）
次に、図６〜図１１を参照して、本発明の一実施形態に係るゲーム処理の概要について説明する。図６は、ユーザが荷重コントローラ３６の上に乗り、本実施形態に係るゲームを行う様子を示した図である。図６に示すように、ユーザはモニタ３４の画面の方向を向きながら荷重コントローラ３６の上に乗る。荷重コントローラ３６は、その長手方向が画面に向かう方向に対して垂直になるように置かれる（横置きの配置という）。
【０１０３】
ゲーム装置１２は、荷重コントローラ３６の各荷重センサ３６４が検出した荷重値に基づいて、重心位置を算出する。重心位置は、荷重コントローラ３６を基準として設定されるＸＹ座標系の座標値として表わされる。図７は、重心位置を定義するＸＹ座標系を示す図である。図７に示すように、ＸＹ座標系の原点は、荷重コントローラ３６の左下端部（荷重センサ３６４ｄが配設された端部）に設定される。また、Ｘ軸は荷重コントローラ３６の長辺方向と平行に設定され、Ｙ軸は荷重コントローラ３６の短辺方向と平行に設定される。このように定義された座標系において、各荷重センサ３６４が検出した荷重値に基づいて、重心位置が算出される。
【０１０４】
具体的には、荷重センサ３６４ａが検出する荷重値をａ、荷重センサ３６４ｂが検出する荷重値をｂ、荷重センサ３６４ｃが検出する荷重値をｃ、荷重センサ３６４ｄが検出する荷重値をｄとした場合、重心のＸ軸座標値（ＸＧ）及びＹ軸座標値（ＹＧ）は、以下の式１及び式２によって算出される。
ＸＧ＝（（ａ＋ｂ―ｃ−ｄ））×ｍ＋補正値・・・（１）
ＹＧ＝（（ａ＋ｃ―ｂ−ｄ））×ｎ＋補正値・・・（２）
【０１０５】
ここで、定数ｍ、ｎ、および、補正値が設定されることにより、重心位置（ＸＧ，ＹＧ）は、０≦ＸＧ≦１、０≦ＹＧ≦１で算出される。例えば、荷重コントローラ３６の台３６ａの中心は、ＸＧ＝０．５、ＹＧ＝０．５として表わされる。なお、上記重心位置の算出式は単なる一例であり、その他の方法によって重心位置を算出してもよい。
【０１０６】
ＸＹ平面には、所定の基準線と領域とが定義される。図８は、ＸＹ座標系において定義される基準線および各領域を示す図である。図８に示すように、ＸＹ座標系には、基準線７０、領域７１、および、領域７２が定義される。基準線７０は、Ｘ＝０．５の直線（荷重コントローラ３６の台３６ａを左右に２等分する線）である。領域７１は、０．３＜Ｘ＜０．７を満たす領域である。領域７２は、基準線７０から所定距離離れた領域であり、０．０≦Ｘ≦０．３を満たす領域と、０．７≦Ｘ≦１．０を満たす領域とに分けられる。
【０１０７】
本実施形態では、上記のようにして算出される重心位置と基準線７０とに基づいて、楽曲が再生される。具体的には、ユーザが荷重コントローラ３６の上に乗って体重を左右の方向に移動させると、楽曲が音節ごとに順次再生される。より具体的には、ゲーム装置１２は、算出した重心位置が基準線７０を超えることに応じて、楽曲を音節ごとに再生する。また、ゲーム装置１２は、重心位置および重心位置が移動する速さに応じて、再生する音節の音量を調整する。ここで、重心の速さ（重心位置の移動速度）は、単位時間において重心が移動する距離（Ｘ軸方向の距離）であり、重心の移動距離を時間で除することによって、算出される。
【０１０８】
図９は、複数の音節に分割された楽曲を示す図である。図１０は、重心位置が基準線７０を超えて移動する様子を示す図である。図９に示すように、楽曲Ａは、全体として１つの曲であり、音節Ａ１〜Ａｎ（ｎは整数）に分割されている。各音節は、一定長のひとまとまりの音である。ユーザが荷重コントローラ３６の上に乗って体重を左右方向に移動させると、図１０に示すように、重心位置が移動する。例えば、ユーザが左足と右足とに交互に体重をかけると、図１０に示すように、重心位置は、Ｐ１→Ｐ２→Ｐ３→Ｐ４のように移動する。本実施形態に係るゲームでは、重心位置が基準線７０を超えて移動するごとに、各音節が再生される。例えば、図１０に示すように、重心位置がＰ１からＰ２に移動することに応じて、音節Ａ１が再生される。その後、重心位置がＰ２からＰ３に移動することに応じて、音節Ａ２が再生される。さらに、重心位置がＰ３からＰ４に移動すると、次の音節Ａ３が再生される。このように、本実施形態に係るゲームでは、重心位置が基準線７０を超えて移動するごとに、一定長の音節が再生される。ユーザが左右方向に繰り返し体重を移動させることによって、重心位置が基準線７０を超えて往復運動を繰り返し、これによって、各音節が順次再生されていく。
【０１０９】
次に、順次再生される音節の音量調整について説明する。音量は、重心位置および重心位置が移動する速さ（重心の速さ）に応じて、変化する。具体的には、重心位置が領域７１の範囲内に存在する場合、当該重心位置と重心の速さに応じて、音量が設定される。また、重心位置が領域７２の範囲内に存在する場合、音量は、最大値に設定される。より具体的には、重心位置が領域７１に存在する場合、重心位置と基準線７０との距離に応じて音量の上限が定められる。そして、重心の速さに応じて、定められた上限以下の音量に設定される。
【０１１０】
図１１は、重心位置と音量との関係を示す図である。図１１において、横軸はＸ軸の座標値を示し、縦軸は音量（０〜１．０）を示す。図１１に示すように、０．０≦Ｘ≦０．３の範囲、および、０．７≦Ｘ≦１．０の範囲では、音量は常に最大値（１．０）に設定される。すなわち、領域７２に重心位置が存在する場合は、音量は常に最大値に設定されて、当該音節が再生される。
【０１１１】
一方、０．３＜Ｘ＜０．７では、音量の上限値が基準線７０からの距離に応じて設定される。具体的には、図１１に示すように、Ｘが０．５〜０．７の範囲では、音量の上限値は、０．０５〜０．７の範囲で線形的に設定される。０．５〜０．３の範囲も同様である。当該範囲では、音量は、設定された上限値以下の範囲で、重心の速さに応じて設定される。より具体的には、重心の速さが速いほど、上限値に近付くように音量が設定され、例えば、重心の速さに比例して音量が設定される。例えば、重心位置がＰ２である場合において、重心の速さが所定の閾値以上の場合、音量は、重心位置Ｐ２に応じて設定された上限値（Ｖｍ）に設定される。また、例えば、重心の速さが上記所定の閾値より小さい場合、音量は、重心位置Ｐ２に応じて設定された上限値（Ｖｍ）より小さい値（Ｖ１）に設定される。
【０１１２】
このように、重心位置と重心の速さとに応じて、音量が設定されて、当該設定された音量で音楽（各音節）が再生される。
【０１１３】
以上のように、本実施形態では、ユーザの重心位置が基準線を越えたことに応じて、各音節が順次再生される。これにより、ユーザは、体重の移動によって音楽を再生することができ、また、足を使って音を鳴らすような楽器（例えば、足踏みオルガン）を実際に演奏するような感覚を得ることができる。また、上述のように重心位置や重心の速度に応じて音量が設定されることで、強く踏むと大きな音で再生される。例えば、足踏みオルガン等の楽器では、強く踏むと大きな音が出るため、このようにして音量を変化させることで、ユーザは実際に足踏みオルガン等の楽器を実際に演奏しているような感覚を得ることができる。
【０１１４】
（ゲーム処理の詳細）
次に、図１２〜図１３を参照してゲーム装置１２において実行されるゲーム処理の詳細について説明する。まず、ゲーム装置１２における処理において用いられる主なデータについて図１２を用いて説明する。図１２は、ゲーム装置１２のメインメモリ（外部メインメモリ４６又は内部メインメモリ４２ｅ）に記憶される主なデータを示す図である。
【０１１５】
図１２に示されるように、ゲーム装置１２のメインメモリのデータ記憶領域５００には、荷重値データ５０２、重心位置データ５０４、再生中音節データ５０６、設定音量データ５０８、現在音量データ５１０、及び、音節データ５１２が記憶される。なお、メインメモリには、図１２に示すデータの他、ゲーム処理を実行するゲームプログラム（音楽演奏プログラム）や、その他ゲーム処理に必要な種々のデータが記憶される。
【０１１６】
荷重値データ５０２は、荷重コントローラ３６の各荷重センサ３６４が検出した荷重値を示すデータである。具体的には、荷重値データ５０２には、荷重センサ３６４ａが検出した荷重値ａ、荷重センサ３６４ｂが検出した荷重値ｂ、荷重センサ３６４ｃが検出した荷重値ｃ、および、荷重センサ３６４ｄが検出した荷重値ｄが含まれる。なお、荷重コントローラ３６からゲーム装置１２に、例えば１／２００秒毎に、各荷重センサ３６４ａ〜ｄが検出する荷重値を示すデータが送信される。ゲーム装置１２（ＣＰＵ４０）は、荷重コントローラ３６から送信されるデータを受信すると、荷重値データ５０２としてメインメモリに保存する。
【０１１７】
重心位置データ５０４は、各荷重センサ３６４ａ〜３６４ｄの荷重値から上記式１及び２によって算出される重心位置を示すデータの集合である。具体的には、重心位置データ５０４は、配列であり、配列の各要素には重心位置を示すデータが時系列に格納される。
【０１１８】
再生中音節データ５０６は、現在再生中の音節を示すデータである。具体的には、再生中音節データ５０６は、現在再生中の音節の番号（１〜ｎ）を示すデータである。
【０１１９】
設定音量データ５０８は、設定される再生音量を示すデータであり、０〜１．０の範囲で変化する変数である。
【０１２０】
現在音量データ５１０は、現在の再生音量を示すデータであり、０〜１．０の範囲で変化する変数である。後述のように、音量が設定されると（後述の処理により算出された音量が設定音量データ５０８に設定されると）、所定時間かけて当該設定された音量に変化する。現在音量データ５１０は、現在の実際の音量を示すデータであり、上記設定音量データ５０８が示す音量とは異なる値となることがある。
【０１２１】
音節データ５１２は、各音節Ａ１〜Ａｎを示す音楽データの集合である。
【０１２２】
次に、図１３を参照して、ゲーム装置１２によって実行されるゲーム処理について説明する。図１３は、ゲーム装置１２において実行される第１実施形態のゲーム処理の流れを示すフローチャートである。ゲーム装置１２の電源が投入されると、ゲーム装置１２のＣＰＵ４０は、ＲＯＭ／ＲＴＣ４８に記憶されている起動プログラムを実行し、これによって外部メインメモリ４６等の各ユニットが初期化される。次に、光ディスク１８に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ４０によって当該ゲームプログラムの実行が開始される。図１３に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。なお、図１３では、本発明に直接関連しないゲーム処理については記載を省略する。また、図１３に示すステップＳ４〜ステップＳ１０の処理ループは、１フレーム（例えば１／６０秒。上記フレーム時間）毎に繰り返し実行される。
【０１２３】
まず、ステップＳ１において、ＣＰＵ４０は、初期化処理を行う。初期化処理では、例えば、零点補正が行われる。零点補正とは、各荷重センサ３６４に荷重が加わっていない状態（台３６ａの上に何も乗っていない状態）において、各荷重センサ３６４が検出する荷重値を０（ｋｇ）にする処理である。ＣＰＵ４０は、次にステップＳ２の処理を行う。
【０１２４】
ステップＳ２において、ＣＰＵ４０は、ユーザが荷重コントローラに乗るまで待機する。具体的には、ＣＰＵ４０は、荷重値データ５０２を参照して、各荷重センサ３６４によって検出された荷重値の合計が、所定の閾値以上か否かを判定し、判定結果が肯定になるまで、当該処理を繰り返し実行する。荷重値の合計が、所定の閾値以上である場合、ＣＰＵ４０は、次にステップＳ３の処理を実行する。
【０１２５】
ステップＳ３において、ＣＰＵ４０は、楽曲再生処理を開始する。具体的には、ＣＰＵ４０は、楽曲Ａの最初の音節Ａ１の再生を開始するとともに、再生中音節データに１を設定する。次にステップＳ４の処理を実行する。
【０１２６】
ステップＳ４において、ＣＰＵ４０は、重心位置を算出する。具体的には、ＣＰＵ４０は、荷重値データ５０２を参照して、各荷重センサ３６４によって検出された荷重値を取得する。ＣＰＵ４０は、取得した各荷重値を上記式（１）および（２）に代入することにより、重心位置Ｇ０（ＸＧ０，ＹＧ０）を算出する。そして、ＣＰＵ４０は、算出した重心位置を重心位置データ５０４としてメインメモリに格納する。ＣＰＵ４０は、次にステップＳ５の処理を実行する。
【０１２７】
ステップＳ５において、ＣＰＵ４０は、重心が基準線７０を超えたか否かを判定する。具体的には、ＣＰＵ４０は、重心位置データ５０４を参照して、直前のフレーム（処理ループ）においてステップＳ４で算出された重心位置Ｇ１（ＸＧ１，ＹＧ１）と、現在のフレームにおいてステップＳ４で算出された重心位置Ｇ０（ＸＧ０，ＹＧ０）とに基づいて、重心が基準線７０を越えて移動したか否かを判定する。例えば、ＣＰＵ４０は、ＸＧ１≦０．５、かつ、ＸＧ０＞０．５である場合、重心位置が基準線７０を超えたと判定する。あるいは、ＣＰＵ４０は、ＸＧ１＞０．５、かつ、ＸＧ０≦０．５である場合、重心位置が基準線７０を超えたと判定する。すなわち、ＣＰＵ４０は、直前の重心位置Ｇ１が基準線７０よりも左側の領域に存在する場合において、最新の重心位置Ｇ０が基準線７０よりも右側の領域に存在するとき、重心位置が基準線７０を超えたと判定する。また、ＣＰＵ４０は、直前の重心位置Ｇ１が基準線７０よりも右側の領域に存在する場合において、最新の重心位置Ｇ０が基準線７０よりも左側の領域に存在するとき、重心位置が基準線７０を超えたと判定する。判定結果が肯定の場合、ＣＰＵ４０は、次にステップＳ６の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ４０は、次にステップＳ７の処理を実行する。
【０１２８】
ステップＳ６において、ＣＰＵ４０は、現在再生中の音節の再生を停止して、次の音節の再生を開始する。具体的には、ＣＰＵ４０は、再生中音節データ５０６を参照して、現在再生中の音節の次の音節について、再生を開始するとともに、再生中音節データ５０６を更新する。次に、ＣＰＵ４０は、ステップＳ９の処理を実行する。
【０１２９】
一方、ステップＳ７において、ＣＰＵ４０は、現在再生中の音節について再生が終了したか否かを判定する。具体的には、ＣＰＵ４０は、再生中音節データ５０６によって示される音節の再生を開始してからの経過時間が一定時間を超えたか否かを判定する。判定結果が肯定の場合、ＣＰＵ４０は、次にステップＳ８の処理を実行する。判定結果が否定の場合、ＣＰＵ４０は、次にステップＳ９の処理を実行する。
【０１３０】
ステップＳ８において、ＣＰＵ４０は、現在再生中の音節の最後の音符の音を持続させたまま、楽曲の進行を停止する。次に、ＣＰＵ４０は、ステップＳ９の処理を実行する。
【０１３１】
ステップＳ９において、ＣＰＵ４０は、重心位置および重心が移動する速さ（重心の速さ）に応じて、再生音量を変化させる。具体的には、ＣＰＵ４０は、まず、現在の重心位置Ｇ０が、基準線７０から所定距離以上離れた領域７２に存在するか否かを判定する。重心位置Ｇ０が領域７２に存在する場合、ＣＰＵ４０は、音量を最大値（１．０）に設定して、設定音量データ５０８に当該最大値を格納する。
【０１３２】
重心位置Ｇ０が基準線７０から所定距離内の領域７１に存在する場合、ＣＰＵ４０は、当該重心位置Ｇ０に応じて音量の上限値（０．０５〜０．７の範囲）を設定するとともに、重心の速さに応じて、当該上限値以下で音量を設定する。例えば、図１０に示すように現在の重心位置Ｇ０がＰ２であった場合、ＣＰＵ４０は、図１１に示すグラフに基づいて重心位置Ｐ２における上限値Ｖｍを設定する。そして、ＣＰＵ４０は、重心の速さに応じて、音量を設定する。具体的には、重心の速さが速ければ速いほど、上限値に近づくように音量が設定される。例えば、ＣＰＵ４０は、現在の重心の速さに所定の定数をかけることによって、音量の値を算出する。なお、重心の速さは、所定フレーム前の重心位置と現在の重心位置との距離（Ｘ軸方向のみの距離）を算出し、算出した距離をフレーム数で除することにより、求められる。そして、ＣＰＵ４０は、このようにして算出した音量を設定音量データ５０８としてメインメモリに格納する。
【０１３３】
さらにステップＳ９において、ＣＰＵ４０は、現在の音量を上述のようにして設定された音量に所定フレームかけて変化させる。具体的には、ＣＰＵ４０は、設定音量データ５０８に格納された値と、現在音量データ５１０に格納された現在の音量の値とに基づいて、音節を再生する際の再生音量を決定する。例えば、ＣＰＵ４０は、現在の音量の値と設定音量データ５０８に格納された値との差分を算出し、当該差分を所定フレームで除した値を求める。そして、ＣＰＵ４０は、現在の音量に当該差分を所定フレームで除した値を加えることによって、現在の音量を設定音量データ５０８に格納された値に線形的に変化させる。このようにして、ＣＰＵ４０は、現在音量データ５１０を更新する。そして、ＣＰＵ４０は、更新した現在音量データ５１０に格納された値に応じた再生音量で、再生中音節データ５０６によって示される音節を再生する。なお、現在の音量から設定音量データ５０８に格納された音量値へはどのように変化されてもよく、非線形的に変化されてもよい。
【０１３４】
以上のように、ステップＳ９において、ＣＰＵ４０は、再生音量を所定フレームかけて徐々に変化させる。ステップＳ９の後、次に、ステップＳ１０の処理が実行される。
【０１３５】
ステップＳ１０において、ＣＰＵ４０は、ユーザが荷重コントローラ３６から降りたか否かを判定する。具体的には、ＣＰＵ４０は、荷重値データ５０２を参照して、各荷重センサ３６４によって検出された荷重値の合計が、所定の閾値未満か否かを判定する。判定結果が否定の場合、ＣＰＵ４０は、ステップＳ４の処理を再び実行する。一方、判定結果が肯定の場合、ＣＰＵ４０は、図１３に示す処理を終了する。
【０１３６】
以上のように、本実施形態では、重心が基準線７０を超えて移動したことに応じて、各音節が順次再生される。また、再生される音節の音量は、重心位置および重心の速さに応じて変化する。これにより、ユーザは重心を移動させながら音楽を再生することができ、例えば、足踏みオルガンのような楽器を足で踏みながら演奏するような感覚を得ることができる。
【０１３７】
すなわち、ユーザは荷重コントローラ３６を左右の足で交互に踏むことによって、楽曲を音節毎に順次再生させることができる。また、上記実施形態では、重心の速さが速ければ速いほど、また、重心位置が基準線７０から遠ければ遠いほど大きな音量で再生される。逆に、重心位置が基準線７０よりも近いほど、また、重心の速さが遅いほど（重心の速さが０に近づくほど）、小さな音量で再生される。このため、ユーザが荷重コントローラ３６を左右の足で交互に踏む際に、強く踏めば踏むほど（速く踏めば踏むほど）、大きな音量で各音節が再生される。これにより、ペダルを強く踏むと大きな音が出る実際の足踏みオルガンと同様の要領で、再生音量を調整することができる。
【０１３８】
また、上記実施形態では、重心位置および重心の速さに応じて音量が設定され、当該設定された音量に所定フレーム（所定時間）かけて徐々に変化される。これにより、急激に再生音量が変化することを防止できる。例えば、音量が０に設定された場合、所定フレームかけて０になるように再生音量が変化される（徐々に再生音量が小さくなって無音になる）。これによって、実際の足踏みオルガンにおいてペダルを踏むことをやめてもしばらくは音が鳴り続け、時間が経過するにしたがって徐々に音量が小さくという現象と一致させることができ、実際の足踏みオルガンを演奏している感覚をユーザに与えることができる。
【０１３９】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態においては、上述した第１実施形態と同様のゲームシステムを用いたゲーム処理が行われる。具体的には、第２実施形態では、上記基準線７０は設定されずに、重心の速さが第１の閾値を超えている場合に、各音節が順次再生される。すなわち、第２実施形態では、重心位置が基準線７０を超えたか否かに関わらず、重心の速さが第１の閾値を超えている場合に、各音節が一定の速さで順次再生される。つまり、重心の速さが第１の閾値を超えている状態が継続していると、各音節は一定の速さで順次再生されて楽曲の再生が進行する。この場合において、再生音量は、重心の速さに応じて変化する。具体的には、再生音量は、重心の速さに比例して大きくなるように設定される。なお、重心の速さが速すぎる場合（重心の速さが第２の閾値（＞第１の閾値）を超えている場合）、楽曲の再生は停止する。
【０１４０】
（ゲーム処理の詳細）
以下、図１４を参照して、第２実施形態におけるゲーム装置１２において実行されるゲーム処理の詳細について説明する。
【０１４１】
図１４は、ゲーム装置１２において実行される第２実施形態のゲーム処理の流れを示すフローチャートである。なお、図１４において、図１３と同様の処理については、同じ符号を付し説明を省略する。
【０１４２】
まず、ステップＳ１〜ステップＳ３の処理が行われた後、ステップＳ２０の処理が行われる。ステップＳ２０において、ＣＰＵ４０は、重心が移動する速さ（重心の速さ）を算出する。重心の速さは、第１実施形態と同様に、所定フレーム前の重心位置と現在の重心位置との距離（Ｘ軸方向のみの距離）を算出し、算出した距離をフレーム数で除することにより、求められる。次に、ＣＰＵ４０は、ステップＳ２１の処理を実行する。
【０１４３】
ステップＳ２１において、ＣＰＵ４０は、重心の速さが所定の範囲内か否かを判定する。具体的には、ＣＰＵ４０は、ステップＳ２０で算出した重心の速さが、第１の閾値より大きく、かつ、重心の速さが第２の閾値（＞第１の閾値）より小さいか否かを判定する。判定結果が肯定の場合、ＣＰＵ４０は、次にステップＳ２２の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ４０は、次にステップＳ２４の処理を実行する。
【０１４４】
ステップＳ２２において、ＣＰＵ４０は、現在音節を再生中か否かを判定する。具体的には、ＣＰＵ４０は、再生中音節データ５０６によって示される音節の再生を開始してからの経過時間が一定時間内か否かを判定する。判定結果が肯定の場合、ＣＰＵ４０は、次にステップＳ２３の処理を実行する。一方、判定結果が否定の場合、ＣＰＵ４０は、次にステップＳ６の処理を実行する。
【０１４５】
ステップＳ２３において、ＣＰＵ４０は、重心の速さに応じて、再生音量を変化させる。具体的には、ＣＰＵ４０は、ステップＳ２０で算出した重心の速さに所定の定数をかけることによって、音量の値を算出し、算出した値を設定音量データ５０８としてメインメモリに格納する。次に、ＣＰＵ４０は、設定音量データ５０８に格納された値と、現在音量データ５１０に格納された現在の音量の値とに基づいて、音節を再生する際の再生音量を決定する。具体的には、上述のステップＳ９と同様に、ＣＰＵ４０は、再生音量を所定フレームかけて徐々に変化させる。そして、ＣＰＵ４０は、決定した再生音量を現在音量データ５１０としてメインメモリに格納するとともに、当該再生音量で再生中音節データ５０６によって示される音節を再生する。ステップＳ２３の処理の後、ＣＰＵ４０は、ステップＳ１０の処理を実行する。
【０１４６】
一方、ステップＳ２４において、ＣＰＵ４０は、曲の進行を停止する。すなわち、ＣＰＵ４０は、重心が殆ど移動していない場合（重心の速さが第１の閾値以下の場合）、または、重心の速さが速すぎる場合（重心の速さが第２の閾値以上である場合）、曲の進行を停止する。次に、ＣＰＵ４０は、ステップＳ１０の処理を実行する。なお、ステップＳ２４で曲の進行が停止した場合において、再び重心の速さが所定の範囲となった場合（ステップＳ２１でＹｅｓ）、停止した音節の次の音節から再生が開始され（ステップＳ６）、曲の進行が再開する。
【０１４７】
なお、第２実施形態においては、楽曲が予め複数の音節に分割される必要はない。すなわち、楽曲は予め複数の音節に分割されずに１つの曲として構成され、重心の速さが所定の範囲である場合は、当該１つの曲を順次再生し、重心の速さが所定の範囲でない場合は当該曲の再生を停止してもよい。具体的には、ステップＳ２２およびステップＳ６の処理が実行されなくてもよい。
【０１４８】
以上のように、第２実施形態においては、重心の速さが第１の閾値を超えている場合に、各音節が順次再生される。また、各音節の再生音量は、重心の速さに応じて変化する。これにより、ユーザが重心を移動させている場合に楽曲を再生させることができる。また、第２実施形態では、重心の速さが速ければ速いほど、大きな音量で再生される。このため、ユーザが荷重コントローラ３６を左右の足で交互に踏む際に、強く踏めば踏むほど（速く踏めば踏むほど）、大きな音量で各音節が再生される。これにより、ペダルを強く踏むと大きな音が出る実際の足踏みオルガンと同様の要領で、再生音量を調整することができる。
【０１４９】
また、上記実施形態では、重心の速さに応じて音量が設定され、当該設定された音量に所定フレーム（所定時間）かけて徐々に変化される。これにより、急激に再生音量が変化することを防止できる。例えば、音量が０に設定された場合、所定フレームかけて０になるように再生音量が変化される（徐々に再生音量が小さくなって無音になる）。これによって、実際の足踏みオルガンにおいてペダルを踏むことをやめてもしばらくは音が鳴り続け、時間が経過するにしたがって徐々に音量が小さくという現象と一致させることができ、実際の足踏みオルガンを演奏している感覚をユーザに与えることができる。
【０１５０】
（変形例）
なお、上記第１および第２実施形態では、楽曲Ａは一定長の音節によって分割され、当該音節が、重心の移動に応じて順次再生された。他の実施形態では、楽曲は１音ずつ分割され、重心の移動に応じて１音ずつ順次再生されてもよい。また、他の実施形態では、楽曲は、それぞれ長さの異なる部分（所定の間隔）に分割されており、重心の移動に応じて各部分が順次再生されてもよい。
【０１５１】
また、上記第１および第２実施形態では、曲のテンポ（各音節の再生速度）は一定であるとした。他の実施形態では、重心位置が基準線７０を超えたと判定されてから次に重心位置が基準線７０を超えたと判定されるまでの時間に応じて、各音節の再生速度を変化させてもよい。具体的には、ゲーム装置１２は、重心位置が基準線７０を超えたと判定してから次に重心位置が基準線７０を超えたと判定するまでの時間を計測する。そして、ゲーム装置１２は、当該計測時間に応じて、音節の再生速度を変化させてもよい。例えば、当該時間が短ければ短いほど、当該音節の再生速度を速く設定してもよい。これによって、ユーザが左右方向に体を速く移動させるほど、各音節の再生速度を速くすることができる。
【０１５２】
また、他の実施形態では、曲のテンポは、重心の速さに応じて変化されてもよい。この場合において、例えば、重心の速さが速ければ速いほど、曲のテンポ（各音節の再生速度）を速く設定してもよい。
【０１５３】
また、第１実施形態では、重心位置が荷重コントローラ３６を左右に２等分する基準線７０を超えて移動した場合に、音節を順次再生した。他の実施形態では、基準線はどのような位置に配置されてもよいし、基準線は複数設定されてもよい。また、基準線は直線に限らず、曲線であってもよい。図１５から図１７は、基準線の他の例を示す図である。図１５に示すように、基準線は、荷重コントローラ３６を左右に２等分する線７０１と、上下に２等分する線７０２として定義されてもよい。また、図１６に示すように、基準線は曲線７０３として定義されてもよい。また、図示は省略するが、基準線は、荷重コントローラ３６の台３６ａを複数の領域に分割する直線である必要はなく、台３６ａを複数の領域に分割しない線分であってもよい（例えば、基準線はＸ＝０．５で、かつ、０．３＜Ｙ＜０．７の線分として定義されてもよい）。
【０１５４】
また、図１７に示すように、基準線は、Ｙ軸に平行な２つの線７０４および７０５として定義されてもよい。この場合において、例えば、重心位置が２つの線７０４および７０５を超えて移動した場合に、次の音節が再生されてもよい。すなわち、重心位置が線７０４よりも左側の領域から、２つの線７０４と７０５との間の領域に移動した場合は、次の音節を再生せず、さらに重心位置が線７０５よりも右側に移動した場合に、次の音節を再生してもよい。このように、２つの線によって基準線を定義することによって、いわゆる遊びの領域を持たせることができ、重心位置が図１０に示す基準線７０付近で左右に移動している場合に、ユーザの意図に反して次々に曲が進行することを防止することができる。
【０１５５】
また、第１実施形態では、重心位置が基準線７０を超えて移動したことに応じて、各音節が順次再生された。他の実施形態では、重心位置の移動方向も考慮して、各音節が再生されてもよい。図１８は、他の実施形態において移動方向に応じて各音節が順次再生されることを示す図である。図１８に示すように、例えば、基準線７０によって分割される２つの領域のうち、一方の領域（左側領域）から他方の領域（右側領域）に重心位置が移動した場合は、次の音節を再生し、右側領域から左側領域に重心位置が移動した場合は、次の音節を再生しない。すなわち、基準線７０を挟んだ一方の側（左側）から他方の側（右側）に重心位置が移動した場合にのみ、次の音節を再生してもよい。この場合において、基準線７０を挟んだ他方の側から一方の側に重心位置が移動した場合は、現在再生中の音節を継続して再生してもよいし、現在再生中の音節を停止してもよい。
【０１５６】
また、第１実施形態では、領域７１においては重心位置および重心の速さに応じて音量が設定された。すなわち、重心位置が基準線７０から離れることに応じて、音量の上限値が設定され、当該上限値以下の範囲で、重心の速さに応じて音量が設定された。他の実施形態では、重心位置がどの領域に存在しているかに関わらず、重心位置および重心の速さの何れか一方のみに基づいて音量が設定されてもよい。例えば、重心位置のみに基づいて音量が設定される場合、図１１に示すようにＸが０．３〜０．７の範囲において示される上限値が、音量として設定されてもよい（すなわち、位置Ｐ２のときの音量はＶｍに設定されてもよい）。また、例えば、重心の速さのみに基づいて、音量が設定されてもよい。
【０１５７】
また、第１実施形態では、重心位置が基準線７０から離れるほど音量が大きく設定されたが、他の実施形態では、重心位置が基準線７０から離れるほど音量が小さく設定されてもよい。このように、重心位置と基準線との位置関係に基づいて、音量が設定されてもよい。また、第１実施形態では、重心の速さが速いほど音量が大きく設定されたが、重心の速さが速いほど音量が小さく設定されてもよい。
【０１５８】
また、第１実施形態では重心が基準線を越えて移動したことに応じて各音節が順次再生され、第２実施形態では重心の速さが所定値以上の場合に各音節が順次再生された。他の実施形態では、次の音節を再生するか否かを判定するための条件は、これらに限らない。すなわち、上記実施形態では、足踏みオルガンのような楽器を想定して、足踏みオルガンにおける足踏み動作と類似するような重心位置の移動があったか否かを判定し、それによって音楽の進行を制御した。他の実施形態では、他の特定の楽器を想定してその楽器の演奏時における動作を重心位置の移動によって判定し、それによって音楽の進行を制御してもよいし、特定の楽器を想定せずに、重心位置の移動によって音楽の進行を制御してもよい。
【０１５９】
例えば、重心位置が所定のパターンで移動しているか否かを判定し、当該判定結果が肯定の場合に、次の音節を再生してもよい。例えば、重心位置が円または楕円形状を描くように移動したか否かを判定し、重心位置が円または楕円形状を描くように移動するごとに次の音節を順次再生してもよい。また、例えば、重心位置が所定方向に往復運動しているか否かを判定し、往復運動している場合は各音節を順次再生してもよい。このような重心の移動パターンは、上記第１および第２実施形態の足踏みオルガンの例において示した重心の移動パターンと基本的には同じであり、重心の移動の判定方法が異なるだけである。すなわち、第１実施形態では重心位置が左右方向に往復運動しているか否かを基準線を用いて判定したが、他の実施形態では、当該重心の移動パターンを他の方法によって判定してもよい。例えば、重心の移動方向が反転したか否か（すなわち、現在の重心の移動方向と直前の重心の移動方向とが略１８０度異なるか否か）を判定し、判定結果が肯定となるごとに、次の音節を順次再生してもよい。
【０１６０】
以上のように、他の実施形態では、重心位置の移動が所定の条件を満たすか否かを判定し、判定結果が肯定となるごとに、各音節が順次再生されてもよい。ここで、重心位置の移動が所定の条件を満たすか否かの判定は、例えば、重心位置が基準線を越えて移動したか否かの判定であってもよいし、重心の速さが所定値以上か否かの判定であってもよい。また、重心位置の移動が所定の条件を満たすか否かの判定は、例えば、重心位置が所定のパターンで移動しているか否かの判定であってもよい。
【０１６１】
また、本実施形態では、４つの荷重センサ３６４を備えた荷重コントローラ３６を用いて上記処理を行った。他の実施形態では、荷重センサは４つである必要はなく、３つであってもよいし、５つ以上であってもよい。また、４つの荷重センサ３６４は、荷重コントローラ３６の四隅に配置される必要はなく、どのように配置されてもよい。すなわち、荷重センサの数や配置はどのようなものでもよく、荷重センサの幾何学的な配置に固有の補正を行うことによって、重心位置を算出することができる。
【０１６２】
また、本実施形態では、各荷重センサ３６４からの検出値を示すデータがゲーム装置１２に送信されることとした。他の実施形態では、荷重コントローラ３６が、各荷重センサ３６４が検出する荷重の合計値と重心位置とを算出し、算出した合計値と重心位置とをゲーム装置１２に送信してもよい。すなわち、荷重コントローラ３６が算出した合計荷重値と重心位置とを含む信号をゲーム装置１２が受信し、ゲーム装置１２が受信した信号からこれらの情報を取得してもよい。
【０１６３】
また、本発明に係るゲームプログラムは、光ディスク１８等の外部記憶媒体を通じてゲーム装置１２に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置１２に供給されてもよい。また、ゲームプログラムは、ゲーム装置１２内部の不揮発性記憶装置に予め記録されていてもよい。なお、ゲームプログラムを記憶する情報記憶媒体（コンピュータ読み取り可能な記憶媒体）としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状の記憶媒体の他に、不揮発性半導体メモリでもよい。
【０１６４】
また、上述したプログラムは、ゲーム装置１２以外の情報処理装置、例えば、音楽演奏のための専用装置や荷重を測定可能な装置を備えるパーソナルコンピュータ等において実行されてもよい。
【０１６５】
また、上記音楽演奏の方法は、複数の機器が有線又は無線で接続されて構成された情報処理システムによって実現されてもよい。例えば、荷重を測定する荷重測定器と情報処理装置とがローカル接続され、当該情報処理装置と楽曲を保存するサーバとがインターネット等のネットワークで接続されてもよい。そして、情報処理装置が当該サーバから楽曲をダウンロードし、当該ダウンロードした楽曲を、荷重測定器からの信号に応じて順次再生してもよい。
【０１６６】
また、本実施形態においては、ゲーム装置１２のＣＰＵ４０がゲームプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置１２が備える専用回路によって行われてもよい。
【符号の説明】
【０１６７】
１０  ゲームシステム
１２  ゲーム装置
３６  荷重コントローラ
３６４  荷重センサ
４０  ＣＰＵ
７０  基準線
【図１】
0005667847.tif 000002
【図２】
0005667847.tif 000003
【図３】
0005667847.tif 000004
【図４】
0005667847.tif 000005
【図５】
0005667847.tif 000006
【図６】
0005667847.tif 000007
【図７】
0005667847.tif 000008
【図８】
0005667847.tif 000009
【図９】
0005667847.tif 000010
【図１０】
0005667847.tif 000011
【図１１】
0005667847.tif 000012
【図１２】
0005667847.tif 000013
【図１３】
0005667847.tif 000014
【図１４】
0005667847.tif 000015
【図１５】
0005667847.tif 000016
【図１６】
0005667847.tif 000017
【図１７】
0005667847.tif 000018
【図１８】
0005667847.tif 000019