JP2004205567A - Device and program for musical performance evaluation - Google Patents

Device and program for musical performance evaluation Download PDF

Info

Publication number
JP2004205567A
JP2004205567A JP2002371189A JP2002371189A JP2004205567A JP 2004205567 A JP2004205567 A JP 2004205567A JP 2002371189 A JP2002371189 A JP 2002371189A JP 2002371189 A JP2002371189 A JP 2002371189A JP 2004205567 A JP2004205567 A JP 2004205567A
Authority
JP
Japan
Prior art keywords
evaluation
performance
note
period
music
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.)
Pending
Application number
JP2002371189A
Other languages
Japanese (ja)
Inventor
Hitotsugu Kato
仁嗣 加藤
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 JP2002371189A priority Critical patent/JP2004205567A/en
Priority to US10/735,510 priority patent/US20040123726A1/en
Priority to CNB2003101232741A priority patent/CN1293505C/en
Priority to CN2006101060170A priority patent/CN1897105B/en
Priority to CN2006101060166A priority patent/CN1897104B/en
Publication of JP2004205567A publication Critical patent/JP2004205567A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently improve the musical performance technique by correctly evaluating the skill of a user when the user plays a music to be evaluated and the musical performance is evaluated. <P>SOLUTION: A CPU 1 sets an evaluation object period according to the contents of music data to be played which are stored in a music memory 5 in accordance with a program in a program ROM 3, and evaluates musical performance results by specified periods of the music data in the evaluation object period, and the evaluation results are outputted to a display part 8 and displayed. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、演奏教習において演奏を評価するための演奏評価装置および演奏評価プログラムに関する。
【0002】
【従来の技術】
演奏教習の分野ではないが、演奏を評価する観点から類似する従来技術として、カラオケ歌唱を採点する採点機能を備えたカラオケ装置が提案されている。この提案によれば、カラオケ曲の演奏に合わせて歌唱された歌唱音声信号を入力して、この歌唱音声信号を分析して周波数・音量などを割り出し、これをリアルタイムに採点する構成になっている。採点は、カラオケ曲のガイドメロディデータと前記周波数データ・音量データとを比較して、その一致度・相違度に基づいて行なう(特許文献1参照)。
【0003】
【特許文献1】
特開平10−161673号公報(段落番号「0007」)
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、カラオケ曲の内容に関係なく、ガイドメロディデータの開始と同時にリアルタイムの採点すなわち評価が始まるので、技量的にも精神的にも最も困難な歌唱開始の部分から採点されるために、歌い出しに失敗したユーザは、最初に低い評価、例えば、「音程が悪い」、「テンポが悪い」、「声が出ていない」のような評価を受けることになる。したがって、その後は、悪い状態を改善できないまま曲が終了する場合が多い。
【0005】
このことは、カラオケ曲の歌唱に限らず楽器の演奏においても同様である。例えば、電子鍵盤楽器において練習曲すなわち評価対象の曲を演奏してその評価を受ける場合には、曲の最初の部分はタイミングを取るのが困難であり、特に初心者にとってはスムーズな演奏開始はむしろ稀である。このため、曲の最初から最後まで一様に評価した場合には、演奏者であるユーザの技量を過小評価するおそれがある。さらに、この演奏開始部分の難易度は、評価対象の曲の内容によって異なる。
したがって、歌唱力の優劣を争うゲームの場合とは異なり、音楽教育の一環として評価対象の曲を演奏する場合には、ユーザの演奏技術の向上が最大の狙いであるので、上記従来の技術をもってしては、むしろユーザの演奏技術の向上を阻害するおそれがある。
【0006】
本発明は、ユーザが評価対象の曲を演奏してその評価を受ける際に、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる演奏評価装置および演奏評価プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
請求項1に記載の演奏評価装置は、演奏対象の曲データの内容に応じて評価対象期間(実施形態においては、図12および図20の評価支援有効範囲に相当する)を設定する期間設定手段(実施形態においては、図1のCPU1に相当する)と、評価対象期間における曲データの所定期間(実施形態においては、基準ノート数又はその時間範囲に相当する)ごとの演奏結果を評価する演奏評価手段(実施形態においては、図1のCPU1に相当する)と、演奏評価手段による評価結果を所定の表示手段(実施形態においては、図1の表示部8に相当する)に出力して表示させる評価出力手段(実施形態においては、図1のCPU1に相当する)とを備えた構成になっている。
【0008】
この場合において、演奏評価手段は、曲データの所定の音符数ごとに演奏結果を評価するように構成してもよい。
あるいは、演奏評価手段は、曲データの所定の時間経過ごとに演奏結果を評価するように構成してもよい。
【0009】
また、この場合において、期間設定手段は、曲データに含まれている識別データ(実施形態においては、有効フラグおよび無効フラグに相当する)に基づいて評価対象期間を設定するように構成してもよい。
また、この場合において、期間設定手段は、曲データにおける発音イベントの発音時間(実施形態においては、ノートオンからノートオフまでの時間に相当する)の傾向に応じて評価対象期間を設定するように構成してもよい。
あるいは、期間設定手段は、曲データのテンポに応じて評価対象期間を設定するように構成してもよい。
また、この場合において、演奏評価手段は、前回の所定期間の演奏結果(実施形態においては、レジスタFHYOKAの値に相当する)に対する今回の所定期間の演奏結果(実施形態においては、レジスタHYOKAの値に相当する)を評価するように構成してもよい。
【0010】
請求項8に記載の演奏評価プログラムは、演奏対象の曲データの内容に応じて評価対象期間(実施形態においては、図12および図20の評価支援有効範囲に相当する)を設定する第1のステップと、評価対象期間における曲データの所定期間(実施形態においては、基準ノート数又はその時間範囲に相当する)ごとの演奏結果を評価する第2のステップと、第2のステップによる評価結果を所定の表示手段(実施形態においては、図1の表示部8に相当する)に出力して表示させる第3のステップとを実行する。上記各ステップは、図1のCPU1によって実行されるフローチャートの処理機能に相当する。
【0011】
【発明の実施の形態】
以下、本発明による演奏評価装置の第1の実施形態ないし第5の実施形態について、図を参照して説明する。
図1は、各実施形態における演奏評価装置のシステムの構成を示すブロック図である。この図において、CPU1は、システムバス2を介して、プログラムROM3、ワークRAM4、曲メモリ5、鍵盤6、スイッチ部7、表示部8、および音源9に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この装置全体を制御する。
【0012】
プログラムROM3は、CPU1によって実行される制御プログラム、演奏評価プログラムなどのアプリケーションプログラム、起動時のイニシャライズにおける初期データなどをあらかじめ記憶している。ワークRAM4は、プログラムの実行に必要な各種のレジスタやフラグのエリアを持っている。曲メモリ5は、演奏の評価対象である複数の自動演奏曲の曲データを記憶している。鍵盤6は、演奏操作に応じて鍵番号およびベロシティをCPU1に入力する。スイッチ部7は、曲メモリ5に記憶されている曲を選択するスイッチ、自動演奏を開始又は停止するスタート/ストップスイッチなどで構成されている。
表示部8は、自動演奏曲すなわち評価対象の曲の楽譜や評価結果などを表示する。音源9は、発音回路10に接続され、CPU1の発音指示(ノートオンコマンド)や消音指示(ノートオフコマンド)に応じて、演奏者を支援する声援やその他の音響信号を発生して発音回路10に出力し又は出力を停止する。発音回路10は、D/A変換回路、フィルタ回路、増幅回路、スピーカなどで構成され、音源9から出力される音響信号に応じて楽音を発生する。
なお、図には示していないが、CPU1の演奏指示に応じて点灯してガイド表示を行なうLEDが各鍵ごとに設けられている。
【0013】
次に、第1の実施形態における動作について、図2〜図11に示すCPU1のフローチャート、および図12、図13に示す図を参照して説明する。
図2(1)は、CPU1の演奏評価処理のメインフローチャートであり、図2(2)はタイマインタラプトのフローチャートである。図2(1)において、イニシャライズを行なって(ステップA1)、ワークRAM4の各種のレジスタをクリアし、各種のフラグを「0」にリセットし、タイマインタラプトを禁止する。イニシャライズの後は、スイッチ部7の各スイッチのオンおよびオフを検出するスイッチ処理(ステップA2)、曲メモリ5から選択された評価対象の曲の曲データを読み出して演奏指示を行う自動演奏処理(ステップA3)、鍵盤6を走査して演奏すなわち押鍵および離鍵の鍵変化を検出する鍵盤処理(ステップA4)、評価対象の曲の演奏結果を評価する評価処理(ステップA5)、およびその他の処理(ステップA6)を繰り返し実行する。
図2(2)において、設定した一定時間ごとの周期でタイマインタラプトが入ると、後述するレジスタTIMEの値をデクリメントして(ステップA7)、メインフローに戻る。
【0014】
図3は、メインフローにおけるステップA2のスイッチ処理のフローチャートである。まず、曲選択処理を実行し(ステップB1)、次に、スタート/ストップスイッチ処理を実行する(ステップB2)。次に、その他のスイッチ処理を行い(ステップB3)、メインフローに戻る。
図4は、スイッチ処理におけるステップB1の曲選択スイッチ処理のフローチャートである。スタートフラグSTFが「0(演奏停止)」であるか否かを判別し(ステップC1)、このフラグが「1(自動演奏)」である場合にはこのフローを終了するが、このフラグが「0」である場合には、曲選択のスイッチが操作されたか否かを判別する(ステップC2)。スイッチの操作がない場合にはこのフローを終了するが、スイッチが操作されたときは、そのスイッチによって指定された選択曲の番号をレジスタMにストアする(ステップC3)。そして、このフローを終了する。
【0015】
図5は、図3におけるステップB3のスタート/ストップスイッチ処理のフローチャートである。スタート/ストップスイッチがオンされたか否かを判別し(ステップD1)、オンされない場合にはこのフローを終了するが、オンされたときはフラグSTFの値を反転する(ステップD2)。そして、STFの値が「1」であるか否かを判別する(ステップD3)。STFの値が「1」である場合には自動演奏を開始して、レジスタMの選択曲の番号で指定される曲(M)の先頭アドレスをレジスタADにストアする(ステップD4)。また、曲(M)のテンポをレジスタTEMPOにストアする(ステップD5)。
【0016】
次に、ADにより指定される先頭アドレスの曲データのタイムを読出し(ステップD6)、そのタイムをレジスタTIMEにストアする(ステップD7)。そして、TEMPOに基づくタイマインタラプトの周期を設定する(ステップD8)。次に、曲の進行に応じて曲開始からの音符をカウントするレジスタNを「0」にクリアし(ステップD9)、演奏結果を評価するための所定数の音符をカウントするレジスタTを「0」にクリアする(ステップD10)。次に、タイマインタラプトの禁止を解除する(ステップD11)。したがって、図2(2)のタイマインタラプトに示したように、TEMPOに基づく周期ごとにTIMEの値がデクリメントされる。
ステップD3において、STFが「1」から「0」に反転したときは、自動演奏の停止であるので、タイマインタラプトを禁止して(ステップD12)、鍵盤6のガイド表示をすべて消灯する(ステップD13)。そして、メインフローに戻る。
【0017】
図6ないし図8は、メインフローにおけるステップA3の自動演奏処理のフローチャートである。STFが「1」であるか否かを判別し(ステップE1)、STFが「1」で自動演奏状態である場合には、タイマインタラプトごとにデクリメントされるTIMEの値が「0」に達したか否かを判別する(ステップE2)。STFが「0」である場合、又は、TIMEの値が「0」に達していない場合には、このフローを終了するが、TIMEの値が「0」に達したときは、次の曲データを読み出すために、ADのアドレスを進める(ステップE3)。そして、ADのアドレスによる曲データの読出しを行なう(ステップE4)。
【0018】
次に、読出した曲データがENDすなわち曲の終了でないか否かを判別する(ステップE5)。ENDでない場合には、そのデータがノートオフのイベントであるか否かを判別する(ステップE6)。ノートオフのイベントでない場合には、図7のフローにおいて、データがタイムであるか否かを判別し(ステップE13)、タイムである場合には、そのタイムをTIMEにストアして(ステップE14)、このフローを終了する。
データがタイムでない場合には、ノートオンのイベントであるか否かを判別する(ステップE15)。ノートオンのイベントである場合には、レジスタNOTEにイベントのノートをストアする(ステップE16)。次に、イベントのノートに対応して鍵盤6のガイド表示を点灯する(ステップE17)。また、ガイドフラグGUIDE ONFを「1」にセットする(ステップE18)。そして、押鍵の有無を示すフラグKEY ONFが「1(押鍵)」であるか否かを判別する(ステップE19)。
【0019】
KEY ONFが「1」である場合には、鍵盤6が押鍵されている。このため、NOTEにストアしたイベントのノートと、後述する図9の鍵盤処理においてレジスタKEYにストアされた押鍵のノートとが一致するか否かを判別する(ステップE20)。一致する場合、すなわちGUIDE ONFを「1」にセットしたときには、すでに演奏指示する鍵が押鍵されている場合には、レジスタPOINTの値にαの値を加算する(ステップE21)。一致しない場合、すなわちガイド表示した鍵とは異なる鍵が押鍵されている場合には、POINTの値からαを減算する(ステップE22)。αを加算又は減算した後は、評価フラグHYOKAFを「1」にセットする(ステップE23)。ステップE15において、データがノートオンのイベントでない場合には、その他のイベント処理を行なう(ステップE24)。
ステップE23においてHYOKAFを「1」にセットした後、ステップE19においてKEY ONFが「0」である場合、又は、ステップE24においてその他のイベント処理を行なった後は、図6のステップE3に移行してADを進める。
【0020】
図6のステップE4で読出した曲データが、ステップE6においてノートオフのイベントであると判別した場合には、イベントのノートに対応する鍵のガイド表示を消灯する(ステップE7)。そして、ガイドフラグGUIDE ONFを「0」にリセットし(ステップE8)、評価を行なう所定期間の1つの音符に対する処理が終わったので、Tのノート数をインクリメントする(ステップE9)。この後、図8のフローにおいて、Tのノート数が基準ノート数に達したか否かを判別する(ステップE25)。
【0021】
Tのノート数が基準ノート数に達したときは、表示や音声などでユーザに対して支援するか否かを示すフラグSHIENFを「1(支援)」にセットする(ステップE26)。そして、Tのノート数を「0」にクリアする(ステップE27)。Tをクリアした後、又は、ステップE25においてTのノート数が基準ノート数に達しない場合には、HYOKAFが「0」であるか否かを判別し(ステップE28)、「0」である場合には「1」にセットする(ステップE29)。HYOKAFを「1」にセットした後、又は、HYOKAFが「1」である場合には、曲の最初からのノート数をストアするレジスタNのノート数をインクリメントする(ステップE30)。そして、図6のステップE3に移行してADのアドレスを進める。
【0022】
図6のステップE5において、読み出したデータがENDである場合には、STFを「0」にリセットして(ステップE10)、鍵盤6のガイド表示をすべて消灯する(ステップE11)。また、タイマインタラプトを禁止する(ステップE12)。そして、このフローを終了してメインフローに戻る。
【0023】
図9は、メインフローにおけるステップA4の鍵盤処理のフローチャートである。このフローでは、鍵走査を行なって(ステップF1)、鍵変化があるか否かを判別する(ステップF2)。鍵変化がない場合には、このフローを終了してメインフローに戻る。鍵変化がオフからオンに変化した場合、すなわち押鍵がされた場合には、その押鍵のノートをレジスタKEYにストアする(ステップF3)。そして、KEYのノートを元にノートオンコマンドを作成し(ステップF4)、そのノートオンコマンドを音源9に送出する(ステップF5)。そして、KEY ONFを「1」にセットする(ステップF6)。
【0024】
次に、GUIDE ONFが「1」であるか否かを判別する(ステップE7)。このフラグが「0」である場合にはメインフローに戻るが、このフラグが「1」で押鍵指示の鍵のガイド表示が点灯している場合には、KEYにストアしたノートとNOTEにストアした押鍵指示のノートとが一致するか否かを判別する(ステップF8)。一致した場合、すなわち、押鍵指示された鍵が正確に押鍵された場合には、POINTにαの値を加算する(ステップF9)。一致しなかった場合、すなわち、押鍵指示された鍵とは異なる鍵が押鍵された場合には、POINTからαの値を減算する(ステップF10)。αの値を加算又は減算した後は、HYOKAFを「1」にセットする(ステップF11)。そして、メインフローに戻る。
【0025】
ステップF2において、鍵変化がオンからオフに変化した場合、すなわち、離鍵がされた場合には、その離鍵のノートをKEYにストアする(ステップF12)。そして、KEYのノートを元にノートオンコマンドを作成し(ステップF13)、そのノートオフコマンドを音源9に送出する(ステップF14)。そして、KEY ONFを「0」にリセットする(ステップF15)。そして、このフローを終了してメインフローに戻る。
【0026】
図10および図11は、メインフローにおけるステップA5の評価処理のフローチャートである。図10のフローにおいて、まず、HYOKAFが「1」であるか否かを判別する(ステップG1)。このフラグが「1」である場合にはこれを「0」にリセットする(ステップG2)。次に、評価すべき所定期間の配列P(n)を指定するポインタnを「0」にセットして(ステップG3)、P(n)にP(n+1)を代入して(ステップG4)、nの値をインクリメントする(ステップG5)。そして、n+1の値が評価ノート数になったか否かを判別する(ステップG6)。評価ノート数になっていない場合には、ステップG4に移行して、ステップG6までの処理を繰り返す。
【0027】
ステップG6において、n+1の値が評価ノート数になった場合には、POINTの値をP(n)にストアする(ステップG7)。POINTの値をP(n)にストアした後は、フラグSHIENFが「1」であるか否かを判別し(ステップG8)、SHIENFが「0」である場合にはこのフローを終了するが、SHIENFが「1」である場合には、これをリセットする(ステップG9)。
【0028】
次に、Nにストアした曲の最初からの音符数が、あらかじめ設定されている2つの音符数であるD1より大きくD2より小さい期間にあるか否かを判別する(ステップG10)。すなわち、曲の最初の音符からD1までの音符、および、D2の音符から曲の終了までの範囲を除く期間(評価対象期間)にNの音符数があるか否かを判別する。Nにストアした音符数がこの期間にない場合には、このフローを終了する。
【0029】
Nにストアした音符数がD1より大きくD2より小さい期間にある場合には、図11のフローにおいて、配列P(n)の評価ノート数を指定するポインタnを「0」にセットする(ステップG11)。次に、評価用レジスタHYOKAを「0」にクリアする(ステップG12)。そして、HYOKAにP(n)の値を加算する(ステップG13)。次に、nの値をインクリメントして(ステップG14)、nの値が評価ノート数になったか否かを判別する(ステップG15)。評価ノート数になっていない場合には、ステップG13に移行して、ステップG15までの処理を繰り返す。
【0030】
nの値が評価ノート数になった場合には、前回の所定期間における評価データをストアするFHYOKAに評価データがあるか否かを判別する(ステップG16)。FHYOKAに評価データがある場合には、今回の所定期間の評価データをストアしたHYOKAの値がFHYOKAの値以下であるか、又は、HYOKAの値がFHYOKAの値より大きいか否かを判別する(ステップG17)。すなわち、今回の所定期間の評価が前回より低い若しくは同じか、又は、前回より高いかを判別する。
【0031】
HYOKAの値(今回の評価)がFHYOKAの値(前回の評価)以下である場合には、例えば「もっとがんばれ」などの第1の声援音声を指定する変数VOICE1(HYOKA)のデータをレジスタLANKにストアする(ステップG18)。一方、HYOKAの値がFHYOKAの値より大きい場合、又は、FHYOKAに評価データがない場合には、例えば「いいぞ、その調子」などの第2の声援音声を指定する変数VOICE2(HYOKA)のデータをレジスタLANKにストアする(ステップG19)。LANKにいずれかの声援音声のデータをストアした後は、LANKのデータに基づく声援の音声データを発生する(ステップG20)。次に、HYOKAの値をFHYOKAにストアして更新し(ステップG21)、次の所定期間の評価に備える。そして、このフローを終了してメインフローに戻る。
【0032】
図12は、評価小節経過数に対する評価レベルの具体例を示す図である。この場合は、演奏対象の曲データにおいて、D1=25、D2=8に設定されている。すなわち、評価支援有効範囲(評価対象期間)は、曲の最初から25まで、および、曲の総音符数から8を減算した音符数の範囲を除く、図12の矢印で示す期間である。また、評価基準ノート数は10個であり、評価基準ノート数の10音符数ごとに逐次演奏状態を評価採点し、合計20音符ごとの評価状況に応じて演奏支援を実施する。すなわち、前回の10個の音符に対する評価と、今回の10個の音符に対する評価とを比較する。
【0033】
したがって、評価ノート数が20,30,40,50,60,70,80,100を経過した時点で、その経過以前の20音符の評価状況が算出される。その評価状況に応じて、表示部8での支援の表示や音源9による音声又は効果音での支援を発音させる。そして、最初の10個の評価および今回の10個の評価が前回の10個より大きい場合には評価がアップし、今回の10個の評価が前回の10個より小さい場合には評価がダウンする。
【0034】
図13は、演奏指示のガイドノートと実際の押鍵のノートとのタイミングの関係を示す図である。例1の場合には、ガイドノートC3がオンからオフまでの期間(ガイド表示が点灯している期間)にC3の押鍵がなされた場合であり、ポイントアップとして評価される。これは図9のフローにおけるステップF9の処理(POINTにαを加算)に対応する。
例2の場合には、ノートC3の押鍵がなされている期間に、ガイドノートC3がオン(ガイド表示が点灯)になった場合であり、ポイントアップとして評価される。これは、図7のフローにおけるステップE21の処理(POINTにαを加算)に対応する。
例3の場合には、ガイドノートC3がオンからオフまでの期間にE3の押鍵がなされた場合である。すなわち、ガイド表示の鍵とは異なる鍵が押鍵された場合であるので、ポイントダウンとして評価される。これは図9のフローにおけるステップF10の処理(POINTからαを減算)に対応する。
【0035】
以上のように、この第1の実施形態によれば、CPU1は、演奏対象の曲データの内容に応じて評価対象期間(図12の評価支援有効範囲)を設定し、その評価対象期間における曲データの所定期間(基準ノート数)ごとの演奏結果を評価して、その評価結果を表示部8に出力して表示させる。したがって、評価対象として不適当な期間を除外して、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
この場合において、CPU1は、曲データの所定の音符数ごとに演奏結果を評価するので、ユーザに対してきめ細かな評価をすることができ、演奏技術の向上に極めて有効となる。
また、この場合において、CPU1は、前回の所定期間の演奏結果(レジスタFHYOKAの値)に対する今回の所定期間の演奏結果(レジスタHYOKAの値)を評価するので、ユーザの意欲や集中度などを客観的に判断できるので、ユーザに対して的確に叱咤激励の支援をリアルタイムで行なうことができる。
【0036】
次に、第2の実施形態の動作について、図14ないし図16に示すCPU1のフローチャートを参照して説明する。なお、この第2の実施形態において、図2(1)のメインフロー、図2(2)のタイマインタラプトのフロー、図3のスイッチ処理のフロー、図4の曲選択処理のフロー、図9の鍵盤処理のフロー、図10および図11の評価処理のフロー、並びに、自動演奏処理の一部のフローについては、第1の実施形態と同じであるので、その図面および記述を援用して、第1の実施形態と異なる部分のフローについて説明する。
【0037】
図14は、図3のスイッチ処理におけるステップB3のスタート/ストップスイッチ処理のフローチャートである。まず、スタート/ストップスイッチがオンされたか否かを判別し(ステップH1)、オンされない場合にはこのフローを終了するが、オンされたときはスタートフラグSTFの値を反転する(ステップH2)。そして、STFの値が「1」であるか否かを判別する(ステップH3)。STFの値が「1」である場合には自動演奏を開始して、レジスタMの選択曲の番号で指定される曲(M)の先頭アドレスをレジスタADにストアする(ステップH4)。また、曲(M)のテンポをレジスタTEMPOにストアする(ステップH5)。
【0038】
次に、ADによって指定される先頭アドレスの曲データのタイムを読出し(ステップH6)、そのタイムをレジスタTIMEにストアする(ステップH7)。そして、TEMPOに基づくタイマインタラプトの周期を設定する(ステップH8)。次に、曲の進行に応じて曲開始からの時間をカウントするレジスタNにタイムをストアし(ステップH9)、演奏結果を評価する所定期間における音符をカウントするレジスタTを「0」にクリアする(ステップH10)。次に、タイマインタラプトの禁止を解除する(ステップH11)。
ステップH3において、STFが「1」から「0」に反転したときは、自動演奏の停止であるので、タイマインタラプトを禁止して(ステップH12)、鍵盤6のガイド表示をすべて消灯する(ステップH13)。そして、メインフローに戻る。
【0039】
図15および図16は、図2のメインフローにおけるステップA3の自動演奏処理の一部のフローチャートである。残りのフローチャートは、第1の実施形態において図6に示したものと同じである。図6のフローにおいて読み出した曲データがENDでもノートオフでもない場合には、図15のフローにおいて、そのデータがタイムであるか否かを判別し(ステップJ1)、タイムである場合には、そのタイムをレジスタTIMEにストアして(ステップJ2)、Nの値にタイムを累算する(ステップJ3)。この第2の実施形態においては、レジスタNは曲の開始からの経過時間をストアするので、イベントからイベントまでのタイムをNの値に累算するのである。そして、このフローを終了する。
【0040】
読み出したデータがタイムでない場合には、ノートオンのイベントであるか否かを判別する(ステップJ4)。ノートオンのイベントである場合には、レジスタNOTEにイベントのノートをストアする(ステップJ5)。次に、イベントのノートに対応してガイド表示を点灯する(ステップJ6)。また、ガイドフラグGUIDE ONFを「1」にセットする(ステップJ7)。そして、押鍵の有無を示すフラグKEY ONFが「1(押鍵)」であるか否かを判別する(ステップJ8)。
【0041】
KEY ONFが「1」である場合には、NOTEにストアしたイベントのノートと、図9の鍵盤処理においてレジスタKEYにストアした押鍵のノートとが一致するか否かを判別する(ステップJ9)。一致する場合、すなわちGUIDEONFを「1」にセットしたときに、すでに演奏指示する鍵が押鍵されている場合には、レジスタPOINTの値にαの値を加算する(ステップJ10)。NOTEにストアしたイベントのノートと、図9の鍵盤処理においてレジスタKEYにストアされた押鍵のノートとが一致しない場合には、POINTの値からαを減算する(ステップJ11)。αを加算又は減算した後は、評価フラグHYOKAFを「1」にセットする(ステップJ12)。ステップJ4において、データがノートオンのイベントでない場合には、その他のイベント処理を行なう(ステップJ13)。
ステップJ12においてHYOKAFを「1」にセットした後、ステップJ8においてKEY ONFが「0」である場合、又は、ステップJ13においてその他のイベント処理を行なった後は、図6のステップE3に移行してADのアドレスを進める。
【0042】
図6のステップE9において、Tの値をインクリメントした後は、図16のフローにおいて、Tのノート数が基準ノート数に達したか否かを判別する(ステップJ13)。Tのノート数が基準ノート数に達したときは、ユーザに対して支援するか否かを示すフラグSHIENFを「1(支援)」にセットする(ステップJ14)。そして、Tのノート数を「0」にクリアする(ステップJ15)。Tをクリアした後、又は、ステップJ13においてTのノート数が基準ノート数に達しない場合には、HYOKAFが「0」であるか否かを判別し(ステップJ16)、「0」である場合にはこれを「1」にセットする(ステップJ17)。HYOKAFを「1」にセットした後、又は、HYOKAFが「1」である場合には、図6のステップE3に移行してADのアドレスを進める。
【0043】
以上のように、この第2の実施形態によれば、CPU1は、曲データの所定の時間経過ごとに演奏結果を評価するので、ユーザに対してきめ細かな評価をすることができ、演奏技術の向上に極めて有効となる。
【0044】
次に、第3の実施形態の動作について、図ないし図に示すCPU1のフローチャートおよび図を参照して説明する。なお、この第3の実施形態において、図2(1)のメインフロー、図2(2)のタイマインタラプトのフロー、図3のスイッチ処理のフロー、図4の曲選択処理のフロー、図9の鍵盤処理のフロー、並びに、自動演奏処理の一部のフロー、および、評価処理の一部のフローについては、第1の実施形態と同じであるので、その図面および記述を援用して、第1の実施形態と異なる部分のフローについて説明する。
【0045】
図17は、図3のスイッチ処理におけるステップB3のスタート/ストップスイッチ処理のフローチャートである。まず、スタート/ストップスイッチがオンされたか否かを判別し(ステップK1)、オンされない場合にはこのフローを終了するが、オンされたときはスタートフラグSTFの値を反転する(ステップK2)。そして、STFの値が「1」であるか否かを判別する(ステップK3)。STFの値が「1」である場合には自動演奏を開始して、レジスタMの選択曲の番号で指定される曲(M)の先頭アドレスをレジスタADにストアする(ステップK4)。また、曲(M)のテンポをレジスタTEMPOにストアする(ステップK5)。
【0046】
次に、ADによって指定される先頭アドレスの曲データのタイムを読出し(ステップK6)、そのタイムをレジスタTIMEにストアする(ステップK7)。そして、TEMPOに基づくタイマインタラプトの周期を設定する(ステップK8)。次に、演奏結果を評価する所定期間における音符をカウントするレジスタTを「0」にクリアし(ステップK9)、タイマインタラプトの禁止を解除する(ステップK10)。そして、メインフローに戻る。
ステップK3において、STFが「1」から「0」に反転したときは、自動演奏の停止であるので、タイマインタラプトを禁止して(ステップK11)、鍵盤6のガイド表示をすべて消灯する(ステップK12)。そして、メインフローに戻る。
【0047】
図18は、図2のメインフローにおけるステップA3の自動演奏処理の一部のフローチャートである。残りのフローチャートは、第1の実施形態において示した図6、および、第2の実施形態において示した図16と同じである。図6のフローにおいて読み出した曲データがENDでもノートオフでもない場合には、図18のフローにおいて、データがタイムであるか否かを判別し(ステップL1)、タイムである場合には、そのタイムをレジスタTIMEにストアする(ステップL2)。そして、このフローを終了する。
【0048】
データがタイムでない場合には、ノートオンのイベントであるか否かを判別する(ステップL3)。ノートオンのイベントである場合には、レジスタNOTEにイベントのノートをストアする(ステップL4)。次に、イベントのノートに対応して鍵盤6のガイド表示を点灯する(ステップL5)。また、ガイドフラグGUIDE ONFを「1」にセットする(ステップL6)。そして、押鍵の有無を示すフラグKEY ONFが「1(押鍵)」であるか否かを判別する(ステップL7)。
【0049】
KEY ONFが「1」である場合には、鍵盤6が押鍵されている。この場合には、NOTEにストアしたイベントのノートと、図9の鍵盤処理においてレジスタKEYにストアした押鍵のノートとが一致するか否かを判別する(ステップL8)。一致する場合、すなわちGUIDE ONFを「1」にセットしたときに、すでに演奏指示する鍵が押鍵されている場合には、レジスタPOINTの値にαの値を加算する(ステップL9)。NOTEにストアしたイベントのノートと、図9の鍵盤処理においてレジスタKEYにストアされた押鍵のノートとが一致しない場合には、ガイド表示を点灯した鍵とは異なる鍵が押鍵された場合であるので、POINTの値からαを減算する(ステップL10)。αを加算又は減算した後は、評価フラグHYOKAFを「1」にセットする(ステップL11)。
【0050】
ステップL3において、データがノートオンのイベントでない場合には、データが有効フラグであるか否かを判別する(ステップL12)。有効フラグである場合には、フラグYUKOFを「1」にセットする(ステップL13)。データが有効フラグでない場合には、無効フラグであるか否かを判別する(ステップL14)。無効フラグである場合には、YUKOFを「0」にリセットする(ステップL15)。データが有効フラグおよび無効フラグでない場合には、その他のイベント処理を行なう(ステップL16)。
【0051】
ステップL11においてHYOKAFを「1」にセットした後、ステップL7においてKEY ONFが「0」である場合、ステップL13若しくはL15においてYUKOFを「1」若しくは「0」にセットした後、又は、ステップL16においてその他のイベント処理を行なった後は、図6のステップE3に移行してADのアドレスを進める。
なお、図6のステップE9において、Tの値をインクリメントした後は、第2の実施形態における図16に示したフローを実行する。
【0052】
図19は、メインフローにおけるステップA5の評価処理のフローチャートである。図19のフローにおいて、まず、HYOKAFが「1」であるか否かを判別する(ステップM1)。このフラグが「1」である場合にはこれを「0」にリセットする(ステップM2)。次に、評価すべき所定期間の配列P(n)を指定するポインタnを「0」にセットして(ステップM3)、P(n)にP(n+1)を代入して(ステップM4)、nの値をインクリメントする(ステップM5)。そして、n+1の値が評価ノート数になったか否かを判別する(ステップM6)。評価ノート数になっていない場合には、ステップM4に移行して、ステップM6までの処理を繰り返す。
【0053】
ステップM6において、n+1の値が評価ノート数になった場合には、POINTの値をP(n)にストアする(ステップM7)。POINTの値をP(n)にストアした後は、フラグSHIENFが「1」であるか否かを判別し(ステップM8)、フラグが「0」である場合にはこのフローを終了するが、フラグが「1」である場合には、これをリセットする(ステップM9)。次に、フラグYUKOFが「1」であるか否かを判別する(ステップM10)。このフラグが「0」である場合にはこのフローを終了するが、このフラグが「1」で、現在演奏している曲データの位置が、評価支援有効範囲すなわち評価対象期間である場合には、第1の実施形態における図11のフローに移行して、演奏評価処理を行なう。
【0054】
図20は、評価小節経過数に対する評価レベルの具体例を示す図である。この場合は、演奏対象の曲データの中に有効フラグのデータおよび無効フラグのデータが挿入されている。そして、有効フラグから無効フラグまでの期間が評価支援有効範囲すなわち評価対象期間として設定される。
【0055】
以上のように、この第3の実施形態によれば、CPU1は、曲データに含まれている有効フラグおよび無効フラグによって設定された評価対象期間における所定期間(基準ノート数)ごとの演奏結果を評価して、その評価結果を表示部8に出力して表示させる。したがって、曲の難易度などの内容に応じて有効フラグおよび無効フラグの位置を設定し、評価対象として不適当な期間を除外して、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
【0056】
次に、第4の実施形態の動作について、図21および図22を参照して説明する。第4の実施形態においては、曲選択スイッチ処理が上記第1ないし第3の実施形態と異なっている。
図21において、フラグSTFが「0」であるか否かを判別し(ステップN1)、このフラグが「0」で自動演奏停止状態である場合には、曲選択スイッチが操作されたか否かを判別する(ステップN2)。このスイッチが操作されない場合、又は、STFが「1」で自動演奏状態である場合には、このフローを終了してメインフローに戻る。
【0057】
ステップN2において、曲選択スイッチが操作されたときは、選択された曲番号をレジスタMにストアする(ステップN3)。次に、3つのレジスタSHORT,MID,LONGに「0」をストアしてクリアする(ステップN4)。次に、曲(M)データのスタートアドレスをレジスタADにストアして(ステップN5)、ADのアドレスにより曲データを読出し(ステップN6)、読み出したデータを判別する。読み出したデータがノートオンのイベントであるか否かを判別し(ステップN7)、ノートオンのイベントである場合には、そのイベントのノートをレジスタNOTEにストアする(ステップN8)。
【0058】
次に、曲データを先読みするためのポインタnを「1」にセットし(ステップN9)、レジスタTIMEに「0」をストアしてクリアする(ステップN10)。そして、図22のフローにおいて、現在のアドレスにポインタnの値を加算した(AD+n)のアドレスにより曲データを読出し(ステップN11)、読み出したデータの種別を判別する(ステップN12)。データがタイムである場合には、レジスタTにそのタイムを加算して累算する(ステップN13)。データがタイムでもノートオフでもなく、その他のデータである場合には、nの値をインクリメントして(ステップN14)、ステップN11に移行して次の曲データを読み出す。そして、曲データの中のタイムおよびノートオフのイベントを捜す。
【0059】
データがノートオフである場合には、そのノートオフのノートとNOTEにストアしたノートとが一致するか否かを判別する(ステップN15)。一致しない場合には、nの値をインクリメントして(ステップN14)、ステップN11に移行して次の曲データを読み出す。そして、曲データの中のタイムおよびNOTEのノートと一致するノートオフのイベントを捜す。すなわち、NOTEにストアしたノートオンのイベントがノートオフになる時間(音長)を計測する。
ステップN15において、ノートオフのノートとNOTEにストアしたノートとが一致したとき、すなわち、読み出したノートオンの音符の音長がレジスタTにストアされたときは、Tにストアされた音符の音長が2分音符以上であるか、4分音符から8分音符の範囲であるか、又は、16分音符以下であるかを判別する(ステップN16)。
【0060】
Tの音符の音長が2分音符以上である場合には、レジスタLONGの値をインクリメントする(ステップN17)。Tの音符の音長が4分音符から8分音符の範囲である場合には、レジスタMIDの値をインクリメントする(ステップN18)。Tの音符の音長が16分音符以下である場合には、レジスタSHORTの値をインクリメントする(ステップN19)。いずれかのレジスタの値をインクリメントした後、又は、図21のステップN7においてデータがノートオンでない場合には、ADのアドレスをインクリメントする(ステップN20)。
【0061】
次に、ADのアドレスが曲データの最終アドレスを超えたか否かを判別する(ステップN22)。最終アドレスを超えていない場合には、図21のステップN6に移行してADのアドレスにより曲データを読み出す。ADのアドレスが最終アドレスである場合には、3つのレジスタSHORT,MID,LONGの中でストアしたノート数が最大値であるのはどのレジスタであるかを判別する(ステップN21)。
【0062】
レジスタLONGが最大値である場合には、評価支援有効範囲(評価対象期間)を規定するレジスタD1およびD2の値にそれぞれ「15」および「92」をストアする(ステップN23)。レジスタMIDが最大値である場合には、D1およびD2の値にそれぞれ「25」および「84」をストアする(ステップN24)。レジスタSHORTが最大値である場合には、D1およびD2の値にそれぞれ「40」および「68」をストアする(ステップN25)。D1およびD2に値をストアした後は、このフローを終了してメインフローに戻る。すなわち、音長の長い音符が多くある曲ほど、評価対象期間を広く設定する。
【0063】
以上のように、この第4の実施形態によれば、CPU1は、曲データにおける音符のノートオンからノートオフまでの発音時間の傾向に応じて評価対象期間を設定するので、音長の短い音符が多くあるような演奏操作の頻度が高い曲については、評価対象から除外する期間を広く設定して、ユーザが余裕をもって演奏できるようにし、音長の長い音符が多くあるような演奏頻度の低い曲については、評価対象から除外する期間を狭く、すなわち評価対象期間を広くすることにより、評価対象として不適当な期間を除外して、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
【0064】
次に、第5の実施形態の動作について、図23を参照して説明する。第5の実施形態においても、第4の実施形態と同様に、曲選択スイッチ処理が上記第1ないし第3の実施形態と異なっている。
まず、フラグSTFが「0」であるか否かを判別し(ステップP1)、このフラグが「0」で自動演奏停止状態である場合には、曲選択スイッチが操作されたか否かを判別する(ステップP2)。このスイッチが操作されない場合、又は、STFが「1」で自動演奏状態である場合には、このフローを終了してメインフローに戻る。
【0065】
ステップP2において、曲選択スイッチが操作されたときは、選択された曲番号をレジスタMにストアする(ステップP3)。次に、曲(M)のテンポをレジスタTEMPOにストアする(ステップP4)。さらに、評価支援有効範囲(評価対象期間)を規定するレジスタD1およびD2の値に、NOTE(TEMPO)のノートをストアする(ステップP5)。そして、このフローを終了してメインフローに戻る。したがって、テンポの速い曲ほどレジスタD1およびD2の値が大きくなり、評価対象期間が短くなる。
【0066】
以上のように、この第5の実施形態によれば、CPU1は、曲データのテンポに応じて評価対象期間を設定するので、テンポの速い曲については、評価対象から除外する期間を広く設定して、ユーザが余裕をもって演奏できるようにし、テンポの低い曲については、評価対象から除外する期間を狭く、すなわち評価対象期間を広くすることにより、評価対象として不適当な期間を除外して、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
【0067】
なお、上記各実施形態においては、図1のプログラムROM3に予め記憶されている演奏評価プログラムをCPU1によって実行する演奏評価装置について説明したが、FD(フレキシブルディスク)、CD−ROMなどの外部記憶媒体に記憶されている演奏評価プログラムや、インターネットなどの通信網を介してダウンロードされる演奏評価プログラムを、パソコンなどの汎用の情報処理装置にインストールして実行することも可能である。この場合には、プログラムの発明を構成する。
【0068】
すなわち、本発明による演奏評価プログラムは、演奏対象の曲データの内容に応じて評価対象期間を設定する第1のステップと、評価対象期間における曲データの所定期間ごとの演奏結果を評価する第2のステップと、第2のステップによる評価結果を所定の表示手段に出力して表示させる第3のステップとを実行する。
【0069】
【発明の効果】
本発明によれば、CPU1は、演奏対象の曲データの内容に応じて評価対象期間を設定し、その評価対象期間における曲データの所定期間ごとの演奏結果を評価して、その評価結果を表示部8に出力して表示させる。したがって、評価対象として不適当な期間を除外して、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
【図面の簡単な説明】
【図1】本発明の各実施形態における演奏評価装置の構成を示すブロック図。
【図2】第1の実施形態におけるCPUの演奏評価処理のメインフローチャート。
【図3】第1の実施形態におけるスイッチ処理のフローチャート。
【図4】第1の実施形態における曲選択スイッチ処理のフローチャート。
【図5】第1の実施形態におけるスタート/ストップスイッチ処理のフローチャート。
【図6】第1の実施形態における自動演奏処理のフローチャート。
【図7】図6に続く自動演奏処理のフローチャート。
【図8】図6に続く自動演奏処理のフローチャート。
【図9】第1の実施形態における鍵盤処理のフローチャート。
【図10】第1の実施形態における評価処理のフローチャート。
【図11】図10に続く評価処理のフローチャート。
【図12】第1の実施形態における評価小節経過数に対する評価レベルの具体例を示す図。
【図13】第1の実施形態におけるガイドノートおよび押鍵ノートのタイミング図。
【図14】第2の実施形態におけるスタート/ストップスイッチ処理のフローチャート。
【図15】第2の実施形態における自動演奏処理の一部のフローチャート。
【図16】第2の実施形態における自動演奏処理の一部のフローチャート。
【図17】第3の実施形態におけるスタート/ストップスイッチ処理のフローチャート。
【図18】第3の実施形態における自動演奏処理の一部のフローチャート。
【図19】第3の実施形態における評価処理の一部のフローチャート。
【図20】第3の実施形態における評価小節経過数に対する評価レベルの具体例を示す図。
【図21】第4の実施形態における曲選択スイッチ処理のフローチャート。
【図22】図21に続く曲選択スイッチ処理のフローチャート。
【図23】第5の実施形態における曲選択スイッチ処理のフローチャート。
【符号の説明】
1 CPU
3 プログラムROM
4 ワークRAM
5 曲メモリ
6 鍵盤
7 スイッチ部
8 表示部
9 音源
10 発音回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a performance evaluation device and a performance evaluation program for evaluating a performance in a performance lesson.
[0002]
[Prior art]
A karaoke apparatus having a scoring function for scoring karaoke singing has been proposed as a conventional technique which is not in the field of performance training but is similar from the viewpoint of performance evaluation. According to this proposal, a singing voice signal sung along with the performance of a karaoke song is input, the singing voice signal is analyzed to determine a frequency / volume, etc., and this is scored in real time. . The scoring is performed by comparing the guide melody data of the karaoke song with the frequency data / volume data and based on the degree of coincidence / difference (see Patent Document 1).
[0003]
[Patent Document 1]
JP-A-10-161673 (paragraph number “0007”)
[0004]
[Problems to be solved by the invention]
However, in the above-mentioned conventional technique, irrespective of the content of the karaoke song, real-time scoring or evaluation starts at the same time as the start of the guide melody data. Therefore, a user who fails to start singing first receives a low rating, for example, a rating such as “bad pitch”, “bad tempo”, or “no voice”. Therefore, after that, in many cases, the song ends without improving the bad condition.
[0005]
This applies not only to singing karaoke songs but also to playing musical instruments. For example, when playing a practice song, that is, a song to be evaluated on an electronic keyboard instrument, and receiving the evaluation, it is difficult to take the timing of the first part of the song, and especially for a beginner, it is rather difficult to start a smooth performance. It is rare. For this reason, when the music is uniformly evaluated from the beginning to the end of the music, the skill of the user who is the performer may be underestimated. Further, the difficulty level of the performance start portion differs depending on the content of the music to be evaluated.
Therefore, unlike the game in which the singing ability is competed, when the music to be evaluated is played as a part of music education, the greatest aim is to improve the user's playing skill. This may hinder a user's improvement in performance techniques.
[0006]
The present invention provides a performance evaluation apparatus and a performance evaluation program that can efficiently improve a performance technique by correctly evaluating a skill of a user when the user plays a music to be evaluated and receives the evaluation. The purpose is to provide.
[0007]
[Means for Solving the Problems]
The performance evaluation device according to claim 1, wherein the period setting means sets an evaluation period (corresponding to the evaluation support effective range in FIGS. 12 and 20) in accordance with the content of the music data to be played. (In the embodiment, this corresponds to the CPU 1 in FIG. 1) and a performance that evaluates the performance result for each predetermined period (in the embodiment, the number of reference notes or its time range) of the music data in the evaluation target period. The evaluation means (corresponding to the CPU 1 in FIG. 1 in the embodiment) and the evaluation result by the performance evaluation means are output to predetermined display means (corresponding to the display unit 8 in FIG. 1 in the embodiment) and displayed. (In the embodiment, corresponds to the CPU 1 in FIG. 1).
[0008]
In this case, the performance evaluation means may be configured to evaluate the performance result for each predetermined number of notes in the music data.
Alternatively, the performance evaluation means may be configured to evaluate the performance result every time a predetermined time of the music data elapses.
[0009]
In this case, the period setting unit may be configured to set the evaluation target period based on the identification data (corresponding to the valid flag and the invalid flag in the embodiment) included in the music data. Good.
Further, in this case, the period setting means sets the evaluation target period according to the tendency of the sounding time of the sounding event in the music data (corresponding to the time from note-on to note-off in the embodiment). You may comprise.
Alternatively, the period setting means may be configured to set the evaluation target period according to the tempo of the music data.
Also, in this case, the performance evaluation means compares the performance result of the current predetermined period (in the embodiment, the value of the register HYOKA with the value of the register HYOKA) with respect to the performance result of the previous predetermined period (in the embodiment, it corresponds to the value of the register FHYOKA). May be configured to be evaluated.
[0010]
The performance evaluation program according to claim 8 sets the evaluation target period (corresponding to the evaluation support effective range in FIGS. 12 and 20 in the embodiment) in accordance with the content of the music data to be played. A step, a second step of evaluating performance results for each predetermined period of the music data in the evaluation target period (corresponding to the reference note number or its time range in the embodiment), and an evaluation result of the second step. And a third step of outputting to a predetermined display means (corresponding to the display unit 8 in FIG. 1 in the embodiment) for display. The above steps correspond to the processing functions of the flowchart executed by the CPU 1 of FIG.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, first to fifth embodiments of the performance evaluation device according to the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the system of the performance evaluation device in each embodiment. In FIG. 1, a CPU 1 is connected to a program ROM 3, a work RAM 4, a music memory 5, a keyboard 6, a switch unit 7, a display unit 8, and a sound source 9 via a system bus 2, and a command is transmitted between these units. While transmitting and receiving data, the entire device is controlled.
[0012]
The program ROM 3 stores in advance control programs executed by the CPU 1, application programs such as a performance evaluation program, initial data for initialization at startup, and the like. The work RAM 4 has an area for various registers and flags required for executing the program. The song memory 5 stores song data of a plurality of automatic performance songs to be evaluated for performance. The keyboard 6 inputs a key number and velocity to the CPU 1 in accordance with a performance operation. The switch unit 7 includes a switch for selecting a song stored in the song memory 5 and a start / stop switch for starting or stopping automatic performance.
The display unit 8 displays an automatic performance music, that is, a score of a music to be evaluated, an evaluation result, and the like. The sound source 9 is connected to a sound generation circuit 10 and generates a cheering or other sound signal to assist the player in response to a sound generation instruction (note-on command) or a mute instruction (note-off command) of the CPU 1 to generate a sound generation circuit 10. Output or stop output. The sound generation circuit 10 includes a D / A conversion circuit, a filter circuit, an amplification circuit, a speaker, and the like, and generates a musical tone in accordance with an audio signal output from the sound source 9.
Although not shown in the figure, an LED is provided for each key to light up and display a guide in response to a performance instruction from the CPU 1.
[0013]
Next, the operation in the first embodiment will be described with reference to the flowchart of the CPU 1 shown in FIGS. 2 to 11 and the drawings shown in FIGS.
FIG. 2A is a main flowchart of a performance evaluation process of the CPU 1, and FIG. 2B is a flowchart of a timer interrupt. In FIG. 2A, initialization is performed (step A1), various registers of the work RAM 4 are cleared, various flags are reset to "0", and timer interrupt is prohibited. After the initialization, a switch process for detecting on / off of each switch of the switch unit 7 (step A2), an automatic performance process for reading out the music data of the selected music to be evaluated from the music memory 5 and giving a performance instruction (step A2) Step A3) Keyboard processing for scanning the keyboard 6 to detect performances, that is, key changes of key depression and key release (Step A4), evaluation processing for evaluating the performance result of the music to be evaluated (Step A5), and other processing. The process (step A6) is repeatedly executed.
In FIG. 2 (2), when a timer interrupt occurs at a set period of time, the value of a register TIME described later is decremented (step A7), and the process returns to the main flow.
[0014]
FIG. 3 is a flowchart of the switch processing in step A2 in the main flow. First, a music selection process is executed (step B1), and then a start / stop switch process is executed (step B2). Next, other switch processing is performed (step B3), and the process returns to the main flow.
FIG. 4 is a flowchart of the song selection switch process in step B1 in the switch process. It is determined whether or not the start flag STF is "0 (stop performance)" (step C1). If the flag is "1 (automatic performance)", the flow is terminated. If it is "0", it is determined whether or not the music selection switch has been operated (step C2). If the switch is not operated, this flow is terminated. However, if the switch is operated, the number of the selected music piece designated by the switch is stored in the register M (step C3). Then, this flow ends.
[0015]
FIG. 5 is a flowchart of the start / stop switch processing in step B3 in FIG. It is determined whether or not the start / stop switch has been turned on (step D1). If the start / stop switch has not been turned on, this flow is terminated, but if it has been turned on, the value of the flag STF is inverted (step D2). Then, it is determined whether or not the value of the STF is “1” (step D3). If the value of the STF is "1", the automatic performance is started, and the start address of the music (M) specified by the selected music number in the register M is stored in the register AD (step D4). Further, the tempo of the music (M) is stored in the register TEMPO (step D5).
[0016]
Next, the time of the music data at the head address specified by AD is read (step D6), and the time is stored in the register TIME (step D7). Then, a timer interrupt cycle based on TEMPO is set (step D8). Next, the register N for counting notes from the start of the song in accordance with the progress of the song is cleared to "0" (step D9), and the register T for counting a predetermined number of notes for evaluating the performance result is set to "0". (Step D10). Next, the prohibition of the timer interrupt is released (step D11). Therefore, as shown in the timer interrupt of FIG. 2B, the value of TIME is decremented every period based on TEMPO.
If the STF is inverted from "1" to "0" in step D3, the automatic performance is stopped, so that the timer interrupt is prohibited (step D12), and all the guide display of the keyboard 6 is turned off (step D13). ). Then, the process returns to the main flow.
[0017]
6 to 8 are flowcharts of the automatic performance processing in step A3 in the main flow. It is determined whether or not the STF is "1" (step E1). When the STF is "1" and the automatic performance state is set, the value of TIME decremented at each timer interrupt reaches "0". It is determined whether or not this is the case (step E2). If the STF is "0" or if the value of TIME has not reached "0", this flow is terminated, but if the value of TIME has reached "0", the next music data In order to read out, the address of AD is advanced (step E3). Then, the music data is read out at the address of the AD (step E4).
[0018]
Next, it is determined whether or not the read song data is END, that is, the end of the song (step E5). If it is not END, it is determined whether or not the data is a note-off event (step E6). If it is not a note-off event, it is determined whether or not the data is a time in the flow of FIG. 7 (step E13). If it is a time, the time is stored in TIME (step E14). Then, this flow ends.
If the data is not time, it is determined whether or not the event is a note-on event (step E15). If the event is a note-on event, the event note is stored in the register NOTE (step E16). Next, the guide display on the keyboard 6 is turned on corresponding to the event note (step E17). Further, the guide flag GUIDE ONF is set to "1" (step E18). Then, it is determined whether or not the flag KEY ONF indicating the presence / absence of key depression is "1 (key depression)" (step E19).
[0019]
When the KEY ONF is “1”, the keyboard 6 is depressed. For this reason, it is determined whether or not the event note stored in the NOTE matches the key pressed note stored in the register KEY in the keyboard processing of FIG. 9 described later (step E20). If they match, that is, if the GUIDE ONF is set to "1", and if the key for instructing the performance has already been pressed, the value of α is added to the value of the register POINT (step E21). If they do not match, that is, if a key different from the key displayed as a guide is pressed, α is subtracted from the value of POINT (step E22). After α has been added or subtracted, the evaluation flag HYOKAF is set to “1” (step E23). If it is determined in step E15 that the data is not a note-on event, other event processing is performed (step E24).
After setting HYOKAF to "1" in step E23, if KEY ONF is "0" in step E19, or after performing other event processing in step E24, the process proceeds to step E3 in FIG. Advance AD.
[0020]
If the song data read in step E4 of FIG. 6 is determined to be a note-off event in step E6, the key guide display corresponding to the event note is turned off (step E7). Then, the guide flag GUIDE ONF is reset to "0" (step E8), and since the processing for one note in the predetermined period for evaluation is completed, the number of notes of T is incremented (step E9). Thereafter, in the flow of FIG. 8, it is determined whether or not the number of notes of T has reached the reference number of notes (step E25).
[0021]
When the number of notes of T reaches the reference number of notes, a flag SHIENF indicating whether or not to support the user by display or sound is set to "1 (support)" (step E26). Then, the number of notes of T is cleared to "0" (step E27). After clearing T or when the number of notes of T does not reach the reference number of notes in step E25, it is determined whether or not HYOKAF is "0" (step E28). Is set to "1" (step E29). After HYOKAF is set to "1", or when HYOKAF is "1", the number of notes in the register N for storing the number of notes from the beginning of the music is incremented (step E30). Then, the process proceeds to step E3 in FIG. 6 to advance the address of AD.
[0022]
If the read data is END in step E5 in FIG. 6, the STF is reset to "0" (step E10), and all the guide displays on the keyboard 6 are turned off (step E11). Further, the timer interrupt is prohibited (step E12). Then, this flow ends and the flow returns to the main flow.
[0023]
FIG. 9 is a flowchart of the keyboard processing in step A4 in the main flow. In this flow, key scanning is performed (step F1), and it is determined whether or not there is a key change (step F2). If there is no key change, this flow ends and the flow returns to the main flow. When the key change is changed from off to on, that is, when a key is pressed, the note of that key is stored in the register KEY (step F3). Then, a note-on command is created based on the KEY note (step F4), and the note-on command is transmitted to the sound source 9 (step F5). Then, KEY ONF is set to "1" (step F6).
[0024]
Next, it is determined whether or not the GUIDE ONF is "1" (step E7). When this flag is “0”, the process returns to the main flow. However, when this flag is “1” and the guide display of the key of the key press instruction is lit, the note stored in the KEY and the store in the NOTE are stored. Then, it is determined whether or not the note of the key press instruction matches (step F8). If they match, that is, if the key instructed to be pressed is correctly pressed, the value of α is added to POINT (step F9). If they do not match, that is, if a key different from the key instructed to be pressed is depressed, the value of α is subtracted from POINT (step F10). After adding or subtracting the value of α, HYOKAF is set to “1” (step F11). Then, the process returns to the main flow.
[0025]
In step F2, when the key change changes from on to off, that is, when a key is released, the note of the released key is stored in the KEY (step F12). Then, a note-on command is created based on the KEY note (step F13), and the note-off command is sent to the sound source 9 (step F14). Then, the KEY ONF is reset to "0" (step F15). Then, this flow ends and the flow returns to the main flow.
[0026]
FIG. 10 and FIG. 11 are flowcharts of the evaluation processing in step A5 in the main flow. In the flow of FIG. 10, first, it is determined whether or not HYOKAF is “1” (step G1). If this flag is "1", it is reset to "0" (step G2). Next, a pointer n designating an array P (n) for a predetermined period to be evaluated is set to "0" (step G3), and P (n + 1) is substituted for P (n) (step G4). The value of n is incremented (step G5). Then, it is determined whether or not the value of n + 1 has reached the number of evaluation notes (step G6). If the number of evaluation notes has not been reached, the process proceeds to step G4, and the processing up to step G6 is repeated.
[0027]
In step G6, if the value of n + 1 becomes the number of evaluation notes, the value of POINT is stored in P (n) (step G7). After storing the value of POINT in P (n), it is determined whether or not the flag SHIENF is "1" (step G8). If SHIENF is "0", this flow is terminated. If SHIENF is "1", it is reset (step G9).
[0028]
Next, it is determined whether or not the number of notes from the beginning of the music stored in N is in a period that is greater than D2, which is a preset number of two notes, and less than D2 (step G10). That is, it is determined whether there are N notes in a period (evaluation target period) excluding the range from the first note to the note D1 of the song and the range from the note D2 to the end of the song. If the number of notes stored in N is not in this period, this flow is terminated.
[0029]
If the number of notes stored in N is greater than D1 and less than D2, the pointer n designating the number of evaluation notes in the array P (n) is set to "0" in the flow of FIG. 11 (step G11). ). Next, the evaluation register HYOKA is cleared to "0" (step G12). Then, the value of P (n) is added to HYOKA (step G13). Next, the value of n is incremented (step G14), and it is determined whether or not the value of n has reached the number of evaluation notes (step G15). If the number of evaluation notes has not been reached, the process proceeds to step G13, and the processing up to step G15 is repeated.
[0030]
If the value of n has reached the number of evaluation notes, it is determined whether or not there is evaluation data in FHYOKA storing the evaluation data in the previous predetermined period (step G16). If there is evaluation data in FHYOKA, it is determined whether the value of HYOKA storing the evaluation data for the current predetermined period is equal to or less than the value of FHYOKA, or whether the value of HYOKA is larger than the value of FHYOKA ( Step G17). That is, it is determined whether the evaluation in the current predetermined period is lower or equal to the previous evaluation, or higher than the previous evaluation.
[0031]
When the value of HYOKA (current evaluation) is equal to or less than the value of FHYOKA (previous evaluation), the data of the variable VOICE1 (HYOKA) designating the first cheering voice, such as “go more,” is stored in the register LANK. Store (step G18). On the other hand, when the value of HYOKA is larger than the value of FHYOKA, or when there is no evaluation data in FHYOKA, for example, data of a variable VOICE2 (HYOKA) designating a second cheering voice such as “No, that tone”. Is stored in the register LANK (step G19). After storing any cheering voice data in LANK, cheering voice data based on the LANK data is generated (step G20). Next, the value of HYOKA is stored in FHYOKA and updated (step G21) to prepare for evaluation for the next predetermined period. Then, this flow ends and the flow returns to the main flow.
[0032]
FIG. 12 is a diagram showing a specific example of the evaluation level with respect to the number of elapsed evaluation bars. In this case, D1 = 25 and D2 = 8 are set in the music data to be played. That is, the evaluation support effective range (evaluation target period) is a period indicated by an arrow in FIG. 12 excluding the range from the beginning of the music to 25 and the number of notes obtained by subtracting 8 from the total number of notes of the music. In addition, the number of evaluation reference notes is 10, and the performance state is evaluated and scored sequentially for every 10 notes of the evaluation reference notes, and performance support is performed according to the evaluation status of every 20 notes in total. That is, the evaluation for the previous ten notes is compared with the evaluation for the ten notes this time.
[0033]
Therefore, when the number of evaluation notes has passed 20, 30, 40, 50, 60, 70, 80, 100, the evaluation status of the 20th note before the lapse has been calculated. In accordance with the evaluation status, the display of support on the display unit 8 and the sound or sound effect of the sound source 9 are generated. Then, when the first 10 evaluations and the current 10 evaluations are larger than the previous 10 evaluations, the evaluation increases, and when the current 10 evaluations are smaller than the previous 10 evaluations, the evaluations decrease. .
[0034]
FIG. 13 is a diagram showing a timing relationship between a performance instruction guide note and an actual key depression note. The case of Example 1 is a case where the key of C3 is pressed during a period from the time when the guide note C3 is turned on to the time when the guide note C3 is turned on (a period during which the guide display is lit), and is evaluated as a point-up. This corresponds to the process of step F9 (addition of α to POINT) in the flow of FIG.
In the case of Example 2, the guide note C3 is turned on (the guide display is lit) while the note C3 is being depressed, and is evaluated as a point-up. This corresponds to the process of step E21 (adding α to POINT) in the flow of FIG.
In the case of Example 3, the key E3 is pressed during the period from when the guide note C3 is turned on to when it is turned off. That is, since a key different from the key in the guide display is pressed, the key is evaluated as point-down. This corresponds to the process of step F10 (subtract α from POINT) in the flow of FIG.
[0035]
As described above, according to the first embodiment, the CPU 1 sets the evaluation target period (the evaluation support effective range in FIG. 12) in accordance with the content of the music data to be played, and sets the music in the evaluation target period. The performance results for each predetermined period (the number of reference notes) of the data are evaluated, and the evaluation results are output to the display unit 8 and displayed. Therefore, the performance skill can be efficiently improved by correctly evaluating the skill of the user by excluding an inappropriate period as an evaluation target.
In this case, since the CPU 1 evaluates the performance result for each predetermined number of notes in the music data, the CPU 1 can make a fine evaluation for the user, which is extremely effective for improving the performance technique.
Further, in this case, the CPU 1 evaluates the performance result (the value of the register HYOKA) of the current predetermined period with respect to the performance result (the value of the register FHYOKA) of the previous predetermined period. Therefore, it is possible to provide the user with accurate and real-time support for encouraging encouragement.
[0036]
Next, the operation of the second embodiment will be described with reference to the flowcharts of the CPU 1 shown in FIGS. In the second embodiment, the main flow of FIG. 2A, the flow of the timer interrupt of FIG. 2B, the flow of the switch processing of FIG. 3, the flow of the music selection processing of FIG. The flow of the keyboard processing, the flow of the evaluation processing in FIGS. 10 and 11, and a part of the flow of the automatic performance processing are the same as those in the first embodiment. A flow of a portion different from the first embodiment will be described.
[0037]
FIG. 14 is a flowchart of the start / stop switch processing of step B3 in the switch processing of FIG. First, it is determined whether or not the start / stop switch has been turned on (step H1). If the start / stop switch has not been turned on, this flow is terminated. If it has been turned on, the value of the start flag STF is inverted (step H2). Then, it is determined whether or not the value of the STF is “1” (step H3). If the value of the STF is "1", the automatic performance is started, and the start address of the music (M) specified by the selected music number in the register M is stored in the register AD (step H4). Further, the tempo of the music (M) is stored in the register TEMPO (step H5).
[0038]
Next, the time of the music data at the head address specified by AD is read (step H6), and the time is stored in the register TIME (step H7). Then, a timer interrupt cycle based on TEMPO is set (step H8). Next, the time is stored in a register N that counts the time from the start of the music in accordance with the progress of the music (step H9), and the register T that counts notes in a predetermined period for evaluating the performance result is cleared to "0". (Step H10). Next, the prohibition of the timer interrupt is released (step H11).
If the STF is inverted from "1" to "0" in step H3, the automatic performance is stopped, so that the timer interrupt is prohibited (step H12), and all the guide displays on the keyboard 6 are turned off (step H13). ). Then, the process returns to the main flow.
[0039]
FIGS. 15 and 16 are partial flowcharts of the automatic performance process in step A3 in the main flow of FIG. The remaining flowcharts are the same as those shown in FIG. 6 in the first embodiment. If the read music data is neither END nor note-off in the flow of FIG. 6, it is determined whether or not the data is time in the flow of FIG. 15 (step J1). The time is stored in the register TIME (step J2), and the time is accumulated to the value of N (step J3). In the second embodiment, since the register N stores the elapsed time from the start of the music, the time from event to event is accumulated to the value of N. Then, this flow ends.
[0040]
If the read data is not the time, it is determined whether or not it is a note-on event (step J4). If the event is a note-on event, the event note is stored in the register NOTE (step J5). Next, the guide display is turned on corresponding to the note of the event (step J6). Further, the guide flag GUIDE ONF is set to "1" (step J7). Then, it is determined whether or not the flag KEY ONF indicating the presence / absence of key depression is "1 (key depression)" (step J8).
[0041]
If the KEY ONF is "1", it is determined whether or not the note of the event stored in the NOTE matches the pressed key stored in the register KEY in the keyboard processing of FIG. 9 (step J9). . If they match, that is, if GUIDEONF is set to "1" and the key for instructing performance has already been pressed, the value of α is added to the value of the register POINT (step J10). If the event note stored in the NOTE does not match the key pressed note stored in the register KEY in the keyboard processing of FIG. 9, α is subtracted from the value of POINT (step J11). After α has been added or subtracted, the evaluation flag HYOKAF is set to “1” (step J12). If the data is not a note-on event in step J4, other event processing is performed (step J13).
After setting HYOKAF to "1" in step J12, if KEY ONF is "0" in step J8, or after performing other event processing in step J13, the process proceeds to step E3 in FIG. AD address is advanced.
[0042]
After incrementing the value of T in step E9 of FIG. 6, it is determined whether or not the number of notes of T has reached the reference number of notes in the flow of FIG. 16 (step J13). When the number of notes of T reaches the reference number of notes, a flag SHIENF indicating whether or not to support the user is set to "1 (support)" (step J14). Then, the number of notes of T is cleared to "0" (step J15). After clearing T or when the number of notes of T does not reach the reference number of notes in step J13, it is determined whether or not HYOKAF is "0" (step J16). Is set to "1" (step J17). After HYOKAF is set to "1" or when HYOKAF is "1", the process proceeds to step E3 in FIG. 6 to advance the address of AD.
[0043]
As described above, according to the second embodiment, the CPU 1 evaluates the performance result every time a predetermined time of the music data elapses. It is extremely effective for improvement.
[0044]
Next, the operation of the third embodiment will be described with reference to the flowcharts and drawings of the CPU 1 shown in FIGS. In the third embodiment, the main flow in FIG. 2A, the flow of the timer interrupt in FIG. 2B, the flow of the switch processing in FIG. 3, the flow of the music selection processing in FIG. The flow of the keyboard processing, a part of the flow of the automatic performance processing, and a part of the flow of the evaluation processing are the same as those in the first embodiment. A flow of a portion different from the embodiment will be described.
[0045]
FIG. 17 is a flowchart of the start / stop switch processing of step B3 in the switch processing of FIG. First, it is determined whether or not the start / stop switch has been turned on (step K1). If the start / stop switch has not been turned on, this flow is ended. If it has been turned on, the value of the start flag STF is inverted (step K2). Then, it is determined whether or not the value of the STF is “1” (step K3). If the value of the STF is "1", the automatic performance is started, and the start address of the music (M) specified by the selected music number in the register M is stored in the register AD (step K4). Further, the tempo of the music (M) is stored in the register TEMPO (step K5).
[0046]
Next, the time of the music data at the head address specified by AD is read (step K6), and the time is stored in the register TIME (step K7). Then, the timer interrupt cycle based on TEMPO is set (step K8). Next, the register T for counting notes in a predetermined period for evaluating the performance result is cleared to "0" (step K9), and the prohibition of the timer interrupt is released (step K10). Then, the process returns to the main flow.
If the STF is inverted from "1" to "0" in step K3, the automatic performance is stopped, so that the timer interrupt is prohibited (step K11), and all the guide displays on the keyboard 6 are turned off (step K12). ). Then, the process returns to the main flow.
[0047]
FIG. 18 is a flowchart of a part of the automatic performance processing in step A3 in the main flow of FIG. The remaining flowcharts are the same as FIG. 6 shown in the first embodiment and FIG. 16 shown in the second embodiment. If the read music data is neither END nor note-off in the flow of FIG. 6, it is determined whether or not the data is time in the flow of FIG. 18 (step L1). The time is stored in the register TIME (step L2). Then, this flow ends.
[0048]
If the data is not time, it is determined whether or not the event is a note-on event (step L3). If the event is a note-on event, the event note is stored in the register NOTE (step L4). Next, the guide display of the keyboard 6 is turned on corresponding to the event note (step L5). Further, the guide flag GUIDE ONF is set to "1" (step L6). Then, it is determined whether or not the flag KEY ONF indicating the presence / absence of key depression is "1 (key depression)" (step L7).
[0049]
When the KEY ONF is “1”, the keyboard 6 is depressed. In this case, it is determined whether or not the note of the event stored in the NOTE matches the pressed note stored in the register KEY in the keyboard processing of FIG. 9 (step L8). If they match, that is, if the key whose performance is to be instructed has already been pressed when the GUIDE ONF is set to "1", the value of α is added to the value of the register POINT (step L9). When the note of the event stored in the NOTE and the key of the key pressed stored in the register KEY in the keyboard processing of FIG. 9 do not match, a key different from the key whose guide display is lit is pressed. Therefore, α is subtracted from the value of POINT (step L10). After α is added or subtracted, the evaluation flag HYOKAF is set to “1” (step L11).
[0050]
If the data is not a note-on event in step L3, it is determined whether or not the data is a valid flag (step L12). If the flag is a valid flag, the flag YUKOF is set to "1" (step L13). If the data is not a valid flag, it is determined whether or not the data is an invalid flag (step L14). If the flag is invalid, YUKOF is reset to "0" (step L15). If the data is not a valid flag or invalid flag, other event processing is performed (step L16).
[0051]
After setting HYOKAF to "1" in step L11, if KEY ONF is "0" in step L7, after setting YUKOF to "1" or "0" in step L13 or L15, or in step L16. After performing other event processing, the process proceeds to step E3 in FIG. 6 to advance the address of AD.
After the value of T is incremented in step E9 in FIG. 6, the flow shown in FIG. 16 in the second embodiment is executed.
[0052]
FIG. 19 is a flowchart of the evaluation processing in step A5 in the main flow. In the flow of FIG. 19, first, it is determined whether or not HYOKAF is "1" (step M1). If this flag is "1", it is reset to "0" (step M2). Next, a pointer n designating an array P (n) for a predetermined period to be evaluated is set to "0" (step M3), and P (n + 1) is substituted for P (n) (step M4). The value of n is incremented (step M5). Then, it is determined whether or not the value of n + 1 has reached the number of evaluation notes (step M6). If the number of evaluation notes has not been reached, the process proceeds to step M4, and the processing up to step M6 is repeated.
[0053]
If the value of (n + 1) becomes the number of evaluation notes in Step M6, the value of POINT is stored in P (n) (Step M7). After storing the value of POINT in P (n), it is determined whether or not the flag SHIENF is "1" (step M8). If the flag is "0", this flow is terminated. If the flag is "1", it is reset (step M9). Next, it is determined whether or not the flag YUKOF is “1” (step M10). If this flag is “0”, this flow is terminated. However, if this flag is “1” and the position of the currently playing music data is within the evaluation support effective range, that is, the evaluation target period, Then, the processing shifts to the flow of FIG. 11 in the first embodiment, and performance evaluation processing is performed.
[0054]
FIG. 20 is a diagram illustrating a specific example of the evaluation level with respect to the evaluation bar elapsed number. In this case, valid flag data and invalid flag data are inserted in the music data to be played. Then, a period from the valid flag to the invalid flag is set as an evaluation support effective range, that is, an evaluation target period.
[0055]
As described above, according to the third embodiment, the CPU 1 determines the performance result for each predetermined period (the number of reference notes) in the evaluation target period set by the valid flag and the invalid flag included in the music data. After the evaluation, the evaluation result is output to the display unit 8 and displayed. Therefore, by setting the positions of the valid flag and the invalid flag in accordance with the content such as the degree of difficulty of the music, and excluding an inappropriate period as an evaluation target, and correctly evaluating the skill of the user, the performance technique is improved. It can be achieved efficiently.
[0056]
Next, the operation of the fourth embodiment will be described with reference to FIGS. In the fourth embodiment, the music selection switch processing is different from the first to third embodiments.
In FIG. 21, it is determined whether or not the flag STF is "0" (step N1). When the flag is "0" and the automatic performance is stopped, it is determined whether or not the music selection switch is operated. A determination is made (step N2). If this switch is not operated, or if the STF is "1" and the automatic performance state is set, this flow ends and the flow returns to the main flow.
[0057]
When the music selection switch is operated in step N2, the selected music number is stored in the register M (step N3). Next, "0" is stored in the three registers SHORT, MID, and LONG and cleared (step N4). Next, the start address of the music (M) data is stored in the register AD (step N5), the music data is read out from the address of the AD (step N6), and the read data is determined. It is determined whether or not the read data is a note-on event (step N7). If the read data is a note-on event, the note of the event is stored in the register NOTE (step N8).
[0058]
Next, the pointer n for pre-reading the music data is set to "1" (step N9), and "0" is stored in the register TIME to clear it (step N10). Then, in the flow of FIG. 22, the music data is read from the address (AD + n) obtained by adding the value of the pointer n to the current address (step N11), and the type of the read data is determined (step N12). If the data is a time, the time is added to the register T and accumulated (step N13). If the data is neither time nor note-off but is other data, the value of n is incremented (step N14), and the process proceeds to step N11 to read the next music data. Then, it searches for time and note-off events in the song data.
[0059]
If the data is note-off, it is determined whether or not the note-off note matches the note stored in NOTE (step N15). If they do not match, the value of n is incremented (step N14), and the process proceeds to step N11 to read the next music data. Then, it searches for a note-off event that matches the time and note in the song data. That is, the time (note length) at which the note-on event stored in NOTE is turned off is measured.
At step N15, when the note-off note matches the note stored in the NOTE, that is, when the read note-on note length is stored in the register T, the note length of the note stored in T is stored. Is greater than or equal to a half note, within the range of a quarter note to an eighth note, or less than or equal to a sixteenth note (step N16).
[0060]
If the note length of the note T is equal to or longer than a half note, the value of the register LONG is incremented (step N17). If the note length of the note T is in the range from the quarter note to the eighth note, the value of the register MID is incremented (step N18). If the note length of T is equal to or shorter than the sixteenth note, the value of the register SHORT is incremented (step N19). After incrementing the value of any of the registers, or if the data is not note-on in step N7 in FIG. 21, the address of the AD is incremented (step N20).
[0061]
Next, it is determined whether or not the address of the AD has exceeded the final address of the music data (step N22). If it does not exceed the final address, the process proceeds to step N6 in FIG. 21 to read out the music data by the address of AD. If the address of the AD is the last address, it is determined which of the three registers SHORT, MID, and LONG has the largest number of stored notes (step N21).
[0062]
If the value of the register LONG is the maximum value, "15" and "92" are stored in the values of the registers D1 and D2 defining the evaluation support effective range (evaluation target period) (step N23). If the register MID has the maximum value, "25" and "84" are stored in the values of D1 and D2, respectively (step N24). If the value of the register SHORT is the maximum value, "40" and "68" are stored in the values of D1 and D2, respectively (step N25). After storing the values in D1 and D2, this flow is terminated and the flow returns to the main flow. That is, the evaluation target period is set to be wider as the number of musical notes having a longer note length increases.
[0063]
As described above, according to the fourth embodiment, the CPU 1 sets the evaluation target period according to the tendency of the sounding time from the note-on to the note-off of the note in the music data. For songs with a high frequency of performance operations with a large number of performances, the period of exclusion from the evaluation target is set wide to allow the user to play with ample time, and the frequency of performance is low with many long notes. For music, the period of time to be excluded from the evaluation target is narrowed, that is, the period for the evaluation is widened, so that the period inappropriate for the evaluation is excluded, and the skill of the user is correctly evaluated, thereby improving the performance technique. It can be achieved efficiently.
[0064]
Next, the operation of the fifth embodiment will be described with reference to FIG. Also in the fifth embodiment, similarly to the fourth embodiment, the music selection switch processing is different from the first to third embodiments.
First, it is determined whether or not the flag STF is "0" (step P1). If the flag is "0" and the automatic performance is stopped, it is determined whether or not the music selection switch has been operated. (Step P2). If this switch is not operated, or if the STF is "1" and the automatic performance state is set, this flow ends and the flow returns to the main flow.
[0065]
When the music selection switch is operated in Step P2, the selected music number is stored in the register M (Step P3). Next, the tempo of the music (M) is stored in the register TEMPO (step P4). Further, a note of NOTE (TEMPO) is stored in the values of registers D1 and D2 which define the evaluation support effective range (evaluation target period) (step P5). Then, this flow ends and the flow returns to the main flow. Therefore, the value of the registers D1 and D2 increases as the music piece has a higher tempo, and the evaluation period becomes shorter.
[0066]
As described above, according to the fifth embodiment, the CPU 1 sets the evaluation target period in accordance with the tempo of the music data. In this way, the user is allowed to play with sufficient time, and for a song with a low tempo, the period excluded from the evaluation target is narrowed, that is, the evaluation target period is widened, thereby excluding the period inappropriate for the evaluation target. By correctly evaluating the skill of the player, the performance technique can be efficiently improved.
[0067]
In each of the above embodiments, the performance evaluation apparatus in which the performance evaluation program stored in advance in the program ROM 3 of FIG. 1 is executed by the CPU 1 has been described. It is also possible to install and execute a performance evaluation program stored in a general-purpose information processing device such as a personal computer, or a performance evaluation program downloaded via a communication network such as the Internet. In this case, the invention of the program is configured.
[0068]
That is, the performance evaluation program according to the present invention includes a first step of setting an evaluation target period according to the content of music data to be played, and a second step of evaluating performance results of the music data for each predetermined period in the evaluation target period. And a third step of outputting and displaying the evaluation result of the second step on a predetermined display means.
[0069]
【The invention's effect】
According to the present invention, the CPU 1 sets an evaluation target period in accordance with the contents of the music data to be played, evaluates the performance results of the music data in the evaluation target period for each predetermined period, and displays the evaluation results. Output to the unit 8 for display. Therefore, the performance skill can be efficiently improved by correctly evaluating the skill of the user by excluding an inappropriate period as an evaluation target.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a performance evaluation device according to each embodiment of the present invention.
FIG. 2 is a main flowchart of a performance evaluation process of a CPU according to the first embodiment.
FIG. 3 is a flowchart of a switch process according to the first embodiment.
FIG. 4 is a flowchart of a music selection switch process according to the first embodiment.
FIG. 5 is a flowchart of a start / stop switch process according to the first embodiment.
FIG. 6 is a flowchart of an automatic performance process according to the first embodiment.
FIG. 7 is a flowchart of the automatic performance process following FIG. 6;
FIG. 8 is a flowchart of the automatic performance process following FIG. 6;
FIG. 9 is a flowchart of keyboard processing according to the first embodiment.
FIG. 10 is a flowchart of an evaluation process according to the first embodiment.
FIG. 11 is a flowchart of an evaluation process following FIG. 10;
FIG. 12 is a diagram showing a specific example of an evaluation level with respect to the number of elapsed evaluation bars in the first embodiment.
FIG. 13 is a timing chart of a guide note and a key pressed note in the first embodiment.
FIG. 14 is a flowchart of a start / stop switch process according to the second embodiment.
FIG. 15 is a flowchart of a part of an automatic performance process according to the second embodiment.
FIG. 16 is a flowchart of a part of an automatic performance process according to the second embodiment;
FIG. 17 is a flowchart of a start / stop switch process according to the third embodiment.
FIG. 18 is a flowchart of a part of an automatic performance process according to the third embodiment.
FIG. 19 is a flowchart illustrating a part of an evaluation process according to the third embodiment;
FIG. 20 is a view showing a specific example of an evaluation level with respect to the number of elapsed evaluation bars in the third embodiment.
FIG. 21 is a flowchart of a music selection switch process according to the fourth embodiment.
FIG. 22 is a flowchart of music selection switch processing following FIG. 21;
FIG. 23 is a flowchart of a music selection switch process according to the fifth embodiment.
[Explanation of symbols]
1 CPU
3 Program ROM
4 Work RAM
5 song memory
6 keys
7 Switch section
8 Display
9 sound sources
10 sounding circuit

Claims (8)

演奏対象の曲データの内容に応じて評価対象期間を設定する期間設定手段と、
前記評価対象期間における前記曲データの所定期間ごとの演奏結果を評価する演奏評価手段と、
前記演奏評価手段による評価結果を所定の表示手段に出力して表示させる評価出力手段と、
を備えたことを特徴とする演奏評価装置。
A period setting means for setting an evaluation period according to the content of the music data to be played;
Performance evaluation means for evaluating performance results of the music data for each predetermined period in the evaluation target period,
Evaluation output means for outputting an evaluation result by the performance evaluation means to predetermined display means for display;
A performance evaluation device comprising:
前記演奏評価手段は、前記曲データの所定の音符数ごとに演奏結果を評価することを特徴とする請求項1記載の演奏評価装置。2. The performance evaluation device according to claim 1, wherein the performance evaluation unit evaluates a performance result for each predetermined number of notes in the music data. 前記演奏評価手段は、前記曲データの所定の時間経過ごとに演奏結果を評価することを特徴とする請求項1記載の演奏評価装置。2. The performance evaluation device according to claim 1, wherein the performance evaluation unit evaluates a performance result every time a predetermined time of the music data elapses. 前記期間設定手段は、前記曲データに含まれている識別データに基づいて評価対象期間を設定することを特徴とする請求項1ないし3のうちいずれか1項記載の演奏評価装置。4. The performance evaluation apparatus according to claim 1, wherein the period setting unit sets an evaluation target period based on identification data included in the music data. 前記期間設定手段は、前記曲データにおける発音イベントの発音時間の傾向に応じて評価対象期間を設定することを特徴とする請求項1ないし3のうちいずれか1項記載の演奏評価装置。The performance evaluation device according to claim 1, wherein the period setting unit sets an evaluation target period according to a tendency of a sounding time of a sounding event in the music data. 前記期間設定手段は、前記曲データのテンポに応じて評価対象期間を設定することを特徴とする請求項1ないし3のうちいずれか1項記載の演奏評価装置。4. The performance evaluation device according to claim 1, wherein the period setting unit sets an evaluation target period according to a tempo of the music data. 前記演奏評価手段は、前回の所定期間の演奏結果に対する今回の所定期間の演奏結果を評価することを特徴とする請求項1ないし6のいずれか1項記載の演奏評価装置。7. The performance evaluation device according to claim 1, wherein the performance evaluation unit evaluates a performance result of a current predetermined period with respect to a performance result of a previous predetermined period. 演奏対象の曲データの内容に応じて評価対象期間を設定する第1のステップと、
前記評価対象期間における前記曲データの所定期間ごとの演奏結果を評価する第2のステップと、
前記第2のステップによる評価結果を所定の表示手段に出力して表示させる第3のステップと、
を実行することを特徴とする演奏評価プログラム。
A first step of setting an evaluation target period according to the content of music data to be played;
A second step of evaluating a performance result of the music data for each predetermined period in the evaluation target period;
A third step of outputting and displaying the evaluation result of the second step on a predetermined display means,
A performance evaluation program characterized by executing the following.
JP2002371189A 2002-12-24 2002-12-24 Device and program for musical performance evaluation Pending JP2004205567A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002371189A JP2004205567A (en) 2002-12-24 2002-12-24 Device and program for musical performance evaluation
US10/735,510 US20040123726A1 (en) 2002-12-24 2003-12-11 Performance evaluation apparatus and a performance evaluation program
CNB2003101232741A CN1293505C (en) 2002-12-24 2003-12-23 Performance evaluation device and performance evaluation program
CN2006101060170A CN1897105B (en) 2002-12-24 2003-12-23 Device for musical performance evaluation
CN2006101060166A CN1897104B (en) 2002-12-24 2003-12-23 Device for musical performance evaluation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002371189A JP2004205567A (en) 2002-12-24 2002-12-24 Device and program for musical performance evaluation

