JP4135529B2 - Performance scoring device and performance scoring program - Google Patents

Performance scoring device and performance scoring program Download PDF

Info

Publication number
JP4135529B2
JP4135529B2 JP2003060109A JP2003060109A JP4135529B2 JP 4135529 B2 JP4135529 B2 JP 4135529B2 JP 2003060109 A JP2003060109 A JP 2003060109A JP 2003060109 A JP2003060109 A JP 2003060109A JP 4135529 B2 JP4135529 B2 JP 4135529B2
Authority
JP
Japan
Prior art keywords
value
score
rank
performance
scoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003060109A
Other languages
Japanese (ja)
Other versions
JP2004271712A (en
JP2004271712A5 (en
Inventor
敏之 橘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003060109A priority Critical patent/JP4135529B2/en
Publication of JP2004271712A publication Critical patent/JP2004271712A/en
Publication of JP2004271712A5 publication Critical patent/JP2004271712A5/ja
Application granted granted Critical
Publication of JP4135529B2 publication Critical patent/JP4135529B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、演奏採点装置および演奏採点処理のプログラムに関する。
【0002】
【従来の技術】
演奏者による曲の演奏に応じて、演奏タイミングの正確さを採点して、ゲーム感覚で演奏教習が可能な演奏採点装置が提案されている。従来の提案の一例として、演奏者のための演奏用パートの楽曲情報を含む楽曲情報を再生する手段と、演奏者による演奏タイミング情報を入力する演奏タイミング入力手段と、前記演奏用パートの楽曲情報に基づいて、一音ごとの採点対象となる期間を設定し、該採点対象期間における前記演奏タイミング情報の入力を監視する監視手段と、前記採点対象期間内を複数の得点エリアに分割して、それぞれの得点エリアに割り付ける得点を管理する得点管理手段と、前記入力された演奏タイミング情報が、前記採点対象期間内のどのエリアに該当するのかを特定する得点エリア特定手段と、前記得点管理手段に基づいて、演奏者による演奏タイミング情報に対して得点付けを行なう採点手段とを備えた演奏情報採点装置がある。
この構成によれば、演奏者により演奏された音の演奏タイミングをその演奏タイミングの正確さの度合いにより細かく採点することができる(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開2001−83968号公報(段落番号「0005」、「0006」)
【0004】
【発明が解決しようとする課題】
上記特許文献1の演奏情報採点装置などの従来の技術においては、演奏した音符数に対する得点の単純な加減算による総合得点では、曲によって音符数が異なるために、最高得点が曲ごとに異なるので、得点から実力を判断することが難しいという課題があった。そこで、総合得点を音符数で除算して平均点を算出する方法、又は、加減算による総合得点に下限および上限(例えば、0点および100点)を設ける方法が考えられる。
しかしながら、平均点を算出する方法においては、曲が進行するにつれて計算の分母となる音符数が増加するため、曲が進むにつれて得点の変化率が小さくなり、ゲームとしての面白みに欠けるという課題が新たに発生する。
また、加減算による総合得点に下限および上限を設ける方法においては、初期の採点結果が最終の採点結果に反映されないという課題が新たに発生する。
【0005】
本発明は、上記従来の技術における課題を解決するものであり、曲が進行しても得点の変化率が小さくならず、且つ、初期の採点結果を最終の採点結果に反映させて、得点から演奏者の実力を正確に判断できる演奏採点装置および演奏採点処理のプログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】
本発明は、上記課題を解決するため、請求項1に記載の演奏採点装置は、演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出する検出手段と、前記検出手段によって検出されたタイミング差が検出される毎に複数段階の得点ランクの中で1つの得点ランクを指定する指定手段と、前記指定手段によって指定された得点ランクに対応する目標値に収束させるように総合得点を演算する演算手段と、を備えたことを特徴とする。
【0007】
請求項2に記載の演奏採点装置は、前記指定した得点ランクが最高である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を高い値に変更し、前記指定した得点ランクが最低である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を低い値に変更する変更手段をさらに備えたことを特徴とする。
【0008】
請求項3に記載の演奏採点処理のプログラムは、コンピュータに、演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと前記各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出する第1のステップと、前記第1のステップによって検出されたタイミング差が検出される毎に複数段階の得点ランクの中で1つの得点ランクを指定する第2のステップと、前記第2のステップによって指定された得点ランクに対応する目標値に収束させるように総合得点を演算する第3のステップと、 を実行させることを特徴とする。
【0009】
請求項4に記載の前記演奏採点処置のプログラムはさらに、前記第2のステップによって指定された得点ランクが最高である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を高い値に変更し、前記指定された得点ランクが最低である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を低い値に変更する第4のステップをコンピュータに実行させることを特徴とする。
【0010】
【発明の実施の形態】
以下、本発明による演奏採点装置の実施形態について、図を参照して説明する。
図1は、実施形態における演奏採点装置の構成を示すブロック図である。この図において、CPU1は、システムバスを介して、鍵盤2、スイッチ部3、ROM4、RAM5、表示部6、および楽音発生部7に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この演奏採点装置全体を制御する。
【0011】
鍵盤2は、押鍵、離鍵の演奏に応じて、ノートオンおよびベロシティ、ノートオフのデータをCPU1に入力する。
スイッチ部3は、採点対象の曲を選択する曲選択スイッチ、演奏採点のモードに設定する演奏採点スイッチ、およびその他のスイッチなどで構成され、操作に応じたオン/オフの状態をCPU1に入力する。
ROM4は、演奏採点処理のプログラム、演奏採点の対象となる曲データ(シーケンスデータ)、得点ランクごとのポイントおよび得点ランクごとの基準のスレッシュポイント(これらについては後述する)、起動時のイニシャライズにおける初期値などをあらかじめ記憶している。
RAM5は、CPU1によって処理される各種のデータを一時的に記憶するとともに、プログラムの実行に必要な各種のレジスタやフラグのエリアを持っている。
表示部6は、採点対象の曲の楽譜や演奏結果などを表示する。
楽音生成部7は、CPU1の発音指示(ノートオンコマンド)および波形データに応じて、楽音信号を生成してD/A変換回路8に出力する。D/A変換回路8は、その楽音信号をディジタルからアナログに変換し、アンプ9を介してスピーカ10に供給して発音させる。また、楽音生成部7は、CPU1の消音指示(ノートオフコマンド)に応じて発音を停止させる。
【0012】
図2は、図1のROM4のメモリ構成を示す図である。図2(A)は、演奏採点の対象となる曲データにおける各発音イベントのノートデータNOTE[ ]であり、図2(B)は、各発音イベントの発音指示タイミングを示すオンタイムONTIME[ ]を示す曲データの先頭からの時間データである。任意のn番目の発音イベントNOTE[n]と発音指示タイミングONTIME[n]とが対応する。
【0013】
図2(C)は、5段階の得点ランク(RANK=1,2,3,4,5)の各得点ランクに応じて設定する得点ポイントRP[RANK]のパラメータを示している。この実施形態における各段階の得点ランクに応じて設定するパラメータは下記の値になっている。
RP[1]=5
RP[2]=2
RP[3]=2
RP[4]=2
RP[5]=5
【0014】
図2(D)は、各得点ランクに対応する基準のスレッシュポイントBASE[RANK]のパラメータを示している。この実施形態における各段階の得点ランクに対する基準のスレッシュポイントのパラメータは下記の値になっている。
BASE[1]=1
BASE[2]=25
BASE[3]=50
BASE[4]=75
BASE[5]=100
【0015】
図3は、図1のRAM5のメモリ構成を示す図である。PLAYは、スイッチ部3の演奏採点スイッチの操作に応じて値(0又は1)を反転(トグル)する演奏採点モードフラグであり、PLAYの値が「0」から「1」にトグルすると演奏開始となり、PLAYの値が「1」から「0」にトグルすると演奏終了となる。TIMEは、曲の先頭からの現在の経過時間を一定時間ごとにストアするレジスタである。IDXは、音符の番号を指定するレジスタであり、IDXで指定されたROM4の各発音イベントおよびその発音指示タイミングが、NOTE[IDX]およびONTIME[IDX]で表される。
【0016】
TOTALは、曲データの各発音イベントであるノートイベントを演奏するたびに、その演奏結果を採点した総合得点をストアするレジスタである。RANKは、発音指定タイミングであるオンタイムの時間と演奏タイミングとのタイミング差に対応する得点ランク(1,2,3,4,5)の現在値をストアするレジスタである。GATEは、採点期間中に「1」にセットされ、それ以外の期間は「0」にリセットされるフラグである。KEYONは、採点対象期間内に鍵盤2が押鍵されると「1」にセットされるフラグである。このフラグは押鍵の時間切れ処理のために使用される。THRESH[RANK=1,2,3,4,5]は、得点ランク毎の目標値(以下、「スレッシュポイント」という)の現在値をストアするレジスタである。
【0017】
次に、図1の演奏採点装置の動作について、図4ないし図8に示すCPU1のフローチャート、図9および図10に示す演奏結果の総合得点などを示す表およびグラフを参照して、詳細に説明する。
図4はCPU1のメインフローチャートであり、RAM5のレジスタおよびフラグをクリアするなどの所定の初期化処理(ステップSA1)の後、スイッチ部3の各スイッチのオン/オフを検索するスイッチ処理(ステップSA2)、鍵盤2の押鍵および離鍵を検索する鍵盤処理(ステップSA3)、その他の処理(ステップSA4)を繰り返し実行する。
【0018】
図5は、メインフローチャートにおけるステップSA2のスイッチ処理のフローチャートである。まず、演奏採点スイッチがオンされたか否かを判別し(ステップSB1)、このスイッチがオンでない場合には、その他のスイッチ処理を実行して(ステップSB2)、メインフローチャートに戻る。
一方、このスイッチがオンされたときは、演奏採点フラグPLAYをトグル(値を反転)する(ステップSB3)。そして、フラグPLAYの値が「0」から「1」に変化したか否かを判別する(ステップSB4)。この値が「1」に変化したときは、レジスタTIMEに「0」をストアし、レジスタIDXに「1」をストアし、レジスタTOTALに「50」をストアし、フラグKEYONに「0」をセットし、レジスタTHRESH[1]〜[5]にBASE[1]〜[5]の値を代入する(ステップSB5)。そして、演奏開始処理を行い(ステップSB6)、メインフローチャートに戻る。
ステップSB4において、演奏採点フラグPLAYの値が「1」から「0」に変化したときは、演奏終了処理を行なって(ステップSB7)、メインフローチャートに戻る。
【0019】
図6は、一定時間ごとのタイマインタラプトに応じて実行されるタイマ処理のフローチャートである。まず、PLAYの値が「1」であるか否かを判別し(ステップSC1)、この値が「0」である場合には、このタイマ処理を実行することなく、メインフローチャートに戻る。一方、この値が「1」である場合には、TIMEの値に現在の経過時間をストアして更新する(ステップSC2)。次に、GATEの値が「0」であるか否かを判別する(ステップSC3)。この値が「0」である場合には、TIMEにストアした現在の経過時間が、IDXで指定したONTIME[IDX]の8分音符前以内であるか否かを判別する(ステップSC4)。すなわち、現在の経過時間が採点対象期間内に達したか否かを判別する。TIMEの値がONTIME[IDX]の8分音符前以内である場合には、採点対象期間内に達したのでGATEを「1」にセットし、まだ押鍵がされていないのでKEYONを「0」にリセットする(ステップSC5)。
【0020】
ステップSC3においてGATEの値が「1」である場合には、TIMEにストアした現在の経過時間が、IDXで指定したONTIME[IDX]の8分音符後以降であるか否かを判別する(ステップSC6)。すなわち、現在の経過時間が採点対象期間を過ぎたか否かを判別する。TIMEの値がONTIME[IDX]の8分音符後以降である場合には、GATEの値を「0」にリセットする(ステップSC7)。
【0021】
次に、KEYONの値が「0」であるか否かを判別する(ステップSC8)。すなわち、採点対象期間内に押鍵されなかったか否かを判別する。KEYONの値が「0」で、時間切れにより押鍵がされなかったと判別した場合には、RANKに「1」すなわち最低の得点ランクをストアする(ステップSC9)。そして、得点処理を実行する(ステップSC10)。この得点処理の後、又は、ステップSC8において、KEYONの値が「1」で、採点対象期間内に押鍵がされた場合には、NOTE[ ]およびONTIME[ ]を指定するIDXの値を「1」だけインクリメントする(ステップSC11)。すなわち、次の発音イベントを指定する。
【0022】
ステップSC11において、IDXの値をインクリメントした後、又は、ステップSC6において、TIMEの値がONTIME[IDX]の8分音符後以降でなく、採点対象期間内である場合、又は、ステップSC5において、GATEの値を「1」にセットし、KEYONの値を「0」にリセットした後、又は、ステップSC4において、TIMEの値がONTIME[IDX]の8分音符前以内でない場合、すなわち、まだ採点対象期間に達していない場合には、曲データ再生処理や曲終了に伴う自動停止処理などのその他の処理を実行して(ステップSC12)、メインフローチャートに戻る。
【0023】
図7は、図4のメインフローチャートにおけるステップSA3の鍵盤処理のフローチャートである。まず、押鍵があるか否かを判別する(ステップSD1)。押鍵があったときは、PLAYの値が「1」であるか否かを判別する(ステップSD2)。この値が「1」で演奏採点モードである場合には、GATEの値が「1」であるか否かを判別する(ステップSD3)。この値が「1」で採点対象期間内である場合には、KEYONの値が「0」であるか否かを判別する(ステップSD4)。この値が「0」である場合には、押鍵されたノート(音高)とNOTE[IDX]のノート(音高)とが一致するか否かを判別する(ステップSD5)。
【0024】
押鍵されたノートとNOTE[IDX]のノートとが一致しない場合には、レジスタRANKに「1」をストアする(ステップSD6)。押鍵されたノートとNOTE[IDX]のノートとが一致した場合には、TIMEの現在時間すなわち押鍵した演奏タイミングと、ONTIME[IDX]の時間すなわち押鍵すべき発音指示タイミングとの音符単位の時間差(タイミング差)を判別する(ステップSD7)。
【0025】
判別した時間差が64分音符未満である場合には、RANKに「5」をストアする(ステップSD8)。判別した時間差が64分音符以上で32分音符未満である場合には、RANKに「4」をストアする(ステップSD9)。判別した時間差が32分音符以上で16分音符未満である場合には、RANKに「3」をストアする(ステップSD10)。判別した時間差が16分音符以上である場合には、RANKに「2」をストアする(ステップSD11)。
【0026】
ステップSD6、ステップSD8、ステップSD9、ステップSD10、又はステップSD11において、RANKに値をストアした後は、得点処理を実行する(ステップSD12)。そして、KEYONを「1」にセットする(ステップSD13)。KEYONを「1」にセットすることにより、図6のタイマ処理におけるステップSC8の判別でステップSC10の得点処理は行なわない。すなわち、図6のステップSC10は、押鍵がされなかった場合の得点処理であり、図7のステップSD12は、押鍵がされた場合の得点処理である。
【0027】
図7のステップSD13において、KEYONに「1」をセットした後、又は、ステップSD2において、PLAYが「0」である場合、ステップSD3において、GATEが「0」である場合、若しくはステップSD4においてKEYONが「1」である場合には、楽音生成部7にノートオンコマンドおよび押鍵のノートを送出する押鍵発音処理を実行する(ステップSD14)。この押鍵発音処理の後、又は、ステップSD1において押鍵がない場合には、離鍵処理などのその他の処理を行い(ステップSD15)、メインフローチャートに戻る。
【0028】
図8は、図6のタイマ処理におけるステップSC10、又は、図7の鍵盤処理におけるステップSD12の得点処理のフローチャートである。まず、得点ランクであるRANKの値(1,2,3,4,5)に対応するスレッシュポイントTHRESH[RANK]の整数部INT(THRESH[RANK])の値を、前回までの演奏に応じて演算した前回の総合得点TOTALの値から減算し、減算結果Aを算出する(ステップSE1)。
【0029】
次に、その減算結果Aの絶対値ABS(A)の値が、RANKに応じた得点ポイントRP[RANK]の値より大きいか否かを判別する(ステップSE2)。すなわち、ポイントRP[RANK]の値をTOTALの総合得点の値に累算した場合に、累算した総合得点の値がスレッシュポイントの値に達しないか否かを判別する。
【0030】
ABS(A)の値が得点ポイントRP[RANK]の値より大きい場合、すなわち、累算した総合得点の値がスレッシュポイントの値に達しない場合には、得点ポイントRP[RANK]の値にAの値の符号SGN(A)を乗算し、その乗算した値をTOTALの値から減算した値を、新たな総合得点の値としてTOTALにストアして更新する(ステップSE3)。
【0031】
一方、ABS(A)の値が得点ポイントRP[RANK]の値以下である場合、すなわち、累算した総合得点の値がスレッシュポイントの値に達するか超える場合には、ステップSE1で算出したAの1/2の絶対値に「1」を加算し、その整数部分にAの値の符号SGN(A)を乗算し、その乗算した値をTOTALの値から減算した値を、新たな総合得点の値としてTOTALにストアして更新する(ステップSE4)。
【0032】
したがって、ある得点ランクに対応する得点ポイントを前回の総合得点に累算しても、その累算した新たな総合得点の値は、その得点ランクに対応するスレッシュポイントの値を超えることはない。その得点ランクが連続した場合には、総合得点の値はスレッシュポイントに収束する。
【0033】
ステップSE3又はステップSE4において、新たな総合得点をTOTALにストアした後は、今回の演奏による得点ランクRANKの値を判別する(ステップSE5)。この後、判別したRANKの値に応じて、現在のスレッシュポイントTHRESH[ ]の値と基準のスレッシュポイントBASE[ ]の値との大小を比較して、ステップSE6ないしステップSE12の処理において、スレッシュポイントTHRESH[1]ないしTHRESH[5]の値を変更する。ただし、THRESH[3]だけは「50」で固定のままである。
【0034】
ステップSE5の判別でRANKの値が「1」である場合において、さらに、THRESH[1]の値がBASE[1]の値より大きい場合は、THRESH[1]の値からBASE[1]の値を減算して、その減算結果に係数C1(=63/64)を乗算し、その乗算結果にBASE[1]の値を加算し、その加算結果を新たなスレッシュポイントの値として、THRESH[1]の値を下げる(ステップSE6)。
【0035】
さらに、ステップSE6の後、THRESH[2]の値がBASE[2]の値より大きい場合は、THRESH[2]の値からBASE[2]の値を減算して、その減算結果に係数C2(=63/64)を乗算し、その乗算結果にBASE[2]の値を加算し、その加算結果を新たなスレッシュポイントの値として、THRESH[2]の値を下げる(ステップSE7)。
【0036】
さらに、ステップSE7の後、THRESH[4]の値がBASE[3]の値より大きい場合は、THRESH[4]の値からBASE[3]の値を減算して、その減算結果に係数C3(=31/32)を乗算し、その乗算結果にBASE[3]の値を加算し、その加算結果を新たなスレッシュポイントの値として、 THRESH[4]の値を下げる(ステップSE8)。
【0037】
さらに、ステップSE8の後、THRESH[5]の値がBASE[4]の値より大きい場合は、THRESH[5]の値からBASE[4]の値を減算して、その減算結果に係数C4(=31/32)を乗算し、その乗算結果にBASE[4]の値を加算し、その加算結果を新たなスレッシュポイントの値として、THRESH[5]の値を下げる(ステップSE9)。
【0038】
ステップSE5の判別でRANKの値が「2」又は「3」である場合において、さらに、THRESH[4]の値がBASE[3]の値より大きい場合は、THRESH[4]の値からBASE[3]の値を減算して、その減算結果に係数C3(=31/32)を乗算し、その乗算結果にBASE[3]の値を加算し、その加算結果を新たなスレッシュポイントの値として、 THRESH[4]の値を下げる(ステップSE8)。
【0039】
さらに、ステップSE8の後、THRESH[5]の値がBASE[4]の値より大きい場合は、THRESH[5]の値からBASE[4]の値を減算して、その減算結果に係数C4(=31/32)を乗算し、その乗算結果にBASE[4]の値を加算し、その加算結果を新たなスレッシュポイントの値として、THRESH[5]の値を下げる(ステップSE9)。
【0040】
ステップSE5の判別でRANKの値が「4」又は「5」である場合において、さらに、THRESH[1]の値がBASE[3]の値より小さい場合は、BASE[3]の値からTHRESH[1]の値を減算して、その減算結果に係数C5(=31/32)を乗算し、その乗算結果をBASE[3]の値から減算し、その減算結果を新たなスレッシュポイントの値として、THRESH[1]の値を上げる(ステップSE10)。
【0041】
さらに、ステップSE10の後、THRESH[2]の値がBASE[3]の値より小さい場合は、BASE[3]の値からTHRESH[2]の値を減算して、その減算結果に係数C6(=31/32)を乗算し、その乗算結果をBASE[3]の値から減算し、その減算結果を新たなスレッシュポイントの値として、THRESH[2]の値を上げる(ステップSE11)。
【0042】
さらにこの後、RANKの値が「4」であるか否かを判別し(ステップSE12)、この値が「4」である場合において、さらに、THRESH[5]の値がBASE[4]の値より大きい場合は、THRESH[5]の値からBASE[4]の値を減算して、その減算結果に係数C4(=31/32)を乗算し、その乗算結果にBASE[4]の値を加算し、その加算結果を新たなスレッシュポイントの値として、THRESH[5]の値を下げる(ステップSE9)。
【0043】
ステップSE12において、RANKの値が「4」でなく「5」である場合、又は、ステップSE9において、THRESH[5]の値を下げた後は、ステップSE3若しくはステップSE4における演算で求めた総合得点TOTALを表示する得点表示処理を行なう(ステップSE13)。そして、メインフローチャートに戻る。
【0044】
このように、図8のステップSE6ないしステップSE12の処理では、値が固定のスレッシュポイントTHRESH[3]を除いて、得点ランクの変化に応じて他のスレッシュポイントTHRESH[1]〜[5]の値を変更する。
この場合において、得点ランクが「1」の場合には、あらかじめ指定された4つのスレッシュポイントTHRESH[1]、THRESH[2]、THRESH[4]、およびTHRESH[5]の値をすべて下げる。得点ランクが「2」または「3」の場合には、あらかじめ指定された2つのスレッシュポイントTHRESH [4]およびTHRESH[5]の値を下げる。得点ランクが「4」の場合には、あらかじめ指定された2つのスレッシュポイントTHRESH[1]およびTHRESH[2]の値を上げ、THRESH[5]の値を下げる。得点ランクが「4」の場合には、あらかじめ指定された2つのスレッシュポイントTHRESH[1]およびTHRESH[2]の値を上げる。
【0045】
また、スレッシュポイントを変更する演算において、THRESH[RANK]とBASE[RANK]との差分に乗算する係数C1〜C6は、「0」より大きく「1」より小さい値である。図8においては、THRESH[1]およびTHRESH[2]の値を下げる場合は、63/64の値であり、THRESH[4]およびTHRESH[5]の値を下げる場合、並びに、THRESH[1]およびTHRESH[2]の値を上げる場合は、31/32の値であるが、0<C1〜C6<1の範囲であれば、他の条件に応じて最適な値に設定してもよい。
【0046】
図9は、各発音イベントN(1〜50)に対する演奏結果に対して、本発明を適用した場合の数値表であり、RANK(得点ランク)、THRESH[1]、THRESH[2]、THRESH[4]、THRESH[5]からなるスレッシュポイントに応じて、初期値「50」から推移するTOTAL(総合得点)を示す数値表である。なお、この数値表には、従来適用されていたAVERAGE(平均型総合得点)を比較のために含めている。また、図10は、図9の数値表に対応して表示部6の画面に表示されたグラフを示す図である。図10において、(A)は、従来のAVERAGE(平均型総合得点)の推移を示すグラフであり、(B)は、本発明を適用した場合の総合得点の推移を示すグラフである。なお、(B)にはスレッシュポイントの推移を示すグラフも表示されている。
【0047】
図9に示すように、演奏結果に応じた得点ランクRANKの値は、Nが「1」から「12」までの序盤に高い得点ランク「5」が続き、Nが「13」から「34」までの中盤では得点ランクが次第に低下してゆき、Nが「35」から「40」までの部分では最低の得点ランク「1」に落ち込んでいる。その後、Nが「41」以降の終盤になると、再び高い得点ランク「4」又は「5」に上昇している。
【0048】
図10(A)のAVERAGE(平均型総合得点)のグラフでは、Nが「1」から「12」までの最初の部分においては、高い得点ランクが続くにもかかわらず、Nが「1」から「4」の部分だけ総合得点が急激に上昇し、その後は、変化率が極めて小さい平坦な推移になっている。また、Nが「35」から「40」までの部分においては、得点ランクが最低となっているにもかかわらず、総合得点は「50」より大きく、あまり低下していない。さらに、終盤になってNが「41」から「50」までは、高い得点ランクに急激に上昇しているにもかかわらず、総合得点はあまり上昇していない。
これは、平均型総合得点を求める演算式が下記の数1のように、演算式の分母に音符数(この場合、初期値「50」の分を加えて、N+1)があるため、曲が進行するにつれて分母が大きくなり、得点の変化率が小さくなるからである。
【数1】

Figure 0004135529
【0049】
これに対して、図10(B)のグラフでは、Nが「1」から「12」までの最初の部分の高い得点ランクに応じて、一定の大きな変化率で総合得点が「95」まで自然に上昇している。また、総合得点が「95」を超えた後は、得点ランク「5」のスレッシュポイントTHRESH[5]に収束するように緩やかに上昇している。その後、得点ランクが最低となるNが「35」から「40」までの部分では、総合得点も比較的大きな変化率で低下している。また、終盤の高い得点ランクに従って、総合得点も比較的大きな変化率で上昇している。
これは、図8のステップSE1ないしステップSE4の演算式に示すように、総合得点を算出するのに除算を用いず、加減算を用いているとともに、得点ランクに対応するスレッシュポイントに総合得点を収束させるように演算しているからである。
【0050】
このように、図10(A)に示す平均型総合得点の推移では、曲の進行に伴って増加する音符数によって、総合得点の変化率が次第に小さくなって、得点ランクの変化に追従できないが、図10(B)に示す実施形態の総合得点の推移では、曲の進行に伴って音符数が増加しても、総合得点の変化率は小さくならず、得点ランクの変化に追従することができる。
【0051】
さらに、図10(B)に見られるように、Nが「35」から「40」までの部分においては、得点ランクは最低の「1」となっているが、総合得点の値はスレッシュポイントTHRESH[1]の値「27」までしか低下していない。これは、Nが「1」から「20」までの高い得点ランク「5」および「4」によって、スレッシュポイントTHRESH[1]が初期値「1」から上昇していて、それが総合得点の低下の歯止めになっているからである。また、図示されていないが、Nが「50」以降において高い得点ランク「5」が続いた場合でも、総合得点は「75」を超えることはない。これは、Nが「13」以降の得点ランク「4」〜「1」によって、スレッシュポイントTHRESH[5]が初期値「100」から下降していて、それが総合得点の上昇の歯止めになっているからである。
【0052】
すなわち、上記実施形態においては、固定されている基準のスレッシュポイントBASE[RANK]の代わりに、図8のステップSE6ないしステップSE12の処理によって、得点ランクの推移に応じて変化するスレッシュポイントTHRESH[RANK]を用いるので、初期結果を最終結果に反映することができる。
【0053】
以上のように、上記実施形態における演奏採点装置によれば、CPU1は、演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出し、検出したタイミング差に応じて5段階の得点ランクの中で1つの得点ランクを指定し、その指定した得点ランクに応じた得点ポイントRP[RANK]を設定して、前回までの演奏に応じて演算した前回の総合得点に対して、今回の演奏に応じて設定した得点ポイントを累算することによって、今回の総合得点を演算する際に得点ランクに対応するスレッシュポイントに総合得点を収束させるように、今回の総合得点を演算する。
したがって、演奏に伴って曲が進行しても得点の変化率が小さくならず、演奏の得点ランクに追従した総合得点を算出することができる。
【0054】
また、上記実施形態における演奏採点装置によれば、指定した得点ランクが高い場合には、あらかじめ指定された得点ランクに対応するスレッシュポイントを高い値に変更し、指定した得点ランクが低い場合には、あらかじめ指定された得点ランクに対応するスレッシュポイントを低い値に変更するので、初期の採点結果を最終の採点結果に反映させて、得点から演奏者の実力を正確に判断できる。
【0055】
なお、上記実施形態においては、5段階の得点ランクRP[1]〜RP[5]を設定して、各得点ランクに対応するスレッシュポイントTHRESH[1]〜THRESH[5]によって、総合得点を算出する場合について説明したが、本発明の適用範囲は、5段階の得点ランクに限定するものではない。6段階以上の得点ランクでもよいし、あるいは、2段階から4段階の得点ランクでもよい。
【0056】
なおまた、上記実施形態における演奏採点装置においては、読み出し専用のメモリであるROM4にあらかじめ演奏採点処理のプログラムを格納し、CPU1によってそのプログラムを実行する構成にしたが、書き換え可能なメモリに演奏採点処理のプログラムをインストールする構成も可能である。すなわち、FD(フレキシブルディスク)、CD−ROMなどの外部記憶媒体に記憶されている演奏採点処理のプログラムや、インターネットなどの通信網を介してダウンロードされる演奏採点処理のプログラムを、パソコンなどの汎用の情報処理装置のハードディスクなどにインストールして実行することも可能である。この場合には、プログラムの発明を構成する。
【0057】
すなわち、本発明による演奏採点処理のプログラムは、演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出する第1のステップと、第1のステップによって検出されたタイミング差に応じて複数段階の得点ランクの中で1つの得点ランクを指定する第2のステップと、第2のステップによって指定された得点ランクに応じた加算値又は減算値を設定する第3のステップと、前回までの演奏に応じて演算した前回の総合得点に対して今回の演奏に応じて第3のステップにより設定された加算値又は減算値を累算することによって今回の総合得点を演算する際に得点ランクに対応する目標値に総合得点を収束させるように今回の総合得点を演算する第4のステップとを実行する。
【0058】
また、第2のステップによって指定された得点ランクが高い場合にはあらかじめ指定された得点ランクに対応する目標値を高い値に変更し、指定された得点ランクが低い場合にはあらかじめ指定された得点ランクに対応する目標値を低い値に変更する第5のステップをさらに有する。
【0059】
【発明の効果】
本発明によれば、演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出して、その検出したタイミング差に応じて複数段階の得点ランクの中で1つの得点ランクを指定し、その指定した得点ランクに対応する目標値に収束させるように、総合得点を演算するので、曲が進行しても得点の変化率が小さくならず、得点ランクの変化に追従した総合得点を算出できるという効果がある。
【0060】
また、本発明によれば、指定された得点ランクが高い場合にはあらかじめ指定された得点ランクに対応する目標値を高い値に変更し、指定された得点ランクが低い場合にはあらかじめ指定された得点ランクに対応する目標値を低い値に変更するので、初期の採点結果を最終の採点結果に反映させて、得点から演奏者の実力を正確に判断できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態における演奏採点装置の構成を示すブロック図。
【図2】図1のROM4のメモリ構成を示す図。
【図3】図1のRAM5のメモリ構成を示す図
【図4】図1のCPU1のメインフローチャート。
【図5】図4のメインフローチャートにおけるスイッチ処理のフローチャート。
【図6】タイマインタラプトに応じたタイマ処理のフローチャート。
【図7】図4のメインフローチャートにおける鍵盤処理のフローチャート。
【図8】図6のタイマ処理又は図7の鍵盤処理における得点処理のフローチャート。
【図9】各発音イベントNに対する演奏結果に対して本発明の実施形態を適用した場合の総合得点などの推移を表す数値表の図。
【図10】(A)は従来の平均型総合得点の推移を示すグラフを示す図、(B)は本発明の実施形態を適用した場合の総合得点の推移を示すグラフを示す図。
【符号の説明】
1 CPU
2 鍵盤
3 スイッチ部
4 ROM
5 RAM
6 表示部
7 楽音生成部
8 D/A変換器
9 アンプ
10 スピーカ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a performance scoring apparatus and a performance scoring program.
[0002]
[Prior art]
There has been proposed a performance scoring device that scores the accuracy of performance timing according to the performance of a song by a performer and can be taught as a game. As an example of a conventional proposal, means for reproducing music information including music information of a performance part for a performer, performance timing input means for inputting performance timing information by the performer, and music information of the performance part Based on the setting, a period for scoring for each sound is set, and monitoring means for monitoring the input of the performance timing information in the scoring period, and the scoring period is divided into a plurality of scoring areas, A score management means for managing scores assigned to each score area, a score area specification means for specifying which area in the scoring period the input performance timing information corresponds to, and the score management means There is a performance information scoring device that includes scoring means for scoring performance timing information by a player.
According to this structure, the performance timing of the sound performed by the performer can be finely scored according to the degree of accuracy of the performance timing (see, for example, Patent Document 1).
[0003]
[Patent Document 1]
Japanese Patent Laid-Open No. 2001-83968 (paragraph numbers “0005” and “0006”)
[0004]
[Problems to be solved by the invention]
In the conventional technology such as the performance information scoring device of Patent Document 1 above, the total score by simple addition / subtraction of the score with respect to the number of played notes is different for each song because the number of notes differs depending on the song. There was a problem that it was difficult to judge the ability from the score. Therefore, a method of calculating the average score by dividing the total score by the number of notes, or a method of setting a lower limit and an upper limit (for example, 0 point and 100 point) to the total score by addition / subtraction can be considered.
However, in the method of calculating the average score, the number of notes that become the denominator of the calculation increases as the song progresses, so the rate of change of the score decreases as the song progresses, and there is a new problem that the game is not interesting Occurs.
Further, in the method of setting the lower limit and the upper limit for the total score by addition / subtraction, a new problem arises that the initial scoring result is not reflected in the final scoring result.
[0005]
The present invention solves the above-described problems in the prior art, and the rate of change in the score does not decrease even when the music progresses, and the initial scoring result is reflected in the final scoring result. It is an object of the present invention to provide a performance scoring device and a performance scoring processing program that can accurately determine the performance of a performer.
[0006]
[Means for Solving the Problems]
  In order to solve the above problems, the present inventionThe performance scoring device according to claim 1,Detection means for detecting a timing difference between the sound generation instruction timing of each sounding event and the performance timing of the performance result for each sounding event in the music data to be scored for performance, and the timing difference detected by the detecting means is detected A designation means for designating one score rank among a plurality of stages of score ranks, and a calculation means for computing a total score so as to converge to a target value corresponding to the score rank designated by the designation means, It is characterized by having.
[0007]
  The performance scoring apparatus according to claim 2, when the designated score rank is highest, the target value corresponding to the score rank determined in advance for the score rank is changed to a higher value, When the score rank is the lowest, it is further characterized by further comprising changing means for changing the target value corresponding to the score rank predetermined for the score rank to a low value.
[0008]
  The performance scoring program according to claim 3 detects a timing difference between the sound generation instruction timing of each sounding event and the performance timing of the performance result for each sounding event in the music data to be performance-scored. A first step, a second step of designating one scoring rank among a plurality of scoring ranks each time a timing difference detected in the first step is detected, and the second step. A third step of calculating a total score so as to converge to a target value corresponding to the designated score rank; Is executed.
[0009]
  5. The performance scoring program according to claim 4, further comprising: a goal corresponding to a score rank predetermined for the score rank when the score rank designated by the second step is the highest. When the value is changed to a high value and the designated score rank is the lowest, the fourth step of changing the target value corresponding to the score rank predetermined for the score rank to a low value is performed. The computer is executed.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a performance scoring device according to the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a performance scoring apparatus in the embodiment. In this figure, a CPU 1 is connected to a keyboard 2, a switch unit 3, a ROM 4, a RAM 5, a display unit 6, and a musical tone generating unit 7 via a system bus, and exchanges commands and data with these units. However, the entire performance scoring apparatus is controlled.
[0011]
The keyboard 2 inputs note-on, velocity, and note-off data to the CPU 1 in accordance with the performance of key depression and key release.
The switch unit 3 includes a song selection switch for selecting a song to be scored, a performance scoring switch for setting a performance scoring mode, and other switches, and inputs an on / off state corresponding to the operation to the CPU 1. .
The ROM 4 stores a program for performance scoring processing, song data (sequence data) to be subjected to performance scoring, points for each score rank, reference threshold points for each score rank (these will be described later), and initial values at initialization at startup. Values are stored in advance.
The RAM 5 temporarily stores various data processed by the CPU 1 and has various register and flag areas necessary for executing the program.
The display unit 6 displays the score, performance result, etc. of the music to be scored.
The tone generation unit 7 generates a tone signal in accordance with the sound generation instruction (note-on command) and waveform data from the CPU 1 and outputs the tone signal to the D / A conversion circuit 8. The D / A conversion circuit 8 converts the musical sound signal from digital to analog, and supplies it to the speaker 10 via the amplifier 9 for sound generation. Further, the musical sound generation unit 7 stops the sound generation in response to a mute instruction (note off command) from the CPU 1.
[0012]
FIG. 2 is a diagram showing a memory configuration of the ROM 4 of FIG. FIG. 2A shows note data NOTE [] of each sounding event in the music data to be scored for performance, and FIG. 2B shows on-time ONTIME [] indicating the sounding instruction timing of each sounding event. This is time data from the beginning of the music data shown. An arbitrary nth sounding event NOTE [n] corresponds to the sounding instruction timing ONTIME [n].
[0013]
FIG. 2C shows the parameters of the score points RP [RANK] set according to the score ranks of the five rank score ranks (RANK = 1, 2, 3, 4, 5). The parameters set according to the score rank of each stage in this embodiment are the following values.
RP [1] = 5
RP [2] = 2
RP [3] = 2
RP [4] = 2
RP [5] = 5
[0014]
FIG. 2D shows the parameters of the reference threshold point BASE [RANK] corresponding to each score rank. In this embodiment, the parameters of the reference threshold point for the score rank of each stage are the following values.
BASE [1] = 1
BASE [2] = 25
BASE [3] = 50
BASE [4] = 75
BASE [5] = 100
[0015]
FIG. 3 is a diagram showing a memory configuration of the RAM 5 of FIG. PLAY is a performance scoring mode flag that reverses (toggles) the value (0 or 1) in accordance with the operation of the performance scoring switch of the switch unit 3, and starts playing when the value of PLAY toggles from “0” to “1”. When the value of PLAY toggles from “1” to “0”, the performance ends. TIME is a register that stores the current elapsed time from the beginning of a song at regular intervals. IDX is a register for designating the note number, and each sounding event in ROM 4 designated by IDX and its sounding instruction timing are represented by NOTE [IDX] and ONTIME [IDX].
[0016]
The TOTAL is a register for storing a total score obtained by scoring the performance result every time a note event which is each sounding event of the music data is played. RANK is a register that stores the current value of the score rank (1, 2, 3, 4, 5) corresponding to the timing difference between the on-time time, which is the sound generation designation timing, and the performance timing. GATE is a flag that is set to “1” during the scoring period and is reset to “0” during other periods. KEYON is a flag that is set to “1” when the keyboard 2 is pressed within the scoring period. This flag is used for a key press timeout process. THRESH [RANK = 1, 2, 3, 4, 5] is a register for storing a current value of a target value (hereinafter referred to as “threshold point”) for each score rank.
[0017]
Next, the operation of the performance scoring apparatus of FIG. 1 will be described in detail with reference to the flowcharts of the CPU 1 shown in FIGS. 4 to 8 and the tables and graphs showing the overall scores of performance results shown in FIGS. To do.
FIG. 4 is a main flowchart of the CPU 1, and after a predetermined initialization process (step SA1) such as clearing the register and flag of the RAM 5, a switch process (step SA2) for searching for on / off of each switch of the switch unit 3. ), A keyboard process (step SA3) for searching for keys pressed and released from the keyboard 2 and other processes (step SA4) are repeatedly executed.
[0018]
FIG. 5 is a flowchart of the switch process in step SA2 in the main flowchart. First, it is determined whether or not the performance scoring switch is turned on (step SB1). If this switch is not turned on, other switch processing is executed (step SB2), and the process returns to the main flowchart.
On the other hand, when this switch is turned on, the performance scoring flag PLAY is toggled (inverted value) (step SB3). Then, it is determined whether or not the value of the flag PLAY has changed from “0” to “1” (step SB4). When this value changes to “1”, “0” is stored in the register TIME, “1” is stored in the register IDX, “50” is stored in the register TOTAL, and “0” is set in the flag KEYON. Then, the values of BASE [1] to [5] are substituted into the registers THRESH [1] to [5] (step SB5). Then, performance start processing is performed (step SB6), and the process returns to the main flowchart.
In step SB4, when the value of the performance scoring flag PLAY changes from “1” to “0”, performance end processing is performed (step SB7), and the process returns to the main flowchart.
[0019]
FIG. 6 is a flowchart of timer processing executed in response to a timer interrupt at regular intervals. First, it is determined whether or not the value of PLAY is “1” (step SC1). If this value is “0”, the process returns to the main flowchart without executing this timer process. On the other hand, if this value is “1”, the current elapsed time is stored and updated in the value of TIME (step SC2). Next, it is determined whether or not the value of GATE is “0” (step SC3). If this value is “0”, it is determined whether or not the current elapsed time stored in TIME is within the eighth note of ONTIME [IDX] specified by IDX (step SC4). That is, it is determined whether or not the current elapsed time has reached within the scoring period. If the TIME value is within the eighth note of ONTIME [IDX], GATE is set to “1” because it has reached the scoring period, and KEYON is set to “0” because the key has not been pressed yet. (Step SC5).
[0020]
If the value of GATE is “1” in step SC3, it is determined whether or not the current elapsed time stored in TIME is after the eighth note of ONTIME [IDX] specified by IDX (step S3). SC6). That is, it is determined whether or not the current elapsed time has passed the scoring period. If the TIME value is after the eighth note of ONTIME [IDX], the GATE value is reset to “0” (step SC7).
[0021]
Next, it is determined whether or not the value of KEYON is “0” (step SC8). That is, it is determined whether or not the key is not pressed within the scoring target period. If the KEYON value is “0” and it is determined that the key has not been pressed due to a time-out, “1”, that is, the lowest score rank is stored in RANK (step SC9). Then, scoring is executed (step SC10). After this scoring process, or in step SC8, if the KEYON value is “1” and the key is pressed within the scoring period, the IDX values specifying NOTE [] and ONTIME [] are changed to “ 1 "is incremented (step SC11). That is, the next sounding event is designated.
[0022]
After incrementing the value of IDX in step SC11, or in step SC6, if the value of TIME is not after the eighth note of ONTIME [IDX], but within the scoring period, or in step SC5, GATE After setting the value of “1” and resetting the value of KEYON to “0”, or in step SC4, if the value of TIME is not within the eighth note of ONTIME [IDX], that is, still scoring If the period has not been reached, other processing such as music data playback processing and automatic stop processing at the end of the music is executed (step SC12), and the process returns to the main flowchart.
[0023]
FIG. 7 is a flowchart of the keyboard process in step SA3 in the main flowchart of FIG. First, it is determined whether or not there is a key depression (step SD1). When the key is depressed, it is determined whether or not the value of PLAY is “1” (step SD2). If this value is “1” and the performance scoring mode is set, it is determined whether or not the value of GATE is “1” (step SD3). If this value is “1” and within the scoring period, it is determined whether or not the value of KEYON is “0” (step SD4). If this value is “0”, it is determined whether or not the key (note pitch) pressed is coincident with the note (note pitch) of NOTE [IDX] (step SD5).
[0024]
If the note pressed and the note of NOTE [IDX] do not match, “1” is stored in the register RANK (step SD6). When the note pressed and the note of NOTE [IDX] match, the note time unit between the current time of TIME, that is, the performance timing when the key is pressed, and the time of ONTIME [IDX], that is, the sound generation instruction timing to be pressed Is determined (step SD7).
[0025]
If the determined time difference is less than a 64th note, “5” is stored in RANK (step SD8). If the determined time difference is greater than or equal to the 64th note and less than the 32nd note, “4” is stored in RANK (step SD9). If the determined time difference is greater than or equal to the 32nd note and less than the 16th note, “3” is stored in RANK (step SD10). If the determined time difference is equal to or greater than the sixteenth note, “2” is stored in RANK (step SD11).
[0026]
In step SD6, step SD8, step SD9, step SD10, or step SD11, after the value is stored in RANK, scoring processing is executed (step SD12). Then, KEYON is set to “1” (step SD13). By setting KEYON to “1”, the scoring process of step SC10 is not performed in the determination of step SC8 in the timer process of FIG. That is, step SC10 in FIG. 6 is a scoring process when the key is not pressed, and step SD12 in FIG. 7 is a scoring process when the key is pressed.
[0027]
After setting KEYON to “1” in step SD13 of FIG. 7 or when PLAY is “0” in step SD2, GATE is “0” in step SD3, or KEYON in step SD4. Is “1”, a key-on sound generation process for sending a note-on command and a key-on note to the tone generator 7 is executed (step SD14). After this key pressing sound generation process or if there is no key pressed in step SD1, other processes such as a key release process are performed (step SD15), and the process returns to the main flowchart.
[0028]
FIG. 8 is a flowchart of the scoring process of step SC10 in the timer process of FIG. 6 or step SD12 in the keyboard process of FIG. First, the value of the integer part INT (THRESH [RANK]) of the threshold point THRESH [RANK] corresponding to the rank value (1, 2, 3, 4, 5) of the score rank is determined according to the performance up to the previous time. A subtraction result A is calculated by subtracting from the previously calculated total score TOTAL value (step SE1).
[0029]
Next, it is determined whether or not the absolute value ABS (A) of the subtraction result A is larger than the value of the score point RP [RANK] corresponding to RANK (step SE2). That is, when the value of the point RP [RANK] is accumulated to the total score value of TOTAL, it is determined whether or not the accumulated total score value reaches the threshold value.
[0030]
If the value of ABS (A) is greater than the value of scoring point RP [RANK], that is, if the accumulated total scoring value does not reach the threshold value, A is added to the value of scoring point RP [RANK]. The value obtained by multiplying the value SGN (A) by the value of the value and subtracting the multiplied value from the value of TOTAL is stored in the TOTAL as a new total score value and updated (step SE3).
[0031]
On the other hand, when the value of ABS (A) is less than or equal to the value of the scoring point RP [RANK], that is, when the accumulated total scoring value reaches or exceeds the threshold value, A calculated in step SE1 "1" is added to the absolute value of 1/2, and the integer part is multiplied by the sign SGN (A) of the A value, and the value obtained by subtracting the multiplied value from the TOTAL value is obtained as a new total score. The value is stored in TOTAL and updated (step SE4).
[0032]
Therefore, even if a score point corresponding to a certain score rank is accumulated in the previous total score, the accumulated value of the new total score does not exceed the threshold value corresponding to the score rank. When the score rank is continuous, the total score value converges to the threshold point.
[0033]
In step SE3 or step SE4, after the new total score is stored in TOTAL, the value of the score rank RANK by this performance is determined (step SE5). Thereafter, according to the determined value of RANK, the current threshold value THRESH [] is compared with the value of the reference threshold point BASE [], and in the processing of step SE6 to step SE12, the threshold point is determined. The value of THRESH [1] to THRESH [5] is changed. However, only THRESH [3] remains fixed at “50”.
[0034]
When the value of RANK is “1” in the determination of step SE5 and the value of THRESH [1] is larger than the value of BASE [1], the value of BASE [1] is changed from the value of THRESH [1]. Is subtracted, the coefficient C1 (= 63/64) is multiplied to the subtraction result, the value of BASE [1] is added to the multiplication result, and the addition result is used as a new threshold value, THRESH [1 ] Is lowered (step SE6).
[0035]
Further, after step SE6, if the value of THRESH [2] is larger than the value of BASE [2], the value of BASE [2] is subtracted from the value of THRESH [2], and a coefficient C2 ( = 63/64), the value of BASE [2] is added to the multiplication result, and the value of THRESH [2] is lowered with the addition result as the value of the new threshold (step SE7).
[0036]
Further, after step SE7, if the value of THRESH [4] is greater than the value of BASE [3], the value of BASE [3] is subtracted from the value of THRESH [4], and the result is the coefficient C3 ( = 31/32), the value of BASE [3] is added to the multiplication result, and the value of THRESH [4] is lowered using the addition result as the value of the new threshold (step SE8).
[0037]
Further, after step SE8, if the value of THRESH [5] is larger than the value of BASE [4], the value of BASE [4] is subtracted from the value of THRESH [5], and a coefficient C4 ( = 31/32), the value of BASE [4] is added to the multiplication result, and the value of THRESH [5] is lowered with the addition result as a new threshold value (step SE9).
[0038]
When the value of RANK is “2” or “3” in the determination of step SE5 and the value of THRESH [4] is larger than the value of BASE [3], the value of THRESH [4] is changed to BASE [ 3], the coefficient C3 (= 31/32) is multiplied by the subtraction result, the value of BASE [3] is added to the multiplication result, and the addition result is used as a new threshold point value. , THRESH [4] is decreased (step SE8).
[0039]
Further, after step SE8, if the value of THRESH [5] is larger than the value of BASE [4], the value of BASE [4] is subtracted from the value of THRESH [5], and the coefficient C4 ( = 31/32), the value of BASE [4] is added to the multiplication result, and the value of THRESH [5] is lowered with the addition result as a new threshold value (step SE9).
[0040]
When the value of RANK is “4” or “5” in the determination of step SE5, and the value of THRESH [1] is smaller than the value of BASE [3], the value of BASE [3] is changed from THRESH [1]. 1] is subtracted, and the subtraction result is multiplied by a coefficient C5 (= 31/32). The multiplication result is subtracted from the value of BASE [3], and the subtraction result is used as a new threshold value. , THRESH [1] is increased (step SE10).
[0041]
Further, after step SE10, if the value of THRESH [2] is smaller than the value of BASE [3], the value of THRESH [2] is subtracted from the value of BASE [3], and the coefficient C6 ( = 31/32), the result of the multiplication is subtracted from the value of BASE [3], and the value of THRESH [2] is increased using the result of the subtraction as a new threshold value (step SE11).
[0042]
Thereafter, it is determined whether or not the value of RANK is “4” (step SE12). When this value is “4”, the value of THRESH [5] is further the value of BASE [4]. If it is larger, the value of BASE [4] is subtracted from the value of THRESH [5], the subtraction result is multiplied by a coefficient C4 (= 31/32), and the value of BASE [4] is multiplied by the multiplication result. Addition is performed, and the value of THRESH [5] is lowered using the addition result as a new threshold value (step SE9).
[0043]
If the value of RANK is “5” instead of “4” in step SE12, or after the value of THRESH [5] is lowered in step SE9, the total score obtained by the calculation in step SE3 or step SE4 A score display process for displaying TOTAL is performed (step SE13). Then, the process returns to the main flowchart.
[0044]
In this manner, in the processing of step SE6 to step SE12 in FIG. 8, except for the threshold point THRESH [3] whose value is fixed, the other threshold points THRESH [1] to [5] are changed according to the change of the score rank. Change the value.
In this case, when the score rank is “1”, the values of the four threshold points THRESH [1], THRESH [2], THRESH [4], and THRESH [5] specified in advance are all lowered. When the score rank is “2” or “3”, the values of two threshold points THRESH [4] and THRESH [5] specified in advance are lowered. When the score rank is “4”, the values of two threshold points THRESH [1] and THRESH [2] specified in advance are increased, and the value of THRESH [5] is decreased. When the score rank is “4”, the values of two threshold points THRESH [1] and THRESH [2] specified in advance are increased.
[0045]
In addition, in the calculation for changing the threshold point, coefficients C1 to C6 that are multiplied by the difference between THRESH [RANK] and BASE [RANK] are values larger than “0” and smaller than “1”. In FIG. 8, when the values of THRESH [1] and THRESH [2] are decreased, the value is 63/64, and when the values of THRESH [4] and THRESH [5] are decreased, and THRESH [1] When the value of THRESH [2] is increased, the value is 31/32, but may be set to an optimum value according to other conditions as long as 0 <C1 to C6 <1.
[0046]
FIG. 9 is a numerical table in the case where the present invention is applied to the performance results for each sounding event N (1 to 50). RANK (score rank), THRESH [1], THRESH [2], THRESH [ 4] is a numerical table showing TOTAL (overall score) that changes from the initial value “50” in accordance with the threshold point consisting of THRESH [5]. This numerical table includes AVERAGE (average total score), which has been applied conventionally, for comparison. FIG. 10 is a diagram showing a graph displayed on the screen of the display unit 6 corresponding to the numerical table of FIG. In FIG. 10, (A) is a graph showing the transition of the conventional AVERAGE (average total score), and (B) is a graph showing the transition of the total score when the present invention is applied. In addition, the graph which shows transition of a threshold point is also displayed on (B).
[0047]
As shown in FIG. 9, the value of the score rank RANK according to the performance result is such that N has a high score rank “5” in the beginning from “1” to “12”, and N ranges from “13” to “34”. In the middle stage up to, the score rank gradually decreases, and in the portion where N is from “35” to “40”, it falls to the lowest score rank “1”. After that, when N reaches the final stage after “41”, it rises again to a high score rank “4” or “5”.
[0048]
In the graph of AVERAGE (average total score) in FIG. 10A, in the first part where N is “1” to “12”, N is from “1” even though a high score rank continues. The total score rises sharply only for “4”, and thereafter, the rate of change is flat with very little change. In addition, in the portion where N is from “35” to “40”, the overall score is larger than “50” and is not so much lowered even though the score rank is the lowest. Furthermore, in the end stage, when N is from “41” to “50”, the overall score is not so high, although it is rapidly increasing to a high score rank.
This is because the arithmetic expression for obtaining the average type total score has the number of notes (in this case, N + 1 by adding the initial value “50” to the denominator of the arithmetic expression, as in Equation 1 below), This is because the denominator increases as the time progresses, and the rate of change in scores decreases.
[Expression 1]
Figure 0004135529
[0049]
On the other hand, in the graph of FIG. 10B, according to the high score rank of the first part where N is “1” to “12”, the overall score is naturally up to “95” with a constant large change rate. Is rising. Further, after the total score exceeds “95”, it gradually rises so as to converge to the threshold point THRESH [5] of the score rank “5”. After that, in the portion where N is “35” to “40” where the score rank is the lowest, the total score also decreases at a relatively large change rate. In addition, the overall score has increased at a relatively large rate of change in accordance with the high score rank at the end of the game.
This is because, as shown in the arithmetic expressions of step SE1 to step SE4 in FIG. 8, the total score is not calculated by division but addition / subtraction is used, and the total score is converged to the threshold point corresponding to the score rank. This is because the calculation is performed.
[0050]
Thus, in the transition of the average type total score shown in FIG. 10 (A), the rate of change of the total score gradually decreases due to the number of notes that increase as the music progresses, and it cannot follow the change of the score rank. In the transition of the total score of the embodiment shown in FIG. 10B, even if the number of notes increases as the music progresses, the rate of change of the total score does not decrease, and the change of the score rank can be followed. it can.
[0051]
Further, as shown in FIG. 10B, in the portion where N is from “35” to “40”, the score rank is the lowest “1”, but the total score value is the threshold point THRESH. It has decreased only to the value [27] of [1]. This is because the high score ranks “5” and “4” with N ranging from “1” to “20” increase the threshold point THRESH [1] from the initial value “1”, which decreases the overall score. It is because it has become a pawl. Although not shown, even if a high score rank “5” continues after N is “50” or later, the total score does not exceed “75”. This is because the threshold point THRESH [5] is lowered from the initial value “100” due to the score ranks “4” to “1” after N is “13”, and this is the stopping of the increase of the total score. Because.
[0052]
That is, in the above embodiment, the threshold point THRESH [RANK which changes according to the transition of the score rank by the processing of step SE6 to step SE12 in FIG. 8 instead of the fixed reference threshold point BASE [RANK]. ], The initial result can be reflected in the final result.
[0053]
As described above, according to the performance scoring device in the above embodiment, the CPU 1 determines the timing difference between the sound generation instruction timing of each sounding event and the performance timing of the performance result for each sounding event in the music data to be performance-scored. Detect and specify one scoring rank out of the five scoring ranks according to the detected timing difference, and set the scoring point RP [RANK] according to the designated scoring rank. The total score is converged to the threshold point corresponding to the score rank when calculating the current total score by accumulating the score points set according to the current performance against the previous total score calculated accordingly. The total score of this time is calculated so that
Therefore, even if the music progresses with the performance, the rate of change of the score is not reduced, and the total score that follows the score rank of the performance can be calculated.
[0054]
Further, according to the performance scoring device in the above embodiment, when the designated score rank is high, the threshold point corresponding to the score rank designated in advance is changed to a high value, and when the designated score rank is low. Since the threshold point corresponding to the score rank specified in advance is changed to a low value, the player's ability can be accurately determined from the score by reflecting the initial scoring result in the final scoring result.
[0055]
In the above embodiment, the five-point score ranks RP [1] to RP [5] are set, and the total score is calculated by the threshold points THRESH [1] to THRESH [5] corresponding to each score rank. However, the scope of application of the present invention is not limited to the five-point score rank. A score rank of 6 or more levels may be used, or a score rank of 2 to 4 levels may be used.
[0056]
In the performance scoring apparatus in the above embodiment, the performance scoring program is stored in advance in the ROM 4 which is a read-only memory, and the program is executed by the CPU 1, but the performance scoring is performed in a rewritable memory. A configuration in which a processing program is installed is also possible. That is, a performance scoring program stored in an external storage medium such as an FD (flexible disk) or a CD-ROM or a performance scoring program downloaded via a communication network such as the Internet can be used as a general-purpose computer such as a personal computer. It can also be installed and executed on the hard disk of the information processing apparatus. In this case, the invention of the program is configured.
[0057]
That is, a performance scoring program according to the present invention includes a first step of detecting a timing difference between a sound generation instruction timing of each sounding event and a performance result of a performance result for each sounding event in the music data to be performance-scored. A second step of designating one scoring rank among a plurality of scoring ranks according to the timing difference detected in the first step, and an added value corresponding to the scoring rank designated by the second step Alternatively, the third step of setting a subtraction value and the addition value or subtraction value set by the third step according to the current performance is accumulated with respect to the previous total score calculated according to the previous performance. As a result, the current total score is converged to the target value corresponding to the score rank when calculating the current total score. Performing a fourth step of.
[0058]
If the score rank specified in the second step is high, the target value corresponding to the score rank specified in advance is changed to a high value, and if the score rank specified is low, the score specified in advance is changed. A fifth step of changing the target value corresponding to the rank to a lower value is further included.
[0059]
【The invention's effect】
  According to the present invention, the timing difference between the sounding instruction timing of each sounding event and the performance timing of the performance result for each sounding event in the music data to be performance-scored is detected, and a plurality of times are determined according to the detected timing difference. Specify one scoring rank among the scoring ranks of the stage, and the specified scoring rankCalculate the total score so that it converges to the corresponding target valueTherefore, even if the music progresses, the rate of change of the score is not reduced, and there is an effect that it is possible to calculate the total score that follows the change of the score rank.
