説明

音楽プレーヤ、プログラムおよびデータ構造

【課題】 楽曲を再生し、その進行に合わせてユーザが行うべき操作をディスプレイに表示し、ユーザが操作ミスをしたときにミスに対応する音声信号を放音するゲームモードを有する音楽プレーヤにおいて、ミスに対応する音声信号に対して豊かなバリエーションを付与する。
【解決手段】 過去の操作ミスの状態に応じて「ミス評価値」を計算する。また、ミス評価値に対応するミス演出データ51〜61をメモリに記憶する。適用開始タイミング部51a〜61aは、各ミス演出データ51〜61の適用が開始するタイミング(音楽データの再生開始からの時刻)を規定する。イベント指定部51b〜61bは、操作ミスが生じた場合に実行すべき処理内容を規定する。この処理内容には、所定音色の演奏データの再生、エフェクト処理、フェードアウトなどを指定することができる。

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

【特許請求の範囲】
【請求項1】
音楽データと、該音楽データに同期する複数のイベントから成るイベントデータ群と、該音楽データに対応するミス演出データとを記憶する記憶手段と、
前記音楽データを再生する再生手段と、
ユーザによって操作される操作手段と、
前記操作手段における操作状態が前記イベントデータ群に適合しているか否かを判定する判定手段と、
前記判定手段における判定結果が否定的であったことを条件として、前記ミス演出データに指定されたミス対応処理を実行するミス演出手段と
を有することを特徴とする音楽プレーヤ。
【請求項2】
前記ミス演出データは、前記判定手段における過去の判定結果に基づいた、前記操作手段の操作内容と前記イベントデータ群との適合度合いに基づいて、前記ミス対応処理の内容を指定するものであることを特徴とする請求項1記載の音楽プレーヤ。
【請求項3】
前記ミス演出データは、前記判定手段において否定的な判定が為された際に発音されるべき音を特定するものであり、前記ミス演出手段は、該特定された音を発生するものであることを特徴とする請求項2記載の音楽プレーヤ。
【請求項4】
前記ミス演出データは、前記判定手段において否定的な判定が為された際に、前記再生手段によって再生された音声信号に付与されるべきエフェクトを特定するものであり、前記ミス演出手段は、該特定されたエフェクトを、前記再生手段によって再生された音声信号に付与するものであることを特徴とする請求項1記載の音楽プレーヤ。
【請求項5】
前記ミス演出データは、さらに、前記再生手段による前記音楽データの再生位置に基づいて、前記ミス演出データを指定するものであることを特徴とする請求項2記載の音楽プレーヤ。
【請求項6】
前記イベントデータ群に基づいて、前記操作手段に対して操作すべき内容を、画面を切り替えつつ表示する表示手段
をさらに有することを特徴とする請求項1乃至5の何れかに記載の音楽プレーヤ。
【請求項7】
音楽データと、該音楽データに同期する複数のイベントから成るイベントデータ群と、該音楽データに対応するミス演出データとを記憶する記憶手段と、前記音楽データを再生する再生手段と、ユーザによって操作される操作手段と、処理装置とを有する音楽プレーヤの前記処理装置において実行されるプログラムであって、
前記操作手段における操作状態が前記イベントデータ群に適合しているか否かを判定する判定過程と、
前記判定過程における判定結果が否定的であったことを条件として、前記ミス演出データに指定されたイベント内容を実行するミス演出過程と
を有することを特徴とするプログラム。
【請求項8】
ユーザの操作によって操作される操作手段と、音楽データを再生する再生手段とを有する音楽プレーヤに適用されるデータのデータ構造であって、
前記音楽データと、
該音楽データに同期する複数のイベントから成るイベントデータ群と、
該音楽データに対応するミス演出データであって、前記音楽プレーヤが前記音楽データを再生する際に前記操作手段を介して入力された操作内容と前記イベントデータ群との適合度合いに応じて、前記音楽プレーヤにおいて実行されるミス対応処理の内容を規定するミス演出データと
から成ることを特徴とするデータ構造。
【請求項9】
前記ミス演出データは、前記操作手段における操作状態が前記イベントデータ群に過去に適合した回数と適合しなかった回数との関係に基づいて前記ミス対応処理の内容を規定することを特徴とする請求項8記載のデータ構造。
【請求項10】
前記ミス演出データは、前記操作手段における操作状態が前記イベントデータ群に適合しなかった際に発音すべき音を特定するものである
ことを特徴とする請求項9記載のデータ構造。
【請求項11】
前記ミス演出データは、前記操作手段における操作状態が前記イベントデータ群に適合しなかった際に、前記再生手段によって再生された音声信号に付与すべきエフェクトを特定するものである
ことを特徴とする請求項9記載のデータ構造。
【請求項12】
前記ミス演出データは、さらに、前記再生手段による前記音楽データの再生位置に基づいて、前記ミス演出データを指定するものである
ことを特徴とする請求項9記載のデータ構造。
【請求項13】
前記音楽プレーヤは、指定された画像を切り替えつつ表示する表示手段をさらに有するものであり、
前記イベントデータ群は、前記表示手段の画面内に操作指示マークを表示すべきタイミングを規定するものである
ことを特徴とする請求項8乃至12の何れかに記載のデータ構造。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate