JP2003058154A - 演奏教習装置及び演奏教習処理のプログラム - Google Patents
演奏教習装置及び演奏教習処理のプログラムInfo
- Publication number
- JP2003058154A JP2003058154A JP2001245404A JP2001245404A JP2003058154A JP 2003058154 A JP2003058154 A JP 2003058154A JP 2001245404 A JP2001245404 A JP 2001245404A JP 2001245404 A JP2001245404 A JP 2001245404A JP 2003058154 A JP2003058154 A JP 2003058154A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- data
- note
- value
- event
- 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.)
- Granted
Links
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
の楽譜を見ながら演奏を行う場合に、その演奏状態の良
否をリアルタイムで判定できるようにする。 【解決手段】 パソコン1のCPU11は、電子楽器2
から入力された演奏データと、曲ROM15の曲データ
におけるノートオンイベントとを比較して演奏操作の状
態を判定し、その判定結果に対応する判定画像の画像デ
ータを演奏操作の進行に伴って、ノートオンイベントに
対応した音符が表示されている表示部17に表示する。
Description
演奏教習処理のプログラムに関する。
プログラムにおいては、ユーザが所定の表示装置に表示
された課題曲の楽譜を見ながら鍵盤装置等の電子楽器を
演奏すると、その演奏後に各音符すなわち曲データを構
成するノートオンイベントに対する演奏状態の良否を判
定して、その判定結果を表示して演奏教習を行う構成に
なっていた。
来の技術においては、ユーザは演奏中においてその演奏
状態の良否をリアルタイムで判定できないので、十分な
演奏教習の効果を得ることができないという問題があっ
た。
に表示された課題曲の楽譜を見ながら演奏を行う場合
に、その演奏状態の良否をリアルタイムで判定できるよ
うにすることである。
習装置は、選択されて所定の表示手段(実施形態におい
ては、図1(2)の表示部17に相当する)に表示され
た曲データ(実施形態においては、図1(2)の曲RO
M15に記憶された曲データに相当する)に対して所定
の演奏手段(実施形態においては、図1(1)の電子楽
器2に相当する)における演奏操作を検出して演奏デー
タを入力する演奏入力手段(実施形態においては、図1
(2)のCPU11に相当する)と、演奏入力手段から
入力された演奏データと曲データにおける演奏指示デー
タ(実施形態においては、ノートオンイベントに相当す
る)とを比較して演奏操作の状態を判定する演奏判定手
段(実施形態においては、図1(2)のCPU11に相
当する)と、演奏判定手段による判定結果に対応する判
定画像(実施形態においては、図3における「○」、
「×」、「→」、「←」の画像に相当する)の画像デー
タを、演奏操作の進行に伴って表示手段に表示された曲
データの対応する部分(実施形態においては、図3の音
符の下側に相当する)に表示するように出力する表示制
御手段(実施形態においては、図1(2)のCPU11
に相当する)とを有する構成になっている。
データを構成する音高及び演奏時間を演奏指示データを
構成する音高及び発音開始時間と比較して演奏操作の状
態を判定する構成にしてもよい。また、演奏判定手段
は、演奏データを構成する音高と同一の音高をもつ演奏
指示データを検索して演奏データに対応する演奏指示デ
ータを特定するアルゴリズムを実行する構成にしてもよ
い。
ムは、選択されて所定の表示手段(実施形態において
は、図1(2)の表示部17に相当する)に表示された
曲データ(実施形態においては、図1(2)の曲ROM
15に記憶された曲データに相当する)に対して所定の
演奏手段(実施形態においては、図1(1)の電子楽器
2に相当する)における演奏操作を検出して演奏データ
を入力する第1のステップと、第1のステップによって
入力された演奏データと曲データにおける演奏指示デー
タ(実施形態においては、ノートオンイベントに相当す
る)とを比較して演奏操作の状態を判定する第2のステ
ップと、第2のステップによる判定結果に対応する判定
画像(実施形態においては、図3における「○」、
「×」、「→」、「←」の画像に相当する)の画像デー
タを、演奏操作の進行に伴って表示手段に表示された曲
データの対応する部分(実施形態においては、図3の音
符の下側に相当する)に表示するように出力する第3の
ステップとを実行する。
奏データを構成する音高及び演奏時間を演奏指示データ
を構成する音高及び発音開始時間と比較して演奏操作の
状態を判定する処理で構成してもよい。また、第2のス
テップは、演奏データを構成する音高と同一の音高をも
つ演奏指示データを検索して演奏データに対応する演奏
指示データを特定するアルゴリズムを実行する構成にし
てもよい。
ば、入力された演奏データと曲データにおける演奏指示
データとを比較して演奏操作の状態を判定し、その判定
結果に対応する判定画像の画像データを演奏操作の進行
に伴って表示する。
いて、図を参照して説明する。図1は、本発明による演
奏教習装置の実施形態の構成を示し、(1)は演奏教習
装置としてのパソコン1に接続された鍵盤装置等の電子
楽器2からなるシステム図であり、(2)はパソコン1
の内部構成を示すブロック図である。図1(1)におい
て、パソコン1は、OS(オペレーションシステム)上
でアプリケーション(この実施形態においては、演奏教
習処理のプログラム)を起動させて、電子楽器2の演奏
操作を検出し、その演奏操作の状態を判定するとともに
演奏後の評価を行う。
ムバス12を介して、プログラムROM13、ワークR
AM14、曲ROM15、マウス等からなる操作部1
6、表示部17、及びI/Oインターフェース18に接
続されている。プログラムROM13には、ファイル
(データ)の管理、メモリの管理、入出力の管理、ユー
ザインターフェースの提供等を行うOSのソフトウェア
が格納されている。ワークRAM14は、演奏教習処理
やその他の処理に必要なデータを一時的に記憶するCP
U11のワークエリアであり、各種のレジスタやフラグ
が設けられている。このレジスタ等においては後述す
る。曲ROM15には、演奏教習に必要な複数の曲デー
タが記憶されている。この曲ROM15は、例えばフラ
ッシュROM等の書き換え可能な不揮発性メモリで構成
され、ユーザの希望に応じて記憶する曲データを書き変
えることもできる。また、図には示していないが、イン
ターネット等の通信回線を介して所定のサーバからMI
DI形式等からなる曲データを受信して、この曲ROM
15に記憶することも可能である。
れ、操作に応じて曲の選択、レッスンの選択等を行うこ
とができる。表示部17には、CPU11の表示コマン
ド及び画像データに応じて、図2に示す演奏教習の曲リ
スト及び演奏教習の内容や、図3に示すように、楽音デ
ータのノートイベントを表す楽譜が表示される。また、
マウスのクリックによってオン・オフするアイコンスイ
ッチが表示される。I/Oインターフェース18は、電
子楽器2で演奏された演奏データを入力してCPU11
に受け渡す。なお、図2の表示は、曲リストの中から
「グリーンスリーブス」の曲が選択され、そのレッスン
範囲「1」〜「8」及び練習の進度を示している。ま
た、図3の表示は、選択された曲の選択されたレッスン
範囲における再生中の状態を示している。
ず、ワークRAM14のレジスタ等の変数を初期化する
(ステップA1)。そして、以下のループを繰り返し実
行する。ループの最初は操作部16のキー入力待ち(ス
テップA2)となる。このキー入力待ちでは、キーボー
ド又はマウスの指定に応じた処理を実行する。再生が指
定された否かを判別し(ステップA3)、再生が指定さ
れたときは再生フラグSTFを「1(再生)」にセット
して再生開始を設定する(ステップA4)。再生状態に
おいて再生停止が指定されたか否かを判別し(ステップ
A5)、再生停止が指定されたときは、STFを「0
(再生停止)」にセットして再生を停止する(ステップ
A6)。
たとえ間違った演奏であっても曲を進めるモード、正し
い演奏のときに曲を進めるステップレッスンのモードを
選択することができる。したがって、再生タイプ切り替
えが指定されたか否かを判別し(ステップA7)、これ
が指定されたときは、モードフラグを反転して再生タイ
プ変数を更新する(ステップA8)。なお、この実施形
態においては、正しい演奏のときに曲を進めるステップ
レッスンのモードが選択されている。また、その他の処
理が指定されたか否かを判別し(ステップA9)、指定
されたときはその他の処理を実行する(ステップA1
0)。
る各種のレジスタやフラグからなる変数を示している。
各レジスタ及びフラグについては、以下に示すアプリケ
ーションすなわち演奏教習処理の動作においてその都度
説明する。図6は再生処理のフローチャートである。最
初に変数初期化を行い(ステップB1)、次に開始位置
用のポインタを初期化する(ステップB2)。この後、
再生フラグSTFの値を判定して、再生を続けるか否か
を判別する(ステップB3)。再生を続ける場合には時
間計算を行う(ステップB4)。すなわち、時間経過に
よって次のノートイベントの発音開始時間に達したか否
かを計算する。次のノートイベントの発音開始時間に達
したときは、ノートイベントを指定するポインタを移動
する(ステップB5)。
ントのノートポインタであり、時間経過によって次のノ
ートイベントの発音開始時間に達したときはインクリメ
ントされる。このインクリメントに応じて、図3に示す
ように、ノートポインタのマーク(矢印)CNPが現在
指定している音符の位置から次の音符の位置に移動す
る。このマークによってユーザは演奏すべき音符すなわ
ちノートイベントを認識できる。次に、図5におけるフ
ラグWFの値が「1」であるか否かを判別する(ステッ
プB6)。WFは押鍵待ちフラグであり、CNPによっ
て現在指定されているノートオンイベント(すなわちマ
ークCNPによって指定されている音符)の発音開始時
間に達しても押鍵がない場合に「1」にセットされる。
の変更のイベントがあるか否かを判別する(ステップB
7)。テンポの変更がある場合にはテンポ変更イベント
処理を行う(ステップB8)。次に、曲の部分再生を行
っている場合で、指定区間の再生が終了した場合の自動
停止処理を行う(ステップB9)。この後、発音時間が
終了したノートオフイベントに対するノートオフ処理
(ステップB10)、発音開始時間に達したノートオン
イベントに対するノートオン処理(ステップB11)を
実行する。
ある場合、又はステップB11におけるノートオン処理
が終了した後は、押鍵ありか否かを判別する(ステップ
B12)。押鍵操作があったときは、操作された鍵(K
EY)の音高を図5のPITCH(KEY)にストア
し、同時に図5の押鍵フラグKFを「1(押鍵あり)」
にセットする(ステップB13)。そして、イベントノ
ートのMIDI出力を行う(ステップB14)。次にス
テップレッスン処理(ステップB15)、リアルタイム
チェック処理(ステップB16)を実行する。ステップ
B12において押鍵がない場合、又はステップB16の
リアルタイムチェック処理の後は、ステップB3に移行
して、STFの値を見て再生を続けるか否かを判別す
る。STFの値が「1」で再生を続ける場合には、上記
各ステップを実行する。一方、STFの値が「0(再生
停止)」の場合は、再生音のオールノートオフ処理を実
行し(ステップB17)、演奏結果に対する評価処理を
実行する(ステップB18)。そして、メインフローに
戻る。
B11のノートオン処理のフローチャートである。ポイ
ンタCNTの位置がノートオンイベントか否かを判別し
(ステップC1)、ノートオンイベントの位置である場
合には、後述する再生フラグの状態を見て、ノートオン
処理を続けるか否かを判別する(ステップC2)。ノー
トオン処理を続ける場合には、通常の再生モードである
か否かを判別する(ステップC3)。
スンのモードである場合には、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に移行してノートオン処理を続けるか
否かを判別する。
生モードである場合には、MIDI出力の発音処理を行
う(ステップC9)。この発音処理の後、又は、ステッ
プC1においてポインタCNPの位置がノートオンイベ
ントでない場合、若しくはステップC2においてノート
オン処理を続けない場合には、このフローを終了して図
6の再生処理のフローに戻る。
レッスン処理のフローチャートである。このフローでは
ユーザの演奏操作すなわち押鍵に応じた処理を行う。ポ
インタCNPで指定するイベントがノートオンイベント
であるか否かを判別し(ステップD1)、指定がノート
オンイベントである場合には、KFの値が「1」か否
か、すなわち押鍵がされたか否かを判別する(ステップ
D2)。この値が「1」である場合には、さらにWFの
値が「1」であるか否かを判別する(ステップD3)。
この値が「1」すなわち押鍵待ちのポーズ状態である場
合には、押鍵によってそのポーズを解除してWFの値を
「0」に戻す(ステップD4)。次に、時間調整値を算
出する(ステップD5)。すなわち、ポーズ状態の間に
曲データの時間が経過しているので、時間戻しの調整の
ための時間差を算出する。
である場合、すなわちノートオンイベントの発音開始時
間に対して押鍵操作が早過ぎる場合には、ポインタCN
Pを早送りする(ステップD6)。また、時間調整値を
算出する(ステップD7)。すなわち、早送りした分だ
け時間進め処理のための時間差を算出する。ステップD
5若しくはステップD7における時間調整値算出の後、
又は、ステップD1においてCNPで指定するイベント
がノートオンイベントでない場合、若しくはステップD
2においてKFの値が「0」すなわち押鍵がない場合に
は、このフローを終了して図6の再生処理に戻る。
るステップB16のリアルタイムチェック処理のアルゴ
リズムを示すフローチャートである。このフローでは、
ユーザの演奏操作の進行に伴って、リアルタイムで押鍵
操作の良否をチェックする。図3に示した画面のマーク
CNPによってユーザが演奏操作をしても、その演奏操
作がマークで指定した音符であるとは限らない。したが
って、マーク位置の前方向及び後方向をサーチして演奏
操作に対応する音符を検索する必要がある。図5のFS
P及びBSPは、それぞれ、前方向サーチ用ポインタ及
び後方向サーチ用ポインタである。
しているノートオンイベントの次のノートオンイベント
をセットする(ステップE1)。また、BSPにCNP
で現在指定しているノートオンイベントをセットする
(ステップE2)。すなわち、押鍵タイミングの時間の
直前及び直後のノートオンイベントを指定する。次に、
図5に示す3つのフラグFMF、BMF、及びLAGF
を全て「0」にセットする(ステップE3)。FMF
は、前方向のノートオンイベントと押鍵による音高とが
一致したときに「1」にセットするフラグである。BM
Fは、後方向のノートオンイベントと押鍵による音高と
が一致したときに「1」にセットするフラグである。L
AGFは、指定しているノートオンイベントの発音開始
時間よりも押鍵操作のタイミングが遅れたときに「1」
にセットするフラグである。次に、レジスタFMINに
「−1000」をセットし、レジスタBMINに「10
00」をセットする(ステップE4)。図5に示すよう
に、FMINは前方向最小時間をストアするレジスタで
あり、BMINは前方向最小時間をストアするレジスタ
である。ステップE4においては、FMINに負の最大
値をストアし、BMINに正の最大値をストアする。な
お、FMIN及び後述するBMINにストアする数値
は、4分音符のテンポを100としたときの値である。
したがって、FMINには4分音符の10個分だけ後方
向の時間がストアされる。
時間をストアするレジスタであり、POSはNOWの現
在時間を保持する時間保持のレジスタである。図9のス
テップE5において、NOWの現在時間をPOSにスト
アする。すなわち、押鍵操作がされた時間である押鍵タ
イミングをPOSに保持する。そして、ポインタCNT
に「0」をセットしてクリアし(ステップE6)、CN
Tの値をインクリメントしながら以下のループを繰り返
す。CNTの値が「3」未満であるか否かを判別し(ス
テップE7)、この値が「3」未満である場合には、図
5の2つのレジスタPITCH(FSP)の値とPIT
CH(KEY)の値とが等しいか否かを判別する(ステ
ップE8)。PITCH(FSP)は、FSPのノート
の音高をストアするレジスタであり、PITCH(KE
Y)はすでに記載したように、押鍵された鍵の音高をス
トアするレジスタである。PITCH(FSP)の値と
PITCH(KEY)の値とが等しい場合、すなわち、
前方向にサーチしたノートオンイベントの音高と押鍵操
作の音高とが一致した場合には、さらに、MAT(FS
P)の値が「1」より小さいか否かを判別する(ステッ
プE9)。
FSPのノートオンイベントの判定値をストアするレジ
スタであり、その初期値は「−1」である。ノートオン
イベントに対して押鍵操作がされて、その押鍵操作の良
否が判定された場合には、MAT(FSP)には
「1」、「2」又は「3」の値がストアされる。したが
って、MAT(FSP)の値が「1」より小さい場合に
は、そのノートオンイベントがまだ判定されていないデ
ータである。この場合には、POSの値からTIME
(FSP)の値が減算され、その減算結果の値がFDI
Fにストアされる(ステップE10)。
FSPで指定したノートオンイベントの発音開始時間が
ストアされる。したがって、図5のレジスタFDIFに
は、ステップE10の演算によって押鍵時間と前方向の
ノートオンイベントの発音開始時間との時間差がストア
される。この場合、POSにストアされた押鍵時間から
前方向のノートオンイベントの発音開始時間を減算する
ので、その時間差は負の値となる。次に、FMINのデ
ータとFDIFのデータとを比較して、FMINのデー
タの値がFDIFのデータの値よりも小さいか否かを判
別する(ステップE11)。
ストアされている。すなわち、押鍵タイミングの時間か
ら4分音符10個分だけ後方向の時間がストアされてい
るので、FMINの時間のほうがFDIFの負の時間差
よりも小さい。したがって、ステップE12において、
FMINの値「−1000」をFDIFの時間差の値に
置き換え、図5のレジスタFNOMIにFSPの値をス
トアする。FNOMIは、押鍵に対応する前方向の候補
対象となるノートオンイベントをストアするレジスタで
ある。例えば、FDIFの時間差が4分音符1個分であ
る場合には、FMINには「−100」の値がストアさ
れる。そして、FSPで指定したノートオンイベントを
前方向における押鍵操作の候補ノートオンイベントとし
て、FNOMIにストアする。次に、フラグFMFに
「1」をセットする(ステップE13)。すなわち、前
方向に押鍵操作の音高と一致する音高のノートオンイベ
ントが存在することを示すフラグを「1」にセットす
る。
においてPITCH(FSP)の値とPITCH(KE
Y)の値とが異なり、前方向にサーチしたノートオンイ
ベントの音高と押鍵操作の音高とが一致しない場合、若
しくはステップE9においてMAT(FSP)の値が
「1」以上で、すでにFSPで指定するノートオンイベ
ントが判定済みになっている場合には、ステップE14
においてFSPの値をインクリメントする。すなわち、
さらに前方向のノートオンイベントを指定する。なお、
前方向に押鍵操作の候補対象となるノートオンイベント
が検出された後は、さらに前方向のノートオンイベント
を指定する必要はないが、処理の高速化及びフローの単
純化を図るために、さらに前方向のノートオンイベント
を指定する。したがって、ステップE11においてFM
INの値がFDIFの値よりも大きい場合でも、ステッ
プE14においてFSPの値をインクリメントする。
の2つのレジスタPITCH(BSP)の値とPITC
H(KEY)の値とが等しいか否かを判別する(ステッ
プE15)。PITCH(BSP)は、BSPのノート
の音高をストアするレジスタであり、PITCH(KE
Y)はすでに記載したように、押鍵された鍵の音高をス
トアするレジスタである。PITCH(BSP)の値と
PITCH(KEY)の値とが等しい場合、すなわち、
後向にサーチしたノートオンイベントの音高と押鍵操作
の音高とが一致した場合には、さらに、MAT(BS
P)の値が「1」より小さいか否かを判別する(ステッ
プE9)。
BSPのノートオンイベントの判定値をストアするレジ
スタであり、その初期値は「−1」である。ノートオン
イベントに対して押鍵操作がされて、その押鍵操作の良
否が判定された場合には、MAT(BSP)には
「1」、「2」又は「3」の値がストアされる。したが
って、MAT(BSP)の値が「1」より小さい場合に
は、そのノートオンイベントがまだ判定されていないデ
ータである。この場合には、POSの値からTIME
(BSP)の値が減算され、その減算結果の値がBDI
Fにストアされる(ステップE10)。
BSPで指定したノートオンイベントの発音開始時間が
ストアされる。したがって、図5のレジスタBDIFに
は、ステップE17の演算によって押鍵時間と後方向の
ノートオンイベントの発音開始時間との時間差がストア
される。この場合、POSにストアされた押鍵タイミン
グの時間から後方向のノートオンイベントの発音開始時
間を減算するので、その時間差は正の値となる。次に、
BMINのデータとBDIFのデータとを比較して、B
MINのデータの値がBDIFのデータの値よりも大き
いか否かを判別する(ステップE18)。
トアされている。すなわち、押鍵タイミングの時間から
4分音符10個分だけ前方向の時間がストアされている
ので、BMINの時間のほうがBDIFの時間差よりも
大きい。したがって、ステップE19において、BMI
Nの値「1000」をBDIFの時間差の値に置き換
え、図5のレジスタBNOMIにBSPの値をストアす
る。BNOMIは、押鍵に対応する後方向の候補対象の
ノートオンイベントをストアするレジスタである。例え
ば、BDIFの時間差が4分音符2個分である場合に
は、BMINには「200」の値がストアされる。そし
て、BSPで指定したノートオンイベントを後方向にお
ける押鍵操作の候補ノートオンイベントとして、BNO
MIにストアする。次に、フラグBMFに「1」をセッ
トし(ステップE20)、フラグLAGFに「1」をセ
ットする(ステップE21)。すなわち、後方向に押鍵
操作の音高と一致する音高のノートオンイベントが存在
することを示すフラグを「1」にセットし、そのノート
オンイベントの発音開始時間から押鍵タイミングが遅れ
ていることを示すフラグを「1」にセットする。この
後、BSPの値をデクリメントする(ステップE2
2)。すなわち、さらに後方向のノートオンイベントを
指定する。
5においてPITCH(BSP)の値とPITCH(K
EY)の値とが異なり、後方向にサーチしたノートオン
イベントの音高と押鍵操作の音高とが一致しない場合、
若しくはステップE16においてMAT(BSP)の値
が「1」以上で、すでにBSPで指定するノートオンイ
ベントが判定済みになっている場合には、ステップE2
2においてBSPの値をデクリメントする。すなわち、
さらに後方向のノートオンイベントを指定する。
向に押鍵操作の候補対象となるノートオンイベントが検
出された後は、さらに後方向のノートオンイベントを指
定する必要はないが、処理の高速化及びフローの単純化
を図るために、さらに後方向のノートオンイベントを指
定する。したがって、ステップE18においてBMIN
の値がBFDIFの値よりも大きい場合でも、ステップ
E22においてBFSPの値をデクリメントする。
(ステップE23)。そして、図9のステップE9のス
テップE7に移行し、CNTの値が「3」未満であるか
否かを判別する。CNTの値が「3」未満である場合に
は、ステップE8〜ステップ23までのループを繰り返
す。ステップE7において、CNTの値が「3」以上に
なった場合には、ステップE24に移行して判定処理を
実行し、図6の再生処理に戻る。すなわち、押鍵操作が
あったときは、その押鍵操作タイミングの時間を基準と
して、前方向及び後方向にそれぞれ3つのノートオンイ
ベントをサーチして、押鍵操作の候補対象を検出する。
4の判定処理のフローチャートである。このフローで
は、ユーザの押鍵操作の良否すなわち演奏操作の状態を
判定する。図11において、FMF又はBMFの少なく
とも一方の値が「1」であるか否かを判別する(ステッ
プF1)。FMF又はBMFのいずれも「1」でない場
合には、押鍵操作タイミングの時間を基準として、その
前方向及び後方向の所定範囲において、押鍵操作の候補
対象が検出されなかった場合である。この場合には、M
AT(CNP)に「−1」をセットする(ステップF
2)。
「1」である場合には、FMF及びBMFの値が共に
「1」であるか否かを判別する(ステップF3)。共に
「1」である場合には、押鍵操作タイミングの時間を基
準として、その前方向及び後方向の両方において、押鍵
操作の2つの候補対象が検出された場合である。この場
合には、より押鍵操作タイミングの時間に近い方を確定
候補とする。このため、FMINの負の値とBMINの
正の値を加算した結果が「0」より大きい(加算結果が
正である)か否かを判別する(ステップF4)。
は、BMINの値の方がFMINの絶対値より大きい場
合であるので、FSPで指定したノートオンイベントの
方が、BSPで指定したノートオンイベントよりも押鍵
操作タイミングの時間に近い。したがってこの場合に
は、FMINの時間データを図5のレジスタDIFにス
トアする(ステップF5)。DIFは確定時間差をスト
アするレジスタである。また、FNOMIにストアされ
ている候補対象のノートオンイベントを図5のレジスタ
NOMIにストアする(ステップF6)。NOMIは確
定候補のノートオンイベントを記憶するレジスタであ
る。
「0」より小さい場合には、FMINの絶対値の方がB
MINの値より大きい場合であるので、BSPで指定し
たノートオンイベントの方が、FSPで指定したノート
オンイベントよりも押鍵操作タイミングの時間に近い。
したがってこの場合には、BMINの時間データを図5
のレジスタDIFにストアする(ステップF7)。ま
た、BNOMIにストアされている候補対象のノートオ
ンイベントを確定候補としてレジスタNOMIにストア
する(ステップF8)。
の値が共に「1」ではなく、いずれか一方のみが「1」
である場合には、押鍵操作タイミングの時間を基準とし
て、その前方向又は後方向の一方のみにおいて、押鍵操
作の候補対象が検出された場合である。この場合には、
FMFの値が「1」であるか否かを判別し(ステップF
9)、この値が「1」である場合には、FMINの時間
データをレジスタDIFにストアし(ステップF1
0)、FNOMIにストアされている候補ノートオンイ
ベントを確定候補としてレジスタNOMIにストアする
(ステップF11)。ステップF9において、FMFの
値が「0」である場合、すなわちBMFの値が「1」で
ある場合には、BMINの時間データをレジスタDIF
にストアし(ステップF12)、BNOMIにストアさ
れている候補ノートオンイベントを確定候補としてレジ
スタNOMIにストアする(ステップF13)。
11、又はステップF13において、レジスタNOMI
に確定候補のノートオンイベントをストアした後は、D
IFの値をREFの値で除算してその除算値に「10
0」を乗算した値を算出し、その算出値の絶対値をレジ
スタGAPにストアする(ステップF14)。図5に示
すREFは基準時間がストアされたレジスタであり、こ
の場合の基準時間は4分音符の拍数値「100」であ
る。また、図5に示すGAPはタイミング差がストアさ
れるレジスタである。すなわち、ステップF14の演算
によれば、DIFにストアされた押鍵タイミングと確定
候補のノートオンイベントの発音開始時間との確定時間
差が基準時間に比べてどの程度であるかをパーセンテー
ジで算出し、その算出結果をGAPにストアする。
値が「50」より大きいか否かを判別する(ステップF
15)。すなわち、押鍵タイミングと確定候補のノート
オンイベントの発音開始時間との確定時間差が、8分音
符の拍数値「50」よりも大きいか否かを判別する。G
APの値が「50」より大きい場合には、その確定時間
差を許容できないものとし、押鍵操作タイミングが遅過
ぎるか又は早過ぎるとして演奏ミスと判定する。この場
合には、図5のカウンタMISSの値をインクリメント
する(ステップF21)。MISSは演奏ミスの回数を
累算するカウンタであり、その初期値は「0」である。
次に、LAGFの値が「1」であるか否かを判別する
(ステップF17)。この値が「1」である場合には、
ノートオンイベントの発音開始時間に比べて押鍵操作タ
イミングが遅過ぎる場合であるので、MAT(CNP)
に「3」をストアする(ステップF18)。一方、LA
GFの値が「0」である場合には、ノートオンイベント
の発音開始時間に比べて押鍵操作タイミングが早過ぎる
場合であるので、MAT(CNP)に「2」をストアす
る(ステップF19)。
「50」以下である場合には、WFの値が「1」である
か否かを判別する(ステップF20)。この値が「1」
である場合には、押鍵待ちでポーズ状態の後に押鍵操作
がされた場合であるので、実際の押鍵遅れ時間はGAP
の値「50」よりも大きい。したがってこの場合には、
ノートオンイベントの発音開始時間に比べて押鍵操作タ
イミングが遅過ぎる場合であるので、MISSの値をイ
ンクリメントして(ステップF21)、MAT(CN
P)に「3」をストアする(ステップF22)。ステッ
プF20において、WFの値が「0」で押鍵待ちの状態
でない場合には、ノートオンイベントの発音開始時間に
対して許容できる押鍵操作タイミングであるとして、図
5のレジスタOKの値をインクリメントする(ステップ
F23)。OKは演奏合格回数を累算するレジスタであ
り、その初期値は「0」である。そして、レジスタMA
T(CNP)に「1」すなわち演奏合格を示す値をスト
アする(ステップF24)。
F18、ステップF19、ステップF22、又はステッ
プF24において、MAT(CNP)に値をストアした
後は、そのMAT(CNP)の値に応じた判定画像を表
す画像データを表示部17に送出して表示する(ステッ
プF25)。例えば、図3に示すように、音符の画像の
下に「○」、「×」、「→」、「←」からなる判定画像
を表示する。「○」、「×」、「→」、「←」の判定画
像は、それぞれ、MAT(CNP)に値「1」、「−
1」、「2」、「3」に対応している。なお、この判定
画像は「○」、「×」、「→」、「←」に限らず、他の
形状でもよい。他の実施形態として、対応する音符の画
像そのものを判定結果に応じてアレンジしてもよい。例
えば、音符の符頭に人間の顔を表示させて、顔の表情
(笑い顔、泣き顔)で判定を表示するようにしてもよ
い。要は、ユーザが自分の演奏結果を容易に認識できる
ような判定画像を表示部17に表示できる形状であれば
よい。ステップF25において画像データを送出した後
は、図6の再生処理に戻る。
プB18の評価処理のフローチャートである。このフロ
ーでは、ユーザが演奏教習曲の演奏練習が終了した後
に、その練習の進度を評価する。まず、演奏すべきノー
トオンイベントを指定するポインタCNTを「0」にセ
ットし(ステップG1)、曲のノートオンイベントを指
定するポインタCNPを「0」すなわち先頭のノートオ
ンイベントにセット(ステップG2)した後、CNTの
値をインクリメントしながら以下のループ処理を繰り返
す。ステップG3において、後述する継続フラグの状態
を見てループ処理を続けるか否かを判別する。このフラ
グの状態が終了を示す状態にある場合にはループ処理は
終了する。
するノートオンイベントの発音開始時間をストアしてい
るTIME(CNP)の値からSTART(LNO)の
値を減算し、その減算結果をレジスタaにストアする
(ステップG4)。ここでLNOはレッスン範囲を指定
するレジスタである。図2の表示画面において、手順の
レッスン「1」〜「8」のうちいずれか1つをマウスに
よって選択すると、図5に示すLNOに選択されたレッ
スン範囲の番号がストアされる。また、レッスン範囲が
選択されたときに、図5のSTART(LNO)及びE
ND(LNO)に、そのレッスン範囲であるLNOの開
始時間及び終了時間がストアされる。
NPで指定するノートオンイベントの発音開始時間から
選択されたレッスン範囲の開始時間を差し引いた時間差
がレジスタaにストアされる。次のステップG5におい
ては、END(LNO)の値からTIME(CNP)の
値を減算した減算結果をレジスタbにストアする。すな
わち、選択されたレッスン範囲の終了時間からCNPで
指定するノートオンイベントの発音開始時間を差し引い
た時間差がレジスタbにストアされる。次に、a及びb
の値が共に「0」より大きいか否かを判別する(ステッ
プG6)。すなわち、CNPで指定したノートオンイベ
ントが選択されたレッスン範囲内のノートオンイベント
であるか否かを判別する。a及びbの値が共に「0」よ
り大きい場合、すなわち、指定したノートオンイベント
がレッスン範囲内にある場合には、そのノートオンイベ
ントは演奏すべきイベントであるので、CNTの値をイ
ンクリメントする(ステップG7)。しかし、a又はb
のいずれかの値が「1」以上である場合には、指定した
ノートオンイベントがレッスン範囲の外にあるので、C
NTの値はインクリメントしない。
リメントした後、又は、ステップG6においてa又はb
の少なくとも一方の値が「1」以上である場合には、次
のノートオンイベントを指定する(ステップG8)。も
し次のノートがない場合は、継続フラグの状態を終了を
示す状態にする。そして、ステップG3に移行して、こ
のフラグの状態をもとにループ処理を続けるか否かを判
別する。続ける場合には、ステップG8までの処理を繰
り返す。次のノートオンイベントがない場合には、CN
Tの値をレジスタORGにストアする(ステップG
9)。図5に示すように、ORGはノートオンイベント
数を累算するカウンタであり、ステップG9においてレ
ッスン範囲内にあるノートオンイベントの数がストアさ
れる。
の除算結果に「100」を乗算した結果をレジスタLE
Vにストアする(ステップG10)。図5に示すよう
に、LEVは演奏レベル(ユーザの演奏結果のレベル)
をストアするレジスタである。すなわち、ステップG1
0においては、レッスン範囲内にあるノートオンイベン
トの数の中で、演奏合格回数がどれだけあるかのパーセ
ンテージのデータをLEVにストアする。次に、LEV
の値をEVE(LNO)にストアする(ステップG1
1)。図5に示すように、EVE(LNO)はLNOす
なわちレッスン範囲における進度をストアするレジスタ
である。ステップG11の処理は、LEVにストアされ
た演奏合格回数がどれだけあるかのパーセンテージのデ
ータを、数値データや画像データに変換するテーブルを
参照して、変換された数値データや画像データをEVE
(LNO)にストアする処理である。この実施形態にお
いては、EVE(LNO)にストアする数値データ及び
画像データは、進度を示すパーセンテージの値及び進度
を色の濃さ(色の彩度)で表す色指定データである。そ
して、ステップG12において、EVE(LNO)にス
トアした進度を表すデータを表示部17に送出して表示
する。
囲ごとに進度を示すパーセンテージの値が表示される。
また、図3に示すように、レッスン範囲ごとに進度を表
す画像(図ではハッチングであるが、実際は色の濃さ)
が表示される。なお、現在練習中のレッスン範囲につい
ては、進度を表す画像とは異なる画像(進度を表す色と
は異なる色)が表示される。なお、進度を表す画像とし
ては色や数値に限定されない。例えば、円グラフや棒グ
ラフの画像で表してもよい。
力された演奏データと曲データにおける演奏指示データ
とを比較して演奏操作の状態を判定し、その判定結果に
対応する判定画像の画像データを演奏操作の進行に伴っ
て表示する。したがって、ユーザが所定の表示装置に表
示された課題曲の楽譜を見ながら演奏を行う場合に、そ
の演奏状態の良否をリアルタイムで判定できる。
として鍵盤装置を例に採ったが、電子管楽器や電子打楽
器に対する演奏教習においても、本発明を適用できるこ
とは明らかである。
としての演奏教習装置について説明したが、上記実施形
態におけるフローチャートに示すように、演奏教習処理
を実行するプログラムの発明を実現できる。すなわち、
そのプログラムは、選択されて所定の表示手段に表示さ
れた曲データに対して所定の演奏手段における演奏操作
を検出して演奏データを入力する第1のステップと、第
1のステップによって入力された演奏データと前記曲デ
ータにおける演奏指示データとを比較して演奏操作の状
態を判定する第2のステップと、第2のステップによる
判定結果に対応する判定画像の画像データを演奏操作の
進行に伴って表示手段に出力する第3のステップとを実
行するものである。また、上記演奏教習処理のプログラ
ムをインターネット等の通信手段を介して、外部のサー
バ等から受信する構成も可能である。
置に表示された課題曲の楽譜を見ながら演奏を行う場合
に、その演奏状態の良否をリアルタイムで判定できる。
そのシステム図、(2)は図1(1)のパソコンの内部
構成を示すブロック図。
習の曲リスト等を示す図。
習の楽譜並びに判定画像及び進度を示す図。
フローチャート。
スタ等を示す図。
ト。
ャート。
ャート。
ャート。
Claims (6)
- 【請求項1】 所定の表示手段に表示された曲データに
対して所定の演奏手段における演奏操作を検出して演奏
データを入力する演奏入力手段と、 前記演奏入力手段から入力された演奏データと前記曲デ
ータにおける演奏指示データとを比較して演奏操作の状
態を判定する演奏判定手段と、 前記演奏判定手段による判定結果に対応する判定画像の
画像データを、演奏操作の進行に伴って前記表示手段に
表示された曲データの対応する部分に表示するように出
力する表示制御手段とを有する演奏教習装置。 - 【請求項2】 前記演奏判定手段は、前記演奏データを
構成する音高及び演奏時間を前記演奏指示データを構成
する音高及び発音開始時間と比較して演奏操作の状態を
判定することを特徴とする請求項1に記載の演奏教習装
置。 - 【請求項3】 前記演奏判定手段は、前記演奏データを
構成する音高と同一の音高をもつ演奏指示データを検索
して前記演奏データに対応する演奏指示データを特定す
るアルゴリズムを実行することを特徴とする請求項1又
は2に記載の演奏教習装置。 - 【請求項4】 選択されて所定の表示手段に表示された
曲データに対して所定の演奏手段における演奏操作を検
出して演奏データを入力する第1のステップと、 前記第1のステップによって入力された演奏データと前
記曲データにおける演奏指示データとを比較して演奏操
作の状態を判定する第2のステップと、 前記第2のステップによる判定結果に対応する判定画像
の画像データを、演奏操作の進行に伴って前記表示手段
に表示された曲データの対応する部分に表示するように
出力する第3のステップとを実行する演奏教習処理のプ
ログラム。 - 【請求項5】 前記第2のステップは、前記演奏データ
を構成する音高及び演奏時間を前記演奏指示データを構
成する音高及び発音開始時間と比較して演奏操作の状態
を判定することを特徴とする請求項4に記載の演奏教習
処理のプログラム。 - 【請求項6】 前記第2のステップは、前記演奏データ
を構成する音高と同一の音高をもつ演奏指示データを検
索して前記演奏データに対応する演奏指示データを特定
するアルゴリズムを実行することを特徴とする請求項4
又は5に記載の演奏教習処理のプログラム。
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 true JP2003058154A (ja) | 2003-02-28 |
JP3931603B2 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) |
Cited By (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 | 演奏支援装置、演奏支援方法及びプログラム |
JP2009115987A (ja) * | 2007-11-06 | 2009-05-28 | Casio Comput Co Ltd | 演奏練習支援装置および演奏練習支援処理のプログラム |
CN109859728A (zh) * | 2017-11-30 | 2019-06-07 | 卡西欧计算机株式会社 | 信息处理装置、信息处理方法、存储介质以及电子乐器 |
JP2020064177A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社Nttドコモ | 情報処理装置及びプログラム |
-
2001
- 2001-08-13 JP JP2001245404A patent/JP3931603B2/ja not_active Expired - Fee Related
Cited By (10)
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 | 演奏支援装置、演奏支援方法及びプログラム |
JP2009115987A (ja) * | 2007-11-06 | 2009-05-28 | Casio Comput Co Ltd | 演奏練習支援装置および演奏練習支援処理のプログラム |
CN109859728A (zh) * | 2017-11-30 | 2019-06-07 | 卡西欧计算机株式会社 | 信息处理装置、信息处理方法、存储介质以及电子乐器 |
JP2019101168A (ja) * | 2017-11-30 | 2019-06-24 | カシオ計算機株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び、電子楽器 |
JP7035486B2 (ja) | 2017-11-30 | 2022-03-15 | カシオ計算機株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び、電子楽器 |
JP2022075704A (ja) * | 2017-11-30 | 2022-05-18 | カシオ計算機株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、及び、電子楽器 |
CN109859728B (zh) * | 2017-11-30 | 2023-08-08 | 卡西欧计算机株式会社 | 信息处理装置、信息处理方法、存储介质以及电子乐器 |
JP2020064177A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社Nttドコモ | 情報処理装置及びプログラム |
JP7232011B2 (ja) | 2018-10-17 | 2023-03-02 | 株式会社Nttドコモ | 情報処理装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3931603B2 (ja) | 2007-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3209156B2 (ja) | 自動伴奏パターン発生装置及び方法 | |
JP2002515987A (ja) | リアルタイム音楽作成システム | |
JP2001154668A (ja) | 楽音合成方法、演奏情報選択方法、演奏制御方法、演奏情報記録方法、演奏情報評価方法、演奏練習装置および記録媒体 | |
JPH0827628B2 (ja) | 自動演奏装置 | |
JP6707826B2 (ja) | コンテンツ制御装置及びコンテンツ制御プログラム | |
JP3286683B2 (ja) | 旋律合成装置及び旋律合成方法 | |
JPH11296168A (ja) | 演奏情報評価装置、演奏情報評価方法及び記録媒体 | |
JP2003058153A (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP3588387B2 (ja) | 演奏表示装置 | |
JP2003058154A (ja) | 演奏教習装置及び演奏教習処理のプログラム | |
JP6651756B2 (ja) | コンテンツ制御装置及びコンテンツ制御プログラム | |
JP4201679B2 (ja) | 波形発生装置 | |
JP4525591B2 (ja) | 演奏評価装置、及びプログラム | |
JP3267777B2 (ja) | 電子楽器 | |
JP6627350B2 (ja) | コンテンツ制御装置及びコンテンツ制御プログラム | |
JP3623557B2 (ja) | 自動作曲システムおよび自動作曲方法 | |
US10424279B2 (en) | Performance apparatus, performance method, recording medium, and electronic musical instrument | |
JP3656597B2 (ja) | 電子楽器 | |
US6362410B1 (en) | Electronic musical instrument | |
JP3775249B2 (ja) | 自動作曲装置及び自動作曲プログラム | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JP7414048B2 (ja) | プログラム、情報処理装置、演奏評価システム及び演奏評価方法 | |
JP3953071B2 (ja) | 電子楽器 | |
JPH05188953A (ja) | 電子楽器 | |
JP3480001B2 (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 |