[0060]
Further, according to the present invention, when the designated score rank is high, the target value corresponding to the previously designated score rank is changed to a high value, and when the designated score rank is low, the designated value is designated in advance. Since the target value corresponding to the score rank is changed to a low value, there is an effect that the player's ability can be accurately judged from the score by reflecting the initial scoring result in the final scoring result.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a performance scoring apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram showing a memory configuration of a ROM 4 in FIG.
3 is a diagram showing a memory configuration of the RAM 5 in FIG. 1;
FIG. 4 is a main flowchart of the CPU 1 in FIG.
FIG. 5 is a flowchart of switch processing in the main flowchart of FIG. 4;
FIG. 6 is a flowchart of timer processing according to a timer interrupt.
FIG. 7 is a flowchart of keyboard processing in the main flowchart of FIG. 4;
8 is a flowchart of scoring processing in the timer processing of FIG. 6 or the keyboard processing of FIG.
FIG. 9 is a diagram of a numerical table showing changes in overall scores and the like when the embodiment of the present invention is applied to performance results for each sounding event N.
FIG. 10A is a graph showing a transition of a conventional average total score, and FIG. 10B is a graph showing a transition of a total score when the embodiment of the present invention is applied.
[Explanation of symbols]
1 CPU
2 keyboard
3 Switch part
4 ROM
5 RAM
6 Display section
7 Music generator
8 D / A converter
9 Amplifier
10 Speaker

Claims (4)

演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出する検出手段と、
前記検出手段によって検出されたタイミング差が検出される毎に複数段階の得点ランクの中で1つの得点ランクを指定する指定手段と、
前記指定手段によって指定された得点ランクに対応する目標値に収束させるように総合得点を演算する演算手段と、
を備えた演奏採点装置。
Detecting means for detecting a timing difference between the sound generation instruction timing of each sounding event in the music data to be performance-scored and the performance timing of the performance result for each sounding event;
Designating means for designating one scoring rank among a plurality of scoring ranks each time a timing difference detected by the detecting means is detected;
Computing means for computing a total score so as to converge to a target value corresponding to the score rank designated by the designation means;
Performance scoring device with
前記指定した得点ランクが最高である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を高い値に変更し、前記指定した得点ランクが最低である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を低い値に変更する変更手段をさらに備えたことを特徴とする請求項1記載の演奏採点装置。When the designated score rank is the highest, the target value corresponding to the score rank predetermined for the score rank is changed to a higher value, and when the designated score rank is the lowest, 2. The performance scoring apparatus according to claim 1, further comprising changing means for changing a target value corresponding to a score rank predetermined with respect to the score rank to a low value . コンピュータに、
演奏採点の対象となる曲データにおける各発音イベントの発音指示タイミングと前記各発音イベントに対する演奏結果の演奏タイミングとのタイミング差を検出する第1のステップと、
前記第1のステップによって検出されたタイミング差が検出される毎に複数段階の得点ランクの中で1つの得点ランクを指定する第2のステップと、
前記第2のステップによって指定された得点ランクに対応する目標値に収束させるように総合得点を演算する第3のステップと、
を実行させる演奏採点処理のプログラム。
On the computer,
A first step of detecting a timing difference between the sounding instruction timing of each sounding event in the music data to be scored for performance and the performance timing of the performance result for each sounding event;
A second step of designating one scoring rank among a plurality of scoring ranks each time a timing difference detected by the first step is detected;
A third step of calculating a total score so as to converge to a target value corresponding to the score rank designated by the second step;
A program for scoring performance.
前記演奏採点処置のプログラムはさらに、
前記第2のステップによって指定された得点ランクが最高である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を高い値に変更し、前記指定された得点ランクが最低である場合には、当該得点ランクに対して予め定められた得点ランクに対応する目標値を低い値に変更する第4のステップをコンピュータに実行させることを特徴とする請求項3記載の演奏採点処理のプログラム。
The performance scoring program further includes:
When the score rank designated by the second step is the highest, the target value corresponding to the score rank determined in advance for the score rank is changed to a high value, and the designated score rank is 4. The performance according to claim 3 , wherein if it is the lowest, the computer is caused to execute a fourth step of changing a target value corresponding to a predetermined score rank to a lower value with respect to the score rank. A scoring program.
JP2003060109A 2003-03-06 2003-03-06 Performance scoring device and performance scoring program Expired - Fee Related JP4135529B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003060109A JP4135529B2 (en) 2003-03-06 2003-03-06 Performance scoring device and performance scoring program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003060109A JP4135529B2 (en) 2003-03-06 2003-03-06 Performance scoring device and performance scoring program

Publications (3)

Publication Number Publication Date
JP2004271712A JP2004271712A (en) 2004-09-30
JP2004271712A5 JP2004271712A5 (en) 2006-04-27
JP4135529B2 true JP4135529B2 (en) 2008-08-20

Family

ID=33122750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003060109A Expired - Fee Related JP4135529B2 (en) 2003-03-06 2003-03-06 Performance scoring device and performance scoring program

Country Status (1)

Country Link
JP (1) JP4135529B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4525591B2 (en) * 2005-12-27 2010-08-18 カシオ計算機株式会社 Performance evaluation apparatus and program

Also Published As

Publication number Publication date
JP2004271712A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
JP5360510B2 (en) Performance evaluation apparatus and program
JP6176480B2 (en) Musical sound generating apparatus, musical sound generating method and program
JP4135529B2 (en) Performance scoring device and performance scoring program
JP2010139592A (en) Musical tone generating apparatus and musical tone generating program
JP5030016B2 (en) Musical sound generator and musical sound generation processing program
EP3757984A1 (en) Electronic musical instrument, method and program
JP2018146928A (en) Electronic musical instrument, musical sound generating method, and program
JP4225362B2 (en) Code determination apparatus and code determination processing program
JP6565225B2 (en) Electronic musical instrument, volume control method and program
JPH04277797A (en) Electronic musical instrument
JP4452671B2 (en) Karaoke device with assist evaluation function
JPH06186966A (en) Effector
JP2007140000A (en) Song grading device and program for processing song grading
JP4509298B2 (en) Music score display device
JP3743993B2 (en) Code determination apparatus, code determination method, and medium recording code determination method
JP6210356B2 (en) Performance device, performance method and program
JP3543124B2 (en) Automatic accompaniment device
JP4576565B2 (en) Performance apparatus and performance processing program
JPH0744163A (en) Automatic transcription device
JP2012252073A (en) Musical tone data correcting device and program
JP2722880B2 (en) Electronic musical instrument
JP6439225B2 (en) Musical sound generating device, electronic musical instrument, musical sound generating method and program
JP3533764B2 (en) Automatic accompaniment device
JP3237155B2 (en) Electronic musical instrument
JP4513738B2 (en) Performance apparatus and performance processing program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060301

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080526

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071004

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees