(57)【要約】【課題】  練習曲の曲データに対して入力された演奏データを楽音ごとに評価しながらも、曲全体の音楽性を把握できるような演奏練習を可能にする。【解決手段】  ＣＰＵ１は、補助記憶装置９からＲＡＭ４に転送された曲データを区切り練習の所定区間ごとに順に読み出し、読み出された所定区間の曲データに対して入力された演奏データが所定の水準に達しているか否かを評価して、所定区間の演奏データが水準に達していないと評価された場合には、その所定区間の曲データを再度読み出し、所定区間の演奏データが水準に達していると評価された場合には、次の所定区間の曲データを再度読み出し、最後の所定区間の演奏データが水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出す。【選択図】  図１
2007333836.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段に記憶されている曲データを所定区間ごとに順に読み出すデータ読出手段と、
前記データ読出手段によって読み出された所定区間の曲データに対して入力された演奏データが所定の水準に達しているか否かを評価する演奏評価手段と、
前記演奏評価手段によって所定区間の演奏データが前記水準に達していないと評価された場合には、当該所定区間の曲データを再度読み出すように前記データ読出手段に指示し、前記演奏評価手段によって所定区間の演奏データが前記水準に達していると評価された場合には、次の所定区間の曲データを読み出すように前記データ読出手段に指示し、前記演奏評価手段によって最後の所定区間の演奏データが前記水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出すように前記データ読出手段に指示する読出指示手段と、
を備えたことを特徴とする演奏練習装置。
【請求項２】
前記データ読出手段によって読み出された所定区間の曲データに対する演奏データの入力に先立って、当該所定区間の模範演奏を行う自動演奏手段をさらに備えたことを特徴とする請求項１に記載の演奏練習装置。
【請求項３】
記憶手段に記憶されている曲データを所定区間ごとに順に読み出すステップＡと、
前記ステップＡによって読み出された所定区間の曲データに対して入力された演奏データが所定の水準に達しているか否かを評価するステップＢと、
前記ステップＢによって所定区間の演奏データが前記水準に達していないと評価された場合には、当該所定区間の曲データを再度読み出すように前記ステップＡに指示し、前記ステップＢによって所定区間の演奏データが前記水準に達していると評価された場合には、次の所定区間の曲データを読み出すように前記ステップＡに指示し、前記ステップＢによって最後の所定区間の演奏データが前記水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出すように前記ステップＡに指示するステップＣと、
をコンピュータに実行させることを特徴とする演奏練習処理のプログラム。
【請求項４】
前記ステップＡによって読み出された所定区間の曲データに対する演奏データの入力に先立って、当該所定区間の模範演奏を行うステップＤをさらに有することを特徴とする請求項３に記載の演奏練習処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏練習装置および演奏練習処理のプログラムに関し、特に、記憶手段から読み出される曲データに対する演奏を所定区間ごとに評価する演奏練習装置および演奏練習処理のプログラムに関するものである。
【背景技術】
【０００２】
広く普及している電子鍵盤楽器においては、練習用の曲データを記憶しているメモリおよびメモリから読み出した曲データの楽譜を表示する表示部を備えているので、メモリから読み出されて表示された曲データに基づいて演奏練習を行うことができる。このような演奏練習装置や演奏練習方法については、従来多くの提案がなされている。以下、これら多くの提案の中から代表的なものについて説明する。
【０００３】
ある提案による鍵盤楽器の自動練習装置では、楽譜上に表現される符長情報を含む楽譜情報を順次記憶設定すると共に、楽譜情報の複数個毎にフレーズ情報を挿入した模範演奏情報源となる記憶装置と、この記憶装置からの情報読み出し番地を順次設定するアドレス発生装置と、練習操作する鍵盤と、この鍵盤の押鍵操作に対応する演奏情報を記憶装置からの読み出し楽譜情報と対比しフレーズ情報読み出し単位で採点する手段と、この採点結果において採点されたフレーズの先頭番地をアドレス発生装置にプリセットする手段とを具備し、採点内容に応じて繰り返し練習し得るようにした構成になっている。さらに、フレーズ単位の採点結果に対応する繰り返しを表示する表示器を設け、さらにまた、採点結果を数値表示する。また、採点手段は、記憶装置からの読み出し楽譜情報の誤り回数の計数を行う。（特許文献１参照）
【０００４】
また、ある提案による電子楽器では、所定の楽曲を予め記憶可能な記憶手段と、各音高の楽音を選択的に指定可能なキー入力手段と、キー入力手段のキー操作毎に指定される各楽音と記憶手段に記憶された楽曲を構成する所定単位毎に含まれる各楽音を比較検出する比較手段と、比較手段の比較動作により一致が検出された際は、次の所定単位内の各楽音を記憶手段から読み出すと共に、不一致が検出された際は、この不一致が検出された所定単位内の各楽音を記憶手段から再度読み出す読み出し制御手段とを具備した構成になっている。（特許文献２参照）
【０００５】
また、ある提案による練習楽器では、予め記憶された楽音情報に基づいて、表示手段を通じて楽器の操作位置を指し示すことにより、楽曲の練習を行わせる楽器において、表示手段を通じて指し示された操作位置と、実際に操作された操作位置とが一致しているか否か判別する一致判別手段と、この一致判別手段によって一致していないことが判別されたとき、まず一致しなかった楽音の付近について自動演奏を行う自動演奏手段と、この自動演奏手段の自動演奏終了後、一致しなかった楽音の前より、楽器の操作位置を指し示す処理を再開させる指示再開手段と、を有する構成になっている。（特許文献３参照）
【０００６】
また、ある提案による演奏練習装置では、曲を構成する曲データを記憶した記憶手段と、記憶手段が記憶した曲データを複数の区間に分割して、各区間ごとに曲データを読み出す読出手段と、演奏操作に対応する演奏データを入力する演奏データ入力手段と、演奏データ入力手段から入力される演奏データと読出手段により読み出される区間ごとの曲データとを比較する比較手段と、比較手段の比較結果に応じて、両データが一致したとき次の区間の曲データを読み出させる一方、不一致であるとき同一区間の曲データを再び読み出させるように読出手段を制御する読み出し制御手段と、を備えた構成になっている。（特許文献４参照）
【０００７】
また、ある提案による演奏練習装置では、曲を構成する各音符の音高及び音長を示す音符データからなる曲データを記憶した記憶手段と、記憶手段から音符データを読み出す読出手段と、演奏操作に対応する演奏データを入力する演奏データ入力手段と、演奏データ入力手段から入力された演奏データと読出手段により読み出された音符データを比較して、両データの不一致により演奏操作の不適を検出する検出手段と、検出手段により不適が検出されたときの音符データに基づいて不適な演奏操作の種別を判別する判別手段と、判別手段により判別された種別毎に、検出手段が検出する不適な演奏操作の回数をカウントするカウント手段と、カウント手段によりカウントされた種別毎の不適な演奏操作の操作回数に応じた演奏操作の評価を表示する表示手段と、を備えた構成になっている。この場合において、記憶手段は複数の曲データを記憶し、種別毎の不適な演奏操作の操作回数に応じて、その後、読出手段から読み出される曲データを決定する決定手段をさらに備えた構成になっている。すなわち、不適な演奏操作の操作回数に応じて、レベルの高い次の曲に進むか、又は、レベルの低い前の曲に戻るかを決定する。（特許文献５参照）
【０００８】
また、ある提案による自動演奏装置では、楽曲を形成する各音の音高および発音タイミングを表すと共に、楽曲の小節に対応させた小節線番号を含む曲データを記憶する曲データ記憶手段と、この曲データ記憶手段に記憶される曲データを順次読み出して自動演奏する自動演奏手段と、この自動演奏手段が自動演奏を進行させている最中に、リピート再生実行を指示された場合、その指示時点における曲データ中の小節線番号から所定小節分遡った始端と当該始端から一定小節線分進めた終端との間にある曲データを繰り返し再生するよう自動演奏手段に指示するリピート再生指示手段と、を具備する構成になっている。この場合において、操作子の押下操作に応じてリピート再生実行を指示すると共に、その操作子が押下操作され続ける時間に対応した再生範囲を指定する実行指示手段をさらに備え、自動演奏手段が自動演奏を進行させている最中に、実行再生指示手段からリピート再生実行を指示された場合、リピート再生指示手段は、その指示時点における曲データ中の小節線番号から所定小節分遡った始端と当該始端から実行再生指示手段が指定する再生範囲分を進めた終端との間にある曲データを繰り返し再生するよう自動演奏手段に指示する。あるいは、鍵操作に応じて発生する鍵イベントと、自動演奏手段が読み出す曲データ中のイベントとを比較して鍵操作ミスの有無を判別する判別手段をさらに備え、自動演奏手段が自動演奏を進行させている最中に、判別手段が鍵操作ミスを検出した場合、リピート再生指示手段は、曲データ中において、その鍵操作ミスしたイベントを含む小節線番号から所定小節分遡った始端と当該始端から一定小節線分進めた終端との間にある曲データを繰り返し再生するよう自動演奏手段に指示する。（特許文献６参照）
【特許文献１】特開昭５６−９２５６３号公報
【特許文献２】特開昭５８−３５５８３号公報
【特許文献３】特開昭６２−１７０９９５号公報
【特許文献４】特開平５−２９７７９５号公報
【特許文献５】特許３２６６９３４号公報（特開平５−３０３３２６号公報）
【特許文献６】特開２００２−２５１１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記各特許文献を含め、従来の演奏練習装置や演奏練習方法は、ある課題曲に対して模範の演奏と実際の演奏とを楽音ごとに比較して、小節単位やフレーズ単位の区間ごとに各楽音の演奏の一致又は不一致を採点し、採点結果が悪い場合にはその区間を繰り返し練習させ、採点結果が良い場合には次の区間に進める構成になっている。すなわち、最後の区間の採点結果が良かった場合に、その課題曲を修得したと評価されて、次の課題曲に進むようになっている。
このため、各楽音の演奏を細かく評価することに重点を置く余り、樹を見て森を見ずの譬えのように、個々の楽音に対する採点主義に陥る傾向になり、曲が持っている肝心な音楽性を把握しない状態でその曲の練習が終わってしまうことが多かった。
本発明は、このような従来の課題を解決するためのものであり、練習曲の曲データに対して入力された演奏データを楽音ごとに評価しながらも、曲全体の音楽性を把握できるような演奏練習を可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載の演奏練習装置は、記憶手段（実施形態においては、図１のＲＡＭ４に相当する）に記憶されている曲データを所定区間（実施形態においては、図２の２つの区切りマークによって区切られた区間に相当する）ごとに順に読み出すデータ読出手段（実施形態においては、図１のＣＰＵ１に相当する）と、データ読出手段によって読み出された所定区間の曲データに対して入力された演奏データが所定の水準（実施形態においては、図７のステップＳＥ２の合格範囲に相当する）に達しているか否かを評価する演奏評価手段（実施形態においては、図１のＣＰＵ１に相当する）と、演奏評価手段によって所定区間の演奏データが水準に達していないと評価された場合には、当該所定区間の曲データを再度読み出すようにデータ読出手段に指示し、演奏評価手段によって所定区間の演奏データが水準に達していると評価された場合には、次の所定区間の曲データを読み出すようにデータ読出手段に指示し、演奏評価手段によって最後の所定区間の演奏データが水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出すようにデータ読出手段に指示する読出指示手段（実施形態においては、図１のＣＰＵ１に相当する）と、を備えた構成になっている。
【００１１】
請求項１の演奏練習装置において、請求項２に記載したように、データ読出手段によって読み出された所定区間の曲データに対する演奏データの入力に先立って、当該所定区間の模範演奏（実施形態においては、図５の手本データ演奏処理に相当する）を行う自動演奏手段（実施形態においては、図１のＣＰＵ１に相当する）をさらに備えた構成にしてもよい。
【００１２】
請求項３に記載の演奏練習処理のプログラムは、記憶手段（実施形態においては、図１のＲＡＭ４に相当する）に記憶されている曲データを所定区間（実施形態においては、図２の２つの区切りマークによって区切られた区間に相当する）ごとに順に読み出すステップＡと、ステップＡによって読み出された所定区間の曲データに対して入力された演奏データが所定の水準（実施形態においては、図７のステップＳＥ２の合格範囲に相当する）に達しているか否かを評価するステップＢと、ステップＢによって所定区間の演奏データが水準に達していないと評価された場合には、当該所定区間の曲データを再度読み出すようにステップＡに指示し、ステップＢによって所定区間の演奏データが水準に達していると評価された場合には、次の所定区間の曲データを読み出すようにステップＡに指示し、ステップＢによって最後の所定区間の演奏データが水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出すようにステップＡに指示するステップＣと、をコンピュータ（実施形態においては、図１のＣＰＵ１に相当する）に実行させる構成になっている。
【００１３】
請求項３の演奏練習処理のプログラムにおいて、請求項４に記載したように、ステップＡによって読み出された所定区間の曲データに対する演奏データの入力に先立って、当該所定区間の模範演奏（実施形態においては、図５の手本データ演奏処理に相当する）を行うステップＤをさらに有するような構成にしてもよい。
【発明の効果】
【００１４】
本発明の装置によれば、練習曲の曲データに対して入力された演奏データを楽音ごとに評価しながらも、曲全体の音楽性を把握できるような演奏練習を可能にするという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の演奏練習装置の実施形態について、電子鍵盤楽器を例に採って詳細に説明する。
図１は、実施形態における電子鍵盤楽器の構成を示すブロック図である。図１において、ＣＰＵ１は、システムバス２を介して、ＲＯＭ３、ＲＡＭ４、スイッチ５、表示部６、鍵盤７、音源８、および、補助記憶装置９に接続され、これら各部との間でデータおよびコマンドを授受しながら、この電子鍵盤楽器を制御する。ＲＯＭ３は、ＣＰＵ１によって実行される演奏練習処理のプログラムや他の制御プログラム、および、初期データなどを予め記憶している。ＲＡＭ４は、ＣＰＵ１のワークエリアであり、ＣＰＵ１によって処理されるデータを一時的に記憶するための、レジスタ、カウンタ、フラグ、ポインタなどの変数のエリアを備えている。スイッチ５は、曲選択スイッチ、練習スタートスイッチ、音色設定スイッチ、効果音付加スイッチなど複数のスイッチで構成されている。表示部６は、演奏練習の曲に関する情報やその他の情報を表示する。鍵盤７は、押鍵および離鍵の操作に応じた演奏データをＣＰＵ１に入力する。音源８は、波形ＲＯＭ（図示せず）を備え、ＣＰＵ１の発音指示に応じて、波形ＲＯＭから読み出す波形データに基づいて楽音信号を生成して、発音回路１０に供給する。発音回路１０は、Ｄ／Ａコンバータ回路、フィルタ回路、増幅回路、スピーカなど（図示せず）で構成され、音源８から供給される楽音信号に応じて発音を行う。補助記憶装置９は、フラッシュＲＯＭなどで構成された着脱可能なメモリカード、専用のケーブルで接続された外部ＭＩＤＩ機器、又は、インターネットなどのネットワークを介して接続された外部のサーバの曲データベースなどで構成され、演奏練習の課題曲である複数の曲データを難易度に応じてランク付けして記憶している。課題となる曲データは、スイッチ５の曲選択スイッチの操作に応じたＣＰＵ１のデータ通信処理によって、補助記憶装置９からＲＡＭ４に転送される。
【００１６】
図２は、補助記憶装置９からＲＡＭ４に転送された課題曲のフォーマットを示す図である。課題曲は、曲データおよびヘッダ部で構成されている。曲データは、ノートオン又はノートオフのイベントデータの音高、音量などで構成された手本演奏データであり、１小節又は複数の小節の所定区間ごとに読み出される。曲データは、各所定区間に対応して区切りマーク「０」、区切りマーク「１」…区切りマーク「ｎ」が存在し、２つの区切りマークの間に、所定区間の曲データの楽譜に対応して次のノートオンイベント又はノートオフイベントのイベントデータまでの時間間隔を示すデルタタイムとイベントデータとが交互に存在する。区切りマーク［ｎ」の後は、曲データの終わりを示す「ＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）」になっている。
【００１７】
ヘッダ部は、この手本演奏データと鍵盤７の操作によって入力された実際の演奏データを比較して演奏が合格か不合格かを評価するために用いるデータで構成され、評価の対象は押鍵および離鍵のタイミングおよび押鍵の音量（ベロシティ）である。タイミング許容範囲Ｔは、押鍵および離鍵のタイミングの合格範囲であり、音量許容範囲Ｖは、押鍵の音量の合格範囲である。最大反復回数Ｈは、不合格の演奏に対して許容される最大の反復回数を示す。前課題アドレスＭは、現在選択されている課題曲よりも難易度のランクが１つ低い課題曲のアドレスであり、後課題アドレスＡは、現在選択されている課題曲よりも難易度のランクが１つ高い課題曲のアドレスである。
【００１８】
次に、図１の電子鍵盤楽器のＣＰＵ１によって実行される演奏練習処理の動作について、図３乃至図８のフローチャートに基づいて詳細に説明する。なお、以下の演奏練習処理は、スイッチ５の曲選択スイッチによって練習すべき課題曲のデータが補助記憶装置９から読み出されて、図２に示したように、ＲＡＭ４にストアされた後の動作である。
【００１９】
図３は、メインルーチンのフローチャートである。まず、ＣＰＵ１は、イニシャライズ処理を行う（ステップＳＡ１）。このイニシャライズ処理では、ＲＡＭ４のエリアである「ｐｈａｓｅ」、「ｒａｎｇｅ」、「ｔ」、「ｆ」、「ｖ」を「０」にクリアする。ｐｈａｓｅは、「０（手本データ演奏モード）」、「１（演奏記録モード）」、「２（演奏評価モード）」の値を採るフラグである。ｒａｎｇｅは、区切り練習モード（０）であるか１曲全体練習モード（１）であるかを識別するフラグである。ｔは、演奏のタイミングの不合格数をカウントする変数である。ｆは、演奏の音高の不合格数をカウントする変数である。ｖは、演奏のベロシティの不合格数をカウントする変数である。
【００２０】
ＣＰＵ１は、ステップＳＡ１のイニシャライズ処理の後、スイッチ処理を実行する（ステップＳＡ２）。図４は、スイッチ処理のフローチャートである。ＣＰＵ１は、各スイッチのオン又はオフの状態を走査して（ステップＳＢ１）、練習スタートスイッチが押されたか否かを判別し（ステップＳＢ２）、このスイッチが押されたときは、演奏データのポインタＰをデータの先頭にセットし（ステップＳＢ３）、デルタタイムのタイマーカウンタＣを「０」にリセットして、カウントを開始する（ステップＳＢ４）。この後、又は、ステップＳＢ２において、練習スタートスイッチが押されない場合には、ＣＰＵ１は、その他のスイッチ処理を行って（ステップＳＢ５）、図３のメインルーチンに戻る。
【００２１】
図３のステップＳＡ２のスイッチ処理の後、ＣＰＵ１は、ＲＡＭ４のレジスタであるｐｈａｓｅの値が「０」、「１」、「２」のいずれであるかを判別し（ステップＳＡ３）、ｐｈａｓｅの値が「０」の場合には、手本データ演奏処理を実行し（ステップＳＡ４）、ｐｈａｓｅの値が「１」の場合には、演奏記録処理を実行し（ステップＳＡ５）、ｐｈａｓｅの値が「２」の場合には、演奏評価処理を実行する（ステップＳＡ６）。ＣＰＵ１は、ｐｈａｓｅの値に応じた処理を行った後、補助記憶装置９との間のデータ通信処理などのその他の処理を行い（ステップＳＡ７）、ステップＳＡ２におけるスイッチ処理に移行する。
【００２２】
図５は、図３におけるステップＳＡ４の手本データ演奏処理のフローチャートである。ＣＰＵ１は、ポインタＰのアドレスが図２に示したデータの先頭であるか否かを判別し（ステップＳＣ１）、データの先頭である場合には、各種パラメータのイニシャライズとして、ＲＡＭ４のレジスタｔｉにタイミング許容値Ｔをストアし、レジスタｖｅに音量許容範囲Ｖをストアし、レジスタｈｋに最大反復回数Ｈをストアし、レジスタｍｋに前課題アドレスＭをストアし、レジスタａｋに後課題アドレスＡをストアし、レジスタｋｍにＫ（Ｋ＝０）をストアし、手本データの練習区間の総時間長を表す変数ｄｓｕｍに「０」をストアして（ステップＳＣ２）、Ｐのアドレスの値に「６」を加算する（ステップＳＣ３）。
【００２３】
ステップＳＣ２における各種パラメータのイニシャライズ、および、ステップＳＣ３におけるポインタＰのセットの後、又は、ステップＳＣ１において、ポインタＰはデータの先頭でなく、手本データの自動演奏が開始した後の場合には、ＣＰＵ１は、ポインタＰが示すデルタタイムｄｔにタイマーカウンタのカウント値Ｃが達したか否か、すなわち、次のイベントデータの演奏開始タイミングに達したか否かを判別し（ステップＳＣ４）、カウント値Ｃがｄｔのデルタタイムに達しない場合には、図３のメインルーチンに戻るが、カウント値Ｃがｄｔのデルタタイムに達したときは、手本データの練習区間の総時間長を表す変数ｄｓｕｍにｄｔのデルタタイムを加算する（ステップＳＣ５）。
【００２４】
次に、ＣＰＵ１は、（Ｐ＋１）が示すアドレスのイベントがノートオンであるか又はノートオフであるかを判別し（ステップＳＣ６）、イベントがノートオンである場合には、音源８に対する発音処理を行い（ステップＳＣ７）、イベントがノートオフである場合には、音源８に対する消音処理を行って（ステップＳＣ８）、タイマーカウンタのカウント値Ｃを「０」にクリアし（ステップＳＣ９）、ポインタＰに「２」を加算する（ステップＳＣ１０）。すなわち、次のデルタタイムのアドレスを指定する。次に、ＣＰＵ１は、ポインタＰが示すイベントは区切りマークであるか否かを判別し（ステップＳＣ１１）、区切りマークでない場合には、図３のメインルーチンに戻り、再びこの手本データ演奏処理を実行するが、ポインタＰの示すイベントが区切りマークである場合には、１つの区間の自動演奏が終了したので、ｒａｎｇｅの値が「０（区切り練習モード）」であるか、又は、「１（１曲全体練習モード）」であるかを判別する（ステップＳＣ１２）。
【００２５】
ＣＰＵ１は、ｒａｎｇｅの値が「０」の場合には、変数ｋｍに現在の区切りマークＬをストアし（ステップＳＣ１３）、ｐｈａｓｅを「１（演奏記録モード）」にセットし、演奏者の演奏データの練習区間の総時間長を表す変数ｒｓｕｍを「０」にクリアし（ステップＳＣ１４）、ポインタＰに現在の区切りマークＬの１つ前の区切りマークのアドレス（ｋｍ−１）をセット、すなわち、手本演奏を行った区間の区切りマークに遡って（ステップＳＣ１５）、図３のメインルーチンに戻る。
【００２６】
図６は、図３のメインルーチンにおけるステップＳＡ５のｐｈａｓｅが「１」の演奏記録処理のフローチャートである。この演奏記録処理においては、ＣＰＵ１は、ＲＡＭ４の演奏データエリアを指定して、新たな押鍵があるか否かを判別し（ステップＳＤ１）、新たな押鍵があったときは、該当する楽音の発音開始処理を行い（ステップＳＤ２）、新たな押鍵がない場合には、新たな離鍵があるか否かを判別し（ステップＳＤ３）、新たな離鍵があったときは、該当する楽音の消音開始処理を行う（ステップＳＤ４）。
【００２７】
ステップＳＤ２における発音開始処理、又は、ステップＳＤ４における消音開始処理の後、ＣＰＵ１は、タイマーカウンタの値Ｃ、すなわち、今回の押鍵又は離鍵までの経過時間を、演奏データエリアのアドレスＱ（初期値は先頭アドレス）に格納し（ステップＳＤ５）、変数ｒｓｕｍ（初期値は「０」）にタイマーカウンタの値Ｃを加算した後、Ｃの値を「０」にクリアして（ステップＳＤ６）、イベントデータをアドレス（Ｑ＋１）に格納し（ステップＳＤ７）、アドレスＱを２つインクリメントして、次の押鍵又は離鍵までの経過時間を格納するアドレスを指定する（ステップＳＤ８）。
【００２８】
この後、又は、新たな押鍵および離鍵がない場合には、ＣＰＵ１は、ｒｓｕｍの値がｄｓｕｍの値に達したか否かを判別する（ステップＳＤ９）。すなわち、区切り練習の経過時間が手本演奏データの区切り練習の時間長に達したか否かを判別する。ｒｓｕｍの値がｄｓｕｍの値に達しない場合には、図３のメインルーチンに戻り、再びこの演奏記録処理を実行する。ステップＳＤ９においてｒｓｕｍの値がｄｓｕｍの値に達したときは、ＣＰＵ１は、ｒｓｕｍの値を「０」にクリアし（ステップＳＤ１０）、Ｑを先頭アドレスにセットし（ステップＳＤ１１）、ｐｈａｓｅを「２（演奏評価モード）」に変更して（ステップＳＤ１２）、図３のメインルーチンに戻る。
【００２９】
図７は、図３のメインルーチンにおけるステップＳＡ６のｐｈａｓｅが「２」の演奏評価処理のフローチャートである。この演奏評価処理においては、ＣＰＵ１は、最初に、演奏データ評価処理を実行する（ステップＳＥ１）。図８は、その演奏データ評価処理のフローチャートである。ＣＰＵ１は、まず、変数ｒａｎｇｅの値が「０（区切り練習モード）」又は「１（１曲全体練習モード）」のいずれかを判別し（ステップＳＦ１）、ｒａｎｇｅの値が「０」である場合には、現在、練習区間の最初の区切りマークにセットされているポインタＰを１つインクリメントして、練習区間の最初のデルタタイムにセットする（ステップＳＦ２）。
【００３０】
次に、ＣＰＵ１は、ＲＡＭ４の演奏データエリアのポインタＱを先頭アドレスにセットして（ステップＳＦ４）、ポインタＱにストアされている演奏のデルタタイムが、ポインタＰにストアされている手本のデルタタイムから±ｔｉの範囲に入っているか否かを判別し（ステップＳＦ５）、この範囲に入っていない場合には、（Ｑ＋１）のイベントのタイミングが悪いという表示をして（ステップＳＦ６）、タイミング不可をカウントする変数ｔを１つインクリメントして（ステップＳＦ７）、現在までの演奏記録の総時間長ｒｓｕｍにポインタＱにストアされている演奏のデルタタイムを加算する（ステップＳＦ８）。
【００３１】
次に、ＣＰＵ１は、（Ｐ＋１）のイベントはノートオンか否かを判別し（ステップＳＦ９）、ノートオンである場合には、（Ｑ＋１）のイベントは、（Ｐ＋１）のイベントと同じ音高であるか否かを判別し（ステップＳＦ１０）、同じ音高でない場合には、（Ｑ＋１）のイベントの音高が違うという表示をして（ステップＳＦ１１）、音高不可をカウントする変数ｆを１つインクリメントする（ステップＳＦ１２）。
【００３２】
次に、ＣＰＵ１は、（Ｑ＋１）のイベントの音量が（Ｐ＋１）のイベントの音量から±ｖｅの範囲に入っているか否かを判別し（ステップＳＦ１３）、この範囲に入っていない場合には、（Ｑ＋１）のイベントの音量が悪いという表示をして（ステップＳＦ１４）、音量不可をカウントする変数ｖを１つインクリメントする（ステップＳＦ１５）。
【００３３】
次に、ＣＰＵ１は、現在までの演奏記録の総時間長ｒｓｕｍが、区切り練習の手本の区間の総時間長ｄｓｕｍに達したか否かを判別し（ステップＳＦ１６）、ｒｓｕｍがｄｓｕｍに達していない場合には、ポインタＱおよびポインタＰをそれぞれ２つインクリメントして、次のデルタタイムのアドレスを指定して（ステップＳＦ１７）、ステップＳＦ５からステップＳＦ１６までのループ処理を繰り返し、ステップＳＦ１６において、ｒｓｕｍがｄｓｕｍに達したときは、図７の演奏評価処理のフローチャートに戻る。
【００３４】
図７において、ＣＰＵ１は、図８の演奏データ評価処理によって得たタイミング、音高、音量の不可をそれぞれカウントする変数ｔ、ｆ、ｖの値が合格範囲であるか否かを判別し（ステップＳＥ２）、合格範囲である場合には、フラグｒａｎｇｅが「０」であるか又は「１」であるかを判別して（ステップＳＥ３）、ｒａｎｇｅが「０」の区切り練習モードの場合には、ｐｈａｓｅを「０（手本データ演奏モード）」にセットし、ｄｓｕｍを「０」にクリアし、変数ｈｋに最大反復回数Ｈをストアして（ステップＳＥ４）、現在の区切り練習が最後の区切りか否かを判別し（ステップＳＥ５）、最後の区切りでない場合には、ポインタＰを次の練習区間の先頭の区切りマークｋｍにセットして（ステップＳＦ６）、図３のメインルーチンに戻る。
【００３５】
この後は、ＣＰＵ１は、次の練習区間の手本データ演奏処理（図５）を実行し、演奏者によって演奏されたその練習区間の演奏記録処理（図６）を実行し、その練習区間の演奏評価処理（図７）において、図８の演奏データ評価処理を実行した後、その演奏データ評価処理によって得たタイミング、音高、音量の不可をそれぞれカウントする変数ｔ、ｆ、ｖの値が合格範囲である場合には、最後の練習区間が終了するまで、手本データ演奏処理、演奏記録処理、および演奏評価処理を繰り返す。
【００３６】
一方、ＣＰＵ１は、図８の演奏データ評価処理を実行した後、その演奏データ評価処理によって得たタイミング、音高、音量の不可をそれぞれカウントする変数ｔ、ｆ、ｖの値が不合格の場合には、不合格と判定した理由を表示し（ステップＳＥ７）、反復回数をカウントする変数ｈｋの値が「０」より大きいか否か、すなわち、不合格と判定したく練習区間の反復が可能か否かを判別し（ステップＳＥ８）、ｈｋの値が「０」より大きい場合には、ポインタＰを現在の練習区間の先頭である区切りマークｍｋにセットし、ｈｋの値を１つデクリメントし、ポインタＱを先頭アドレスにセットして（ステップＳＥ９）、ｐｈａｓｅを「０（手本データ演奏処理）」にセットして（ステップＳＥ１０）、図３のメインルーチンに戻る。
【００３７】
この後は、ＣＰＵ１は、同じ練習区間の手本データ演奏処理（図５）を実行し、演奏者によって演奏されたその練習区間の演奏記録処理（図６）を実行し、その練習区間の演奏評価処理（図７）において、図８の演奏データ評価処理を実行した後、その演奏データ評価処理によって得たタイミング、音高、音量の不可をそれぞれカウントする変数ｔ、ｆ、ｖの値が不合格である場合には、図７のステップＳＥ８において、ｈｋが「０」より大きいならば、同じ練習区間の手本データ演奏処理、演奏記録処理、演奏評価処理を繰り返す。
【００３８】
一方、ＣＰＵ１は、任意の練習区間において、ｔ、ｆ、ｖが不合格で、ステップＳＥ８において、反復回数ｈｋが「０」になった場合には、ポインタＰを前課題ｍｋのアドレスにセットし（ステップＳＥ１５）、ＲＡＭ４の「ｐｈａｓｅ」、「ｒａｎｇｅ」、「ｔ」、「ｆ」、「ｖ」の各種パラメータを「０」にイニシャライズする（ステップＳＥ１６）。すなわち、難易度のランクが１つ低い課題曲を次の練習曲として指定する。
【００３９】
ＣＰＵ１は、ｒａｎｇｅが「０」の区切り練習モードにおいて、図７のステップＳＥ２において、変数ｔ、ｆ、ｖの値が合格範囲と判定した後に、ステップＳＥ３、ステップＳＥ４を経て、ステップＳＥ５において、最後の区切りの練習区間が終了したときは、ポインタＰを手本の先頭アドレスに「６」を加算したアドレス、すなわち、曲データの最初のデルタタイムのアドレスにセットし、ｒａｎｇｅを「１（１曲全体練習モード）」にセットして（ステップＳＥ１１）、図３のメインルーチンに戻る。
【００４０】
この後、ＣＰＵ１は、曲全体を通して手本データ演奏処理を実行する。すなわち、各練習区間に対して、図５のステップＳＣ１乃至ステップＳＣ１１までの処理を行った後、ステップＳＣ１２においてｒａｎｇｅを「１」と判別するので、ポインタＰを１つインクリメントし（ステップＳＣ１６）、ポインタＰが指すのは曲の終わりの「ＥＯＦ」であるか否かを判別し（ステップＳＣ１７）、「ＥＯＦ」でない場合には、手本データ演奏処理を続行する。
【００４１】
ＣＰＵ１は、曲全体を通して手本データ演奏処理を実行中に、ステップＳＣ１７において、ポインタＰが「ＥＯＦ」指したときは、ｐｈａｓｅを「１（演奏記録モード）」にセットし、ｒｓｕｍを「０」にクリアして（ステップＳＣ１８）、ポインタＰを手本の先頭アドレスに「６」を加算したアドレス、すなわち、曲データの最初のデルタタイムのアドレスにセットし（ステップＳＣ１９）、図３のメインルーチンに戻る。このとき、手本データの練習区間の総時間長の変数ｄｓｕｍには、曲全体のデルタタイムの累算値がストアされている。
【００４２】
次に、ＣＰＵ１は、図６の演奏記録処理を実行し、ステップＳＤ９において、変数ｒｓｕｍに累算されている演奏記録の総時間長が変数ｄｓｕｍにストアされている手本データの練習区間の総時間長に達したか否かを判別し、変数ｒｓｕｍの総時間長が変数ｄｓｕｍの総時間長に達していない場合には、演奏者の演奏に応じて演奏記録処理を続行するが、変数ｒｓｕｍの総時間長が変数ｄｓｕｍの総時間長に達したときは、ｒｓｕｍを「０」にクリアし（ステップＳＤ１０）、ポインタＱを演奏データエリアの先頭アドレスにセットし（ステップＳＤ１１）、ｐｈａｓｅを「２（演奏評価モード）」にセットして（ステップＳＤ１２）、図３のメインルーチンに戻る。
【００４３】
１曲全体練習の演奏評価処理において、ＣＰＵ１は、図７のステップＳＥ１において、図８の演奏データ評価処理に移行して、まずステップＳＦ１において、ｒａｎｇｅを「１」と判別すると、ポインタＰを手本の先頭アドレスに「６」を加算したアドレス、すなわち、曲データの最初のデルタタイムのアドレスにセットし（ステップＳＦ３）、ステップＳＦ４において、ポインタＱを先頭アドレスにセットした後、上記した区切り練習の場合と同様に、ステップＳＦ５乃至ステップＳＦ１６までの処理を繰り返し、ステップＳＦ１６において、変数ｒｓｕｍに累算されている演奏記録の総時間長が変数ｄｓｕｍにストアされている手本データの練習区間の総時間長、すなわち、曲全体のデルタタイムの累算値に達したか否かを判別し、変数ｒｓｕｍの総時間長が変数ｄｓｕｍの総時間長に達していない場合には、ポインタＰおよびポインタＱをそれぞれ２つインクリメントして（ステップＳＦ１７）、ステップＳＦ５に移行して、演奏者の演奏に応じて演奏データ評価処理を繰り返す。
【００４４】
ＣＰＵ１は、ステップＳＦ１６において、変数ｒｓｕｍの総時間長が変数ｄｓｕｍの総時間長に達したときは、図７のステップＳＥ２において、曲全体のｔ、ｆ、ｖが合格範囲であるか否かを判別し、合格範囲である場合には、ステップＳＥ３においてｒａｎｇｅを「１」と判別して、レッスン終了を表示し（ステップＳＥ１２）、ＲＡＭ４の「ｐｈａｓｅ」、「ｒａｎｇｅ」、「ｔ」、「ｆ」、「ｖ」の各種パラメータを「０」にイニシャライズして（ステップＳＥ１３）、ポインタＰを後課題の曲データのａｋのアドレスにセットする（ステップＳＥ１４）。すなわち、難易度のランクが１つ高い課題曲を次の練習曲として指定する。
【００４５】
以上のように、この実施形態によれば、ＣＰＵ１は、補助記憶装置９からＲＡＭ４に転送された曲データを区切り練習の所定区間ごとに順に読み出し、読み出された所定区間の曲データに対して入力された演奏データが合格範囲に達しているか否かを評価して、所定区間の演奏データが合格範囲に達していないと評価された場合には、その所定区間の曲データを再度読み出し、所定区間の演奏データが合格範囲に達していると評価された場合には、次の所定区間の曲データを再度読み出し、最後の所定区間の演奏データが合格範囲に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出す。
したがって、練習曲の曲データに対して入力された演奏データを楽音ごとに評価しながらも、曲全体の音楽性を把握できるような演奏練習を可能にする。
【００４６】
なお、上記実施形態においては、ＲＯＭ３にあらかじめ記憶された演奏練習処理のプログラムをＣＰＵ１が実行する装置の発明について説明したが、フレキシブルディスク（ＦＤ）、ＣＤ、メモリカードなどの外部記憶媒体に記録されている演奏練習処理のプログラムをハードディスクやフラッシュＲＯＭなどの書き込み可能な不揮発性メモリにインストールするか、又は、インターネットなどのネットワークからダウンロードした演奏練習処理のプログラムを不揮発性メモリにインストールして、そのプログラムをＣＰＵ１によって実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
【００４７】
すなわち、本発明による演奏練習処理のプログラムは、
記憶手段に記憶されている曲データを所定区間ごとに順に読み出すステップＡと、前記ステップＡによって読み出された所定区間の曲データに対して入力された演奏データが所定の水準に達しているか否かを評価するステップＢと、前記ステップＢによって所定区間の演奏データが前記水準に達していないと評価された場合には、当該所定区間の曲データを再度読み出すように前記ステップＡに指示し、前記ステップＢによって所定区間の演奏データが前記水準に達していると評価された場合には、次の所定区間の曲データを読み出すように前記ステップＡに指示し、前記ステップＢによって最後の所定区間の演奏データが前記水準に達していると評価された場合には、曲データの最初の所定区間から最後の所定区間までを連続して読み出すように前記ステップＡに指示するステップＣと、をコンピュータに実行させる。
前記ステップＡによって読み出された所定区間の曲データに対する演奏データの入力に先立って、当該所定区間の模範演奏を行うステップＤをさらに有する。
【００４８】
また、上記実施形態および添付した図面は、単に本発明の原理を示すためのものであり、本発明の技術的な思想である特許請求の範囲を逸脱しない限り、これら各実施形態および図面に基づいて、当業者が容易に想到できる様々な他の実施形態および変形例についても、本発明の原理に属するものである。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態における電子鍵盤楽器の構成を示すブロック図。
【図２】図１の補助記憶装置に記憶されている曲データのフォーマットを示す図。
【図３】図１のＣＰＵによって実行される演奏練習処理のメインルーチンのフローチャート。
【図４】図３におけるスイッチ処理のフローチャート。
【図５】図３における手本データ演奏処理のフローチャート。
【図６】図３における演奏記録処理のフローチャート。
【図７】図３における演奏評価処理のフローチャート。
【図８】図７における演奏データ評価処理のフローチャート。
【符号の説明】
【００５０】
１  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  スイッチ
６  表示部
７  鍵盤
８  音源
９  補助記憶装置
１０  発音回路
【図１】
2007333836.tif 000003
【図２】
2007333836.tif 000004
【図３】
2007333836.tif 000005
【図４】
2007333836.tif 000006
【図５】
2007333836.tif 000007
【図６】
2007333836.tif 000008
【図７】
2007333836.tif 000009
【図８】
2007333836.tif 000010