(57)【特許請求の範囲】
【請求項１】
楽曲を構成する音符ごとの音高情報と、楽音の発音タイミングおよび発音時間を含む時間情報と、所定の音符についての演奏の際に用いられる技術を示す技術要素情報と、楽曲ごとの、前記技術要素を考慮した難度を示す難度情報と、を含む曲データを格納する記憶手段と、
演奏操作子の操作にしたがって、操作された演奏操作子に対応する音高情報と、操作タイミングおよび操作されていた時間を含む時間情報と、を含む演奏データを生成して、前記記憶手段に格納する演奏データ生成手段と、
前記曲データと前記演奏データとを比較して、前記所定の音符のそれぞれについての技術要素のクリア状況を判断し、技術要素ごとの演奏者の達成度を示す情報を生成する演奏者達成度判定手段と、
前記演奏者による楽曲の演奏時間および演奏回数を含む、前記演奏者による練習状況に基づき、楽曲ごとの当該練習状況を示す指標値を生成する練習状況判定手段と、
前記楽曲数に基づき、あらかじめ記憶された元画像を複数の部分画像に分割し、前記楽曲ごとの練習状況を示す指標値に基づき、前記元画像の部分画像それぞれから、当該各部分画像を構成する所定の構成要素を変換することにより第１の変換画像を生成するとともに、当該第１の変換画像を前記技術要素数に基づき複数の部分画像に別途分割し、前記技術要素ごとの達成度を示す情報に基づき、前記第１の変換画像の別途分割された部分画像それぞれから、前記所定の構成要素とは異なる他の構成要素を変換することにより第２の変換画像データを生成する画像変換手段と、
前記第２の変換画像データに基づく画像を表示する表示手段と、を備えたことを特徴とする演奏評価装置。
【請求項２】
前記画像変換手段は、前記演奏時間および演奏回数が増大するのにしたがって、前記第１の変換画像データを、元画像の画像データに近くなるように生成し、前記技術要素ごとの演奏者の達成度が高くなるのにしたがって、前記第２の変換画像データを、元画像の画像データに近くなるように生成するように構成されたことを特徴とする請求項１に記載の演奏評価装置。
【請求項３】
前記演奏者達成度判定手段が、前記楽曲ごとに、前記クリア状況に基づき、当該技術要素のクリアレベルを算出し、かつ、全ての楽曲のクリアレベルに基づき、前記技術要素ごとの達成度を示す情報を生成することを特徴とする請求項１または２に記載の演奏評価装置。
【請求項４】
前記練習状況判定手段が、前記クリア状況に基づき、前記楽曲ごとに、前記演奏者による全ての技術要素を考慮した演奏レベルを示す指標値を算出し、
前記画像変換手段が、前記楽曲ごとの演奏レベルを示す指標値に基づき、前記部分画像それぞれの所定の構成要素を変換するように構成されたことを特徴とする請求項１ないし３の何れか一項に記載の演奏評価装置。
【請求項５】
前記練習状況判定手段が、前記曲データと前記演奏データとを比較して、前記曲データおよび演奏データにおける、対応する音高情報の相違および時間情報の相違に基づき、演奏の正確さを示す演奏評価値を算出し、
前記画像変換手段が、前記楽曲ごとの演奏評価値に基づき、前記部分画像それぞれの所定の構成要素を変換するように構成されたことを特徴とする請求項１ないし４の何れか一項に記載の演奏評価装置。
【請求項６】
前記画像変換手段が、前記部分画像それぞれの所定の構成要素として、濃度および彩度を変更し、前記別途分割されたエリアの部分画像の他の構成要素として、解像度を変更することを特徴とする請求項１ないし５の何れか一項に記載の演奏評価装置。
【請求項７】
楽曲を構成する音符ごとの音高情報と、楽音の発音タイミングおよび発音時間を含む時間情報と、所定の音符についての演奏の際に用いられる技術を示す技術要素情報と、楽曲ごとの、前記技術要素を考慮した難度を示す難度情報と、を含む曲データを格納する記憶装置を備えたコンピュータに、
演奏操作子の操作にしたがって、操作された演奏操作子に対応する音高情報と、操作タイミングおよび操作されていた時間を含む時間情報と、を含む演奏データを生成して、前記記憶手段に格納する演奏データ生成ステップと、
前記曲データと前記演奏データとを比較して、前記所定の音符のそれぞれについての技術要素のクリア状況を判断し、技術要素ごとの演奏者の達成度を示す情報を生成する演奏者達成度判定ステップと、
前記演奏者による楽曲の演奏時間および演奏回数を含む、前記演奏者による練習状況に基づき、楽曲ごとの当該練習状況を示す指標値を生成する練習状況判定ステップと、
前記楽曲数に基づき、あらかじめ記憶された元画像を複数の部分画像に分割し、前記楽曲ごとの練習状況を示す指標値に基づき、前記元画像の部分画像それぞれから、当該各部分画像を構成する所定の構成要素を変換することにより第１の変換画像を生成するとともに、当該第１の変換画像を前記技術要素数に基づき複数の部分画像に別途分割し、前記技術要素ごとの達成度を示す情報に基づき、前記第１の変換画像の別途分割された部分画像それぞれから、前記所定の構成要素とは異なる他の構成要素を変換することにより第２の変換画像データを生成する画像変換ステップと、を実行させ、
前記第２の変換画像データに基づく画像が表示装置に表示されることを特徴とする演奏評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者による演奏に基づいて、楽曲演奏についての学習の進度や達成度に基づく画像を表示する演奏評価装置、および、演奏評価プログラムに関する。
【背景技術】
【０００２】
従来、課題となる楽曲を演奏者に演奏させて、模範演奏についてのデータと、演奏者による演奏データとを比較して、演奏者による演奏を評価する評価装置が知られている。演奏評価のためには、正しい鍵を押鍵しているか、および、正しいタイミングで押鍵しているか、という２つの要素を調べることが一般的である。
【０００３】
特許文献１には、不適な演奏操作の種別（白鍵の操作ミス、黒鍵の操作ミスなど）を判別し、種別ごとに不適な操作の回数をカウントして、操作回数に応じた演奏評価を行なう装置が提案されている。
【０００４】
また、特許文献２には、楽曲のパート或いは区間における演奏評価が可能な演奏評価装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３２６６９３４号公報
【特許文献２】特許第３９１５４５２号公報
【特許文献３】特開２００４−３４７８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、評価結果を表示する方法として、たとえば、表示装置の画面上に表示された楽譜の音符に「○」或いは「×」の印を付すことで、その音符についての押鍵の正誤を示し、或いは、楽曲全体、或いは、区間ごとに採点をして、得点を表示することが行なわれていた。しかしながら、上記評価では、楽曲中の種々の技術要素（たとえば、和音演奏など）や、技術要素のクリアの是非、演奏者による努力などがほとんど考慮されないという問題点があった。
【０００７】
また、特許文献３には、演奏者（生徒）が演奏を行なうと、その情報が、演奏者の端末からサーバを介して指導者の端末に伝達され、指導者は、受信した情報を参照してメッセージを入力し、入力されたメッセージが、サーバを介して演奏者の端末に伝達されるシステムが開示されている。
【０００８】
しかしながら、従来の演奏教習および演奏評価では、教習の効率の向上を主目的としており、また、評価においても、上述したように押鍵の正誤に基づく画一的なものに限られる、という問題点があった。したがって、演奏者においては楽曲の練習の楽しみが損なわれる可能性があった。
【０００９】
そこで、本発明は、楽曲を練習する演奏者の楽しみを損なわず、また、演奏者による練習努力を考慮した演奏評価を行なうことができる演奏評価装置、および、演奏評価プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的は、楽曲を構成する音符ごとの音高情報と、楽音の発音タイミングおよび発音時間を含む時間情報と、所定の音符についての演奏の際に用いられる技術を示す技術要素情報と、楽曲ごとの、前記技術要素を考慮した難度を示す難度情報と、を含む曲データを格納する記憶手段と、
演奏操作子の操作にしたがって、操作された演奏操作子に対応する音高情報と、操作タイミングおよび操作されていた時間を含む時間情報と、を含む演奏データを生成して、前記記憶手段に格納する演奏データ生成手段と、
前記曲データと前記演奏データとを比較して、前記所定の音符のそれぞれについての技術要素のクリア状況を判断し、技術要素ごとの演奏者の達成度を示す情報を生成する演奏者達成度判定手段と、
前記演奏者による楽曲の演奏時間および演奏回数を含む、前記演奏者による練習状況に基づき、楽曲ごとの当該練習状況を示す指標値を生成する練習状況判定手段と、
前記楽曲数に基づき、あらかじめ記憶された元画像を複数の部分画像に分割し、前記楽曲ごとの練習状況を示す指標値に基づき、前記元画像の部分画像それぞれから、当該各部分画像を構成する所定の構成要素を変換することにより第１の変換画像を生成するとともに、当該第１の変換画像を前記技術要素数に基づき複数の部分画像に別途分割し、前記技術要素ごとの達成度を示す情報に基づき、前記第１の変換画像の別途分割された部分画像それぞれから、前記所定の構成要素とは異なる他の構成要素を変換することにより第２の変換画像データを生成する画像変換手段と、
前記第２の変換画像データに基づく画像を表示する表示手段と、を備えたことを特徴とする演奏評価装置により達成される。
【００１１】
好ましい実施態様においては、前記画像変換手段は、前記演奏時間および演奏回数が増大するのにしたがって、前記第１の変換画像データを、元画像の画像データに近くなるように生成し、前記技術要素ごとの演奏者の達成度が高くなるのにしたがって、前記第２の変換画像データを、元画像の画像データに近くなるように生成するように構成されている。
【００１２】
別の好ましい実施態様においては、前記演奏者達成度判定手段が、前記楽曲ごとに、前記クリア状況に基づき、当該技術要素のクリアレベルを算出し、かつ、全ての楽曲のクリアレベルに基づき、前記技術要素ごとの達成度を示す情報を生成する。
【００１３】
また、好ましい実施態様においては、前記練習状況判定手段が、前記クリア状況に基づき、前記楽曲ごとに、前記演奏者による全ての技術要素を考慮した演奏レベルを示す指標値を算出し、
前記画像変換手段が、前記楽曲ごとの演奏レベルを示す指標値に基づき、前記部分画像それぞれの所定の構成要素を変換するように構成されている。
【００１４】
また、好ましい実施態様においては、前記練習状況判定手段が、前記曲データと前記演奏データとを比較して、前記曲データおよび演奏データにおける、対応する音高情報の相違および時間情報の相違に基づき、演奏の正確さを示す演奏評価値を算出し、
前記画像変換手段が、前記楽曲ごとの演奏評価値に基づき、前記部分画像それぞれの所定の構成要素を変換するように構成されている。
【００１５】
さらに別の好ましい実施態様においては、前記画像変換手段が、前記部分画像それぞれの所定の構成要素として、濃度および彩度を変更し、前記別途分割されたエリアの部分画像の他の構成要素として、解像度を変更する。
【００１６】
また、本発明の目的は、  楽曲を構成する音符ごとの音高情報と、楽音の発音タイミングおよび発音時間を含む時間情報と、所定の音符についての演奏の際に用いられる技術を示す技術要素情報と、楽曲ごとの、前記技術要素を考慮した難度を示す難度情報と、を含む曲データを格納する記憶装置を備えたコンピュータに、
演奏操作子の操作にしたがって、操作された演奏操作子に対応する音高情報と、操作タイミングおよび操作されていた時間を含む時間情報と、を含む演奏データを生成して、前記記憶手段に格納する演奏データ生成ステップと、
前記曲データと前記演奏データとを比較して、前記所定の音符のそれぞれについての技術要素のクリア状況を判断し、技術要素ごとの演奏者の達成度を示す情報を生成する演奏者達成度判定ステップと、
前記演奏者による楽曲の演奏時間および演奏回数を含む、前記演奏者による練習状況に基づき、楽曲ごとの当該練習状況を示す指標値を生成する練習状況判定ステップと、
前記楽曲数に基づき、あらかじめ記憶された元画像を複数の部分画像に分割し、前記楽曲ごとの練習状況を示す指標値に基づき、前記元画像の部分画像それぞれから、当該各部分画像を構成する所定の構成要素を変換することにより第１の変換画像を生成するとともに、当該第１の変換画像を前記技術要素数に基づき複数の部分画像に別途分割し、前記技術要素ごとの達成度を示す情報に基づき、前記第１の変換画像の別途分割された部分画像それぞれから、前記所定の構成要素とは異なる他の構成要素を変換することにより第２の変換画像データを生成する画像変換ステップと、を実行させ、
前記第２の変換画像データに基づく画像が表示装置に表示されることを特徴とする演奏評価プログラムにより達成される。
【発明の効果】
【００１７】
本発明によれば、楽曲を練習する演奏者の楽しみを損なわず、また、演奏者による練習努力を考慮した演奏評価を行なうことができる演奏評価装置、および、演奏評価プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の実施の形態にかかる演奏評価装置の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかる演奏評価装置１０において実行される処理の概略を示すフローチャートである。
【図３】図３は、本実施の形態にかかる演奏評価データのデータ構造例を示す図である。
【図４】図４（ａ）は、本実施の形態にかかる曲データの構成例を示す図、図４（ｂ）は、本実施の形態にかかる演奏データの構成例を示す図である。
【図５】。図５は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。
【図６】図６は、本実施の形態にかかるデモスイッチ処理の例を示すフローチャートである。
【図７】図７は、本実施の形態にかかる演奏スイッチ処理の例を示すフローチャートである。
【図８】図８は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかるソング処理の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかるソング処理の例を示すフローチャートである。
【図１１】図１１は、本実施の形態にかかる評価処理の例を示すフローチャートである。
【図１２】図１２は、本実施の形態にかかる技術クリアレベルｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］の算出処理の例を示すフローチャートである。
【図１３】図１３は、本実施の形態にかかるクリア数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］の例を示すフローチャートである。
【図１４】図１４は、スキルレベルレジスタの値（スキルレベル値）Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］の算出例を示すフローチャートである。
【図１５】図１５は、本実施の形態にかかる状況確認処理の例を示すフローチャートである。
【図１６】図１６は、本実施の形態にかかる状況確認処理の例を示すフローチャートである。
【図１７】図１７は、本実施の形態における画像エリアの分割の例を示す図である。
【図１８】図１８は、他の実施の形態にかかるスキルレベル値の算出処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかる演奏評価装置の構成を示すブロックダイヤグラムである。図１に示すように、本実施の形態にかかる演奏評価装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、大規模記憶装置１４、入力装置１５、表示装置１６、サウンドシステム１７および鍵盤１８を有している。
【００２０】
ＣＰＵ１１は、演奏者による押鍵に応じた楽音の発生、演奏者による楽曲の演奏に対する演奏評価、演奏評価に基づく画像の生成など種々の処理を実行する。ＲＯＭ１２は、演奏者による押鍵に応じた楽音の発生、演奏者による楽曲の演奏に対する演奏評価、演奏評価に基づく画像の生成など種々の処理の処理プログラム、処理に使用するパラメータ、演奏者の押鍵にしたがって発音される楽音のための、種々の楽器（ピアノ、ギター、トランペットなど）の波形データを格納する。ＲＡＭ１３は、プログラムの実行の過程で生じたパラメータ、入力データ、出力データなどを一時的に記憶する。大規模記憶装置１４は、ハードディスク装置やメモリカードなどであり、楽曲データなどを格納する。
【００２１】
入力装置１５は、スイッチ類、キーボード、マウスなどを含み、操作者のスイッチ操作、キー操作、マウスの操作に基づく種々の指示などをＣＰＵ１１に与える。表示装置１６の画面上には、楽曲データに基づく楽譜、演奏評価に基づく画像などが表示される。サウンドシステム４０は、楽音生成回路、増幅器、スピーカなどを含み、楽曲データにしたがって、或いは、操作者による鍵盤１８の押鍵操作にしたがって所定の楽音を生成して、楽音に基づく音響信号を出力する。なお、上記実施の形態において、鍵盤１８は必須ではなく、他の形態の操作子の操作によって楽音が発音されるように構成しても良い。
【００２２】
本実施の形態にかかる演奏評価装置１０は、鍵盤楽器の形態であっても良いし、或いは、パーソナルコンピュータのような形態であっても良い。鍵盤楽器の形態であれば、操作者は、表示装置１６の画面上に表示された楽譜を参照して、鍵盤１８中の鍵を押鍵し、サウンドシステム１７が、操作者の押鍵に応答して、押鍵された鍵の音高に対応する楽音データを生成することで、サウンドシステム１７から楽音を出力することができる。
【００２３】
図２は、本実施の形態にかかる演奏評価装置１０において実行される処理の概略を示すフローチャートである。図２に示すように、本実施の形態にかかる演奏評価装置１０のＣＰＵ１１は、ＲＡＭ１３に格納されたパラメータ等のクリア、表示装置１６の画面上に表示された画像のクリアなどを含むイニシャライズを実行する（ステップ２０１）。次いで、スイッチ処理（ステップ２０２）、鍵盤処理（ステップ２０３）、ソング処理（ステップ２０４）、評価処理（ステップ２０５）、状況確認処理（ステップ２０６）およびその他の処理（ステップ２０７）が実行される。ステップ２０２〜２０７は繰り返される。ステップ２０２〜２０６のそれぞれについては後に詳細に説明する。
【００２４】
図３は、本実施の形態にかかる演奏評価データのデータ構造例を示す図である。曲データは、たとえば、大規模記憶装置１４に格納され、処理の際に、ＣＰＵ１１により、ＲＡＭ１３にコピーされる。図３に示すように、演奏評価データは、Ｌ個のソングセットのレコード群ＳｏｎｇＳｅｔ［ｌ］（ｌ＝０〜Ｌ０１）を有する（符号３００参照）。たとえば、ソングセットのレコード群ＳｏｎｇＳｅｔ「０」（符号３０１参照）には、Ｍ個のソングのレコード群Ｓｏｎｇ［ｍ］（ｍ＝０〜Ｍ−１）が含まれる（符号３１０参照）。本実施の形態においては、あるソングセットには、複数の楽曲（ソング）が含まれるようになっている。
【００２５】
たとえば、ソングのレコード群Ｓｏｎｇ［０］（符号３１１）には、以下に述べる複数のレコード（符号３２０）が含まれる。ソングのレコード群には、曲データの先頭アドレスを示す曲データポインタ３２１、演奏データの先頭アドレスを示す演奏データポインタ３２２、楽曲の演奏難度の総計である難度総計ｄｉｆｆ３２３、演奏の際に演奏者がおこなうべき技術要素ごとに、楽曲における当該技術要素の有無を示す、Ｎ個の演奏技術値ｔｅｃｈ［０］〜ｔｅｃｈ［Ｎ−１］（符号３２４参照）というレコードを有する。
【００２６】
楽曲の技術要素には、上記Ｎ個の添え字の何れかが対応付けられる。楽曲の技術要素には、たとえば、ｎ＝０：右手指くぐり、ｎ＝１：右手オクターブ、ｎ＝２：右手による和音進行、ｎ＝３：左手指くぐり、ｎ＝４：左手和音演奏、ｎ＝５：左手オクターブ、ｎ＝６：アルペジオ、ｎ＝７：ペダル使用・・・などが含まれる。
【００２７】
たとえば、ある楽曲について、以下のような演奏技術値であること、および、その示すところを列挙する。
【００２８】
ｔｅｃｈ［０］＝１：右手指くぐり有り
ｔｅｃｈ［１］＝１：右手オクターブ有り
ｔｅｃｈ［２］＝０：右手による和音進行なし
ｔｅｃｈ［３］＝０：左手指くぐり無し
ｔｅｃｈ［４］＝０：左手和音演奏なし
ｔｅｃｈ［５］＝１：左手オクターブ有り
ｔｅｃｈ［６］＝０：アルペジオ無し
ｔｅｃｈ［７］＝１：ペダル使用有り
：
また、本実施の形態においては、演奏の技術要素ごとに、その技術難度を示す値が、ＲＡＭ１３中のレコードｔｄｉｆｆ［０］〜ｔｄｉｆｆ［Ｎ−１］に格納されている（符号３３０参照）。たとえば、ｔｄｉｆｆ［０］（符号３３１参照）には、右手指くぐりの技術難度を示す値が格納される。他のレコードにも、以下のように、添え字に対応した技術要素の技術難度を示す値が格納される。
【００２９】
ｔｄｉｆｆ［０］＝１：右手指くぐりの技術難度
ｔｄｉｆｆ［１］＝２：右手オクターブの技術難度
ｔｄｉｆｆ［２］＝４：右手による和音進行の技術難度
ｔｄｉｆｆ［３］＝３：左手指くぐりの技術難度
ｔｄｉｆｆ［４］＝５：左手和音演奏の技術難度
ｔｄｉｆｆ［５］＝３：左手オクターブの技術難度
ｔｄｉｆｆ［６］＝３：アルペジオの技術難度
ｔｄｉｆｆ［７］＝２：ペダル使用の技術難度
：
したがって、難度総計ｄｉｆｆのレコード（符号３２３参照）には、
Σｔｅｃｈ［ｎ］×ｔｄｉｆｆ［ｎ］
が格納されることになる。
【００３０】
図４（ａ）は、本実施の形態にかかる曲データの構成例を示す図、図４（ｂ）は、本実施の形態にかかる演奏データの構成例を示す図である。図４（ａ）に示すように、曲データ４００は、ステップタイムのレコード（たとえば符号４０１参照）、ノートオンイベントのレコード（たとえば符号４０２参照）、ゲートタイムのレコード（たとえば符号４０３参照）を有する。ノートオンイベントのレコード（符号４０２）は、音高、音色情報を格納するサブレコード４０４およびノートオンイベントにかかる音符に関連した演奏技術値ｔｅｃｈ［ｐ］を格納するサブレコード４０５を有する。演奏技術値のためのサブレコード４０５には、複数の演奏技術値が格納され得る。
【００３１】
ゲートタイムのレコードは、ノートオンイベントに示す楽音の発音時間が格納される。また、ステップタイムのレコードは、ノートオンイベント間の時間間隔が格納される。曲データは、大規模記憶装置１４に格納され、ソング処理により演奏すべき楽曲についての曲データのレコード群がＲＡＭ１３にコピーされる。
【００３２】
演奏データは、演奏者による押鍵および離鍵に伴って、ＲＡＭ１３中に生成される。図４（ｂ）に示すように、演奏データ４１０も、ステップタイム（たとえば符号４１１参照）、ノートオンイベント（たとえば符号４１２参照）およびゲートタイム（たとえば符号４１３参照）のレコードを有する。ノートオンイベントのレコードには、音高情報が格納される。
【００３３】
以下、図２に示す、ＣＰＵ１１により実行される種々の処理について説明する。図５は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。図５に示すように、ＣＰＵ１１は、ソングセット指定スイッチがオンされたかを判断する（ステップ５０１）。ステップ５０１でＹｅｓと判断された場合には、ＣＰＵ１１は、ＲＡＭ１３中のパラメータＳｅｔＰｔｒに、指定された値をセットする（ステップ５０２）。また、ステップ５０２において、大規模記憶装置１４中の指定されたソングセットの楽曲データをＲＡＭ１３にコピーしても良い。
【００３４】
ステップ５０１でＮｏと判断された場合には、ソング指定スイッチがオンされたかを判断する（ステップ５０３）。ステップ５０３でＹｅｓと判断された場合には、ＣＰＵ１１は、ＣＰＵ１１は、ＲＡＭ１３中のパラメータＳｏｎｇＰｔｒに、指定された値をセットする（ステップ５０４）。ステップ５０３でＮｏと判断された場合には、ＣＰＵ１１は、デモスイッチがオンされたかを判断する（ステップ５０５）。ステップ５０５でＹｅｓと判断された場合には、ＣＰＵ１１は、デモスイッチ処理を実行する（ステップ５０６）。
【００３５】
図６は、本実施の形態にかかるデモスイッチ処理の例を示すフローチャートである。図６に示すように、デモスイッチ処理において、ＣＰＵ１１は、ＲＡＭ１３中のデモフラグＤＦを反転し（ステップ６０１）、デモフラグＤＦが「１」であるかを判断する（ステップ６０２）。ステップ６０２でＹｅｓと判断された場合には、ＣＰＵ１１は、ＲＡＭ１３中の曲データの先頭アドレスを、ＲＡＭ１３中のパラメータＤＡＤに格納する（ステップ６０３）。また、ＣＰＵ１１は、第１および第２のデモ用カウンタのカウントを開始する（ステップ６０４）。ステップ６０４におけるカウント開始によって、ＣＰＵ１１により所定の時間間隔で実行されるタイマインタラプト処理において、第１および第２のデモ用カウンタのカウンタ値がインクリメントされる。ステップ６０２でＮｏと判断された場合には、ＣＰＵ１１は、第１および第２のデモ用カウンタを停止する（ステップ６０５）。
【００３６】
ステップ５０５でＮｏと判断された場合には、ＣＰＵ１１は、演奏スイッチがオンされたかを判断する（ステップ５０７）。ステップ５０７でＹｅｓと判断された場合には、ＣＰＵ１１は、演奏スイッチ処理を実行する（ステップ５０８）。図７は、本実施の形態にかかる演奏スイッチ処理の例を示すフローチャートである。図７に示すように、演奏スイッチ処理において、ＣＰＵ１１は、演奏フラグＰＦを反転し（ステップ７０１）、演奏フラグＰＦが「１」であるかを判断する（ステップ７０２）。
【００３７】
ステップ７０２でＹｅｓと判断された場合には、ＣＰＵ１１は、演奏データの先頭アドレスを、ＲＡＭ１３中のパラメータＰＡＤに格納する（ステップ７０３）。次いで、ＣＰＵ１１は、パラメータＰＡＤにて示される演奏データのレコードに、ステップタイム初期値を格納する（ステップ７０４）。ステップタイム初期値は任意の値（たとえば「０」）で良い。その後、ＣＰＵ１１は、アドレスを示すパラメータＰＡＤを歩進する（ステップ７０５）。また、ＣＰＵ１１は、演奏用カウンタによるカウントを開始する（ステップ７０６）。演奏用カウンタのカウンタ値も、他のカウンタと同様に、ＣＰＵ１１により所定の時間間隔で実行されるタイマインタラプト処理においてインクリメントされる。ステップ７０２でＮｏと判断された場合には、ＣＰＵ１１は、演奏用カウンタを停止し（ステップ７０７）、ＲＡＭ１３中の演奏終了フラグに「１」をセットする（ステップ７０８）。
【００３８】
ステップ５０７でＮｏと判断された場合には、ＣＰＵ１１は、状況確認スイッチがオンされたかを判断する（ステップ５０９）。ステップ５０９でＹｅｓと判断された場合には、ＣＰＵ１１は、ＲＡＭ１３中の確認フラグＣＦを「１」にセットする（ステップ５１０）。ステップ５０９でＮｏと判断された場合には、ＣＰＵ２１は、他のスイッチのオンに応じた処理（たとえば、音色指定スイッチに基づく、ＲＡＭ２３への音色情報の格納処理など）を実行する（ステップ５１１）。
【００３９】
スイッチ処理（ステップ２０２）が終了すると、ＣＰＵ１１は、鍵盤処理を実行する（ステップ２０３）。図８は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。図８に示すように、ＣＰＵ１１は、鍵を操作して、ある鍵について状態が変化したかを判断する（ステップ８０２）。鍵が新たにオンされた場合には、ＣＰＵ１１は、オンされた鍵に対応する音高で、所定の音色の楽音を発音するように、サウンドシステム１７の音源部に指示する（ステップ８０３）。次いで、ＣＰＵ１１は、演奏フラグＰＦが「１」であるかを判断する（ステップ８０４）。
【００４０】
ステップ８０４でＹｅｓと判断された場合には、ＣＰＵ１１は、ＰＡＤにて示される演奏データのレコードに、ステップタイムを格納する（ステップ８０５）。ステップタイムは、後述するようにＲＡＭ１３に格納されるオン時刻Ｏｎｔｉｍｅと、演奏用カウンタ値との差を演算することにより得ることができる。次いで、ＣＰＵ１１は、アドレスを示すパラメータＰＡＤを歩進する（ステップ８０６）。
【００４１】
ＣＰＵ１１は、ＰＡＤにて示される演奏データのレコードに、オン状態となった鍵に対応する音高を格納する（ステップ８０７）。また、ＣＰＵ１１は、ＲＡＭ１３中の格納されたオン時刻Ｏｎｔｉｍｅとして、演奏用カウンタ値を与える（ステップ８０８）。次いで、ＣＰＵ１１は、演奏データのアドレスを示すパラメータＰＡＤを歩進する（ステップ８０９）。
【００４２】
ステップ８０２で、鍵が新たにオフされたと判断されると、ＣＰＵ１１は、オフとなった鍵に対応する音高の楽音の消音を、サウンドシステム１７の音源部に指示する（ステップ８１０）。次いで、ＣＰＵ１１は、演奏フラグＰＦが「１」であるかを判断する（ステップ８１１）。ステップ８１１でＹｅｓと判断された場合には、ＣＰＵ１１は、ＰＡＤにて示される演奏データのレコードに、ゲートタイムを格納する（ステップ８１２）。ゲートタイムは、ＲＡＭ１３中のオン時刻Ｏｎｔｉｍｅ値と、現在の演奏用カウンタのカウンタ値との差を演算することにより得ることができる。次いで、ＣＰＵ１１は、演奏データのアドレスを示すパラメータＰＡＤを歩進する（ステップ８０９）。
【００４３】
鍵盤処理（ステップ２０３）が終了すると、ＣＰＵ１１は、ソング処理を実行する（ステップ２０４）。図９および図１０は、本実施の形態にかかるソング処理の例を示すフローチャートである。図９に示すように、ＣＰＵ１１は、デモフラグＤＦが「１」であるかを判断する（ステップ９０１）。ステップ９０１でＹｅｓと判断された場合には、第１および第２のデモ用カウンタの最小単位時間が経過しているかを判断する（ステップ９０２）。たとえば、ステップ９０２では、カウンタ値が前回のソング処理から変化しているか（増分しているか）を判断すれば良い。
【００４４】
ステップ９０２でＹｅｓと判断された場合には、第１のデモ用カウンタ値が、ＲＡＭ１３中のゲートタイム格納レジスタのレジスタ値ＧＴより小さいかを判断する（ステップ９０３）。ステップ９０３では、後述するステップ１００５で発音された楽音の消音時間に到達しているかが調べられている。ステップ９０３でＮｏ、つまり、第１のデモ用カウンタのカウント値が、レジスタ値ＧＴ以上である場合には、ＣＰＵ１１は、現在発音されている楽音の消音を、サウンドシステム１７の音源部に指示する（ステップ９０４）。また、ＣＰＵ１１は、第１のデモ用カウンタを停止するとともに、カウンタ値をクリアする（ステップ９０５）。
【００４５】
ステップ９０３でＹｅｓと判断された場合には、第２のデモ用カウンタのカウンタ値が、ＣＰＵ１１は、ＲＡＭ１３中のステップタイム格納レジスタのレジスタ値ＳＴ以上であるかを判断する（ステップ９０６）。ステップ９０６でＮｏと判断された場合には、ソング処理を終了する。ステップ９０６でＹｅｓと判断された場合には、ＣＰＵ１１は、曲データのアドレスを示すパラメータＤＡＤを歩進する（ステップ１００１）。次いで、ＣＰＵ１１は、ＤＡＤが、曲データの最終アドレス値以下であるかを判断する（ステップ１００２）。ステップ１００２でＹｅｓと判断された場合には、ＣＰＵ１１は、パラメータＤＡＤが示す曲データ中のレコードを取得する（ステップ１００３）。
【００４６】
ＣＰＵ１１は、レコードがノートオンイベントを示すかを判断する（ステップ１００４）。ステップ１００４でＹｅｓと判断された場合には、ＣＰＵ１１は、曲データのレコード中の音高で、所定の音色の楽音を発音するように、サウンドシステム１７の音源部に指示する（ステップ１００５）。また、ＣＰＵ１１は、第１および第２のデモ用カウンタのカウンタ値をクリアする（ステップ１００６）。その後、ステップ１００１に戻る。
【００４７】
ステップ１００４でＮｏと判断された場合には、ＣＰＵ１１は、レコードがゲートタイムであるかを判断する（ステップ１００７）。ステップ１００７でＹｅｓと判断された場合には、ＣＰＵ１１は、レコード中のゲートタイムを、ゲートタイム格納レジスタのレジスタ値ＧＴとして格納する（ステップ１００８）。その後、ステップ１００１に戻る。ステップ１００７でＮｏと判断された場合、つまり、レコードがステップタイムのレコードである場合には、ＣＰＵ１１は、レコード中のステップタイムを、ステップタイム格納レジスタのレジスタＳＴに格納する（ステップ１００９）。
【００４８】
ソング処理（ステップ２０４）が終了すると、ＣＰＵ１１は、評価処理を実行する（ステップ２０５）。図１１は、本実施の形態にかかる評価処理の例を示すフローチャートである。図１１に示すように、ＣＰＵ１１は、演奏終了フラグが「１」であるかを判断する（ステップ１１０１）。ステップ１１０１でＹｅｓと判断された場合には、ＣＰＵ１１は、パラメータＳｏｎｇＰｔｒで特定される楽曲の演奏回数を示す演奏回数レジスタ値ｃｏｕｎｔ［ＳｏｎｇＰｔｒ］を更新する（ステップ１１０２）。なお、ステップ１１０１〜１１０８のそれぞれにて利用されるレジスタは、ＲＡＭ２３中に設けられる。
【００４９】
ＣＰＵ１１は、パラメータＳｏｎｇＰｔｒで特定される楽曲の総演奏時間を示す演奏時間レジスタ値ｔｉｍｅ［ＳｏｎｇＰｔｒ］を更新する（ステップ１１０３）。演奏時間は、たとえば、演奏データの最初のノートオンにかかるレコードに含まれる時刻、最後のノートオンにかかるレコードに含まれる時刻、および、最後のレコードに含まれるゲートタイムに基づいて算出することができる。算出された演奏時間を、レジスタに格納された値に加算することにより、演奏時間レジスタ値ｔｉｍｅ［ＳｏｎｇＰｔｒ］を更新することがえきる。
【００５０】
次いで、ＣＰＵ１１は、パラメータＳｏｎｇＰｔｒで特定される楽曲について、技術クリアレベルレジスタ値ｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］を算出する（ステップ１１０４）。図１２は、本実施の形態にかかる技術クリアレベルｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］の算出処理の例を示すフローチャートである。なお、図１２で得られるパラメータやレジスタ値は、ＲＡＭ１３中に格納される。図１２に示すように、ＣＰＵ１１は、ある楽曲の技術要素ｔｅｃｈ［ｎ］のそれぞれについて、その技術要素のクリア数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］を算出する（ステップ１２０１）。図１３は、本実施の形態にかかるクリア数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］の例を示すフローチャートである。
【００５１】
まず、ＣＰＵ１１は、技術要素ｔｅｃｈ［ｎ］を特定するためのパラメータｎを「０」に初期化する（ステップ１３０１）。次いで、ＣＰＵ１１は、演奏要素ｔｅｃｈ［ｎ］についてのクリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］が「０」であるかを判断する（ステップ１３０２）。クリアフラグｃｌｅａｒ[ｔｅｃｈ［ｎ］]は、演奏者が、楽曲においてｔｅｃｈ［ｎ］で示される技術要素を既にクリアしているかを示す。ステップ１３０２でＮｏ、つまり、クリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］＝１である場合には、ステップ１３１０に進む。
【００５２】
ステップ１３０２でＹｅｓと判断された場合には、楽曲にあらわれる演奏要素ｔｅｃｈ［ｎ］の数を示すパラメータｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］および技術要素のクリア数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］を、それぞれ「０」に初期化する（ステップ１３０３）。ＣＰＵ１１は、ＲＡＭ１３の曲データにおいて、ｔｅｃｈ［ｎ］のサブレコードを含むノートオンイベントのレコードを取得する（ステップ１３０４）。また、ＣＰＵ１１は、パラメータｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］をインクリメントする（ステップ１３０５）。また、ＣＰＵ１１は、ＲＡＭ１３の演奏データにおいて、対応するノートオンイベントのレコードを特定する（ステップ１３０６）。
【００５３】
次いで、ＣＰＵ１１は、曲データのノートオンイベントのレコードおよび関連するゲートタイム、ステップタイムのレコードと、演奏データの対応するノートオンイベントのレコードおよび関連するゲートタイム、ステップタイムのレコードと、を比較して、ノートオンイベントが示す押鍵において、ｔｅｃｈ［ｎ］が示す技術要素がクリアされたかを判断する（ステップ１３０７）。たとえば、ノートオンイベントが示す音高や、押鍵タイミングが、双方のデータのレコードで一致する場合には、技術要素がクリアされたと判断すれば良い。
【００５４】
ステップ１３０７でＹｅｓと判断された場合には、ＣＰＵ１１は、技術要素ｔｅｃｈ［ｎ］のクリア数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］をインクリメントする（ステップ１３０８）。ＣＰＵ１１は、処理対象となるレコードが曲データの末尾まで到達したかを判断し（ステップ１３０９）、ステップ１３０９でＮｏと判断された場合には、ステップ１３０４に戻る。ステップ１３０９でＹｅｓと判断された場合には、ＣＰＵ１１は、パラメータｎをインクリメントし（ステップ１３１０）、全ての技術要素ｔｅｃｈ［ｎ］について処理が終了しているか（つまり、ｎ＞Ｎ−１であるか）を判断する（ステップ１３１１）。ステップ１３１１でＹｅｓと判断された場合には処理を終了する。その一方、ステップ１３１１でＮｏと判断された場合にはステップ１３０２に戻る。
【００５５】
ステップ１２０１が終了すると、ＣＰＵ１１は、ある楽曲の技術要素ｔｅｃｈ［ｎ］のそれぞれについて、技術要素ｔｅｃｈ［ｎ］のクリア率ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］を算出する（ステップ１２０２）。クリア率ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］は、以下の式に基づき算出することができる。
【００５６】
ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］
＝ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］／ｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］
ＣＰＵ１１は、クリア率ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］に基づき、楽曲の技術要素ｔｅｃｈ［ｎ］についてのクリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］を取得する（ステップ１２０３）。クリアフラグは、既にｃｌｅａｒ［ｔｅｃｈ［ｎ］］＝１であるようなクリアフラグ以外のものについて、ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］が、所定の閾値（たとえば、０．７５）より大きい場合に、ｃｌｅａｒ［ｔｅｃｈ［ｎ］］＝１とすれば良い。
【００５７】
その後、ＣＰＵ１１は、クリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］および当該技術要素の技術難度ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］に基づき、楽曲についての技術クリアレベルｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］を得る（ステップ１２０４）。技術クリアレベルｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］は、以下の数式に基づき算出することが出来る。
【００５８】
ｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］
＝Σｃｌｅａｒ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］
ステップ１１０４が終了すると、ＣＰＵ１１は、パラメータＳｏｎｇＰｔｒで特定される楽曲について、演奏評価レジスタ値ｅｖａｌ［ＳｏｎｇＰｔｒ］を算出する（ステップ１１０５）。演奏評価レジスタの値である演奏評価値は、たとえば、以下のように算出することができる。
【００５９】
ＣＰＵ１１は、曲データのノートオンイベント、当該ノートオンイベントに関連するステップタイムおよびゲートタイムのレコードと、演奏データにおいて、当該ノートオンイベントに対応する、ノートオンイベント、当該ノートオンイベントに関連するステップタイムおよびゲートタイムのレコードと、を比較する。比較においては、ＣＰＵ１１は、曲データに基づく模範演奏における音高、押鍵時刻、押鍵時間と、演奏データに基づく演奏者による実際の演奏における音高、押鍵時刻、押鍵時間と、のそれぞれの差分（（曲データにおける音高−演奏データにおける音高）、（曲データにおける押鍵時刻−演奏データにおける押鍵時刻）、（曲データにおける押鍵時間−演奏データにおける押鍵時間））を算出する。
【００６０】
ＣＰＵ１１は、上記差分値の二乗和の平方根（模範演奏と実際の演奏との間の距離）を算出して、ＤＰマッチングの技法により、模範演奏と実際の演奏との相違を示す指標値を算出し、これを演奏評価レジスタ値ｅｖａｌ［ＳｏｎｇＰｔｒ］とすれば良い。
【００６１】
次いで、ＣＰＵ１１は、演奏者における技術要素ｔｅｃｈ［ｎ］ごとのスキルレベルレジスタ値Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］を更新する（ステップ１１０６）。図１４は、スキルレベルレジスタの値（スキルレベル値）Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］の算出例を示すフローチャートである。なお、図１４の処理においても、各種パラメータはＲＡＭ１３に格納される。
【００６２】
図１４に示すように、ＣＰＵ１１は、技術要素ｔｅｃｈ［ｎ］を特定するためのパラメータｎを「０」に初期化する（ステップ１４０１）。ＣＰＵ１１は、予めＲＡＭ１３に格納されていた累算技術要素数Ａｃｃｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］に、ステップ１２０１で得られた技術要素数ｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］を加算する（ステップ１４０２）。また、ＣＰＵ１１は、ＲＡＭ１３に格納された累算クリア要素数Ａｃｃｃｌｎｕ［ｔｅｃｈ［ｎ］］に、ステップ１２０１で得られたクリア要素数ｃｌｎｕｍ［ｔｅｃｈ［ｎ］］を加算する。楽曲の演奏を繰り返すのにしたがって、演奏の際に現れた技術要素数は、累算技術要素数Ａｃｃｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］として蓄積され、また、クリアされた技術要素数も、累算クリア要素数Ａｃｃｃｌｎｕ［ｔｅｃｈ［ｎ］］として蓄積される。
【００６３】
次いで、ＣＰＵ１１は、累算技術要素数Ａｃｃｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］および累算クリア要素数Ａｃｃｃｌｎｕｍ［ｔｅｃｈ［ｎ］］に基づき、技術要素ｔｅｃｈ［ｎ］についてのスキルレベルレジスタの値（スキルレベル値）Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］を算出する（ステップ１４０３）。スキルレベル値は以下のように算出することができる。
【００６４】
Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］＝
Ａｃｃｃｌｎｕｍ［ｔｅｃｈ［ｎ］］／Ａｃｃｔｅｃｈｎｕｍ［ｔｅｃｈ［ｎ］］
すなわち、スキルレベル値は、技術要素ｔｅｃｈ［ｎ］について演奏した全ての楽曲を考慮した、演奏要素のクリアの割合を示す。
【００６５】
その後、ＣＰＵ１１は、パラメータｎをインクリメントする（ステップ１４０４）。ＣＰＵ１１は、全ての技術要素ｔｅｃｈ［ｎ］について処理が終了しているか（つまり、ｎ＞Ｎ−１であるか）を判断する（ステップ１４０５）。ステップ１４０５でＹｅｓと判断された場合には処理を終了する。その一方、ステップ１４０５でＮｏと判断された場合にはステップ１４０２に戻る。得られたスキルレベル値は、初期的には「０」であり、種々の楽曲の演奏を繰り返して、当該技術要素をクリアしていくのにしたがって、値が「１」に近付いていく。
【００６６】
次いで、ＣＰＵ１１は、演奏者の達成度を考慮した、楽曲ＳｏｎｇＰｔｒの難度レジスタの値ＳｏｎｇＤｉｆｆ［ＳｏｎｇＰｔｒ］を更新する（ステップ１１０７）。各技術要素ｔｅｃｈ［ｎ］についてのクリア率ｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］と、その技術難度を示すｔｄｉｆｆ［ｔｅｃｈ［ｎ］］に基づいて、以下のように算出することができる。
【００６７】
ＣＰＵ１１は、演奏者が楽曲ＳｏｎｇＰｔｒを演奏することで、達成された難度Σｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］を算出する。次いで、楽曲に固有の難度総計ｄｉｆｆから、演奏者により達成された難度Σｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］を減じれば良い。つまり、演奏者の達成度を考慮した難度値は、
ＳｏｎｇＤｉｆｆ［ＳｏｎｇＰｔｒ］＝ｄｉｆｆ［ＳｏｎｇＰｔｒ］
−Σｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］
により算出することができる。
【００６８】
次いで、ＣＰＵ１１は、選択されたソングセットＳｅｔＰｔｒについてのクリアフラグＣｌｆｌｇ［ＳｅｔＰｔｒ］のセットを判定する（ステップ１１０８）。ステップ１１０８において、ソングセットＳｅｔＰｔｒに含まれる楽曲について、一定の技術要素をクリアした場合に、クリアフラグＣｌｆｌｇ［ＳｅｔＰｔｒ］が「１」にセットされる。
【００６９】
より具体的には、ＣＰＵ１１は、各楽曲についての技術クリアレベルｔｃｌｅａｒ［ＳｏｎｇＰｔｒ］が、それぞれ一定の第１の閾値より大きいこと、および、演奏評価値ｅｖａｌ［ＳｏｎｇＰｔｒ］が、それぞれ所定の第２の閾値より小さいことが成立していれば、クリアフラグＣｌｆｌｇ［ＳｅｔＰｔｒ］が「１」にセットされる。
【００７０】
評価処理（ステップ２０５）が終了すると、ＣＰＵ１１は、状況確認処理を実行する（ステップ２０６）。図１５、１６は、本実施の形態にかかる状況確認処理の例を示すフローチャートである。状況確認処理においては、現在の演奏者による教習状況に基づく画像が生成される。図１５に示すように、ＣＰＵ１１は、ＲＡＭ１３から変換前の元画像の画像データを取得する（ステップ１５０１）。また、ＣＰＵ１１は、選択されたソングセットＳｏｎｇＳｅｔＰｔｒに含まれるソング数Ｍを取得する（ステップ１５０２）とともに、演奏要素ｔｅｃｈ［］の総数Ｎを取得する（ステップ１５０３）。
【００７１】
次いで、ＣＰＵ１１は、ＲＡＭ１３中に、変換済画像の画像データを格納するための画像エリアを確保して、当該画像エリアに、元画像の画像データをコピーする（ステップ１５０４）。ＣＰＵ１１は、ソング数Ｍにしたがって、画像エリアを、Ｍ分割する（ステップ１５０５）。また、ＣＰＵ１１は、画像エリアを指定するためのパラメータｉを「０」に初期化する（ステップ１５０６）。
【００７２】
ＣＰＵ１１は、パラメータｉがソング数Ｍより小さいかを判断し（ステップ１５０７）、ステップ１５０７でＮｏと判断された場合には、ＣＰＵ１１は、画像エリア中に生成された変換済画像の画像データを取得して、取得したデータに基づく画像を表示装置１６の画面上に表示する（ステップ１５０８）。その後、状況確認処理を終了する。ステップ１５０７でＹｅｓと判断された場合には、ＣＰＵ１１は、難度値ＳｏｎｇＤｉｆｆ［ｉ］に基づいて、分割されたエリアの画像の濃度変換を行なう（ステップ１６０１）。前述したように、楽曲ｉについて、演奏者の達成度を考慮した難度値であり、以下のように表される。
【００７３】
ＳｏｎｇＤｉｆｆ［ｉ］＝ｄｉｆｆ［ｉ］
−Σｃｌｒａｔｅ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］
上記ＳｏｎｇＤｉｆｆは、技術要素のクリアの度合いが大きくなるのにしたがって減少し、全ての技術要素をクリアした段階で「０」となる。したがって、画像エリア中の画素の濃度値Ｄを、ＳｏｎｇＤｉｆｆの初期値（＝ｄｉｆｆ）のときには、Ｄより大きい所定の値Ｄｉｎｔとして、すべての技術要素をクリアした状態のときに、濃度値が当初の値Ｄｏｒｇとなるように算出すれば良い。すなわち、ＣＰＵ１１は、濃度値Ｄを、
Ｄ＝（Ｄｉｎｔ−Ｄｏｒｇ）／ｄｉｆｆ［ｉ］×ＳｏｎｇＤｉｆｆ［ｉ］＋Ｄｏｒｇ
により算出すれば良い。
【００７４】
次いで、ＣＰＵ１１は、演奏回数値ｃｏｕｎｔ［ｉ］および演奏時間値ｔｉｍｅ［ｉ］に基づいて、分割されたエリアの画像の彩度変換を行なう（ステップ１６０２）。演奏回数値ｃｏｕｎｔ［ｉ］および演奏時間値ｔｉｍｅ［ｉ］は、楽曲を演奏するたびに値が加算される。これら指標値に重みを与えた変数（ａ×ｃｏｕｎｔ［ｉ］＋ｂ×ｔｉｍｅ［ｉ］）が、「０」（つまり練習当初）のときには、画素の彩度が初期値Ｓｉｎｔであり、上記変数がＴＨ以上のときには、画素の彩度が当初の値Ｓｏｒｇとなるように算出すれば良い。つまり、ＣＰＵ１１は、画素の彩度値Ｓを、
Ｓ＝（Ｓｏｒｇ−Ｓｉｎｇ）／ＴＨ×（ａ×ｃｏｕｎｔ［ｉ］＋ｂ×ｔｉｍｅ［ｉ］）
＋Ｓｏｒｇ
により算出すれば良い。
【００７５】
次いで、ＣＰＵ１１は、スキルレベル値を特定するためのパラメータｐを、ｐ＝ｉ×Ｎ／Ｍにより求める（ステップ１６０３）。本実施の形態においては、ｉ×Ｎ／Ｍの小数点以下を切り捨てて、整数値ｐが得られる。ＣＰＵ１１は、得られたｐにより特定される、スキルレベル値Ｓｋｉｌｌ［ｐ］に基づいて、処理対象となっているｉ番のエリアを再度分割する（ステップ１６０４）。前述したように、スキルレベル値は、初期的には「０」であり、種々の楽曲の演奏を繰り返して、当該技術要素をクリアしていくのにしたがって、値が「１」に近付いていくものである。したがって、ｉ番のエリアの解像度を、ｑ倍（０≦ｑ≦１）、すなわち、エリアに含まれる画素数ＰＮを、ｑ×ＰＮとなるように、エリアを分割すれば良い。
【００７６】
図１７は、本実施の形態における画像エリアの分割の例を示す図である。図１７に示す例においては、ソング数Ｍ＝１６（ｉ＝０〜１５）であり、また、演奏技術値ｔｅｃｈ［］の総数（技術要素数）Ｎ＝７である（ｐ＝０〜６）。この場合には、画像エリアは、ソング数Ｍに応じた１６分割されるとともに（たとえば、符号１７０１、１７０２参照）、技術要素数Ｍにしたがって、ｐ＝ｉ×Ｎ／Ｍとなるようにｐ分割される（たとえば、符号１７１１、１７１２参照）。
【００７７】
符号１７０１で特定されるエリアは、スキルレベル値Ｓｋｉｌｌ［０］にしたがって、再分割され、後述するように、再分割されたエリアに平滑化処理が施される。符号１７０１で特定されるエリアにおいても、同様に、スキルレベル値Ｓｋｉｌｌ［０］にしたがって、再分割され、後述するように、再分割されたエリアに平滑化処理が施される。
【００７８】
次いで、ＣＰＵ１１は、再分割されたエリアを特定するためのパラメータｊを「０」に初期化し（ステップ１６０５）、パラメータｊが分割数より小さいかを判断する（ステップ１６０６）。ステップ１６０６でＮｏと判断された場合には、ＣＰＵ１１は、パラメータｉをインクリメントして（ステップ１６０９）、ステップ１５０７に戻る。ステップ１６０７でＹｅｓと判断された場合には、ＣＰＵ１１は、パラメータｊで特定される、再分割されたエリアにおいて、当該エリアに含まれる画素値を平滑化する（ステップ１６０７）。これは、再分割されたエリアに含まれる画素値の平均値をとり、当該平均値を、再分割されたエリアの画素値とすれば良い。次いで、ＣＰＵ１１は、パラメータｊをインクリメントして（ステップ１６０８）、ステップ１６０６に戻る。
【００７９】
状況確認処理によって、画像エリアには、楽曲に対応するエリアにおいて、当該楽曲についての演奏者の達成度を考慮した難度値Ｓｏｎｇｄｉｆｆに基づいて濃度が変換され、、演奏回数および演奏時間に基づいて彩度が変換され、さらには、スキルレベル値に応じて、画素の解像度が変更されたような変換済画像の画像データが格納される。したがって、ステップ１５０８においては、上述したような変換済画像の画像データに基づく画像が、表示装置１６の画面上に表示される。
【００８０】
状況確認処理（ステップ２０６）が終了すると、ＣＰＵ１１は、その他の処理を実行する（ステップ２０７）。その他の処理には、変換済画像の表示以外の、表示装置１６にける画像の更新などが含まれる。
【００８１】
本実施の形態によれば、ＣＰＵ１１は、楽曲についての音高情報や時間情報を含む曲データと、演奏者による演奏に基づく演奏データとを比較して、所定の音符のそれぞれについての技術要素のクリア状況を、技術クリアレベル値ｔｃｌｅａｒを算出することにより判断し、かつ、技術要素ごとの演奏者の達成度を示す情報（スキルレベル値ｓｋｉｌｌ）を生成する。また、ＣＰＵ１１は、演奏者による楽曲の演奏時間ｔｉｍｅおよび演奏回数ｃｏｕｎｔを含む、演奏者による練習状況に基づき、楽曲ごとの当該練習状況を示す指標値を生成する。ＣＰＵ１１は、楽曲数に基づいて元画像を分割し、練習状況を示す指標値に基づき、分割されたエリアの部分画像における構成要素（たとえば、彩度および濃度）を変換するとともに、技術要素数に基づき元画像を別途分割し、技術要素ごとの達成度を示す情報に基づき、別途分割されたエリアの部分画像における他の構成要素（たとえば、解像度）を変換して、変換済の画像データを生成する。
【００８２】
変換済の画像を表示装置の画面状況を表示することにより、演奏に必要な技術要素の達成度、および、楽曲ごとの練習状況の双方を演奏者は把握することができる。また、元画像の構成要素を変換した変換済の画像を表示するため、技術要素の達成度や演奏状況を、画像の変化により確認することができる。
【００８３】
また、本実施の形態においては、画像変換手段が、演奏時間および演奏回数が増大するのにしたがって、変換済みの画像データの構成要素（彩度および濃度）が、元画像の画像データの構成要素の値に近くなるように、また、技術要素ごとの演奏者の達成度が高くなるのにしたがって、変換済みの画像データの他の構成要素（解像度）が、元画像の画像データの対応する構成要素の値に近くなるように、変換済みの画像データを生成する。これにより、演奏者に、練習を重ねることにより徐々に元画像を表示させるという、演奏行為における楽しみを与えることができる。
【００８４】
たとえば、本実施の形態においては、ＣＰＵ１１は、楽曲ごとに、クリア状況に基づき、当該技術要素の技術クリアレベルｔｃｌｅａｒを算出し、また、全ての楽曲のクリアレベルに基づき、技術要素ごとの達成度を示すスキルレベル値ｓｋｉｌｌを生成する。これにより、単に技術要素の難度ではなくユーザが克服した難度を考慮した演奏評価が可能となる。
【００８５】
また、本実施の形態においては、ＣＰＵ１１は、楽曲ごとのクリア状況に基づき、楽曲ごとに、演奏者による全ての技術要素を考慮した演奏レベルを示す難度ＳｏｎｇＤｉｆｆを算出する。ＣＰＵ１１は、楽曲ごとの難度ＳｏｎｇＤｉｆｆに基づき、分割されたエリアの部分画像の構成要素（たとえば濃度）を変換するように構成されている。
【００８６】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００８７】
たとえば、前記実施の形態において、算出される演奏者の達成度を考慮した難度値ＳｏｎｇＤｉｆｆや、演奏者ごとの技術要素についてのスキルレベル値Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］などを算出しているが、これらの算出手法は、上記実施の形態において記載したものに限定されない。たとえば、スキルレベル値Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］は、以下のように算出することができる。図１８は、他の実施の形態にかかるスキルレベル値の算出処理の例を示すフローチャートである。図１８に示す例においても、パラメータや値はＲＡＭ１３に格納される。
【００８８】
図１８に示すように、ＣＰＵ１１は、技術要素ｔｅｃｈ［ｎ］を特定するためのパラメータｎを「０」に初期化する（ステップ１８０１）。次いで、スキルレベルフラグｓｋｆ［ｔｅｃｈ［ｎ］］が「１」であるかを判断する（ステップ１８０２）。スキルレベルフラグｓｋｆは、技術要素ｔｅｃｈ［ｎ］について演奏者が既にクリアしているかを示すフラグである。ステップ１８０２でＮｏと判断された場合には、ステップ１８０６に進む。
【００８９】
ステップ１８０２でＹｅｓと判断された場合には、ＣＰＵ１１は、ＲＡＭ１３から、現在選択されている楽曲ＳｏｎｇＰｔｒについてのクリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］を取得する（ステップ１８０３）。次いで、ＣＰＵ１１は、クリアフラグｃｌｅａｒ［ｔｅｃｈ［ｎ］］が「１」であるかを判断する（ステップ１８０４）。ステップ１８０４でＹｅｓと判断された場合には、ＣＰＵ１１は、スキルレベルフラグｓｋｆ［ｔｅｃｈ［ｎ］］を「１」にセットする（ステップ１８０５）。
【００９０】
ＣＰＵ１１は、現在処理対象となっている楽曲ＳｏｎｇＰｔｒについてのスキルレベル値Ｓｏｎｇｓｋｉｌｌ［ｔｅｃｈ［ｎ］］＝ｓｋｆ［ｔｅｃｈ［ｎ］］×ｔｄｉｆｆ［ｔｅｃｈ［ｎ］］を算出する（ステップ１８０７）。次いで、すべての楽曲について、スキルレベル値Ｓｏｎｇｓｋｉｌｌ［ｔｅｃｈ［ｎ］］の総和を算出して、得られた総和を、スキルレベル値Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］とする（ステップ１８０８）。
【００９１】
その後、ＣＰＵ１１は、パラメータｎをインクリメントし（ステップ１８０８）、全ての技術要素ｔｅｃｈ［ｎ］について処理が終了しているか（つまり、ｎ＞Ｎ−１であるか）を判断する（ステップ１８０９）。ステップ１８０９でＹｅｓと判断された場合には処理を終了する。その一方、ステップ１８０９でＮｏと判断された場合にはステップ１８０２に戻る。
【００９２】
このようにして得たスキルレベル値Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］は、演奏者による楽曲の演奏が繰り返されることにより増大する。そこで、状況確認処理のステップ１６０７において、以下のように平滑化を実現することができる。Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］が所定の閾値Ｓｔｈ以下であれば、
解像度ｑ＝Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］／Ｓｔｈ、
Ｓｋｉｌｌ［ｔｅｃｈ［ｎ］］が閾値Ｓｔｈより大きければ、
ｑ＝１として、得られた解像度ｑに基づいて平滑化を行なえば良い。
【００９３】
また、前記実施の形態においては、楽曲ｉについて、演奏者の達成度を考慮した難度値ＳｏｎｇＤｉｆｆ［ｉ］、演奏回数Ｃｏｕｎｔ［ｉ］、演奏時間ｔｉｍｅ［ｉ］について、画像の構成要素（たとえば、濃度や彩度）を割り当てて、画像を変換している。しかしながら、他の指標値を用いて、画像変換を行なっても良い。
【００９４】
たとえば、ＣＰＵ１１は、曲データと演奏データとを比較して、曲データおよび演奏データにおける、対応する音高情報の相違および時間情報の相違に基づき、演奏の正確さを示す演奏評価値ｅｖａｌを算出する。ＣＰＵ１１は、楽曲ごとの演奏評価値ｅｖａｌに基づき、分割されたエリアの部分画像の構成要素（たとえば、彩度や濃度）を変換する。これにより、演奏の正確さに基づく変換済画像を演奏者に提示することも可能となる。
【００９５】
また、前記実施の形態においては、基本的に、ソング数Ｍに基づいて画像エリアを分割し、分割されたエリアに、何れか１つの技術要素ｔｅｃｈを割り当てるように構成している。しかしながら、これに限定されるものではなく、ソング数Ｍに基づいて画像エリアを分割して、各画像エリアの画像変換を行なった後、技術要素数Ｎに基づいて別途画像エリアを分割して、別途分割された各画像エリアについて、対応する技術要素のスキルレベルＳｋｉｌｌに基づいてさらに画像変換を行なっても良い。
【符号の説明】
【００９６】
１０        演奏評価装置
１１        ＣＰＵ
１２        ＲＯＭ
１３        ＲＡＭ
１４        大規模記憶装置
１５        入力装置
１６        表示装置
１７        サウンドシステム
１８        鍵盤
【図１】
0005609520.tif 000002
【図２】
0005609520.tif 000003
【図３】
0005609520.tif 000004
【図４】
0005609520.tif 000005
【図５】
0005609520.tif 000006
【図６】
0005609520.tif 000007
【図７】
0005609520.tif 000008
【図８】
0005609520.tif 000009
【図９】
0005609520.tif 000010
【図１０】
0005609520.tif 000011
【図１１】
0005609520.tif 000012
【図１２】
0005609520.tif 000013
【図１３】
0005609520.tif 000014
【図１４】
0005609520.tif 000015
【図１５】
0005609520.tif 000016
【図１６】
0005609520.tif 000017
【図１７】
0005609520.tif 000018
【図１８】
0005609520.tif 000019