JP4096784B2 - 演奏評価装置および演奏評価プログラム - Google Patents
演奏評価装置および演奏評価プログラム Download PDFInfo
- Publication number
- JP4096784B2 JP4096784B2 JP2003099864A JP2003099864A JP4096784B2 JP 4096784 B2 JP4096784 B2 JP 4096784B2 JP 2003099864 A JP2003099864 A JP 2003099864A JP 2003099864 A JP2003099864 A JP 2003099864A JP 4096784 B2 JP4096784 B2 JP 4096784B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- pitch
- evaluation
- note
- performance
- 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
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、演奏教習において演奏を評価するための演奏評価装置および演奏評価プログラムに関する。
【0002】
【従来の技術】
演奏教習の分野ではないが、演奏を評価する観点から類似する従来技術として、カラオケ歌唱を採点する採点機能を備えたカラオケ装置が提案されている。この提案によれば、カラオケ曲の演奏に合わせて歌唱された歌唱音声信号を入力して、この歌唱音声信号を分析して周波数・音量などを割り出し、これをリアルタイムに採点する構成になっている。採点は、カラオケ曲のガイドメロディデータと前記周波数データ・音量データとを比較して、その一致度・相違度に基づいて行なう(特許文献1参照)。
【0003】
【特許文献1】
特開平10−161673号公報(段落番号「0007」)
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、カラオケ曲のガイドメロディデータの開始タイミングに合わせて歌うことは初心者でなくとも困難である。ガイドメロディデータの開始タイミングより発声が遅れたり早くなったりするのが普通である。発声の遅れが僅かな時間であれば、ある程度の高い評価を受けるが、発声が早い場合にはその時間が僅かであっても、低い評価を受けることになる。
【0005】
このことは、カラオケ曲の歌唱に限らず楽器の演奏においても同様である。例えば、曲データの発音イベントにおける音高と発音開始タイミングおよび発音終了タイミングによる発音期間とを指示する場合において、指示される発音開始タイミングより前に演奏がされた場合には、その時間差にかかわらず減点の対象になってしまう。このため、曲データの楽譜を見ながら発音期間の指示に従って演奏する場合には、指示された発音開始タイミングと演奏開始タイミングとがほぼ一致しても、発音開始タイミングより僅か前に演奏がされた場合には減点の対象になってしまうので、ユーザの技量を正しく評価することができず、演奏技術の向上を図る上で好ましくない。
【0006】
本発明は、ユーザが評価対象の曲を演奏してその評価を受ける際に、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる演奏評価装置および演奏評価プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
請求項1に記載の演奏評価装置は、発音すべき楽音の音高、当該楽音の発音を指示する模範演奏データを順次供給する模範演奏データ供給手段と、演奏操作により指定される音高で楽音の発音を指示する実演奏データを順次供給する実演奏データ供給手段と、前記模範演奏データ供給手段から発音を指示する模範演奏データが供給されたときに前記実演奏データ供給手段から発音を指示する実演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第1の判定手段と、前記実演奏データ供給手段から発音を指示する実演奏データが供給されたときに前記模範演奏データ供給手段から発音を指示する模範演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第2の判定手段と、前記第1及び第2の判定手段のいずれか一方にて両音高が同一であると判定された場合は評価点を加点する一方、両音高が同一でないと判定された場合は評価点を減点する演奏評価手段と、前記第1の判定手段により両音高が同一でないと判定された場合、前記模範演奏データの音高を指定する第1の音高指定手段と、前記第2の判定手段により両音高が同一でないと判定された場合、前記実演奏データの音高を指定する第2の音高指定手段と、前記第1の音高指定手段により模範演奏データの音高が指定された後から所定時間内に、前記第2の判定手段にて実演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価手段における評価点の減点を無効にするとともに当該評価点を加点する第1の評価修正手段と、前記第2の音高指定手段により実演奏データの音高が指定された後から所定時間内に、前記第1の判定手段により模範演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価手段における評価点の減点を無効にするとともに当該評価点を加点する第2の評価修正手段と、を備えた構成になっている。
【0009】
この場合において、前記所定時間を設定操作に応じて設定可能な時間設定手段をさらに有するように構成してもよい。
【0010】
請求項3に記載の演奏評価プログラムは、発音すべき楽音の音高、当該楽音の発音を指示する模範演奏データを順次供給する模範演奏データ供給ステップと、演奏操作により指定される音高で楽音の発音を指示する実演奏データを順次供給する実演奏データ供給ステップと、前記発音を指示する模範演奏データが供給されたときに前記発音を指示する実演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第1の判定ステップと、前記発音を指示する実演奏データが供給されたときに前記発音を指示する模範演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第2の判定ステップと、前記第1及び第2の判定ステップのいずれか一方にて両音高が同一であると判定された場合は評価点を加点する一方、両音高が同一でないと判定された場合は評価点を減点する演奏評価ステップと、前記第1の判定ステップにより両音高が同一でないと判定された場合、前記模範演奏データの音高を指定する第1の音高指定ステップと、前記第2の判定ステップにより両音高が同一でないと判定された場合、前記実演奏データの音高を指定する第2の音高指定ステップと、前記第1の音高指定ステップにより模範演奏データの音高が指定された後から所定時間内に、前記第2の判定ステップにて実演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに当該評価点を加点する第1の評価修正ステップと、前記第2の音高指定ステップにより実演奏データの音高が指定された後から所定時間内に、前記第1の判定ステップにより模範演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに当該評価点を加点する第2の評価修正ステップと、をコンピュータに実行させる。
【0011】
【発明の実施の形態】
以下、本発明による演奏評価装置の実施形態について、図を参照して説明する。
図1は、実施形態における演奏評価装置のシステムの構成を示すブロック図である。この図において、CPU1は、システムバス2を介して、プログラムROM3、ワークRAM4、曲メモリ5、鍵盤6、スイッチ部7、表示部8、および音源9に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この装置全体を制御する。
【0012】
プログラムROM3は、CPU1によって実行される制御プログラム、演奏評価プログラムなどのアプリケーションプログラム、起動時のイニシャライズにおける初期データなどをあらかじめ記憶している。ワークRAM4は、プログラムの実行に必要な各種のレジスタやフラグのエリアを持っている。曲メモリ5は、演奏の評価対象である複数の自動演奏曲の曲データを記憶している。鍵盤6は、演奏操作に応じてノートおよびベロシティをCPU1に入力する。スイッチ部7は、曲メモリ5に記憶されている曲を選択するスイッチ、自動演奏を開始又は停止するスタート/ストップスイッチなどで構成されている。
表示部8は、自動演奏曲すなわち評価対象の曲の楽譜や評価結果などを表示する。音源9は、最大N個の発音チャンネルによってポリ演奏が可能であり、CPU1の発音指示(ノートオンコマンド)や消音指示(ノートオフコマンド)に応じて、楽音信号を発生して発音回路10に出力し又は出力を停止する。発音回路10は、D/A変換回路、フィルタ回路、増幅回路、スピーカなどで構成され、音源9から出力される楽音信号に応じて楽音を発生する。
なお、図には示していないが、CPU1の演奏指示に応じて点灯してガイド表示を行なうLEDが各鍵ごとに設けられている。
【0013】
次に、実施形態における動作について、図2ないし図16に示すCPU1のフローチャート、および図17ないし図19に示す図を参照して説明する。
図2は、CPU1の演奏評価処理のメインフローチャートである。まず、イニシャライズを行なって(ステップA1)、ワークRAM4の各種のレジスタをクリアし、各種のフラグを「0」にリセットし、タイマインタラプトを禁止する。イニシャライズの後は、スイッチ部7の各スイッチのオンおよびオフを検出するスイッチ処理(ステップA2)、曲メモリ5から選択された評価対象の曲の曲データを読み出して演奏指示を行う自動演奏処理(ステップA3)、鍵盤6を走査して演奏すなわち押鍵および離鍵の鍵変化を検出する鍵盤処理(ステップA4)、評価対象の曲の演奏結果を評価する評価処理(ステップA5)、およびその他の処理(ステップA6)を繰り返し実行する。
このメインフローチャートにおいて、一定時間ごとのタイマインタラプトが入ると、タイマインタラプト処理を実行するが、このタイマインタラプトの処理については後述する。
【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)。したがって、TEMPOに基づく周期ごとにTIMEの値がデクリメントされる。
ステップD3において、STFが「1」から「0」に反転したときは、自動演奏の停止であるので、タイマインタラプトを禁止して(ステップD12)、鍵盤6のガイド表示をすべて消灯する(ステップD13)。そして、メインフローに戻る。
【0017】
図6ないし図9は、メインフローにおけるステップA3の自動演奏処理のフローチャートである。STFが「1」であるか否かを判別し(ステップE1)、STFが「1」で自動演奏状態である場合には、タイマインタラプトごとにデクリメントされるTIMEの値が「0」に達したか否かを判別する(ステップE2)。STFが「0」である場合、又は、TIMEの値が「0」に達していない場合には、このフローを終了するが、TIMEの値が「0」に達したときは、次の曲データを読み出すために、ADのアドレスを進める(ステップE3)。そして、ADのアドレスによる曲データの読出しを行なう(ステップE4)。
【0018】
次に、読出した曲データがENDすなわち曲の終了であるか否かを判別する(ステップE5)。読み出したデータがENDである場合には、STFを「0」にリセットして(ステップE6)、鍵盤6のガイド表示をすべて消灯する(ステップE7)。また、タイマインタラプトを禁止する(ステップE8)。そして、このフローを終了してメインフローに戻る。
一方、読み出したデータがENDでない場合には、図7のフローチャートにおいて、そのデータがノートオフのイベントであるか否かを判別する(ステップE9)。そのデータがノートオフのイベントであると判別した場合には、イベントのデータをレジスタNOTEにストアし(ステップE10)、NOTEに対応する鍵のガイド表示を消灯する(ステップE11)。
【0019】
次に、音源9による最大N個の発音チャンネルのポリ演奏で、最大N個のノートをストアできる演奏ガイドの配列レジスタにおいて、配列を指定するポインタiを初期値「0」にセットして(ステップE12)、iの値をインクリメントしながら、ノートオフのイベントに該当するノートを捜す。すなわち、NOTE(i)のノートとNOTEのノートとが一致するか否かを判別し(ステップE13)、一致しない場合には、iの値をインクリメントする(ステップE14)。そして、iの値がNの値を超えたか否かを判別する(ステップE15)。Nの値を超えていない場合には、ステップE13においてNOTE(i)およびNOTEのノートとの一致を判別する。
【0020】
ステップE13において、NOTE(i)のノートとNOTEのノートとが一致したと判別したときは、NOTE(i)、タイムレジスタNOTETIME(i)、フラグNOTEF(i)に空き状態を示すデータNULLをストアする(ステップE16)。NOTETIME(i)は、ガイド表示の点灯開始タイミングすなわちイベントの発音開始タイミングから演奏開始タイミングまでの押鍵待ち許容時間をストアするレジスタである。また、NOTEF(i)は、NOTE(i)のノートが発音中で「1」消音中でNULLとなるフラグである。
【0021】
NOTE(i)、NOTETIME(i)、NOTEF(i)にNULLをストアした後は、フラグMFを「0」にリセットする(ステップE17)。MFは配列レジスタにおいて最大N個のノートがすべて発音中の場合に「1」にセットされるフラグである。したがって、ステップE16においてNOTE(i)にNULLをストアした後は、配列レジスタの少なくとも1個が空き状態になるので、MFを「0」にリセットする。そして、評価を行なう所定期間の1つの音符に対する処理が終わったので、音符数すなわちイベント数をカウントするレジスタTの値をインクリメントする(ステップE18)。
【0022】
ステップE9において、データがノートオフでない場合には、図8のフローチャートにおいて、データがタイムか否かを判別する(ステップE19)。タイムである場合には、レジスタTIMEにタイムの値をストアして(ステップE20)、メインフローに戻る。
データがタイムでない場合には、データがノートオンであるか否かを判別する(ステップE21)。データがノートオンのイベントでないと判別した場合には、その他のイベント処理を行なう(ステップE22)。そして、図6のフローチャートのステップE3に移行して、ADのアドレスを進める。
【0023】
図8のステップE21において、データがノートオンであると判別した場合には、イベントのノートをレジスタNOTEにストアする(ステップE23)。次に、音源9による最大N個の発音チャンネルのポリ演奏で、最大N個のノートをストアできる配列レジスタにおいて、配列レジスタを指定するポインタiを初期値「0」にセットして(ステップE24)、iの値をインクリメントしながら、ノートオンのイベントをストアする空き状態のエリアを捜す。すなわち、NOTE(i)がNULLであるか否かを判別し(ステップE25)、NULLでない場合には、iの値をインクリメントする(ステップE26)。そして、iの値がNの値を超えたか否かを判別する(ステップE27)。Nの値を超えた場合、すなわち、空き状態の配列がない場合には、フラグMFを「1」にセットする(ステップE28)。この場合には、NOTEのイベントは無効になり、図6のフローチャートのステップE3に移行して、ADのアドレスを進める。
【0024】
一方、図8のステップE25において、NOTE(i)がNULLである場合には、NOTEのノートをNOTE(i)にストアし(ステップE29)、NOTEに対応するガイド表示を行う(ステップE30)。ガイド表示を行った後は、図9のフローチャートにおいて、鍵盤6のノートをストアする鍵変化の配列レジスタを指定するポインタjを初期値「0」にセットして(ステップE31)、jの値をインクリメントしながら、配列KEY(j)の中でNOTEのノートに一致するエリアを捜す。
【0025】
すなわち、ポインタで指定する配列KEY(i)がNULL(空き状態)でないか否かを判別し(ステップE32)、NULLでない場合にはNOTEのノートとKEY(i)のノートとが一致するか否かを判別する(ステップE33)。KEY(i)がNULLである場合、又は、NOTEのノートとKEY(i)のノートとが一致しない場合には、jの値をインクリメントする(ステップE34)。そして、jの値が最大数Nを超えたか否かを判別する(ステップE35)。jの値がNを超えた場合には、フラグMFが「0」であるか否かを判別する(ステップE36)。すなわち、NOTEのノートに一致するノートが配列KEY(0)〜(N)の中にない場合には、配列NOTE(0)〜(N)に空きがある(MFが「0」)か否かを判別する。
【0026】
MFが「0」で配列NOTE(0)〜(N)に空きがある場合には、押鍵をガイドするノートオンのイベントが有効であり、NOTEのノートに一致するノートがこの時点ではないことを示している。この場合には、NOTEF(i)を「1」にセットし(ステップE37)、NOTETIME(i)に押鍵待ち許容時間taをストアする(ステップE38)。また、NOTEのノートに一致するノートがKEY(0)〜(N)の中にないので、評価ポイントをカウントするPointの値からαを減算するポイントダウンを行う(ステップE39)。そして、評価フラグHYOKAFを「1(評価実行)」にセットする(ステップE40)。
【0027】
ステップE35において、jの値がNを超えていない場合には、ステップE32およびステップE33において、NULLでないKEY(j)でNOTEのノートと一致するノートの有無を判別する。NOTEのノートとKEY(j)のノートとが一致する場合には、KEY(j)のノートが押鍵状態であるか離鍵状態であるかを示すフラグKEYF(j)が「1(押鍵状態)」であるか又はNULL(離鍵状態)であるかを判別する(ステップE41)。KEYF(j)が「1」である場合には、KEYF(j)をNULLにセットする(ステップE42)。
【0028】
さらに、タイムレジスタKEYTIME(j)にNULLをストアする(ステップE43)。KEYTIME(j)は、演奏開始タイミングからノートオンのイベントの発音開始タイミングまでのガイド待ち許容時間をストアするレジスタである。次に、評価ポイントPointの値にαを加点する(ステップE44)。KEYF(j)が「1」である場合には、NOTEのノートに対応するガイド表示に対応するノートがすでに押鍵されており、ガイド待ち許容時間以内に押鍵ガイドがなされた場合である。したがって、ステップE39において減点したPointを解消(補正)するために、Pointにαを加点する(ステップE44)。次に、NOTEのノートとKEY(j)のノートが一致していることによる加点を行うために、Pointにαを加点する(ステップE45)。そして、HYOKAFに「1」をセットする(ステップE40)。
一方、ステップE41において、KEYF(j)が「0」である場合には、NOTEのノートによる発音開始タイミングに応じて押鍵がなされた場合であるので、Pointにαを加点する(ステップE45)。そして、HYOKAFに「1」をセットする(ステップE40)。
HYOKAFに「1」をセットした後、又は、ステップE36においてMFが「1」である場合には、図6のステップE3に移行してADのアドレスを進める。
【0029】
図7のステップE18においてTの値をインクリメントした後、又は、ステップE15において、演奏ガイドの配列レジスタを指定するポインタiの値が最大値Nを超えた場合には、図10のフローチャートにおいて、演奏したノート数が基準ノート数を超えたか否かを判別する(ステップE46)。Tのノート数が基準ノート数に達したときは、表示や音声などでユーザに対して支援するか否かを示すフラグSHIENFを「1(支援)」にセットする(ステップE47)。そして、Tのノート数を「0」にクリアする(ステップE48)。Tをクリアした後、又は、ステップE46においてTのノート数が基準ノート数に達しない場合には、HYOKAFが「0」であるか否かを判別し(ステップE49)、「0」である場合には「1」にセットする(ステップE50)。HYOKAFを「1」にセットした後、又は、HYOKAFが「1」である場合には、曲の最初からのノート数をストアするレジスタNのノート数をインクリメントする(ステップE51)。そして、図6のステップE3に移行してADのアドレスを進める。
【0030】
図11ないし図13は、メインフローにおけるステップA4の鍵盤処理のフローチャートである。図11において、まず、鍵走査を行なって(ステップF1)、鍵変化があるか否かを判別する(ステップF2)。鍵変化がない場合には、このフローを終了してメインフローに戻る。鍵変化がオンからオフに変化した場合、すなわち、離鍵がされた場合には、その離鍵のノートをKEYにストアする(ステップF3)。そして、KEYのノートを元にノートオンコマンドを作成し(ステップF4)、そのノートオフコマンドを音源9に送出する(ステップF5)。
【0031】
次に、鍵変化の配列レジスタを指定するポインタjを初期値「0」にセットして(ステップF6)、jの値をインクリメントしながら、離鍵のノートのエリアを捜す。すなわち、KEY(j)がNULLでないか否かを判別し(ステップF7)、NULLでない場合、すなわち空き状態でない場合には、KEY(j)のノートとKEYのノートとが一致するか否かを判別する(ステップF8)。KEY(j)がNULLである場合、又は、KEY(j)のノートとKEYのノートとが一致しない場合には、jの値をインクリメントする(ステップF9
)。そして、jの値が配列の最大値Nを超えたか否かを判別する(ステップF10)。jの値が最大値Nを超えていない場合には、ステップF7およびステップF8において、NULLでないKEY(j)において、KEY(j)のノートとKEYのノートとが一致するか否かを判別する。
【0032】
KEY(j)のノートとKEYのノートとが一致する場合には、KEY(j)、KEYTIME(j)、KEYF(j)にNULLをストアする(ステップF11)。そして、鍵変化の配列レジスタが空き無し又は空き有りを示すフラグFFを「0(空き有り)」にセットする(ステップF12)。この後、又はステップF10において、jの値が最大値Nを超えた場合には、メインフローに戻る。
【0033】
ステップF2において、鍵変化がオフからオンに変化した場合、すなわち押鍵がされた場合には、図12のフローチャートにおいて、その押鍵のノートをレジスタKEYにストアする(ステップF13)。そして、KEYのノートを元にノートオンコマンドを作成し(ステップF14)、そのノートオンコマンドを音源9に送出する(ステップF15)。次に、鍵変化の配列レジスタを指定するポインタjを初期値「0」にセットして(ステップF16)、押鍵されたノートをストアするエリアを捜す。
【0034】
すなわち、KEY(j)がNULL(空き状態)であるか否かを判別し(ステップF17)、NULLでない場合には、jの値をインクリメントする(ステップF18)。そして、jの値が最大値Nを超えたか否かを判別する(ステップF19)。jの値が最大値Nを超えた場合には、フラグFFを「1(空き無し)」にセットする(ステップF20)。jの値が最大値Nを超えていない場合には、ステップF17において、KEY(j)がNULLであるか否かを判別する。
【0035】
KEY(j)がNULLである場合、又は、FFが「1」である場合には、演奏ガイドの配列を指定するポインタiを初期値「0」にセットして(ステップF22)、iの値をインクリメントしながら、配列NOTE(i)の内容を検索する。すなわち、NOTE(i)がNULLでないか否かを判別し(ステップF23)、NOTE(i)がNULLでない場合には、NOTE(i)のノートとKEYのノートとが一致するか否かを判別する(ステップF24)。
【0036】
ステップF23において、NOTE(i)がNULLである場合、又は、ステップF24において、NOTE(i)のノートとKEYのノートとが一致しない場合には、図13のフローチャートにおいて、iの値をインクリメントする(ステップF30)。そして、iの値が演奏ガイドの配列の最大値Nを超えたか否かを判別する(ステップF31)。iの値がNの値を超えていない場合には、図12のステップF23において、NOTE(i)がNULLであるか否かを判別する。
【0037】
ステップF31において、iの値がNの値を超えた場合には、フラグFFが「0(空き有り)」であるか否かを判別する(ステップF32)。FFが「1」である場合には、鍵変化の配列に空きがない状態である。この場合にはメインフローに戻る。一方、FFが「0」である場合には、押鍵したノートが有効であり、まだガイドされていない状態である。この場合には、Pointからαを減点する(ステップF33)。そして、KEYF(j)を「1」にセットし(ステップF34)、KEYTIME(j)にガイド待ち許容時間tbをストアする(ステップF35)。次に、HYOKAFを「1(評価実行)」にセットする(ステップF36)。
【0038】
図12のステップF24において、NOTE(i)のノートとKEYのノートPとが一致する場合には、NOTEF(i)が「1」であるか否かを判別する(ステップF25)。NOTEF(i)が「1」である場合、すなわち、ガイド待ち許容時間ta内に、演奏をガイドした鍵が押鍵された場合には、評価ポイントのレジスタPointにαを加点する(ステップF26)。すなわち、図13のステップF33において減点したPointの値を解消する。
【0039】
次に、NOTE(i)にNULL(空き状態)をストアし(ステップF27)、図13において、NOTETIME(i)にNULLをストアする(ステップF28)。そして、評価ポイントのレジスタPointにαを加点する(ステップF29)。すなわち、演奏ガイドのノートに一致した押鍵によって、改めて評価ポイントを加点する。次に、HYOKAFを「1(評価実行)」にセットする(ステップF36)。
図12のステップF25において、NOTEF(i)がNULLである場合には、押鍵ガイドのノートに応じて押鍵されたノートが一致したので、図13のステップF29において、評価ポイントのレジスタPointにαを加点する。次に、HYOKAFを「1(評価実行)」にセットする(ステップF36)。そして、メインフローに戻る。
【0040】
図14は、タイマインタラプトのフローチャートである。一定時間ごとのタイマインタラプトに応じて、レジスタTIMEの値をデクリメントする(ステップG1)。そして、演奏ガイドの配列レジスタを指定するポインタiを初期値「0」にセットして(ステップG2)、iの値をインクリメントしながら、ステップG3からステップG9までのループ処理を繰り返す。
【0041】
そのループ処理では、まず、NOTETIME(i)がNULLでないか否かを判別し(ステップG3)、NULLでない場合には、NOTETIME(i)の値(初期値はta)をデクリメントする(ステップG4)。そして、NOTETIME(i)の値が「0」に達したか否かを判別する(ステップG5)。すなわち、押鍵待ち許容時間taが経過しても押鍵がなかったか否かを判別する。NOTETIME(i)の値が「0」に達したときは、NOTETIME(i)にNULLをストアし(ステップG6)、NOTEF(i)にNULLをストアする(ステップG7)。この場合には、ノートオンのイベントの発音開始タイミングよりも後に押鍵した演奏開始タイミングが遅すぎるので、押鍵待ちを解消するのである。
【0042】
ステップG7において、NOTEF(i)にNULLをストアした後、又は、ステップG3において、NOTETIME(i)がNULLである場合、若しくは、ステップG5において、NOTETIME(i)の値が「0」に達していない場合には、iの値をインクリメントして(ステップG8)、iの値が配列の最大値Nを超えたか否かを判別する(ステップG9)。iの値がNの値を超えていない場合には、ステップG3に移行して、ループ処理を繰り返す。
ステップG9において、iの値がNの値を超えたときは、上記ループ処理を終了し、鍵変化の配列レジスタを指定するポインタj初期値「0」にセットして(ステップG10)、jの値をインクリメントしながら、ステップG11からステップG17までのループ処理を繰り返す。
【0043】
そのループ処理では、まず、KEYTIME(j)がNULLでないか否かを判別し(ステップG11)、NULLでない場合には、KEYTIME(j)の値(初期値はtb)をデクリメントする(ステップG12)。そして、KEYTIME(j)の値が「0」に達したか否かを判別する(ステップG13)。すなわち、ガイド待ち許容時間tbが経過してもガイドがなかったか否かを判別する。KEYTIME(j)の値が「0」に達したときは、KEYTIME(j)にNULLをストアし(ステップG14)、KEYF(j)にNULLをストアする(ステップG15)。すなわち、ノートオンのイベントの発音開始タイミングよりも前に押鍵した演奏開始タイミングが早過ぎたので、ガイド待ちを解消するのである。
【0044】
ステップG15において、KEYF(j)にNULLをストアした後、又は、ステップG11において、KEYTIME(j)がNULLである場合、若しくは、ステップG13において、KEYTIME(j)の値が「0」に達していない場合には、jの値をインクリメントして(ステップG16)、jの値が配列の最大値Nを超えたか否かを判別する(ステップG17)。Nの値を超えていない場合には、ステップG11に移行して、ループ処理を繰り返す。jの値がNの値を超えたときは、上記ループ処理を終了してメインフローに戻る。
【0045】
なお、押鍵待ち許容時間taおよびガイド待ち許容時間tbは、ユーザの設定に応じて変更するようにしてもよい。また、押鍵待ち許容時間taを設けずに、ノートオンからノートオフまでの発音期間に押鍵がされた場合にタイミング一致と見なして加点するように構成してもよい。
【0046】
図15および図16は、メインフローにおけるステップA5の評価処理のフローチャートである。図15のフローにおいて、まず、HYOKAFが「1」であるか否かを判別する(ステップH1)。このフラグが「1」である場合にはこれを「0」にリセットする(ステップH2)。次に、評価すべき所定期間の配列P(n)を指定するポインタnを「0」にセットして(ステップH3)、P(n)にP(n+1)を代入して(ステップH4)、nの値をインクリメントする(ステップH5)。そして、n+1の値が評価ノート数になったか否かを判別する(ステップH6)。評価ノート数になっていない場合には、ステップH4に移行して、ステップH6までの処理を繰り返す。
【0047】
ステップH6において、n+1の値が評価ノート数になった場合には、POINTの値をP(n)にストアする(ステップH7)。POINTの値をP(n)にストアした後は、フラグSHIENFが「1」であるか否かを判別し(ステップH8)、SHIENFが「0」である場合にはこのフローを終了するが、SHIENFが「1」である場合には、これをリセットする(ステップH9)。
【0048】
次に、Nにストアした曲の最初からの音符数が、あらかじめ設定されている2つの音符数であるD1より大きくD2より小さい期間にあるか否かを判別する(ステップH10)。すなわち、曲の最初の音符からD1までの音符、および、D2の音符から曲の終了までの範囲を除く期間(評価対象期間)にNの音符数があるか否かを判別する。Nにストアした音符数がこの期間にない場合には、このフローを終了する。
【0049】
Nにストアした音符数がD1より大きくD2より小さい期間にある場合には、図11のフローにおいて、配列P(n)の評価ノート数を指定するポインタnを「0」にセットする(ステップH11)。次に、評価用レジスタHYOKAを「0」にクリアする(ステップH12)。そして、HYOKAにP(n)の値を加算する(ステップH13)。次に、nの値をインクリメントして(ステップH14)、nの値が評価ノート数になったか否かを判別する(ステップH15)。評価ノート数になっていない場合には、ステップH13に移行して、ステップH15までの処理を繰り返す。
【0050】
nの値が評価ノート数になった場合には、前回の所定期間における評価データをストアするFHYOKAに評価データがあるか否かを判別する(ステップH16)。FHYOKAに評価データがある場合には、今回の所定期間の評価データをストアしたHYOKAの値がFHYOKAの値以下であるか、又は、HYOKAの値がFHYOKAの値より大きいか否かを判別する(ステップH17)。すなわち、今回の所定期間の評価が前回より低い若しくは同じか、又は、前回より高いかを判別する。
【0051】
HYOKAの値がFHYOKAの値より大きい場合、又は、FHYOKAに評価データがない場合には、前回より高い評価であるLANKUP(HYOKA)のデータをレジスタLANKにストアする(ステップH18)。一方、HYOKAの値(今回の評価)がFHYOKAの値(前回の評価)以下である場合には、前回より低いか又は同じ評価であるLANKDOWN(HYOKA)のデータをレジスタLANKにストアする(ステップH19)。LANKにいずれかのデータをストアした後は、LANKのデータに基づく評価結果を表示部8に表示する(ステップH20)。次に、HYOKAの値をFHYOKAにストアして更新し(ステップH21)、次の所定期間の評価に備える。そして、このフローを終了してメインフローに戻る。
【0052】
次に、実施形態における具体的な動作について、図17ないし図19を参照して説明する。
図17は、和音の演奏ガイドに対する押鍵例を示す図である。図17(1)は、同一の発音開始タイミングからなる4つの和音(C3,D3,E3,F3)のガイドノートを示している。図17(2)は、このガイドノートに対する押鍵例であり、発音開始タイミングより後の時間に各ノートに対する演奏開始タイミングで押鍵がなされている。この場合には、各ノートの発音期間内に押鍵がなされているので、各押鍵に対してすべてPointにαを加点するポイントアップ処理(UP)となる。図17(3)は、他の押鍵例であり、発音開始タイミングより前の時間に各ノートに対する演奏開始タイミングで押鍵がなされている。この場合には、ガイドノートの発音開始タイミングの時点において、各押鍵に対してすべてPointにαを加点するポイントアップ処理となる。
【0053】
図18は、発音開始タイミングが異なる複数のノートの演奏ガイドに対する押鍵例を示す図である。
図18(1)は、異なる発音開始タイミングからなる4つのノート(C3,D3,E3,F3)のガイドノートを示している。図18(2)は、ガイド待ち許容時間tbを設けない場合の押鍵例である。まず、D3のノートの演奏開始タイミングで押鍵があり、次にC3のノートの発音開始タイミングでガイドがなされている。すなわち、ガイドノートと押鍵ノートが一致しないと判断され、この時点でPointからαを減点するポイントダウン処理(DOWN)となる。その後、D3のノートの発音開始タイミングでガイドがなされた時点で、ポイントアップ処理となる。また、E3のノートの演奏開始タイミングで押鍵があった時点では、C3およびD3のノートでガイドがなされている。この場合にも、Pointからαを減点するポイントダウン処理となる。その後、E3のノートの発音開始タイミングでガイドがなされた時点で、ポイントアップ処理となる。また、F3のノートの演奏開始タイミングで押鍵があった時点では、C3,D3,E3のノートでガイドがなされている。この場合にも、Pointからαを減点するポイントダウン処理となる。その後、F3のノートの発音開始タイミングでガイドがなされた時点で、ポイントアップ処理となる。
【0054】
このように、ガイド待ち許容時間tbを設けない場合には、3回のポイントダウンと4回のポイントアップの結果、1回のポイントアップになり、ガイドノートの発音開始タイミングから僅か前の時間にそのノートに対する押鍵がされた場合でも、ポイントダウンになり、その後のポイントアップが相殺される結果となる。このため、ユーザの技量が正しく評価されない。
【0055】
図18(3)は、ガイド待ち許容時間tbを設けた場合の押鍵例である。D3のノートの演奏開始タイミングで押鍵があったときは、D3のガイドノートがない場合でもポイントダウン処理する。そして、t1(t1<tb)の時間経過した時点で、D3のノートの発音開始タイミングがあると、このポイントダウン処理を相殺してからポイントアップ処理を行う。同様に、E3のノートの演奏開始タイミングで押鍵があったときは、E3のガイドノートがない場合でもポイントダウン処理する。そして、t2(t2<tb)の時間経過した時点で、E3のノートの発音開始タイミングがあると、このポイントダウン処理を相殺してからポイントアップ処理を行う。また、F3のノートの演奏開始タイミングで押鍵があったときは、F3のガイドノートがない場合でもポイントダウン処理する。そして、t3(t3<tb)の時間経過した時点で、F3のノートの発音開始タイミングがあると、このポイントダウン処理を相殺してからポイントアップ処理を行う。
【0056】
図19は、発音開始タイミングが異なる複数のノートの演奏ガイドに対してすべての押鍵がされない場合の押鍵例を示す図である。
図19(1)は、異なる発音開始タイミングからなる3つのノート(C3,D3,E3)のガイドノートを示している。図19(2)は、ガイド待ち許容時間tbを設けない場合の押鍵例である。まず、D3のノートの演奏開始タイミングで押鍵があった時点では、C3のガイドノートで押鍵ガイドがなされている。このため、C3のガイドノートに対してD3の押鍵がなされたと解釈され、Pointからαを減点するポイントダウン処理となる。その後、D3のガイドノートの発音開始タイミングの時点で、ポイントアップ処理となる。このように、ガイド待ち許容時間tbを設けない場合には、ガイドノートの発音開始タイミングから僅か前の時間にそのノートに対する押鍵がされた場合でも、ポイントダウンになり、その後のポイントアップが相殺される結果となる。このため、ユーザの技量が正しく評価されない。
【0057】
図19(3)は、ガイド待ち許容時間tbを設けた場合の押鍵例である。D3のノートの演奏開始タイミングで押鍵があったときは、D3のガイドノートがない場合でもポイントダウン処理をtbの時間だけ待つ。そして、t4(t4<tb)の時間経過した時点で、D3のノートの発音開始タイミングがあると、ポイントアップ処理を行う。
【0058】
以上のように、この実施形態によれば、CPU1は、曲データの発音イベントにおける音高と発音開始タイミングおよび発音終了タイミングによる発音期間とを指示し、演奏された音高および演奏開始タイミングを検出する。そして、検出した音高と指示した音高との一致又は不一致を判定するとともに、指示した発音期間の範囲内に演奏開始タイミングが検出された場合又は検出された演奏開始タイミングから所定時間以内に発音開始タイミングが指示された場合をタイミングの一致と判定し他の場合をタイミングの不一致と判定する。これらの判定により、音高の一致と判定し且つタイミングの一致と判定した場合には加点の演奏評価を行い、音高の不一致と判定した場合又はタイミングの不一致と判定した場合には減点の演奏評価を行う。
したがって、ユーザが評価対象の曲を演奏してその評価を受ける際に、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができる。
【0059】
なお、上記各実施形態においては、図1のプログラムROM3に予め記憶されている演奏評価プログラムをCPU1によって実行する演奏評価装置について説明したが、FD(フレキシブルディスク)、CD−ROMなどの外部記憶媒体に記憶されている演奏評価プログラムや、インターネットなどの通信網を介してダウンロードされる演奏評価プログラムを、パソコンなどの汎用の情報処理装置にインストールして実行することも可能である。この場合には、プログラムの発明を構成する。
【0060】
すなわち、本発明による演奏評価プログラムは、発音すべき楽音の音高、当該楽音の発音を指示する模範演奏データを順次供給する模範演奏データ供給ステップと、演奏操作により指定される音高で楽音の発音を指示する実演奏データを順次供給する実演奏データ供給ステップと、前記発音を指示する模範演奏データが供給されたときに前記発音を指示する実演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第1の判定ステップと、前記発音を指示する実演奏データが供給されたときに前記発音を指示する模範演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第2の判定ステップと、前記第1及び第2の判定ステップのいずれか一方にて両音高が同一であると判定された場合は評価点を加点する一方、両音高が同一でないと判定された場合は評価点を減点する演奏評価ステップと、前記第1の判定ステップにより両音高が同一でないと判定された場合、前記模範演奏データの音高を指定する第1の音高指定ステップと、前記第2の判定ステップにより両音高が同一でないと判定された場合、前記実演奏データの音高を指定する第2の音高指定ステップと、前記第1の音高指定ステップにより模範演奏データの音高が指定された後から所定時間内に、前記第2の判定ステップにて実演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに当該評価点を加点する第1の評価修正ステップと、前記第2の音高指定ステップにより実演奏データの音高が指定された後から所定時間内に、前記第1の判定ステップにより模範演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに当該評価点を加点する第2の評価修正ステップと、をコンピュータに実行させる。
【0061】
【発明の効果】
本発明によれば、検出された演奏開始タイミングから所定時間以内に発音開始タイミングが指示された場合にはタイミングの一致と判定するので、ユーザが評価対象の曲を演奏してその評価を受ける際に、ユーザの技量を正しく評価することにより、演奏技術の向上を効率的に図ることができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施形態における演奏評価装置の構成を示すブロック図。
【図2】実施形態におけるCPUの演奏評価処理のメインフローチャート。
【図3】図2におけるスイッチ処理のフローチャート。
【図4】図3における曲選択スイッチ処理のフローチャート。
【図5】図3におけるスタート/ストップスイッチ処理のフローチャート。
【図6】図2における自動演奏処理のフローチャート。
【図7】図6に続く自動演奏処理のフローチャート。
【図8】図7に続く自動演奏処理のフローチャート。
【図9】図8に続く自動演奏処理のフローチャート。
【図10】図7に続く自動演奏処理のフローチャート。
【図11】図2における鍵盤処理のフローチャート。
【図12】図11に続く鍵盤処理のフローチャート。
【図13】図12に続く鍵盤処理のフローチャート。
【図14】タイマインタラプトのフローチャート。
【図15】図2における評価処理のフローチャート。
【図16】図15に続く評価処理のフローチャート。
【図17】和音の演奏ガイドに対する押鍵例を示す図。
【図18】発音開始タイミングが異なる複数のノートの演奏ガイドに対する押鍵例を示す図。
【図19】発音開始タイミングが異なる複数のノートの演奏ガイドに対してすべての押鍵がされない場合の押鍵例を示す図。
【符号の説明】
1 CPU
3 プログラムROM
4 ワークRAM
5 曲メモリ
6 鍵盤
7 スイッチ部
8 表示部
9 音源
10 発音回路
Claims (3)
- 発音すべき楽音の音高、当該楽音の発音を指示する模範演奏データを順次供給する模範演奏データ供給手段と、
演奏操作により指定される音高で楽音の発音を指示する実演奏データを順次供給する実演奏データ供給手段と、
前記模範演奏データ供給手段から発音を指示する模範演奏データが供給されたときに前記実演奏データ供給手段から発音を指示する実演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第1の判定手段と、
前記実演奏データ供給手段から発音を指示する実演奏データが供給されたときに前記模範演奏データ供給手段から発音を指示する模範演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第2の判定手段と、
前記第1及び第2の判定手段のいずれか一方にて両音高が同一であると判定された場合は評価点を加点する一方、両音高が同一でないと判定された場合は評価点を減点する演奏評価手段と、
前記第1の判定手段により両音高が同一でないと判定された場合、前記模範演奏データの音高を指定する第1の音高指定手段と、
前記第2の判定手段により両音高が同一でないと判定された場合、前記実演奏データの音高を指定する第2の音高指定手段と、
前記第1の音高指定手段により模範演奏データの音高が指定された後から所定時間内に、前記第2の判定手段にて実演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価手段における評価点の減点を無効にするとともに当該評価点を加点する第1の評価修正手段と、
前記第2の音高指定手段により実演奏データの音高が指定された後から所定時間内に、前記第1の判定手段により模範演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価手段における評価点の減点を無効にするとともに当該評価点を加点する第2の評価修正手段と、
を備えたことを特徴とする演奏評価装置。 - 前記所定時間を設定操作に応じて設定可能な時間設定手段をさらに有することを特徴とする請求項1記載の演奏評価装置。
- コンピュータに、
発音すべき楽音の音高、当該楽音の発音を指示する模範演奏データを順次供給する模範演奏データ供給ステップと、
演奏操作により指定される音高で楽音の発音を指示する実演奏データを順次供給する実演奏データ供給ステップと、
前記発音を指示する模範演奏データが供給されたときに前記発音を指示する実演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第1の判定ステップと、
前記発音を指示する実演奏データが供給されたときに前記発音を指示する模範演奏データが既に供給されている場合、当該両演奏データの音高が同一か否か判定する第2の判定ステップと、
前記第1及び第2の判定ステップのいずれか一方にて両音高が同一であると判定された場合は評価点を加点する一方、両音高が同一でないと判定された場合は評価点を減点する演奏評価ステップと、
前記第1の判定ステップにより両音高が同一でないと判定された場合、前記模範演奏データの音高を指定する第1の音高指定ステップと、
前記第2の判定ステップにより両音高が同一でないと判定された場合、前記実演奏データの音高を指定する第2の音高指定ステップと、
前記第1の音高指定ステップにより模範演奏データの音高が指定された後から所定時間内に、前記第2の判定ステップにて実演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに 当該評価点を加点する第1の評価修正ステップと、
前記第2の音高指定ステップにより実演奏データの音高が指定された後から所定時間内に、前記第1の判定ステップにより模範演奏データの音高と当該指定された音高と一致したと判定された場合に、前記演奏評価ステップにおける評価点の減点を無効にするとともに当該評価点を加点する第2の評価修正ステップと、
を実行させる演奏評価プログラム。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003099864A JP4096784B2 (ja) | 2003-04-03 | 2003-04-03 | 演奏評価装置および演奏評価プログラム |
| US10/735,510 US20040123726A1 (en) | 2002-12-24 | 2003-12-11 | Performance evaluation apparatus and a performance evaluation program |
| CN2006101060166A CN1897104B (zh) | 2002-12-24 | 2003-12-23 | 演奏评价装置 |
| CNB2003101232741A CN1293505C (zh) | 2002-12-24 | 2003-12-23 | 演奏评价装置和演奏评价方法 |
| CN2006101060170A CN1897105B (zh) | 2002-12-24 | 2003-12-23 | 演奏评价装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003099864A JP4096784B2 (ja) | 2003-04-03 | 2003-04-03 | 演奏評価装置および演奏評価プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004309600A JP2004309600A (ja) | 2004-11-04 |
| JP4096784B2 true JP4096784B2 (ja) | 2008-06-04 |
Family
ID=33464158
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003099864A Expired - Fee Related JP4096784B2 (ja) | 2002-12-24 | 2003-04-03 | 演奏評価装置および演奏評価プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4096784B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010160397A (ja) * | 2009-01-09 | 2010-07-22 | Yamaha Corp | 演奏評価装置及びプログラム |
| JP6758261B2 (ja) * | 2017-07-31 | 2020-09-23 | 株式会社コシダカホールディングス | 採点方法 |
-
2003
- 2003-04-03 JP JP2003099864A patent/JP4096784B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004309600A (ja) | 2004-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4399961B2 (ja) | 楽譜画面表示装置及び演奏装置 | |
| JP2004264501A (ja) | 鍵盤楽器 | |
| JP5293710B2 (ja) | 調判定装置および調判定プログラム | |
| CN1897105B (zh) | 演奏评价装置 | |
| JPH08221063A (ja) | 自動演奏装置 | |
| JP3743024B2 (ja) | 演奏練習装置 | |
| JP4038836B2 (ja) | カラオケ装置 | |
| JP4096784B2 (ja) | 演奏評価装置および演奏評価プログラム | |
| JP2000214848A (ja) | 演奏支援装置、演奏支援方法、および演奏支援プログラムを記録した記録媒体 | |
| JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
| JP5732982B2 (ja) | 楽音生成装置および楽音生成プログラム | |
| JP3551014B2 (ja) | 演奏練習装置、演奏練習方法及び記録媒体 | |
| JP2985717B2 (ja) | 押鍵指示装置 | |
| JP3743364B2 (ja) | 演奏練習装置 | |
| JP3055554B2 (ja) | 操作指示装置 | |
| JP2002182642A (ja) | 演奏案内装置および演奏案内方法 | |
| JP4207564B2 (ja) | 演奏装置および演奏処理のプログラム | |
| JPH0375874B2 (ja) | ||
| JP3885737B2 (ja) | 演奏評価装置および演奏評価プログラム | |
| JP5692275B2 (ja) | 電子楽器 | |
| JP5742592B2 (ja) | 楽音生成装置、楽音生成プログラム及び電子楽器 | |
| JP2643277B2 (ja) | 自動演奏装置 | |
| JP2586744B2 (ja) | 電子楽器の自動伴奏装置 | |
| JP2003122355A (ja) | 電子楽器 | |
| JP3620321B2 (ja) | 自動伴奏装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060208 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060228 |
|
| 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: 20070926 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071009 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071016 |
|
| 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: 20080219 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080303 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4096784 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |