JP3931603B2 - 演奏教習装置及び演奏教習処理のプログラム - Google Patents
演奏教習装置及び演奏教習処理のプログラム Download PDFInfo
- Publication number
- JP3931603B2 JP3931603B2 JP2001245404A JP2001245404A JP3931603B2 JP 3931603 B2 JP3931603 B2 JP 3931603B2 JP 2001245404 A JP2001245404 A JP 2001245404A JP 2001245404 A JP2001245404 A JP 2001245404A JP 3931603 B2 JP3931603 B2 JP 3931603B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- pitch
- data
- instruction data
- value
- 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)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、演奏教習装置及び演奏教習処理のプログラムに関する。
【0002】
【従来の技術】
従来の演奏教習装置及び演奏教習処理のプログラムにおいては、ユーザが所定の表示装置に表示された課題曲の楽譜を見ながら鍵盤装置等の電子楽器を演奏すると、その演奏後に各音符すなわち曲データを構成するノートオンイベントに対する演奏状態の良否を判定して、その判定結果を表示して演奏教習を行う構成になっていた。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、ユーザは演奏中においてその演奏状態の良否をリアルタイムで判定できないので、十分な演奏教習の効果を得ることができないという問題があった。
【0004】
本発明の課題は、ユーザが所定の表示装置に表示された課題曲の楽譜を見ながら演奏を行う場合に、その演奏状態の良否をリアルタイムで判定できるようにすることである。
【0005】
【課題を解決するための手段】
請求項1に記載の演奏教習装置は、所定の表示手段に表示された曲データの中で発音音高及び発音開始時間を指示する演奏指示データを入力するとともに、当該演奏指示データの位置を明示する演奏指示画像を当該表示手段に表示する演奏指示手段と、この入力された演奏指示データの中の発音音高を前記発音開始時間に基づいたタイミングで読み出す読み出し手段と、所定の演奏手段における演奏操作を検出して演奏操作時間及び演奏音高を含む演奏データを入力する演奏入力手段と、前記読み出し手段にて読み出された演奏指示データの発音音高も含めてその前後に存在する所定数の発音音高が前記演奏入力手段によって入力された演奏データの演奏音高と一致する演奏指示データの発音音高を検索する第1の検索手段と、この第1の検索手段にて検索された演奏指示データの発音音高のうち、前記入力された演奏データの演奏時間と最も近い発音開始時間を有する発音音高を検索する第2の検索手段と、この第2の検索手段により検索された演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内か否かを判定する第1の判定手段と、この第1の判定手段により、所定時間を越えると判定された場合に、前記差分が進みか遅れかを判定する第2の判定手段と、前記第1及び第2の判定手段に基づいた第1の判定画像を、前記第2の検索手段により検索された演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に表示する判定表示手段と、を有することを特徴とする。
【0006】
この場合において、前記判定表示手段は、前記第1及び第2検索手段により、対応する前記演奏指示データの発音音高が検索されなかった場合は、前記読み出し手段にて読み出されている前記演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に、前記第1の判定画像とは異なる第2の判定画像を表示する構成にしてもよい。
また、前記判定表示手段は、前記第1の判定手段により演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内と判定された場合、前記第2の判定手段により前記差分が進みの場合、及び前記差分が遅れの場合とで、夫々異なる形態の第1の判定画像を表示する構成にしてもよい。
【0007】
請求項4に記載の演奏教習処理のプログラムは、所定の表示手段に表示された曲データの中で発音音高及び発音開始時間を指示する演奏指示データを入力するとともに、当該演奏指示データの位置を明示する演奏指示画像を当該表示手段に表示する第1のステップと、この入力された演奏指示データの中の発音音高を前記発音開始時間に基づいたタイミングで読み出す第2のステップと、所定の演奏手段における演奏操作を検出して演奏操作時間及び演奏音高を含む演奏データを入力する第3のステップと、この第3のステップにて読み出された演奏指示データの発音音高も含めてその前後に存在する所定数の発音音高が前記第2のステップによって入力された演奏データの演奏音高と一致する演奏指示データの発音音高を検索する第4のステップと、この第4のステップにて検索された演奏指示データの発音音高のうち、前記入力された演奏データの演奏時間と最も近い発音開始時間を有する発音音高を検索する第5のステップと、この第5のステップにより検索された演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内か否かを判定する第6のステップと、この第6のステップにより、所定時間を越えると判定された場合に、前記差分が進みか遅れかを判定する第7のステップと、前記第6及び第7のステップに基づいた第1の判定画像を、前記第5のステップにより検索された演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に表示する第8のステップと、をコンピュータに実行させることを特徴とする。
【0009】
請求項1又は請求項4に記載の発明によれば、入力された演奏データと曲データにおける演奏指示データとを比較して演奏操作の状態を判定し、その判定結果に対応する判定画像の画像データを演奏操作の進行に伴って表示する。
【0010】
【発明の実施の形態】
以下、本発明による実施形態について、図を参照して説明する。
図1は、本発明による演奏教習装置の実施形態の構成を示し、(1)は演奏教習装置としてのパソコン1に接続された鍵盤装置等の電子楽器2からなるシステム図であり、(2)はパソコン1の内部構成を示すブロック図である。
図1(1)において、パソコン1は、OS(オペレーションシステム)上でアプリケーション(この実施形態においては、演奏教習処理のプログラム)を起動させて、電子楽器2の演奏操作を検出し、その演奏操作の状態を判定するとともに演奏後の評価を行う。
【0011】
図1(2)において、CPU11はシステムバス12を介して、プログラムROM13、ワークRAM14、曲ROM15、マウス等からなる操作部16、表示部17、及びI/Oインターフェース18に接続されている。
プログラムROM13には、ファイル(データ)の管理、メモリの管理、入出力の管理、ユーザインターフェースの提供等を行うOSのソフトウェアが格納されている。ワークRAM14は、演奏教習処理やその他の処理に必要なデータを一時的に記憶するCPU11のワークエリアであり、各種のレジスタやフラグが設けられている。このレジスタ等においては後述する。
曲ROM15には、演奏教習に必要な複数の曲データが記憶されている。この曲ROM15は、例えばフラッシュROM等の書き換え可能な不揮発性メモリで構成され、ユーザの希望に応じて記憶する曲データを書き変えることもできる。また、図には示していないが、インターネット等の通信回線を介して所定のサーバからMIDI形式等からなる曲データを受信して、この曲ROM15に記憶することも可能である。
【0012】
操作部16はキーボードやマウスで構成され、操作に応じて曲の選択、レッスンの選択等を行うことができる。表示部17には、CPU11の表示コマンド及び画像データに応じて、図2に示す演奏教習の曲リスト及び演奏教習の内容や、図3に示すように、楽音データのノートイベントを表す楽譜が表示される。また、マウスのクリックによってオン・オフするアイコンスイッチが表示される。
I/Oインターフェース18は、電子楽器2で演奏された演奏データを入力してCPU11に受け渡す。
なお、図2の表示は、曲リストの中から「グリーンスリーブス」の曲が選択され、そのレッスン範囲「1」〜「8」及び練習の進度を示している。また、図3の表示は、選択された曲の選択されたレッスン範囲における再生中の状態を示している。
【0013】
図4は、メインフローチャートである。まず、ワークRAM14のレジスタ等の変数を初期化する(ステップA1)。そして、以下のループを繰り返し実行する。
ループの最初は操作部16のキー入力待ち(ステップA2)となる。このキー入力待ちでは、キーボード又はマウスの指定に応じた処理を実行する。再生が指定された否かを判別し(ステップA3)、再生が指定されたときは再生フラグSTFを「1(再生)」にセットして再生開始を設定する(ステップA4)。再生状態において再生停止が指定されたか否かを判別し(ステップA5)、再生停止が指定されたときは、STFを「0(再生停止)」にセットして再生を停止する(ステップA6)。
【0014】
再生タイプとしては、通常の再生モード、たとえ間違った演奏であっても曲を進めるモード、正しい演奏のときに曲を進めるステップレッスンのモードを選択することができる。したがって、再生タイプ切り替えが指定されたか否かを判別し(ステップA7)、これが指定されたときは、モードフラグを反転して再生タイプ変数を更新する(ステップA8)。なお、この実施形態においては、正しい演奏のときに曲を進めるステップレッスンのモードが選択されている。
また、その他の処理が指定されたか否かを判別し(ステップA9)、指定されたときはその他の処理を実行する(ステップA10)。
【0015】
図5は、ワークRAM14のエリアにおける各種のレジスタやフラグからなる変数を示している。各レジスタ及びフラグについては、以下に示すアプリケーションすなわち演奏教習処理の動作においてその都度説明する。
図6は再生処理のフローチャートである。最初に変数初期化を行い(ステップB1)、次に開始位置用のポインタを初期化する(ステップB2)。この後、再生フラグSTFの値を判定して、再生を続けるか否かを判別する(ステップB3)。再生を続ける場合には時間計算を行う(ステップB4)。すなわち、時間経過によって次のノートイベントの発音開始時間に達したか否かを計算する。次のノートイベントの発音開始時間に達したときは、ノートイベントを指定するポインタを移動する(ステップB5)。
【0016】
図5のCNPは、現在指定中のノートイベントのノートポインタであり、時間経過によって次のノートイベントの発音開始時間に達したときはインクリメントされる。このインクリメントに応じて、図3に示すように、ノートポインタのマーク(矢印)CNPが現在指定している音符の位置から次の音符の位置に移動する。このマークによってユーザは演奏すべき音符すなわちノートイベントを認識できる。次に、図5におけるフラグWFの値が「1」であるか否かを判別する(ステップB6)。WFは押鍵待ちフラグであり、CNPによって現在指定されているノートオンイベント(すなわちマークCNPによって指定されている音符)の発音開始時間に達しても押鍵がない場合に「1」にセットされる。
【0017】
WFの値が「1」でない場合には、テンポの変更のイベントがあるか否かを判別する(ステップB7)。テンポの変更がある場合にはテンポ変更イベント処理を行う(ステップB8)。次に、曲の部分再生を行っている場合で、指定区間の再生が終了した場合の自動停止処理を行う(ステップB9)。この後、発音時間が終了したノートオフイベントに対するノートオフ処理(ステップB10)、発音開始時間に達したノートオンイベントに対するノートオン処理(ステップB11)を実行する。
【0018】
ステップB6においてWFの値が「1」である場合、又はステップB11におけるノートオン処理が終了した後は、押鍵ありか否かを判別する(ステップB12)。押鍵操作があったときは、操作された鍵(KEY)の音高を図5のPITCH(KEY)にストアし、同時に図5の押鍵フラグKFを「1(押鍵あり)」にセットする(ステップB13)。そして、イベントノートのMIDI出力を行う(ステップB14)。次にステップレッスン処理(ステップB15)、リアルタイムチェック処理(ステップB16)を実行する。
ステップB12において押鍵がない場合、又はステップB16のリアルタイムチェック処理の後は、ステップB3に移行して、STFの値を見て再生を続けるか否かを判別する。STFの値が「1」で再生を続ける場合には、上記各ステップを実行する。
一方、STFの値が「0(再生停止)」の場合は、再生音のオールノートオフ処理を実行し(ステップB17)、演奏結果に対する評価処理を実行する(ステップB18)。そして、メインフローに戻る。
【0019】
図7は、図6の再生処理におけるステップB11のノートオン処理のフローチャートである。ポインタCNTの位置がノートオンイベントか否かを判別し(ステップC1)、ノートオンイベントの位置である場合には、後述する再生フラグの状態を見て、ノートオン処理を続けるか否かを判別する(ステップC2)。ノートオン処理を続ける場合には、通常の再生モードであるか否かを判別する(ステップC3)。
【0020】
通常の再生モードではなく、ステップレッスンのモードである場合には、WFの値が「0」であるか否かを判別する(ステップC4)。この値が「0」である場合には、押鍵フラグKFの値が「1」であるか否かを判別する(ステップC5)。この値が「1(押鍵)」である場合には、CNTで指定されたノートオンイベントに対して速やかに押鍵操作されたので、KFの値を「0」に戻す(ステップC6)。一方、KFの値が「0」で押鍵がない場合には、WFの値を「1(押鍵待ち)」にセットする(ステップC7)。
ステップC4においてWFの値が「1」である場合、ステップC6においてKFの値を「0」に戻した場合、又はステップC7においてWFの値を「1」にセットした場合には、次のノートオンイベントを指定する(ステップC8)。そして、もし次のノートがなければ前述のステップC2で判断される再生フラグを再生終了を示す状態にする。そして、ステップC2に移行してノートオン処理を続けるか否かを判別する。
【0021】
ステップC3において再生モードが通常再生モードである場合には、MIDI出力の発音処理を行う(ステップC9)。この発音処理の後、又は、ステップC1においてポインタCNPの位置がノートオンイベントでない場合、若しくはステップC2においてノートオン処理を続けない場合には、このフローを終了して図6の再生処理のフローに戻る。
【0022】
図8は、図6の再生処理におけるステップレッスン処理のフローチャートである。このフローではユーザの演奏操作すなわち押鍵に応じた処理を行う。ポインタCNPで指定するイベントがノートオンイベントであるか否かを判別し(ステップD1)、指定がノートオンイベントである場合には、KFの値が「1」か否か、すなわち押鍵がされたか否かを判別する(ステップD2)。この値が「1」である場合には、さらにWFの値が「1」であるか否かを判別する(ステップD3)。この値が「1」すなわち押鍵待ちのポーズ状態である場合には、押鍵によってそのポーズを解除してWFの値を「0」に戻す(ステップD4)。次に、時間調整値を算出する(ステップD5)。すなわち、ポーズ状態の間に曲データの時間が経過しているので、時間戻しの調整のための時間差を算出する。
【0023】
ステップD3において、WFの値が「0」である場合、すなわちノートオンイベントの発音開始時間に対して押鍵操作が早過ぎる場合には、ポインタCNPを早送りする(ステップD6)。また、時間調整値を算出する(ステップD7)。すなわち、早送りした分だけ時間進め処理のための時間差を算出する。
ステップD5若しくはステップD7における時間調整値算出の後、又は、ステップD1においてCNPで指定するイベントがノートオンイベントでない場合、若しくはステップD2においてKFの値が「0」すなわち押鍵がない場合には、このフローを終了して図6の再生処理に戻る。
【0024】
図9及び図10は、図6の再生処理におけるステップB16のリアルタイムチェック処理のアルゴリズムを示すフローチャートである。このフローでは、ユーザの演奏操作の進行に伴って、リアルタイムで押鍵操作の良否をチェックする。図3に示した画面のマークCNPによってユーザが演奏操作をしても、その演奏操作がマークで指定した音符であるとは限らない。したがって、マーク位置の前方向及び後方向をサーチして演奏操作に対応する音符を検索する必要がある。図5のFSP及びBSPは、それぞれ、前方向サーチ用ポインタ及び後方向サーチ用ポインタである。
【0025】
図9において、FSPにCNPで現在指定しているノートオンイベントの次のノートオンイベントをセットする(ステップE1)。また、BSPにCNPで現在指定しているノートオンイベントをセットする(ステップE2)。すなわち、押鍵タイミングの時間の直前及び直後のノートオンイベントを指定する。次に、図5に示す3つのフラグFMF、BMF、及びLAGFを全て「0」にセットする(ステップE3)。FMFは、前方向のノートオンイベントと押鍵による音高とが一致したときに「1」にセットするフラグである。BMFは、後方向のノートオンイベントと押鍵による音高とが一致したときに「1」にセットするフラグである。LAGFは、指定しているノートオンイベントの発音開始時間よりも押鍵操作のタイミングが遅れたときに「1」にセットするフラグである。
次に、レジスタFMINに「−1000」をセットし、レジスタBMINに「1000」をセットする(ステップE4)。
図5に示すように、FMINは前方向最小時間をストアするレジスタであり、BMINは前方向最小時間をストアするレジスタである。ステップE4においては、FMINに負の最大値をストアし、BMINに正の最大値をストアする。なお、FMIN及び後述するBMINにストアする数値は、4分音符のテンポを100としたときの値である。したがって、FMINには4分音符の10個分だけ後方向の時間がストアされる。
【0026】
図5に示すように、NOWは曲再生の現在時間をストアするレジスタであり、POSはNOWの現在時間を保持する時間保持のレジスタである。図9のステップE5において、NOWの現在時間をPOSにストアする。すなわち、押鍵操作がされた時間である押鍵タイミングをPOSに保持する。そして、ポインタCNTに「0」をセットしてクリアし(ステップE6)、CNTの値をインクリメントしながら以下のループを繰り返す。
CNTの値が「3」未満であるか否かを判別し(ステップE7)、この値が「3」未満である場合には、図5の2つのレジスタPITCH(FSP)の値とPITCH(KEY)の値とが等しいか否かを判別する(ステップE8)。PITCH(FSP)は、FSPのノートの音高をストアするレジスタであり、PITCH(KEY)はすでに記載したように、押鍵された鍵の音高をストアするレジスタである。PITCH(FSP)の値とPITCH(KEY)の値とが等しい場合、すなわち、前方向にサーチしたノートオンイベントの音高と押鍵操作の音高とが一致した場合には、さらに、MAT(FSP)の値が「1」より小さいか否かを判別する(ステップE9)。
【0027】
図5に示すレジスタMAT(FSP)は、FSPのノートオンイベントの判定値をストアするレジスタであり、その初期値は「−1」である。ノートオンイベントに対して押鍵操作がされて、その押鍵操作の良否が判定された場合には、MAT(FSP)には「1」、「2」又は「3」の値がストアされる。したがって、MAT(FSP)の値が「1」より小さい場合には、そのノートオンイベントがまだ判定されていないデータである。この場合には、POSの値からTIME(FSP)の値が減算され、その減算結果の値がFDIFにストアされる(ステップE10)。
【0028】
図5のレジスタTIME(FSP)には、FSPで指定したノートオンイベントの発音開始時間がストアされる。したがって、図5のレジスタFDIFには、ステップE10の演算によって押鍵時間と前方向のノートオンイベントの発音開始時間との時間差がストアされる。この場合、POSにストアされた押鍵時間から前方向のノートオンイベントの発音開始時間を減算するので、その時間差は負の値となる。次に、FMINのデータとFDIFのデータとを比較して、FMINのデータの値がFDIFのデータの値よりも小さいか否かを判別する(ステップE11)。
【0029】
いま、FMINには「−1000」の値がストアされている。すなわち、押鍵タイミングの時間から4分音符10個分だけ後方向の時間がストアされているので、FMINの時間のほうがFDIFの負の時間差よりも小さい。したがって、ステップE12において、FMINの値「−1000」をFDIFの時間差の値に置き換え、図5のレジスタFNOMIにFSPの値をストアする。FNOMIは、押鍵に対応する前方向の候補対象となるノートオンイベントをストアするレジスタである。
例えば、FDIFの時間差が4分音符1個分である場合には、FMINには「−100」の値がストアされる。そして、FSPで指定したノートオンイベントを前方向における押鍵操作の候補ノートオンイベントとして、FNOMIにストアする。次に、フラグFMFに「1」をセットする(ステップE13)。すなわち、前方向に押鍵操作の音高と一致する音高のノートオンイベントが存在することを示すフラグを「1」にセットする。
【0030】
ステップE13の後、又は、ステップE8においてPITCH(FSP)の値とPITCH(KEY)の値とが異なり、前方向にサーチしたノートオンイベントの音高と押鍵操作の音高とが一致しない場合、若しくはステップE9においてMAT(FSP)の値が「1」以上で、すでにFSPで指定するノートオンイベントが判定済みになっている場合には、ステップE14においてFSPの値をインクリメントする。すなわち、さらに前方向のノートオンイベントを指定する。なお、前方向に押鍵操作の候補対象となるノートオンイベントが検出された後は、さらに前方向のノートオンイベントを指定する必要はないが、処理の高速化及びフローの単純化を図るために、さらに前方向のノートオンイベントを指定する。したがって、ステップE11においてFMINの値がFDIFの値よりも大きい場合でも、ステップE14においてFSPの値をインクリメントする。
【0031】
この後は、図10のフローにおいて、図5の2つのレジスタPITCH(BSP)の値とPITCH(KEY)の値とが等しいか否かを判別する(ステップE15)。PITCH(BSP)は、BSPのノートの音高をストアするレジスタであり、PITCH(KEY)はすでに記載したように、押鍵された鍵の音高をストアするレジスタである。PITCH(BSP)の値とPITCH(KEY)の値とが等しい場合、すなわち、後向にサーチしたノートオンイベントの音高と押鍵操作の音高とが一致した場合には、さらに、MAT(BSP)の値が「1」より小さいか否かを判別する(ステップE9)。
【0032】
図5に示すレジスタMAT(BSP)は、BSPのノートオンイベントの判定値をストアするレジスタであり、その初期値は「−1」である。ノートオンイベントに対して押鍵操作がされて、その押鍵操作の良否が判定された場合には、MAT(BSP)には「1」、「2」又は「3」の値がストアされる。したがって、MAT(BSP)の値が「1」より小さい場合には、そのノートオンイベントがまだ判定されていないデータである。この場合には、POSの値からTIME(BSP)の値が減算され、その減算結果の値がBDIFにストアされる(ステップE10)。
【0033】
図5のレジスタTIME(BSP)には、BSPで指定したノートオンイベントの発音開始時間がストアされる。したがって、図5のレジスタBDIFには、ステップE17の演算によって押鍵時間と後方向のノートオンイベントの発音開始時間との時間差がストアされる。この場合、POSにストアされた押鍵タイミングの時間から後方向のノートオンイベントの発音開始時間を減算するので、その時間差は正の値となる。次に、BMINのデータとBDIFのデータとを比較して、BMINのデータの値がBDIFのデータの値よりも大きいか否かを判別する(ステップE18)。
【0034】
いま、BMINには「1000」の値がストアされている。すなわち、押鍵タイミングの時間から4分音符10個分だけ前方向の時間がストアされているので、BMINの時間のほうがBDIFの時間差よりも大きい。したがって、ステップE19において、BMINの値「1000」をBDIFの時間差の値に置き換え、図5のレジスタBNOMIにBSPの値をストアする。BNOMIは、押鍵に対応する後方向の候補対象のノートオンイベントをストアするレジスタである。
例えば、BDIFの時間差が4分音符2個分である場合には、BMINには「200」の値がストアされる。そして、BSPで指定したノートオンイベントを後方向における押鍵操作の候補ノートオンイベントとして、BNOMIにストアする。次に、フラグBMFに「1」をセットし(ステップE20)、フラグLAGFに「1」をセットする(ステップE21)。すなわち、後方向に押鍵操作の音高と一致する音高のノートオンイベントが存在することを示すフラグを「1」にセットし、そのノートオンイベントの発音開始時間から押鍵タイミングが遅れていることを示すフラグを「1」にセットする。
この後、BSPの値をデクリメントする(ステップE22)。すなわち、さらに後方向のノートオンイベントを指定する。
【0035】
ステップE21の後、又は、ステップE15においてPITCH(BSP)の値とPITCH(KEY)の値とが異なり、後方向にサーチしたノートオンイベントの音高と押鍵操作の音高とが一致しない場合、若しくはステップE16においてMAT(BSP)の値が「1」以上で、すでにBSPで指定するノートオンイベントが判定済みになっている場合には、ステップE22においてBSPの値をデクリメントする。すなわち、さらに後方向のノートオンイベントを指定する。
【0036】
なお、前方向サーチの場合と同様に、後方向に押鍵操作の候補対象となるノートオンイベントが検出された後は、さらに後方向のノートオンイベントを指定する必要はないが、処理の高速化及びフローの単純化を図るために、さらに後方向のノートオンイベントを指定する。したがって、ステップE18においてBMINの値がBFDIFの値よりも大きい場合でも、ステップE22においてBFSPの値をデクリメントする。
【0037】
次に、CNTの値をインクリメントする(ステップE23)。そして、図9のステップE9のステップE7に移行し、CNTの値が「3」未満であるか否かを判別する。CNTの値が「3」未満である場合には、ステップE8〜ステップ23までのループを繰り返す。ステップE7において、CNTの値が「3」以上になった場合には、ステップE24に移行して判定処理を実行し、図6の再生処理に戻る。すなわち、押鍵操作があったときは、その押鍵操作タイミングの時間を基準として、前方向及び後方向にそれぞれ3つのノートオンイベントをサーチして、押鍵操作の候補対象を検出する。
【0038】
図11及び図12は、図9のステップE24の判定処理のフローチャートである。このフローでは、ユーザの押鍵操作の良否すなわち演奏操作の状態を判定する。図11において、FMF又はBMFの少なくとも一方の値が「1」であるか否かを判別する(ステップF1)。FMF又はBMFのいずれも「1」でない場合には、押鍵操作タイミングの時間を基準として、その前方向及び後方向の所定範囲において、押鍵操作の候補対象が検出されなかった場合である。この場合には、MAT(CNP)に「−1」をセットする(ステップF2)。
【0039】
FMF又はBMFの少なくとも一方が「1」である場合には、FMF及びBMFの値が共に「1」であるか否かを判別する(ステップF3)。共に「1」である場合には、押鍵操作タイミングの時間を基準として、その前方向及び後方向の両方において、押鍵操作の2つの候補対象が検出された場合である。この場合には、より押鍵操作タイミングの時間に近い方を確定候補とする。このため、FMINの負の値とBMINの正の値を加算した結果が「0」より大きい(加算結果が正である)か否かを判別する(ステップF4)。
【0040】
加算した結果が「0」より大きい場合には、BMINの値の方がFMINの絶対値より大きい場合であるので、FSPで指定したノートオンイベントの方が、BSPで指定したノートオンイベントよりも押鍵操作タイミングの時間に近い。したがってこの場合には、FMINの時間データを図5のレジスタDIFにストアする(ステップF5)。DIFは確定時間差をストアするレジスタである。また、FNOMIにストアされている候補対象のノートオンイベントを図5のレジスタNOMIにストアする(ステップF6)。NOMIは確定候補のノートオンイベントを記憶するレジスタである。
【0041】
ステップF4において、加算した結果が「0」より小さい場合には、FMINの絶対値の方がBMINの値より大きい場合であるので、BSPで指定したノートオンイベントの方が、FSPで指定したノートオンイベントよりも押鍵操作タイミングの時間に近い。したがってこの場合には、BMINの時間データを図5のレジスタDIFにストアする(ステップF7)。また、BNOMIにストアされている候補対象のノートオンイベントを確定候補としてレジスタNOMIにストアする(ステップF8)。
【0042】
ステップF3において、FMF及びBMFの値が共に「1」ではなく、いずれか一方のみが「1」である場合には、押鍵操作タイミングの時間を基準として、その前方向又は後方向の一方のみにおいて、押鍵操作の候補対象が検出された場合である。この場合には、FMFの値が「1」であるか否かを判別し(ステップF9)、この値が「1」である場合には、FMINの時間データをレジスタDIFにストアし(ステップF10)、FNOMIにストアされている候補ノートオンイベントを確定候補としてレジスタNOMIにストアする(ステップF11)。
ステップF9において、FMFの値が「0」である場合、すなわちBMFの値が「1」である場合には、BMINの時間データをレジスタDIFにストアし(ステップF12)、BNOMIにストアされている候補ノートオンイベントを確定候補としてレジスタNOMIにストアする(ステップF13)。
【0043】
ステップF6、ステップF8、ステップF11、又はステップF13において、レジスタNOMIに確定候補のノートオンイベントをストアした後は、DIFの値をREFの値で除算してその除算値に「100」を乗算した値を算出し、その算出値の絶対値をレジスタGAPにストアする(ステップF14)。図5に示すREFは基準時間がストアされたレジスタであり、この場合の基準時間は4分音符の拍数値「100」である。また、図5に示すGAPはタイミング差がストアされるレジスタである。すなわち、ステップF14の演算によれば、DIFにストアされた押鍵タイミングと確定候補のノートオンイベントの発音開始時間との確定時間差が基準時間に比べてどの程度であるかをパーセンテージで算出し、その算出結果をGAPにストアする。
【0044】
次に、図12のフローにおいて、GAPの値が「50」より大きいか否かを判別する(ステップF15)。すなわち、押鍵タイミングと確定候補のノートオンイベントの発音開始時間との確定時間差が、8分音符の拍数値「50」よりも大きいか否かを判別する。GAPの値が「50」より大きい場合には、その確定時間差を許容できないものとし、押鍵操作タイミングが遅過ぎるか又は早過ぎるとして演奏ミスと判定する。この場合には、図5のカウンタMISSの値をインクリメントする(ステップF21)。MISSは演奏ミスの回数を累算するカウンタであり、その初期値は「0」である。
次に、LAGFの値が「1」であるか否かを判別する(ステップF17)。この値が「1」である場合には、ノートオンイベントの発音開始時間に比べて押鍵操作タイミングが遅過ぎる場合であるので、MAT(CNP)に「3」をストアする(ステップF18)。一方、LAGFの値が「0」である場合には、ノートオンイベントの発音開始時間に比べて押鍵操作タイミングが早過ぎる場合であるので、MAT(CNP)に「2」をストアする(ステップF19)。
【0045】
ステップF15において、GAPの値が「50」以下である場合には、WFの値が「1」であるか否かを判別する(ステップF20)。この値が「1」である場合には、押鍵待ちでポーズ状態の後に押鍵操作がされた場合であるので、実際の押鍵遅れ時間はGAPの値「50」よりも大きい。したがってこの場合には、ノートオンイベントの発音開始時間に比べて押鍵操作タイミングが遅過ぎる場合であるので、MISSの値をインクリメントして(ステップF21)、MAT(CNP)に「3」をストアする(ステップF22)。
ステップF20において、WFの値が「0」で押鍵待ちの状態でない場合には、ノートオンイベントの発音開始時間に対して許容できる押鍵操作タイミングであるとして、図5のレジスタOKの値をインクリメントする(ステップF23)。OKは演奏合格回数を累算するレジスタであり、その初期値は「0」である。そして、レジスタMAT(CNP)に「1」すなわち演奏合格を示す値をストアする(ステップF24)。
【0046】
図11のステップF2、図12のステップF18、ステップF19、ステップF22、又はステップF24において、MAT(CNP)に値をストアした後は、そのMAT(CNP)の値に応じた判定画像を表す画像データを表示部17に送出して表示する(ステップF25)。
例えば、図3に示すように、音符の画像の下に「○」、「×」、「→」、「←」からなる判定画像を表示する。「○」、「×」、「→」、「←」の判定画像は、それぞれ、MAT(CNP)に値「1」、「−1」、「2」、「3」に対応している。
なお、この判定画像は「○」、「×」、「→」、「←」に限らず、他の形状でもよい。他の実施形態として、対応する音符の画像そのものを判定結果に応じてアレンジしてもよい。例えば、音符の符頭に人間の顔を表示させて、顔の表情(笑い顔、泣き顔)で判定を表示するようにしてもよい。要は、ユーザが自分の演奏結果を容易に認識できるような判定画像を表示部17に表示できる形状であればよい。
ステップF25において画像データを送出した後は、図6の再生処理に戻る。
【0047】
図13は、図6の再生処理におけるステップB18の評価処理のフローチャートである。このフローでは、ユーザが演奏教習曲の演奏練習が終了した後に、その練習の進度を評価する。
まず、演奏すべきノートオンイベントを指定するポインタCNTを「0」にセットし(ステップG1)、曲のノートオンイベントを指定するポインタCNPを「0」すなわち先頭のノートオンイベントにセット(ステップG2)した後、CNTの値をインクリメントしながら以下のループ処理を繰り返す。ステップG3において、後述する継続フラグの状態を見てループ処理を続けるか否かを判別する。このフラグの状態が終了を示す状態にある場合にはループ処理は終了する。
【0048】
評価処理を続ける場合には、CNPで指定するノートオンイベントの発音開始時間をストアしているTIME(CNP)の値からSTART(LNO)の値を減算し、その減算結果をレジスタaにストアする(ステップG4)。ここでLNOはレッスン範囲を指定するレジスタである。図2の表示画面において、手順のレッスン「1」〜「8」のうちいずれか1つをマウスによって選択すると、図5に示すLNOに選択されたレッスン範囲の番号がストアされる。また、レッスン範囲が選択されたときに、図5のSTART(LNO)及びEND(LNO)に、そのレッスン範囲であるLNOの開始時間及び終了時間がストアされる。
【0049】
したがって、ステップG4においては、CNPで指定するノートオンイベントの発音開始時間から選択されたレッスン範囲の開始時間を差し引いた時間差がレジスタaにストアされる。次のステップG5においては、END(LNO)の値からTIME(CNP)の値を減算した減算結果をレジスタbにストアする。すなわち、選択されたレッスン範囲の終了時間からCNPで指定するノートオンイベントの発音開始時間を差し引いた時間差がレジスタbにストアされる。
次に、a及びbの値が共に「0」より大きいか否かを判別する(ステップG6)。すなわち、CNPで指定したノートオンイベントが選択されたレッスン範囲内のノートオンイベントであるか否かを判別する。a及びbの値が共に「0」より大きい場合、すなわち、指定したノートオンイベントがレッスン範囲内にある場合には、そのノートオンイベントは演奏すべきイベントであるので、CNTの値をインクリメントする(ステップG7)。しかし、a又はbのいずれかの値が「1」以上である場合には、指定したノートオンイベントがレッスン範囲の外にあるので、CNTの値はインクリメントしない。
【0050】
ステップG7においてCNTの値をインクリメントした後、又は、ステップG6においてa又はbの少なくとも一方の値が「1」以上である場合には、次のノートオンイベントを指定する(ステップG8)。もし次のノートがない場合は、継続フラグの状態を終了を示す状態にする。そして、ステップG3に移行して、このフラグの状態をもとにループ処理を続けるか否かを判別する。続ける場合には、ステップG8までの処理を繰り返す。次のノートオンイベントがない場合には、CNTの値をレジスタORGにストアする(ステップG9)。図5に示すように、ORGはノートオンイベント数を累算するカウンタであり、ステップG9においてレッスン範囲内にあるノートオンイベントの数がストアされる。
【0051】
次に、OKの値をORGの値で除算し、その除算結果に「100」を乗算した結果をレジスタLEVにストアする(ステップG10)。図5に示すように、LEVは演奏レベル(ユーザの演奏結果のレベル)をストアするレジスタである。すなわち、ステップG10においては、レッスン範囲内にあるノートオンイベントの数の中で、演奏合格回数がどれだけあるかのパーセンテージのデータをLEVにストアする。次に、LEVの値をEVE(LNO)にストアする(ステップG11)。図5に示すように、EVE(LNO)はLNOすなわちレッスン範囲における進度をストアするレジスタである。
ステップG11の処理は、LEVにストアされた演奏合格回数がどれだけあるかのパーセンテージのデータを、数値データや画像データに変換するテーブルを参照して、変換された数値データや画像データをEVE(LNO)にストアする処理である。この実施形態においては、EVE(LNO)にストアする数値データ及び画像データは、進度を示すパーセンテージの値及び進度を色の濃さ(色の彩度)で表す色指定データである。そして、ステップG12において、EVE(LNO)にストアした進度を表すデータを表示部17に送出して表示する。
【0052】
この結果、図2に示すように、レッスン範囲ごとに進度を示すパーセンテージの値が表示される。また、図3に示すように、レッスン範囲ごとに進度を表す画像(図ではハッチングであるが、実際は色の濃さ)が表示される。なお、現在練習中のレッスン範囲については、進度を表す画像とは異なる画像(進度を表す色とは異なる色)が表示される。
なお、進度を表す画像としては色や数値に限定されない。例えば、円グラフや棒グラフの画像で表してもよい。
【0053】
以上のように、上記実施形態によれば、入力された演奏データと曲データにおける演奏指示データとを比較して演奏操作の状態を判定し、その判定結果に対応する判定画像の画像データを演奏操作の進行に伴って表示する。したがって、ユーザが所定の表示装置に表示された課題曲の楽譜を見ながら演奏を行う場合に、その演奏状態の良否をリアルタイムで判定できる。
【0054】
なお、上記実施形態においては、電子楽器として鍵盤装置を例に採ったが、電子管楽器や電子打楽器に対する演奏教習においても、本発明を適用できることは明らかである。
【0055】
また、上記実施形態においては、物の発明としての演奏教習装置について説明したが、上記実施形態におけるフローチャートに示すように、演奏教習処理を実行するプログラムの発明を実現できる。
すなわち、そのプログラムは、選択されて所定の表示手段に表示された曲データに対して所定の演奏手段における演奏操作を検出して演奏データを入力する第1のステップと、第1のステップによって入力された演奏データと前記曲データにおける演奏指示データとを比較して演奏操作の状態を判定する第2のステップと、第2のステップによる判定結果に対応する判定画像の画像データを演奏操作の進行に伴って表示手段に出力する第3のステップとを実行するものである。
また、上記演奏教習処理のプログラムをインターネット等の通信手段を介して、外部のサーバ等から受信する構成も可能である。
【0056】
【発明の効果】
本発明によれば、ユーザが所定の表示装置に表示された課題曲の楽譜を見ながら演奏を行う場合に、その演奏状態の良否をリアルタイムで判定できる。
【図面の簡単な説明】
【図1】本発明の演奏教習装置の構成を示し、(1)はそのシステム図、(2)は図1(1)のパソコンの内部構成を示すブロック図。
【図2】図1(1)の表示部の画面に表示された演奏教習の曲リスト等を示す図。
【図3】図1(1)の表示部の画面に表示された演奏教習の楽譜並びに判定画像及び進度を示す図。
【図4】図1(1)のCPUによって実行されるメインフローチャート。
【図5】図1(1)のワークRAMにおける各種のレジスタ等を示す図。
【図6】図4における再生処理のフローチャート。
【図7】図6におけるノートオン処理のフローチャート。
【図8】図6におけるステップレッスン処理のフローチャート。
【図9】図6におけるリアルタイムチェックのフローチャート。
【図10】図9に続くリアルタイムチェックのフローチャート。
【図11】図9における判定処理のフローチャート。
【図12】図11に続く判定処理のフローチャート。
【図13】図6における評価処理のフローチャート。
【符号の説明】
1 パソコン
2 電子楽器
11 CPU
13 プログラムROM
14 ワークRAM
15 曲ROM
16 操作部
17 表示部
18 I/Oインターフェース
Claims (4)
- 所定の表示手段に表示された曲データの中で発音音高及び発音開始時間を指示する演奏指示データを入力するとともに、当該演奏指示データの位置を明示する演奏指示画像を当該表示手段に表示する演奏指示手段と、
この入力された演奏指示データの中の発音音高を前記発音開始時間に基づいたタイミングで読み出す読み出し手段と、
所定の演奏手段における演奏操作を検出して演奏操作時間及び演奏音高を含む演奏データを入力する演奏入力手段と、
前記読み出し手段にて読み出された演奏指示データの発音音高も含めてその前後に存在する所定数の発音音高が前記演奏入力手段によって入力された演奏データの演奏音高と一致する演奏指示データの発音音高を検索する第1の検索手段と、
この第1の検索手段にて検索された演奏指示データの発音音高のうち、前記入力された演奏データの演奏時間と最も近い発音開始時間を有する発音音高を検索する第2の検索手段と、
この第2の検索手段により検索された演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内か否かを判定する第1の判定手段と、
この第1の判定手段により、所定時間を越えると判定された場合に、前記差分が進みか遅れかを判定する第2の判定手段と、
前記第1及び第2の判定手段に基づいた第1の判定画像を、前記第2の検索手段により検索された演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に表示する判定表示手段と、
を有することを特徴とする演奏教習装置。 - 前記判定表示手段は、前記第1及び第2検索手段により、対応する前記演奏指示データの発音音高が検索されなかった場合は、前記読み出し手段にて読み出されている前記演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に、前記第1の判定画像とは異なる第2の判定画像を表示することを特徴とする請求項1に記載の演奏教習装置。
- 前記判定表示手段は、前記第1の判定手段により演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内と判定された場合、前記第2の判定手段により前記差分が進みの場合、及び前記差分が遅れの場合とで、夫々異なる形態の第1の判定画像を表示することを特徴とする請求項1に記載の演奏教習装置。
- 所定の表示手段に表示された曲データの中で発音音高及び発音開始時間を指示する演奏指示データを入力するとともに、当該演奏指示データの位置を明示する演奏指示画像を当該表示手段に表示する第1のステップと、
この入力された演奏指示データの中の発音音高を前記発音開始時間に基づいたタイミングで読み出す第2のステップと、
所定の演奏手段における演奏操作を検出して演奏操作時間及び演奏音高を含む演奏データを入力する第3のステップと、
この第3のステップにて読み出された演奏指示データの発音音高も含めてその前後に存在する所定数の発音音高が前記第2のステップによって入力された演奏データの演奏音高と一致する演奏指示データの発音音高を検索する第4のステップと、
この第4のステップにて検索された演奏指示データの発音音高のうち、前記入力された演奏データの演奏時間と最も近い発音開始時間を有する発音音高を検索する第5のステップと、
この第5のステップにより検索された演奏指示データの発音音高に対応する発音開始時間と前記入力された演奏指示データの演奏開始時間との差分が所定時間以内か否かを判定する第6のステップと、
この第6のステップにより、所定時間を越えると判定された場合に、前記差分が進みか 遅れかを判定する第7のステップと、
前記第6及び第7のステップに基づいた第1の判定画像を、前記第5のステップにより検索された演奏指示データの発音音高に対応して前記表示手段に表示されている演奏指示画像の近傍に表示する第8のステップと、
をコンピュータに実行させることを特徴とする演奏教習処理のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001245404A JP3931603B2 (ja) | 2001-08-13 | 2001-08-13 | 演奏教習装置及び演奏教習処理のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001245404A JP3931603B2 (ja) | 2001-08-13 | 2001-08-13 | 演奏教習装置及び演奏教習処理のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003058154A JP2003058154A (ja) | 2003-02-28 |
JP3931603B2 true JP3931603B2 (ja) | 2007-06-20 |
Family
ID=19075158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001245404A Expired - Fee Related JP3931603B2 (ja) | 2001-08-13 | 2001-08-13 | 演奏教習装置及び演奏教習処理のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3931603B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007163576A (ja) * | 2005-12-09 | 2007-06-28 | Kawai Musical Instr Mfg Co Ltd | 電子楽器及び演奏練習の進捗状態表示方法 |
JP2009047861A (ja) * | 2007-08-17 | 2009-03-05 | Sony Corp | 演奏支援装置、演奏支援方法及びプログラム |
JP5145875B2 (ja) * | 2007-11-06 | 2013-02-20 | カシオ計算機株式会社 | 演奏練習支援装置および演奏練習支援処理のプログラム |
JP7035486B2 (ja) * | 2017-11-30 | 2022-03-15 | カシオ計算機株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び、電子楽器 |
JP7232011B2 (ja) * | 2018-10-17 | 2023-03-02 | 株式会社Nttドコモ | 情報処理装置及びプログラム |
-
2001
- 2001-08-13 JP JP2001245404A patent/JP3931603B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003058154A (ja) | 2003-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2705568B2 (ja) | 自動演奏装置 | |
JP2580720B2 (ja) | 自動演奏装置 | |
US6175072B1 (en) | Automatic music composing apparatus and method | |
EP0945849A1 (en) | Tone and picture generator device | |
JPH0827628B2 (ja) | 自動演奏装置 | |
US5990404A (en) | Performance data editing apparatus | |
JP3931603B2 (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP3915452B2 (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP3588387B2 (ja) | 演奏表示装置 | |
JP4201679B2 (ja) | 波形発生装置 | |
CN110959172B (zh) | 演奏解析方法、演奏解析装置以及存储介质 | |
JP3622275B2 (ja) | 自動演奏の制御データ入力方法および自動演奏装置 | |
JP3843735B2 (ja) | 演奏ガイド方法、演奏ガイド装置および記録媒体 | |
JP4525591B2 (ja) | 演奏評価装置、及びプログラム | |
JP3623557B2 (ja) | 自動作曲システムおよび自動作曲方法 | |
JP4019932B2 (ja) | スペクトル設定装置およびスペクトル設定処理のプログラム | |
JP4070315B2 (ja) | 波形再生装置 | |
JPH09127940A (ja) | 自動演奏装置 | |
JP4453233B2 (ja) | 楽譜表示制御装置及び楽譜表示処理のプログラム | |
JP3717651B2 (ja) | 歌詞表示装置、同装置に適用されるコンピュータ読み取り可能な記録媒体及び歌詞表示方法 | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JPH0619388A (ja) | 演奏練習装置 | |
JP4172335B2 (ja) | 自動伴奏生成装置及びプログラム | |
JP2828119B2 (ja) | 自動伴奏装置 | |
JP2756799B2 (ja) | 自動リズム演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040908 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060206 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070124 |
|
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: 20070220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070305 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120323 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140323 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |