説明

音楽プレーヤおよびプログラム

【課題】 楽曲を再生し、その進行に合わせてユーザが行うべき操作をディスプレイに表示し、ユーザが操作ミスをしたときにミスに対応する音声信号を放音するゲームモードを有する音楽プレーヤにおいて、ゲームの実行中、ユーザが所望の期間に手を休めて単なる楽曲の鑑賞を行うことができるようにする。
【解決手段】 動作モード選択ボタン87を用いてゲームモードまたは再生モードを選択する。ゲームモードにおいては、再生位置カーソル110の位置が操作指示マーク91〜94,101〜106に達したときにユーザがボタン81,82を正確なタイミングで押下したか否かが検出され、操作が不適切であれば所定の不適合音が発音される。一方、再生モードにおいては、不適合音が消音され、画面のみが更新される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽曲を再生しつつゲームを楽しむことができる音楽プレーヤおよびプログラムに関する。
【背景技術】
【0002】
楽曲を再生するとともに、この楽曲の進行に合わせてユーザが行うべき操作をディスプレイに表示し、ユーザが正しい操作を正しいタイミングで行ったか否かを判定するゲーム装置が特許文献1に開示されている。この装置においては、操作内容または操作タイミングが不適切であった場合には、操作ミスが生じたものとして、その旨を表す所定の「不適合音」を放音するものである。また、圧縮音声データ等の音楽データをハードディスク等のメモリに記憶し、その音楽データを再生することによって音楽を鑑賞することができる音楽プレーヤも商品化されている。
【0003】
【特許文献1】特開2001−232058号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、従来の音楽プレーヤもしくはゲーム装置においては、音楽データを元に単に音楽を再生するか、若しくはゲームを行うかだけの機能しか有しておらず、一つの音楽データを用いて音楽鑑賞が可能で、かつ、ゲームもできるというものではなかった。
この発明は上述した事情に鑑みてなされたものであり、ユーザが一つの音楽データによって、ゲームも実行でき、かつ、音楽鑑賞も行うことができる音楽プレーヤおよびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0005】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の音楽プレーヤにあっては、ユーザによって操作されるゲーム操作子(81,82)と、音楽データ(圧縮音声データ31または演奏データ32)と、該音楽データに対応し該音楽データの進行に応じて前記ゲーム操作子(81,82)を操作すべきタイミングを定めるゲーム制御データとを記憶する記憶手段と、前記音楽データを再生する再生手段(20)と、再生モードまたはゲームモードの何れかの動作モードを選択する動作モード選択操作子(87)と、前記動作モード選択操作子(87)によって前記ゲームモードが選択されたことを条件として、前記音楽データを前記再生手段(20)に供給するとともに前記ゲーム操作子(81,82)の操作状態と前記ゲーム制御データとの適合状態に基づいて所定の効果付与処理を行う一方、前記動作モード選択操作子(87)によって前記再生モードが選択されたことを条件として、前記効果付与処理を防止しつつ前記音楽データを前記再生手段(20)に供給する制御手段(SP34,SP68,SP82,SP112)とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の音楽プレーヤにおいて、前記動作モード選択操作子(87)によって前記ゲームモードが選択されたか否かを前記音楽データの再生中に繰り返し判定する動作モード判定手段(SP20,SP35,SP100)をさらに有し、前記制御手段は、前記動作モード判定手段(SP20,SP35,SP100)の判定結果に基づいて、前記動作モードが前記ゲームモードであるか、前記再生モードであるかを判定することを特徴とする。
さらに、請求項3記載の構成にあっては、請求項1記載の音楽プレーヤにおいて、前記音楽データと、該音楽データに対応するゲーム制御データとは一のファイルに含まれるものであることを特徴とする。
また、請求項4記載のプログラムにあっては、ユーザによって操作されるゲーム操作子(81,82)と、処理装置(6)と、音楽データ(圧縮音声データ31または演奏データ32)と該音楽データに対応し該音楽データの進行に応じて前記ゲーム操作子(81,82)を操作すべきタイミングを定めるゲーム制御データとを記憶する記憶手段と、前記音楽データを再生する再生手段(20)と、再生モードまたはゲームモードの何れかの動作モードを選択する動作モード選択操作子(87)とを有する音楽プレーヤに適用されるプログラムであって、前記動作モード選択操作子(87)によって前記ゲームモードが選択されたことを条件として、前記音楽データを前記再生手段(20)に供給するとともに前記ゲーム操作子(81,82)の操作状態と前記ゲーム制御データとの適合状態に基づいて所定の効果付与処理を行う一方、前記動作モード選択操作子(87)によって前記再生モードが選択されたことを条件として、前記効果付与処理を防止しつつ前記音楽データを前記再生手段(20)に供給する制御過程(SP34,SP68,SP82,SP112)とを前記処理装置(6)に実行させることを特徴とする。
【発明の効果】
【0006】
このように本発明によれば、動作モード選択操作子によってゲームモードが選択されたことを条件として、音楽データを再生手段に供給するとともにゲーム操作子の操作状態とゲーム制御データとの適合状態に基づいて所定の効果処理を行う一方、再生モードが選択されたことを条件として、効果付与処理を防止しつつ音楽データを再生手段に供給するから、ユーザは、一つの音楽データによってゲームも実行できるし、音楽鑑賞も行うこともできる。
【発明を実施するための最良の形態】
【0007】
1.実施例の構成
次に、本発明の一実施例の音楽プレーヤの構成を図1を参照し説明する。図1において2はLCD(液晶表示装置)、4は該LCD2を制御するLCDインタフェースである。6はCPUであり、ROM14に記憶されたプログラムに基づいて、システムバス10を介して各部を制御する。5はクロック回路であり、音楽データの再生が開始された時点を基準とする現在時刻を計測するとともに、CPU6に対してタイマ割込みを発生させる。20は楽音再生部であり、演奏データに基づいて音声信号(楽音信号)を生成する音源部22と、AAC形式またはMP3形式等の圧縮音声データを非圧縮の音声信号に変換するデコーダ24と、音源部22またはデコーダ24から出力された音声信号にエフェクトを付与するDSP26等とから構成されている。8はDAコンバータであり、楽音再生部20から出力された音声信号をアナログ信号に変換する。変換された音声信号はサウンドシステム9を介して発音される。12はRAMであり、CPU6のワークメモリとして使用される。また、RAM12は不揮発性のRAMであり、後述する音楽データ等もRAM12に記憶される。16は通信モジュールであり、外部機器との間で、音楽・ゲームファイルのダウンロード等の処理を行う。18は操作部であり、ユーザによって操作される各種ボタン等から構成される。
【0008】
次に、本実施例の音楽プレーヤの操作パネルの構成を図3を参照し説明する。図3において81,82はゲーム用のボタンである。83はメニューボタンであり、LCD2に各種のメニューを表示させるために設けられている。84,85は選曲ボタンであり、音楽プレーヤにおいて再生する音楽データを選択する。86は再生・停止ボタンであり、音楽データの再生および停止を指示するものである。87は動作モード選択ボタンであり、単に音楽データを再生する「再生モード」または音楽データを用いてゲームを行う「ゲームモード」のうち何れかの動作モードを、押下される毎にトグルで切り替える。88はゲームモード・ランプであり、動作モードとしてゲームモードが選択されたときに点灯する。また、89は再生モード・ランプであり、動作モードとして再生モードが選択されたときに点灯する。そして、図3に示すLCD2の表示画面はゲームモードで動作している場合の表示例を示すものである。この表示画面において112,114は小節線であり、再生中の音楽データの小節の区切りを示す。91〜94は上側操作指示マークであり、ユーザが上側のボタン81を押下すべきタイミングを表すものである。同様に、101〜106は下側操作指示マークであり、ユーザが下側のボタン82を押下すべきタイミングを表すものである。110は再生位置カーソルであり、音楽データの現在の再生位置を表す。そして、図示のように、「2」小節分の操作指示マーク91〜94,101〜106がLCD2に表示されることになる。
【0009】
本実施例においては、小節線112,114および操作指示マーク91〜94,101〜106が図示の位置に表示されており、該当する音楽データの第1小節と第2小節とが表示されている。再生位置カーソル110は、左端の小節線112の位置から右方向に移動することで現在の再生位置を表示する。そして、再生位置カーソル110が小節線114の位置に到達すると、小節線112から小節線114の間の第1小節の表示が消去され、代わりに第3小節がその位置に表示される。そして、再生位置カーソル110が右端に到達すると、小節線114から右端までの第2小節が消去され、代わりに第4小節がその位置に表示され、さらに再生位置カーソル110は左端(第3小節の始まり)に移動して、右方向への移動を継続する。このような動作を繰り返すことにより、LCD2の表示画面は音楽データの表示を切り替えながら、ユーザに現在の再生位置を示す。
【0010】
ここで、再生位置カーソル110が操作指示マーク91〜94,101〜106の位置に達したタイミングにボタン81,82のうち対応する側を正確に押下することが、ゲームの目的になる。120は得点欄であり、ユーザが現在獲得している得点を表示する。ここで「得点」とは、操作指示マーク91〜94,101〜106に応じて、ユーザが適切なタイミングでボタン81,82を押下した回数の合計である。124はミス総数欄であり、ミス総数を表示する。ここで「ミス総数」とは、ボタン81,82に対する操作(または未操作)が不適切であった回数の合計である。122はミス評価値欄であり、ミス評価値を表示する。ここで「ミス評価値」とは、ボタン81,82に対する不適切な操作または未操作が生じたときに「1」づつ増加され、その値(ミス評価値)が「1」以上であってユーザが適切なタイミングでボタン81,82を押下したときに「1」づつ減少される値である。従って、ミス評価値が「0」になると、それ以降に連続して適切な操作が行われたとしても、ミス評価値に変化は生じない。なお、ミス評価値およびミス総数は「0」または正値であるが、これらの値が大きくなるほど望ましくない状態であるため、LCD2においては、これらの値は「マイナス(−)」の記号を伴って表示される。
【0011】
2.実施例のデータ構成
2.1.データの全体構成
次に、本実施例において用いられる各種データ構成を図2を参照し説明する。30は音楽・ゲームファイルであり、RAM12内に記憶される。この音楽・ゲームファイル30内に各種データ31〜34が包含される。本実施例の音楽プレーヤは、音楽データを再生することによって音声信号を出力するものであるが、ここに音楽データには圧縮音声データ31と演奏データ32の二種類がある。なお、一の音楽・ゲームファイル30には、圧縮音声データ31および演奏データ32の双方が含まれてもよく、何れか一方のみが含まれていてもよい。33はミス演出データ群であり、ゲームモードにおいてボタン81,82が適切に操作されなかった場合に実行される内容を指定したものである。34はゲーム制御データであり、LCD2に操作指示マーク91〜94,101〜106および小節線112,114を表示するタイミング等を指定するものである。
【0012】
音楽・ゲームファイル30を構成する各データは別々のファイルに格納することもできるが、本実施例のように一つのファイル30にこれらのデータを包含することにより、相互に関連するデータ同士の関係が解りやすくなる。また、音楽・ゲームファイル30を例えばzip形式、tar形式などの書庫ファイル形式とし、上記データ31〜34はこの書庫ファイルに格納されるファイルにすると、記憶のために必要なメモリ容量を削減することができ、通信モジュール16を介して音楽・ゲームファイル30をダウンロードするときの通信コストを削減することができる。
【0013】
2.2.音楽データ31,32
音楽データのうち圧縮音声データ31は、例えばAAC形式またはMP3形式等のデータであり、アナログ信号をサンプリングして得られた非圧縮のPCMデータを所定の方式で圧縮することにより得られるデータである。また、演奏データ32は、ノートオン、ノートオフ等のイベントと、これらイベントのタイミングを規定するデータとから構成される。図2において圧縮音声データ31および演奏データ32は、各々デコーダ24および音源部22に供給されることにより、これらに対応する非圧縮のPCMデータがデコーダ24および音源部22から出力される。26a,26bは効果付与部であり、これらPCMデータに対してエフェクト処理を施す。これらエフェクト処理の施された音声信号は、加算部26cにおいて加算され、DAコンバータ8に出力される。なお、効果付与部26a,26bおよび加算部26cは、DSP26において実行されるマイクロプログラムによって実現される。
【0014】
2.3.ゲーム制御データ34
ゲーム制御データ34は、LCD2に操作指示マーク91〜94,101〜106および小節線112,114を表示するとともに、ボタン81,82が適切に操作されたか否かを判定するために用いられる。ゲーム制御データは、直接的には「発音」や「エフェクト」等を指示するデータではないが、音楽データである演奏データと同様の形式を有する「演奏データ」の形式によってRAM12に記憶される。すなわち、ゲーム制御データにおいては、ボタン81,82の何れを押下すべきかが「ノートオンイベント」の種類によって表され、これらノートオンイベントのタイミングによって押下すべきタイミングが表される。また、ゲーム制御データは、音楽データが演奏データである場合に、その「1パート」として、音楽データに含めて記憶させることもできる。かかる場合は、通常モードにおいては、当該ゲーム制御データに係るパートは無視され、ゲームモードにおいてのみ、当該パートが使用されることになる。また、音楽データが圧縮音声データである場合には、ゲーム制御データは音楽データに同期して再生されることになる。
【0015】
2.4.演奏データの構造
ここで、本実施例における演奏データ32のデータ構造を図4を参照し説明する。図において40はヘッダ部であり、演奏データ32が音楽データである場合には曲名、アーティスト名等のテキストデータが記録される。また、演奏データ32がゲーム制御データである場合には、これらに加えて許容誤差ΔTがヘッダ部40に記憶される。ここで、許容誤差ΔTとは、ボタン81,82の実際の押下タイミングがゲーム制御データによって指定された押下タイミングに対して取りうる誤差の範囲であり、この誤差の範囲であれば、該押下タイミングは「適切である」と判断されることになる。
【0016】
42はイベントデータ部であり、複数のイベントデータ42−1〜42−nによって構成されている。ここで、各イベントデータ42−k(k=1〜n)は、イベント時刻部42−kaとイベント部42−kbとから成る。なお、図4においてはイベントデータ42−1についてのみ、イベント時刻部42−1aとイベント部42−1bとの符号を付している。イベント時刻部42−kaとは、イベント部42−kbを実行すべきタイミングであるイベント時刻を、当該演奏データ32の再生開始タイミングを基準として、ミリセカンド単位で表したものである。また、イベント部42−kbは、以下のようなイベントを指定するものである。
(1)ノートオン:ノートオンイベントは、通常の演奏データにおいては、音源部22において一の発音チャンネルを確保し発音を開始するように指示するものである。また、ゲーム制御データにおいては、ユーザがボタン81,82を操作すべき旨を示すデータになる。
(2)ノートオフ:ノートオンイベントは、通常の演奏データにおいて、音源部22における一の発音チャンネルの消音を指示するものである。
(3)小節線:小節線イベントは、ゲーム制御データのみが有するものであり、小節の区切りを表すものである。
【0017】
2.5.ミス演出データ群33
ミス演出データ群33は、様々な条件下で再生される複数のミス演出データによって構成されている。これらのミス演出データのデータ形式は、演奏データ32と同様の形式である。このため、ミス演出データは、音源部22に供給されることになる。36はオン/オフ手段であり、動作モードがゲームモードである場合にのみ、ミス演出データを音源部22に供給する。次に、ミス演出データ群33の詳細構造を図5を参照し説明する。51〜61はミス演出データであり、これらはミス評価値に対応してRAM12に記憶されている。すなわち、図示の例においては、ミス評価値「1」に対してミス演出データ51,52が、ミス評価値「2」に対してミス演出データ53,54が、……、ミス評価値「6」に対してミス演出データ61が、各々対応付けられている。ミス演出データ51は、適用開始タイミング部51aと、イベント指定部51bと、ゲートタイム部51cとから構成されている。なお、他のミス演出データ52〜61も該ミス演出データ51と同様に構成されている。
【0018】
ここで、適用開始タイミング部51aは、当該ミス演出データ51が適用可能になる最初のタイミングである時刻を示すものである。例えば、ミス評価値「1」に対してミス演出データ51の適用開始タイミング部51aは「0ms」であるから、音楽データの再生開始タイミングから直ちに適用可能である。また、ミス演出データ52の適用開始タイミング部52aは「10000ms」であるから、ミス演出データ52は、音楽データの再生開始から「10秒」経過した後から適用可能になる。このように、ミス演出データの適用可能な範囲が重なる場合には、適用開始タイミングが最も遅いミス演出データのみが適用されることになる。従って、図示の例においては、ミス評価値「1」に対して、音楽データの再生開始後に「10秒」を経過するまではミス演出データ51が適用され、「10秒」を経過した後はミス演出データ52が適用されることになる。
【0019】
次に、イベント指定部51bは、ボタン81,82の操作状態が不適切であった場合に実行されるべき処理内容を、一または複数のイベントによって指定するものである。このイベント指定部51bにおいては、例えば特定の音色の楽音信号を発生させる演奏データのイベント、効果音の圧縮音声データを再生させるイベント、効果付与部26a,26bを制御して特定のエフェクトを音声信号に付与するイベント、効果付与部26a,26bを制御して音声信号をフェードアウトさせるイベント等を指定することができる。図5の例においては、ミス演出データ51,52,53,54,57のイベント指定部は特定の音色の楽音信号を発生させるものであり、ミス演出データ55,56,58,59,60のイベント指定部は効果付与部26a,26bを制御して特定のエフェクトを音声信号に付与するものであり、ミス演出データ61のイベント指定部は効果付与部26a,26bを制御して音声信号をフェードアウトするものである。また、ゲートタイム部51cは、イベント指定部51bによって指定された制御内容を実行する限界となる時間(ゲートタイム)を指定するものである。すなわち、イベント指定部51bによって指定された制御内容自体の実行時間が長いものであったとしても、その実行時間がゲートタイムを超える場合には、実行時間はゲートタイムに制限されることになる。なお、上述した「ゲーム制御データ」と「ミス演出データ」とは一つの「音楽データ」に対応して制作されており、音楽データ制作時に制作者がそのコンテンツに最適な演出効果を実現できるように制作することが可能になっている。
【0020】
3.実施例の動作
3.1.メイン処理
次に、本実施例の動作を図6〜図8を参照し説明する。
まず、本実施例の音楽プレーヤの電源が投入されると、図6(a)に示すメインルーチンが起動される。図において処理がステップSP2に進むと、所定の初期化処理が実行される。次に、処理がステップSP4に進むと、後述するイベント処理ルーチン(図6(b))が起動される。次に、処理がステップSP6に進むと、音楽データ転送処理が実行される。すなわち、所定時間範囲の圧縮音声データ31および演奏データ32がRAM12から読み出され、楽音再生部20に転送される。以後、このステップSP4,6の処理が繰り返されることになる。
【0021】
3.2.イベント処理
次に、上記ステップSP4において呼び出されるイベント処理ルーチンの処理内容を図6(b)を参照し説明する。
図において処理がステップSP20に進むと、再生準備が開始されたか否かが判定される。ここで再生準備とは、選曲ボタン84,85等によって、何れかの音楽データが再生対象として選択された場合をいう。ここで「YES」と判定されると、処理はステップSP21に進み、動作モードがゲームモードであるか否かが判定される。ここで、「YES」と判定されると、処理はステップSP22に進み、当該音楽データに対応する(または当該音楽データに含まれる)ゲーム制御データが、先頭位置から「2」小節分だけ参照される。次に、処理がステップSP24に進むと、LCD2に当該「2」小節分の操作指示マーク91〜94,101〜106と、小節線112,114とが表示される。なお、上記ステップSP20またはSP21において「NO」と判定されると、ステップSP22,SP24はスキップされる。
【0022】
次に、処理がステップSP26に進むと、音楽データの再生が開始されたか否か、すなわち、停止状態において再生・停止ボタン86の押下イベントが発生したか否かが判定される。ここで「YES」と判定されると、処理はステップSP30に進み、クロック回路5がリセットされる。これにより、クロック回路5においては、音楽データの再生が開始されたタイミングを「0ms」とする「現在時刻」が計測されることになる。次に、処理がステップSP32に進むと、後述するタイマ割込みが許可される。次に、処理がステップSP34に進むと、再生が指示された音楽データの先頭部分が、デコーダ24または音源部22に転送される。
【0023】
次に、処理がステップSP35に進むと、動作モードがゲームモードであるか否かが判定される。ここで「YES」と判定されると、処理はステップSP36に進み、ゲーム用のボタン81,82の何れかにおいて押下イベントが発生したか否かが判定される。ここで「YES」と判定されると、処理はステップSP40に進み、後述するゲーム操作子イベント処理ルーチン(図7)が呼び出される。一方、ステップSP35,SP36の何れかにおいて「NO」と判定されると、ステップSP40はスキップされる。以上のステップが終了すると、処理はメインルーチン(図6(a))に戻る。
【0024】
3.3.ゲーム操作子イベント処理
次に、上記ステップSP40において呼び出されるゲーム操作子イベント処理ルーチンの処理内容を図7を参照し説明する。
図において処理がステップSP60に進むと、イベントバッファが空であるか否かが判定される。ここでイベントバッファとは、RAM12内に確保されるバッファであって、ボタン81,82の操作状態と比較するためのノートオンイベントを格納するためのバッファである。ここで「YES」と判定されると処理はステップSP62に進み、ゲーム制御データの中から、イベント時刻が現在時刻以降のノートオンのイベントデータ42−kのうち最もイベント時刻の早いノートオンのイベントデータがイベントバッファに格納される。一方、何らかのイベントデータが既にイベントバッファに記憶されている場合には、ステップSP62はスキップされる。何れの場合においても、この時点でイベントバッファに格納されているイベントデータを「対象イベントデータ」という。
【0025】
次に、処理がステップSP63に進むと、押下されたボタンが適切であるか否かが判定される。すなわち、押下されたボタンは、ボタン81,82のうち何れか一方であり、ゲーム制御データ内の各ノートオンイベントには、ボタン81,82のうち何れか一方が指定される。従って、双方のボタンが一致するか否かが判定されることになる。ここで、ボタンが一致しなかった場合には「NO」と判定され、後述するステップSP66以下の処理が実行される。一方、ボタンが一致すると「YES」と判定され、処理はステップSP64に進む。ここでは、対象イベントデータのイベント時刻から許容誤差ΔTを減算した値が現在時刻(ボタン81,82のイベントが生じた時刻)以下であるか否かが判定される。
【0026】
ここで、現在時刻が「イベント時刻−ΔT」よりも以前の時刻であれば「NO」と判定され、処理はステップSP66に進む。かかる場合は、ボタン81,82を所期のタイミングよりも早いタイミングで押下したことになるため、ミス評価値およびミス総数が共に「1」づつ増加される。次に、処理がステップSP68に進むと、更新後のミス総数と現在時刻とに対応するミス演出データに規定された処理が実行される。例えば、更新後のミス総数が「1」であって、現在時刻が「10000ms」以上であれば、これらミス総数および現在時刻には、図5に示したミス演出データ52が対応する。従って、イベント指定部52bに指定された内容(音色Bに係る楽音信号の発生)が、ゲートタイム部52cに規定された時間を限度として実行されることになる。以上のステップが終了すると、処理はイベント処理ルーチン(図6(b))に戻る。この場合においては、対象イベントデータは、引き続きイベントバッファ内に残存することになる。これは、当該対象イベントデータに対して、後に適切なタイミングでボタン81,82が操作される場合があることに鑑みてである。
【0027】
また、上記ステップSP64において「YES」と判定されると、処理はステップSP70に進み、対象イベントデータのイベント時刻に許容誤差ΔTを加算した値が現在時刻以上であるか否かが判定される。ここで、現在時刻が「イベント時刻+ΔT」以下であれば、「YES」と判定され、処理はステップSP72に進む。なお、先のステップSP64の判断内容と併せると、処理がステップSP72に進む場合とは、現在時刻が「イベント時刻±ΔT」の範囲である場合、すなわち適切なタイミングでボタン81,82が押下された場合のみである。
【0028】
ステップSP72においては、得点が「1」だけ増加される。次に、処理がステップSP74に進むと、ミス評価値が「1」だけ減少される。但し、ミス評価値が元々「0」である場合には、ミス評価値は更新されない。次に、処理がステップSP76に進むと、ミス演出データに基づいて発音中の楽音信号があれば当該楽音信号は消音され、ミス演出データに基づいて効果付与部26a,26bに設定されているエフェクトがあれば、当該エフェクトが中止される。すなわち、上述したように、ボタン81,82の操作が不適切であった場合にはミス演出データ51〜61のゲートタイム部51c〜61cで指定された時間だけ、楽音信号の発音あるいはエフェクトの付与等、指定された制御内容が実行されるのであるが、かかる制御の実行中にボタン81,82において適切な操作が行われた場合には、該ミス演出データに係る制御内容が中止されるのである。次に、処理がステップSP78に進むと、イベントバッファがクリアされ、処理はイベント処理ルーチン(図6(b))に戻る。
【0029】
また、上記ステップSP70において「NO」と判定されると、処理はステップSP80に進む。かかる場合は、ボタン81,82を所期のタイミングよりも遅いタイミングで押下したことになるため、ミス評価値およびミス総数が共に「1」づつ増加される。次に、処理がステップSP82に進むと、上記ステップSP68と同様に、更新後のミス総数と現在時刻とに対応するミス演出データに規定された処理が実行される。次に、処理がステップSP84に進むと、イベントバッファがクリアされる。これは、当該対象イベントデータについては、ボタン81,82が適切なタイミングで押下されなかったことが確定したからである。以上のステップが終了すると、処理はイベント処理ルーチン(図6(b))に戻る。
【0030】
3.4.タイマ割込み処理
音楽データの再生が開始されると、上述したイベント処理ルーチン(図6(b))のステップSP32において説明したように、CPU6に対するタイマ割込みが許可される。このタイマ割込みは、充分に短い間隔、例えば数msec程度の間隔で発生させるとよい。このタイマ割込みが発生すると、図8に示すタイマ割込みルーチンが起動される。図8において処理がステップSP100に進むと、動作モードがゲームモードであるか否かが判定される。ここで「NO」と判定されると、処理は後述するステップSP106に進む。一方、「YES」と判定されると、ステップSP101,SP102の処理が実行される。これは、上述したステップSP60,SP62の処理と同様であり、イベントバッファが空であれば、ゲーム制御データの中から、イベント時刻が現在時刻以降のノートオンのイベントデータ42−kのうち最もイベント時刻の早いノートオンのイベントデータがイベントバッファに格納される。
【0031】
次に、処理がステップSP104に進むと、イベントバッファに格納されている対象イベントデータのイベント時刻に許容誤差ΔTを加算した値が現在時刻以上であるか否かが判定される。ここで、「NO」と判定されると、ステップSP110〜SP114の処理が実行される。かかる処理はゲーム操作子イベント処理ルーチン(図7)のステップSP80〜SP84と同様であり、ミス評価値およびミス総数が共に「1」づつ増加され、更新後のミス総数と現在時刻とに対応するミス演出データに規定された処理が実行され、イベントバッファがクリアされる。これは、対象イベントデータについては、ボタン81,82が適切なタイミングで押下されなかったことが確定したからである。一方、ステップSP104において「YES」と判定されると、ステップSP110〜SP114の処理はスキップされる。これは、将来、当該対象イベントデータに対して、ボタン81,82が適切なタイミングで押下される可能性があるためである。次に、処理がステップSP106に進むと、一般のイベント処理が実行される。すなわち、ゲーム制御データ以外の演奏データ等において、現在時刻に再生すべきイベント(例えばノートオン、ノートオフ、エフェクト処理のオン/オフ等のイベント)が存在するのであれば、音源部22、DSP26等に対して、当該イベントに対応する処理が実行されることになる。また、LCD2の画面上においては再生位置カーソル110が移動され、現在の再生位置が小節の終わりである場合は、小節の表示の切り替えなどが行われる。
【0032】
3.5.具体的な使用例
以上の動作によれば、ユーザが音楽・ゲームファイル30を選択し、動作モード選択ボタン87によってゲームモードを選択して再生・停止ボタン86を押下すると、音楽データとゲーム制御データとが再生され、ボタン81,82を操作してゲームを実行することができる。ここで、ユーザが動作モードを再生モードに設定した後に再生・停止ボタン86を押下した場合、ミス評価値、ミス総数、得点を増減する処理(例えば図7のステップSP66、SP80、SP72、SP74、図8のステップSP110)と、ミス演出データに基づく発音処理(例えば図7のステップSP68、SP82、図8のステップSP112)とが全てスキップされるため、ミス評価値、ミス総数、得点にはなんら変化が生じず、ミス演出データに基づいて効果音の発音等の効果付与処理が実行されることもない。従って、再生モードにおいては、ユーザは手を休めて、音楽データの鑑賞のみを行うことができる。これは、ゲームの続行中に、動作モードを再生モードに切り替えた場合も同様である。
【0033】
一方、再生モードにおいても、一般のイベント処理(図8のステップSP106)は実行されるため、音楽データの進行に応じて、LCD2の表示内容は小節毎に切り替えられ、再生位置カーソル110も移動を続ける。ここで、ユーザが再びゲームを再開したい場合には、動作モード選択ボタン87を再び押下するとよい。これにより、動作モードがゲームモードに切り替わると、ボタン81,82の操作状態とゲーム制御データとの適合状態に応じてミス評価値、ミス総数、得点の増減が再開され、ミス演出データに基づく発音処理も再開される。このように、本実施例によれば、ユーザは音楽データの再生前にゲームモードか再生モードの何れかを選択することによって所望の動作をさせることができる。さらに、ゲームモードの実行中に動作モード選択ボタン87を必要に応じて押下することにより、所望の期間だけ手を休めて音楽データの鑑賞のみを行うことができる。
【0034】
4.変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、CPU6上で動作するプログラムによって各種処理を行ったが、これらのプログラムのみをCD−ROM、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【0035】
(2)上記実施例においては、イベントデータ42−kはイベント時刻部42−kaとイベント部42−kbとから成るものであったが、通常のMIDIデータと同様に、イベントの実行内容のみを表すイベントデータと、イベントデータ間の時間間隔を表すデュレーションとによって演奏データまたはゲーム制御データを構成してもよい。また、この場合は、時間誤差の累積による影響を緩和するため、デュレーションの時間指定を「100μs」程度のオーダで指定できるようにするとよい。
【0036】
(3)上記実施例においては、ミス演出データ51〜61のイベント指定部51b〜61bで指定された制御内容は、ステップSP76の処理が実行されたときに中止されるとともに、少なくともゲートタイム部51c〜61cで指定されたゲートタイムが経過すると終了するものであった。しかし、イベント指定部61bのように「フェードアウト」が指定されたイベント指定部は、ステップSP76において制御が中止される対象外のものであることとし、ゲートタイム部61cで指定された時間内に音量を徐々に絞って無音状態にし、しかる後に音楽データの再生を終了させるようにしてもよい。
【0037】
(4)上記実施例においては、ミス演出データ51〜61は、ミス評価値と現在時刻とに基づいてステップSP76の処理内容を特定するものであったが、ミス評価値に代えて、得点、ミス総数を用いてステップSP76の処理内容を特定するようにしてもよい。さらに、ミス評価値、得点、ミス総数以外にもゲーム制御データとボタン81,82の操作内容との「適合度合い」を表す指標は様々なものが考えられるため、かかる指標をミス評価値に代えて適用してもよい。
【図面の簡単な説明】
【0038】
【図1】本発明の一実施例の音楽プレーヤのハードウエアブロック図である。
【図2】楽音再生部20におけるアルゴリズムのブロック図である。
【図3】音楽プレーヤの操作パネルの平面図である。
【図4】演奏データのデータ構造図である。
【図5】ミス演出データのデータ構造図である。
【図6】メインルーチンおよびイベント処理ルーチンのフローチャートである。
【図7】ゲーム操作子イベント処理ルーチンのフローチャートである。
【図8】タイマ割込みルーチンのフローチャートである。
【符号の説明】
【0039】
2:LCD(表示手段)、4:LCDインタフェース、5:クロック回路、6:CPU(処理装置)、8:DAコンバータ、9:サウンドシステム、10:システムバス、12:RAM、14:ROM、16:通信モジュール、18:操作部(操作手段)、20:楽音再生部(再生手段)、22:音源部、24:デコーダ、26:DSP、26a,26b:効果付与部、26c:加算部、30:音楽・ゲームファイル、31:圧縮音声データ、32:演奏データ、33:ミス演出データ群、34:ゲーム制御データ、36:オン/オフ手段、40:ヘッダ部、42:イベントデータ部、42−1a:イベント時刻部、42−1b:イベント部、42−1〜42−n:イベントデータ、51〜61:ミス演出データ、51a〜61a:適用開始タイミング部、51b〜61b:イベント指定部、51c〜61c:ゲートタイム部、81,82:ゲーム用のボタン、83:メニューボタン、84,85:選曲ボタン、86:再生・停止ボタン、87:動作モード選択ボタン(動作モード選択操作子)、88:ゲームモード・ランプ、89:再生モード・ランプ、91〜94,101〜106:操作指示マーク、110:再生位置カーソル、112,114:小節線、120:得点欄、122:ミス評価値欄。

【特許請求の範囲】
【請求項1】
ユーザによって操作されるゲーム操作子と、
音楽データと、該音楽データに対応し該音楽データの進行に応じて前記ゲーム操作子を操作すべきタイミングを定めるゲーム制御データとを記憶する記憶手段と、
前記音楽データを再生する再生手段と、
再生モードまたはゲームモードの何れかの動作モードを選択する動作モード選択操作子と、
前記動作モード選択操作子によって前記ゲームモードが選択されたことを条件として、前記音楽データを前記再生手段に供給するとともに前記ゲーム操作子の操作状態と前記ゲーム制御データとの適合状態に基づいて所定の効果付与処理を行う一方、前記動作モード選択操作子によって前記再生モードが選択されたことを条件として、前記効果付与処理を防止しつつ前記音楽データを前記再生手段に供給する制御手段と
を有することを特徴とする音楽プレーヤ。
【請求項2】
前記動作モード選択操作子によって前記ゲームモードが選択されたか否かを前記音楽データの再生中に繰り返し判定する動作モード判定手段をさらに有し、
前記制御手段は、前記動作モード判定手段の判定結果に基づいて、前記動作モードが前記ゲームモードであるか、前記再生モードであるかを判定することを特徴とする請求項1記載の音楽プレーヤ。
【請求項3】
前記音楽データと、該音楽データに対応するゲーム制御データとは一のファイルに含まれるものであることを特徴とする請求項1記載の音楽プレーヤ。
【請求項4】
ユーザによって操作されるゲーム操作子と、処理装置と、音楽データと該音楽データに対応し該音楽データの進行に応じて前記ゲーム操作子を操作すべきタイミングを定めるゲーム制御データとを記憶する記憶手段と、前記音楽データを再生する再生手段と、再生モードまたはゲームモードの何れかの動作モードを選択する動作モード選択操作子とを有する音楽プレーヤに適用されるプログラムであって、
前記動作モード選択操作子によって前記ゲームモードが選択されたことを条件として、前記音楽データを前記再生手段に供給するとともに前記ゲーム操作子の操作状態と前記ゲーム制御データとの適合状態に基づいて所定の効果付与処理を行う一方、前記動作モード選択操作子によって前記再生モードが選択されたことを条件として、前記効果付与処理を防止しつつ前記音楽データを前記再生手段に供給する制御過程と
を前記処理装置に実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate