(57)【要約】      （修正有）【課題】曲の部分的な演奏練習を行った場合でも、ユーザの演奏技量がどの程度上達したかを評価できる演奏評価装置を提供する。【解決手段】ＣＰＵは、演奏入力されたフレーズ区間に含まれる音符データから技能種別毎の音符数を取得し（ＳＡ１）、演奏入力されたフレーズ区間に含まれる音符データと演奏入力された演奏データとを比較して技能種別毎の正解音符数を取得し（ＳＡ３〜ＳＡ４）、取得された技能種別毎の音符数と正解音符数とで得られる技能種別毎の正解率を、それぞれ技能種別の技能値に乗算して求めた技能種別毎の評価値を累算して全体の演奏評価値を取得する（ＳＡ５）。【選択図】図４
2014206697.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得する第１の取得手段と、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得する第２の取得手段と、
前記第１及び第２の取得手段により取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する評価手段と
を具備することを特徴とする演奏評価装置。
【請求項２】
前記音符データおよび前記演奏データのそれぞれに演奏パート属性を設け、
前記第１の取得手段は、演奏パート属性別に技能種別毎の音符数を取得し、
前記第２の取得手段は、演奏パート属性別に技能種別毎の正解音符数を取得し、
前記評価手段は、演奏パート属性別の演奏評価値を発生することを特徴とする請求項１記載の演奏評価装置。
【請求項３】
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得し、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得し、
前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する、
演奏評価方法。
【請求項４】
コンピュータに、
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得するステップと、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得するステップと、
前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に用いて好適な演奏評価装置、演奏評価方法およびプログラムに関する。
【背景技術】
【０００２】
手本となる練習曲の音符データと、その練習曲の演奏操作に応じて発生する演奏データとを比較してユーザ（演奏者）の演奏技量を評価する装置が知られている。この種の技術として、例えば特許文献１には、演奏入力された演奏データと模範演奏に相当する出題データとの比較から正しく弾けた音符の数に応じた正解率を算出したり、算出した正解率からユーザの演奏技量を評価する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２４２１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の技術では、単に正しく弾けた音符の数に応じた正解率を算出し、算出した正解率でユーザの演奏技量を評価するだけなので、フレーズ等の曲の部分的な演奏練習を行った場合に、ユーザの演奏技量がどの程度上達したかを評価することが出来ない、という問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、曲の部分的な演奏練習を行った場合でもユーザの演奏技量がどの程度上達したかを評価することが出来る演奏評価装置、演奏評価方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による演奏評価装置は、少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得する第１の取得手段と、前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得する第２の取得手段と、前記第１及び第２の取得手段により取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する評価手段とを具備することを特徴とする。
【０００７】
本発明による演奏評価方法は、少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得し、前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得し、前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する、ことを特徴とする。
【０００８】
本発明によるプログラムは、コンピュータに、少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得するステップと、前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得するステップと、前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生するステップと、を実行させることを特徴とする。
【発明の効果】
【０００９】
本発明では、曲の部分的な演奏練習を行った場合でも、ユーザの演奏技量がどの程度上達したかを評価することが出来る。
【図面の簡単な説明】
【００１０】
【図１】実施の一形態による演奏評価装置１００の全体構成を示すブロック図である。
【図２】ＲＡＭ１２に記憶される主要なデータを説明するためのメモリマップである。
【図３】右手正誤テーブルＲＴ、左手正誤テーブルＬＴおよび両手正誤テーブルＲＬＴの構成を示す図である。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】曲データ読み込み処理の動作を示すフローチャートである。
【図６】演奏入力データ読み込み処理の動作を示すフローチャートである。
【図７】演奏判定処理の動作を示すフローチャートである。
【図８】演奏評価処理の動作を示すフローチャートである。
【図９】正誤テーブルにアサインされる正誤カウンタの概念を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成  
図１は、実施の一形態による演奏評価装置１００の全体構成を示すブロック図である。この図において、鍵盤１０は、押離鍵操作に応じたキーオン／キーオフイベント、鍵番号およびベロシティ等を含む演奏情報を発生する。また、鍵盤１０は、鍵盤上に置かれるユーザの左右両手を撮像する撮像手段１０ａを備え、当該撮像手段１０ａにより撮影される演奏入力画像に基づきＣＰＵ１３が押鍵した手指を表す指番号および演奏パートを発生する。この演奏パートとは、押鍵した手指が右手、左手および両手の何れであるかを識別するデータである。
【００１２】
操作部１１は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。スイッチ部１１に配設される主要なスイッチとしては、例えばパワーオンオフする電源スイッチの他、演奏入力（演奏練習）の開始又は終了を指示する練習スイッチ等がある。なお、練習スイッチのオン操作により演奏入力（演奏練習）の開始が指示された場合、後述するＣＰＵ１３は、演奏入力開始時点から経過時間を計時し始め、鍵操作の時刻を取得するようになっている。
【００１３】
表示部１２は、ＬＣＤパネル等から構成され、ＣＰＵ１３から供給される表示制御信号に応じて、手本となる曲データを楽譜表示したり、演奏入力終了後に演奏評価結果を表示したりする他、装置の動作状態や設定状態を表示する。ＣＰＵ１３は、演奏入力に応じて鍵盤１０が発生する演奏情報をＭＩＤＩ形式の演奏データ（ノートオン／ノートオフ等）に変換し、変換した演奏データを音源１６に供給して楽音発生を指示する。
【００１４】
また、ＣＰＵ１３は、演奏入力時に発生するＭＩＤＩ形式の演奏データ、指番号、演奏パートおよび押離鍵操作の時刻に基づいて「発音時刻」、「音長」、「音高」、「指番号」および「演奏パート」から構成される演奏データを生成してＲＡＭ１５の演奏データ入力エリアＰＩＥ（図２参照）にストアする。この演奏データ入力エリアＰＩＥには、手本となる練習曲の任意のフレーズ区間（例えば４小節分）について演奏入力して生成される演奏データ１〜演奏データｎがストアされる。後述するように、ＣＰＵ１３は、演奏データ入力エリアＰＩＥにストアされるフレーズ区間の演奏データ１〜演奏データｎと、手本となる練習曲の曲データの内、演奏入力されたフレーズ区間の音符データとの比較に応じて、ユーザの演奏技量がどの程度上達したかを評価するようになっており、こうした本発明に係わるＣＰＵ１３の特徴的な処理動作については追って詳述する。
【００１５】
ＲＯＭ１４には、ＣＰＵ１３にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、当該メインルーチンからコールされる曲データ読み込み処理、演奏入力データ読み込み処理、演奏判定処理および演奏評価処理を含む。
【００１６】
ＲＡＭ１５は、図２に図示するように、ワークエリアＷＥ、曲データエリアＫＤＥ、演奏データ入力エリアＰＩＥ、右手正誤テーブルＲＴ、左手正誤テーブルＬＴおよび両手正誤テーブルＲＬＴを備える。ＲＡＭ１５のワークエリアＷＥには、ＣＰＵ１３の処理に使用される各種レジスタ・フラグデータが一時記憶される。ＲＡＭ１５の曲データエリアＫＤＥには、手本（模範演奏）となる曲データがストアされる。曲データは、曲の各音符を表す音符データ１〜ｎから構成される。
【００１７】
音符データは、音符属性および演奏属性を備える。音符属性は、「発音時刻」、「音長および「音高」から構成される。演奏属性は、「演奏パート」、「指番号」、「技能値」および「技能種別」から構成される。「演奏パート」は、右手、左手および両手の各パートの何れかを表す。なお、両手パートは、同時に複音発音する和音演奏を指す。「指番号」は、例えば親指から小指までを「１」〜「５」で示し、押鍵する指を表す。「技能値」は、指潜りや指跨ぎなどの「技能種別」（演奏技術の種別）で表される演奏技術の難易度を示す。
【００１８】
右手正誤テーブルＲＴは、図３（ａ）に図示するように、演奏データおよび音符データを行列配置したテーブルである。行要素の演奏データ１〜ｎは、例えば練習曲中の所定フレーズ区間について演奏入力（押離鍵操作）し、これにより演奏データ入力エリアＰＩＥにストアされる１フレーズ分の演奏データの内、右手パートの演奏データを抽出して曲進行順に並べたものである。一方、列要素の音符データ１〜ｎは、手本となる曲データの内、ユーザが演奏入力したフレーズ区間における右手パートの音符データを抽出して曲進行順に並べたものである。
【００１９】
行要素の演奏データ１〜ｎと、列要素の音符データ１〜ｎとの対角要素には、手本と同じように弾けたか否かを示す正誤フラグが設けられる。なお、手本と同じように弾けた場合とは、音符データの音符属性と一致する音を、指定された演奏パートおよび指番号による演奏で発生させたことを意味する。そして、手本と同じように弾ければ、正誤フラグに「１」がセットされ、手本と同じように弾けなければ、正誤フラグに「０」がセットされる。
【００２０】
同図（ｂ）、（ｃ）に図示する左手正誤テーブルＬＴおよび両手正誤テーブルＲＬＴについても上述した右手正誤テーブルＲＴと同様の構成を備える。但し、左手正誤テーブルＬＴでは、演奏データ入力エリアＰＩＥにストアされる１フレーズ分の演奏データの内、左手パートの演奏データを抽出して曲進行順に並べたものが行要素の演奏データ１〜ｎとなり、一方、手本となる曲データの内、ユーザが演奏入力したフレーズ区間における左手パートの音符データを抽出して曲進行順に並べたものが列要素の音符データ１〜ｎとなる。
【００２１】
また、両手正誤テーブルＲＬＴでは、演奏データ入力エリアＰＩＥにストアされる１フレーズ分の演奏データの内、両手パートの演奏データを抽出して曲進行順に並べたものが行要素の演奏データ１〜ｎとなり、一方、手本となる曲データの内、ユーザが演奏入力したフレーズ区間における両手パートの音符データを抽出して曲進行順に並べたものが列要素の音符データ１〜ｎとなる。
【００２２】
次に、再び図１を参照して実施形態の構成について説明を進める。図１において、音源１６は、周知の波形メモリ読み出し方式によって構成され、ＣＰＵ１３から供給されるＭＩＤＩ形式の演奏データに応じた楽音を発生して出力する。サウンドシステム１７は、音源１６から出力される楽音データをアナログ形式の楽音信号に変換した後、その楽音信号から不要ノイズを除去する等のフィルタリングを施してからレベル増幅してスピーカより発音させる。
【００２３】
Ｂ．動作
次に、図４〜図８を参照して上記構成による演奏評価装置１００の動作を説明する。以下では、ＣＰＵ１３が実行するメインルーチン、当該メインルーチンを構成する曲データ読み込み処理、演奏入力データ読み込み処理、演奏判定処理および演奏評価処理の各動作について述べる。
【００２４】
（１）メインルーチンの動作
図４は、メインルーチンの動作を示すフローチャートである。メインルーチンは、図示されていない演奏処理によって、ユーザにより演奏入力されたフレーズ区間の演奏データが、ＲＡＭ１５の演奏データ入力エリアＰＩＥにストア済みの場合、つまり演奏入力し終えた後に実行される。演奏入力し終えた後、メインルーチンを実行すると、ＣＰＵ１３はステップＳＡ１に進み、装置各部を初期化する。
【００２５】
続いて、ステップＳＡ２では、後述するように、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に対応する音符データに基づいて技能種別毎の音符数を計数する曲データ読み込み処理を実行する。
【００２６】
次いで、ステップＳＡ３では、後述するように、演奏入力された１フレーズ分の演奏データと、演奏入力されたフレーズ区間に対応する音符データとをそれぞれ「右手パート」、「左手パート」および「両手パート」に分け、「右手パート」の演奏データおよび音符データに基づき右手正誤テーブルＲＴを更新し、「左手パート」の演奏データおよび音符データに基づき左手正誤テーブルＬＴを更新し、「両手パート」の演奏データおよび音符データに基づき両手正誤テーブルＲＬＴを更新する演奏入力データ読み込み処理を実行する。
【００２７】
続いて、ステップＳＡ４では、後述するように、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に対応する音符データに基づいて右手正誤テーブルＲＴ、左手正誤テーブルＬＴおよび両手正誤テーブルＲＬＴを参照して右手パート、左手パートおよび両手パート毎の正解音符数と、技能種別毎の正解音符数とを計数する演奏判定処理を実行する。
【００２８】
そして、ステップＳＡ５では、後述するように、曲データ読み込み処理で取得した技能種別毎の音符数と、演奏判定処理で取得した技能種別毎の正解音符数とに基づき算出される技能種別毎の正解率を、それぞれ技能種別の技能値に乗算して得られる技能種別毎の評価値を累算して全体の演奏評価値を取得する演奏評価処理を実行した後、本ルーチンを終了する。
【００２９】
（２）曲データ読み込み処理の動作
次に、図５を参照して曲データ読み込み処理の動作を説明する。上述したメインルーチンのステップＳＡ２（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図５に図示するステップＳＢ１に処理を進め、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に対応する音符データの演奏属性を読み込む。続いて、ステップＳＢ２では、読み込んだ音符データの演奏属性に含まれる演奏パートが「両手パート」であるか否かを判断する。
【００３０】
演奏パートが「両手パート」ならば、判断結果は「ＹＥＳ」になり、ステップＳＢ３に進み、発音時刻が同じ音符データ、すなわち和音を構成する各音符データから技能種別毎の音符数を取得する。そして、ステップＳＢ４に進み、取得した技能種別毎の音符数をカウントする。一方、演奏パートが「両手パート」でなければ、上記ステップＳＢ２の判断結果は「ＮＯ」になり、ステップＳＢ４に進み、読み込んだ音符データの演奏属性に含まれる技能種別に対応して設けられるカウンタをインクリメントして歩進させる。つまり、技能種別毎の音符数をカウントする。
【００３１】
次いで、ステップＳＢ５では、１つの音符データの該当パート（右手パート、左手パートおよび両手パートの何れか）についてカウントし終えたか否かを判断する。カウントし終えていなければ、判断結果は「ＮＯ」になり、上記ステップＳＢ１に処理を戻し、他のパートに関して技能種別毎の音符数をカウントするが、該当パート（右手パート、左手パートおよび両手パートの何れか）についてカウントし終えると、上記ステップＳＢ５の判断結果は「ＹＥＳ」になり、ステップＳＢ６に進む。
【００３２】
続いて、ステップＳＢ６では、演奏入力されたフレーズ区間に含まれる該当音符データの全てについて技能種別毎の音符数をカウントし終えたかどうかを判断する。技能種別毎の音符数をカウントし終えていなければ、判断結果は「ＮＯ」になり、上記ステップＳＢ１に処理を戻す。
【００３３】
以後、演奏入力されたフレーズ区間に含まれる該当音符データの全てについて技能種別毎の音符数をカウントし終えるまで上記ステップＳＢ１〜ＳＢ６を繰り返す。そして、演奏入力されたフレーズ区間に含まれる全ての音符データに基づいて技能種別毎の音符数をカウントし終えると、上記ステップＳＢ６の判断結果が「ＹＥＳ」となり、本処理を終える。
【００３４】
このように、曲データ読み込み処理では、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に含まれる音符データに基づいて技能種別毎の音符数を計数する。
【００３５】
（３）演奏入力データ読み込み処理の動作
次に、図６を参照して演奏入力データ読み込み処理の動作を説明する。上述したメインルーチンのステップＳＡ３（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図６に図示するステップＳＣ１に処理を進め、ＲＡＭ１５の演奏データ入力エリアＰＩＥ（図２参照）にストアされた１フレーズ分の演奏データ（１）〜（ｎ）を読み込む。
【００３６】
次いで、ステップＳＣ２では、読み込んだ１フレーズ分の演奏データ（１）〜（ｎ）に基づき右手正誤テーブルＲＴおよび左手正誤テーブルＬＴを更新する。先ず右手正誤テーブルＲＴの更新とは、読み込んだ１フレーズ分の演奏データ（１）〜（ｎ）の内、右手パートの演奏データを右手正誤テーブルＲＴの行要素に設定する一方、演奏入力されたフレーズ区間に対応する音符データの内、右手パートの音符データを右手正誤テーブルＲＴの列要素に設定する。
【００３７】
こうして、右手パートの演奏データを行要素に、右手パートの音符データを列要素に設定し終えた右手正誤テーブルＲＴの対角要素において、手本と同じように弾けた対角要素には正誤フラグを「１」にセットし、手本と同じように弾けなかった対角要素には正誤フラグを「０」にセットする。
【００３８】
ステップＳＣ２では、右手正誤テーブルＲＴと同様に左手正誤テーブルＬＴも更新する。すなわち、読み込んだ１フレーズ分の演奏データ（１）〜（ｎ）の内、左手パートの演奏データを左手正誤テーブルＬＴの行要素に設定する一方、演奏入力されたフレーズ区間に対応する音符データの内、左手パートの音符データを左手正誤テーブルＬＴの列要素に設定する。
【００３９】
そして、左手パートの演奏データを行要素に、左手パートの音符データを列要素に設定し終えた左手正誤テーブルＬＴの対角要素において、手本と同じように弾けた対角要素には正誤フラグを「１」にセットし、手本と同じように弾けなかった対角要素には正誤フラグを「０」にセットする。
【００４０】
次いで、ステップＳＣ３では、読み込んだ演奏データが両手パートであるか否かを判断し、両手パートでなければ、判断結果は「ＮＯ」になり、本処理を終えるが、読み込んだ演奏データが両手パートであると、判断結果が「ＹＥＳ」になり、ステップＳＣ４に進む。ステップＳＣ４では、読み込んだ１フレーズ分の演奏データ（１）〜（ｎ）の内、両手パートの演奏データを両手正誤テーブルＲＬＴの行要素に設定する一方、演奏入力されたフレーズ区間の音符データの内、両手パートの音符データを両手正誤テーブルＲＬＴの列要素に設定する。
【００４１】
そして、両手パートの演奏データを行要素に、両手パートの音符データを列要素に設定し終えた両手正誤テーブルＲＬＴの対角要素において、手本と同じように弾けた対角要素には正誤フラグを「１」にセットし、手本と同じように弾けなかった対角要素には正誤フラグを「０」にセットする。
【００４２】
このように、演奏入力データ読み込み処理では、演奏入力された１フレーズ分の演奏データと、演奏入力されたフレーズ区間に対応する音符データとをそれぞれ「右手パート」、「左手パート」および「両手パート」に分け、「右手パート」の演奏データおよび音符データに基づき右手正誤テーブルＲＴを更新し、「左手パート」の演奏データおよび音符データに基づき左手正誤テーブルＬＴを更新し、「両手パート」の演奏データおよび音符データに基づき両手正誤テーブルＲＬＴを更新する。
【００４３】
（４）演奏判定処理の動作
次に、図７を参照して正誤テーブル更新処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図７に図示するステップＳＤ１に処理を進め、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に対応する音符データを読み込む。続いて、ステップＳＤ２では、読み込んだ音符データの演奏属性に含まれる演奏パートが「両手パート」であるか否かを判断する。
【００４４】
演奏パートが「両手パート」でなければ、上記ステップＳＤ２の判断結果は「ＮＯ」になり、ステップＳＤ３に進む。ステップＳＤ３では、読み込んだ音符データの演奏属性に含まれる演奏パートが「右手パート」ならば右手正誤テーブルＲＴを、「左手パート」ならば左手正誤テーブルＬＴを参照し、読み込んだ音符データとそれに対応する演奏データとの対角要素に設定される正誤フラグが「１」、すなわち正解音符であるか否かを判断する。正誤フラグが「０」であれば、不正解音符であるとして判断結果が「ＮＯ」になり、後述のステップＳＤ８に進む。
【００４５】
一方、読み込んだ音符データとそれに対応する演奏データとの対角要素に設定される正誤フラグが「１」、すなわち正解音符であると、上記ステップＳＤ３の判断結果は「ＹＥＳ」になり、ステップＳＤ４に進み、右手／左手パートの正解音符の数をカウントした後、ステップＳＤ７に進み、その正解した音符データの技能種別に対応付けられたカウンタにて正解音符数をカウントさせる。
【００４６】
これに対し、読み込んだ音符データの演奏属性に含まれる演奏パートが「両手パート」であると、上記ステップＳＤ２の判断結果が「ＹＥＳ」になり、ステップＳＤ５に進む。ステップＳＤ５では、両手正誤テーブルＲＬＴを参照し、読み込んだ音符データとそれに対応する演奏データとの対角要素に設定される正誤フラグが「１」、すなわち正解音符であるか否かを判断する。正誤フラグが「０」であれば、不正解音符であるとして判断結果が「ＮＯ」になり、後述のステップＳＤ８に進む。
【００４７】
一方、読み込んだ音符データとそれに対応する演奏データとの対角要素に設定される正誤フラグが「１」、すなわち正解音符であると、上記ステップＳＤ５の判断結果は「ＹＥＳ」になり、ステップＳＤ６に進み、両手パートの正解音符の数をカウントした後、ステップＳＤ７に進み、その正解した音符データの技能種別に対応付けられたカウンタにて正解音符数をカウントさせる。
【００４８】
そして、ステップＳＤ８では、１つの音符データの該当パート（右手パート、左手パートおよび両手パートの何れか）について演奏判定し終えたか否かを判断する。演奏判定し終えていなければ、判断結果は「ＮＯ」になり、上記ステップＳＤ１に処理を戻し、他のパートに関して正解音符数および技能種別毎の正解音符数をカウントするが、該当パート（右手パート、左手パートおよび両手パートの何れか）についてカウントし終えると、上記ステップＳＤ８の判断結果は「ＹＥＳ」になり、ステップＳＤ９に進む。
【００４９】
ステップＳＤ９では、演奏入力されたフレーズ区間に含まれる該当音符データの全てについて演奏判定し終えたかどうかを判断する。演奏判定し終えていなければ、判断結果は「ＮＯ」になり、上記ステップＳＤ１に処理を戻す。以後、演奏入力されたフレーズ区間に含まれる該当音符データの全てについて演奏判定し終えるまで上記ステップＳＤ１〜ＳＤ９を繰り返す。そして、演奏入力されたフレーズ区間に含まれる全ての音符データについ演奏判定し終えると、上記ステップＳＤ９の判断結果が「ＹＥＳ」となり、本処理を終える。
【００５０】
このように、演奏判定処理では、ＲＡＭ１５の曲データエリアＫＤＥにストアされる１曲分の音符データの内、演奏入力されたフレーズ区間に対応する音符データに基づいて右手正誤テーブルＲＴ、左手正誤テーブルＬＴおよび両手正誤テーブルＲＬＴを参照して右手パート、左手パートおよび両手パート毎の正解音符数と、技能種別毎の正解音符数とを計数する。
【００５１】
（５）演奏評価処理の動作
次に、図８を参照して演奏評価処理の動作を説明する。前述したメインルーチンのステップＳＡ５（図４参照）を介して本処理が実行されると、ＣＰＵ１３は図８に図示するステップＳＥ１に処理を進め、前述の曲データ読み込み処理により取得した技能種別毎の音符数をレジスタＫ１（技能種別）にストアすると共に、前述の演奏判定処理により取得した技能種別毎の正解音符数をレジスタＫ２（技能種別）にストアする。
【００５２】
続いて、ステップＳＥ２では、現在対象としている技能種別の技能値に、正解率Ｋ２／Ｋ１を乗算して現在対象としている技能種別の評価値（技能種別）を算出する。そして、ステップＳＥ３〜ＳＥ４では、全ての技能種別について、上記ステップＳＥ１〜ＳＥ２の処理を施し、これにより得られる各技能種別毎の評価値を累算して全体の演奏評価値を算出する。そして、全体の演奏評価値を算出し終えると、上記ステップＳＥ４の判断結果が「ＹＥＳ」となり、本処理を終える。
【００５３】
このように、演奏評価処理では、曲データ読み込み処理で取得した技能種別毎の音符数と、演奏判定処理で取得した技能種別毎の正解音符数とに基づき算出した技能種別毎の正解率を、それぞれ技能種別の技能値に乗算して得られる技能種別毎の評価値を累算して全体の演奏評価値を取得する。
【００５４】
以上説明したように、本実施形態では、演奏入力されたフレーズ区間に含まれる音符データから技能種別毎の音符数を取得し、演奏入力されたフレーズ区間に含まれる音符データと演奏入力された演奏データとを比較して技能種別毎の正解音符数を取得し、取得された技能種別毎の音符数と正解音符数とで得られる技能種別毎の正解率を、それぞれ技能種別の技能値に乗算して求めた技能種別毎の評価値を累算して全体の演奏評価値を取得するので、曲の部分的な演奏練習を行った場合でも、ユーザの演奏技量がどの程度上達したかを評価することが可能になる。
【００５５】
なお、上述した実施形態では、技能種別毎の音符数および正解音符数を取得する態様としたが、此に限定されず、演奏パート別の音符数および正解音符数を取得して演奏パート別の評価を行う態様としても構わない。また、例えば図９に図示するように、前述した正誤テーブルの対角要素に正誤カウンタをアサインしておき、演奏入力が為される毎に正解数や誤った数を計数することで演奏の苦手な箇所（音符）や演奏パートを分析・評価する態様も可能である。
【００５６】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
【００５７】
（付記）
［請求項１］
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得する第１の取得手段と、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得する第２の取得手段と、
前記第１及び第２の取得手段により取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する評価手段と
を具備することを特徴とする演奏評価装置。
【００５８】
［請求項２］
前記音符データおよび前記演奏データのそれぞれに演奏パート属性を設け、
前記第１の取得手段は、演奏パート属性別に技能種別毎の音符数を取得し、
前記第２の取得手段は、演奏パート属性別に技能種別毎の正解音符数を取得し、
前記評価手段は、演奏パート属性別の演奏評価値を発生することを特徴とする請求項１記載の演奏評価装置。
【００５９】
［請求項３］
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得し、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得し、
前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生する、
演奏評価方法。
【００６０】
［請求項４］
コンピュータに、
少なくとも曲を構成する各音の技能値および技能種別を含む音符データの内、演奏入力された当該曲の所定区間に含まれる音符データから技能種別毎の音符数を取得するステップと、
前記音符データの内、演奏入力された前記曲の所定区間に含まれる音符データと曲の所定区間を演奏入力して生成された演奏データとを比較して技能種別毎の正解音符数を取得するステップと、
前記取得された技能種別毎の音符数と正解音符数とで定まる技能種別毎の正解率と技能種別の技能値とに基づいて得られる技能種別毎の評価値を累算して演奏評価値を発生するステップと、
を実行させるプログラム。
【符号の説明】
【００６１】
１０  鍵盤
１０ａ  撮像手段
１１  操作部
１２  表示部
１３  ＣＰＵ
１４  ＲＯＭ
１５  ＲＡＭ
１６  音源
１７  サウンドシステム
１００  演奏評価装置
【図１】
2014206697.tif 000003
【図２】
2014206697.tif 000004
【図３】
2014206697.tif 000005
【図４】
2014206697.tif 000006
【図５】
2014206697.tif 000007
【図６】
2014206697.tif 000008
【図７】
2014206697.tif 000009
【図８】
2014206697.tif 000010
【図９】
2014206697.tif 000011