Publications (1)

Publication Number Publication Date
JP2004205567A true JP2004205567A (en) 2004-07-22

Family

ID=32810122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002371189A Pending JP2004205567A (en) 2002-12-24 2002-12-24 Device and program for musical performance evaluation

Country Status (2)

Country Link
JP (1) JP2004205567A (en)
CN (2) CN1897105B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140059A (en) * 2005-11-17 2007-06-07 Yamaha Corp Musical score information retrieving device, musical score information output device, and system and program therefor
JP2008209639A (en) * 2007-02-26 2008-09-11 Daiichikosho Co Ltd Karaoke sound effect output system
JP2008209640A (en) * 2007-02-26 2008-09-11 Daiichikosho Co Ltd Karaoke sound effect output system
CN101159132B (en) * 2007-11-22 2011-05-04 无敌科技(西安)有限公司 Personal adaptive MIDI playing system and method thereof

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103857B (en) * 2009-12-21 2013-10-30 盛大计算机(上海)有限公司 Singing scoring system
JP5549687B2 (en) * 2012-01-20 2014-07-16 カシオ計算機株式会社 Music score display device and program thereof
CN103514866B (en) * 2012-06-28 2018-01-16 深圳市咪发发科技有限公司 A kind of method and device of instrument playing scoring
JP6340755B2 (en) * 2013-04-16 2018-06-13 カシオ計算機株式会社 Performance evaluation apparatus, performance evaluation method and program
KR101459324B1 (en) * 2013-08-28 2014-11-07 이성호 Evaluation method of sound source and Apparatus for evaluating sound using it
CN104538010A (en) * 2015-01-21 2015-04-22 熊世林 Method for recording emotion mode of electronic musical instrument playing
JP6729052B2 (en) * 2016-06-23 2020-07-22 ヤマハ株式会社 Performance instruction device, performance instruction program, and performance instruction method
CN106228961A (en) * 2016-07-21 2016-12-14 赵洪云 Play evaluation methodology and device
JP6724879B2 (en) * 2017-09-22 2020-07-15 ヤマハ株式会社 Reproduction control method, reproduction control device, and program
CN110136677B (en) * 2019-03-28 2022-03-15 深圳市芒果未来科技有限公司 Musical tone control method and related product
JP7279700B2 (en) * 2020-12-08 2023-05-23 カシオ計算機株式会社 Performance device, method and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1154530A (en) * 1995-10-13 1997-07-16 兄弟工业株式会社 Device for giving marks for karaoke singing level
JP2000237455A (en) * 1999-02-16 2000-09-05 Konami Co Ltd Music production game device, music production game method, and readable recording medium
JP2001083968A (en) * 1999-09-16 2001-03-30 Sanyo Electric Co Ltd Play information grading device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140059A (en) * 2005-11-17 2007-06-07 Yamaha Corp Musical score information retrieving device, musical score information output device, and system and program therefor
JP4591326B2 (en) * 2005-11-17 2010-12-01 ヤマハ株式会社 Musical score information retrieval apparatus, musical score information output apparatus, musical score information retrieval system, and program
JP2008209639A (en) * 2007-02-26 2008-09-11 Daiichikosho Co Ltd Karaoke sound effect output system
JP2008209640A (en) * 2007-02-26 2008-09-11 Daiichikosho Co Ltd Karaoke sound effect output system
CN101159132B (en) * 2007-11-22 2011-05-04 无敌科技(西安)有限公司 Personal adaptive MIDI playing system and method thereof

Also Published As

Publication number Publication date
CN1897104B (en) 2011-02-16
CN1897105B (en) 2011-04-20
CN1897104A (en) 2007-01-17
CN1897105A (en) 2007-01-17

Similar Documents

Publication Publication Date Title
JP2004205567A (en) Device and program for musical performance evaluation
JP5168297B2 (en) Automatic accompaniment device and automatic accompaniment program
JP2546017B2 (en) Electronic percussion instrument
US8907197B2 (en) Performance information processing apparatus, performance information processing method, and program recording medium for determining tempo and meter based on performance given by performer
JP5293710B2 (en) Key judgment device and key judgment program
JP3743024B2 (en) Performance practice device
US6750390B2 (en) Automatic performing apparatus and electronic instrument
JPH03196195A (en) Electronic musical instrument
JP3237421B2 (en) Automatic performance device
JP2010117419A (en) Electronic musical instrument
JP2004252158A (en) Performance support system, and program for performance support processing
JP3455050B2 (en) Automatic accompaniment device
JP4096784B2 (en) Performance evaluation apparatus and performance evaluation program
JP5692275B2 (en) Electronic musical instruments
JP4207564B2 (en) Performance apparatus and performance processing program
JP3885737B2 (en) Performance evaluation apparatus and performance evaluation program
JP5609520B2 (en) Performance evaluation apparatus and performance evaluation program
JP3693690B2 (en) Keyboard instrument
JP2500490B2 (en) Automatic accompaniment device
JP2004317775A (en) Automatic player and program for automatic musical performance processing
JP2540966B2 (en) Electronic musical instrument
JP2537963B2 (en) Automatic playing device
JP2016057389A (en) Chord determination device and chord determination program
JPH0317699A (en) Electronic musical instrument
JPH04181995A (en) Automatic accompanying device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050620

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060208

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070306