(57)【特許請求の範囲】
【請求項１】
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信手段と、
この受信手段により所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出手段と、
前記算出手段により演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶手段と、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価手段と、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成手段と、
を備えることを特徴とする演奏教習装置。
【請求項２】
前記アドバイス生成手段は、
前記評価手段が評価したモチベーション変動及び演奏技術レベル変動に応じて、複数のアドバイス種別の中から最大価値のアドバイスを抽出するアドバイス抽出手段
を備えることを特徴とする請求項１に記載の演奏教習装置。
【請求項３】
前記アドバイス抽出手段は、前記評価手段が評価したモチベーション変動及び演奏技術レベル変動に応じて、Ｑ学習理論に基づく価値関数テーブルに登録される複数のアドバイス種別の中から最大価値を有する種別のアドバイスを抽出する
ことを特徴とする請求項２に記載の演奏教習装置。
【請求項４】
前記アドバイス抽出手段が抽出した前記アドバイスの有用性の入力を受け付ける有用性入力受付手段と、
前記有用性入力受付手段が受け付けた前記有用性に応じて、前記アドバイスの価値を変化させるアドバイス価値変更手段と、
をさらに備えることを特徴とする請求項２又は３に記載の演奏教習装置。
【請求項５】
前記評価手段は、同一の前記練習形態ごとに、前記演奏操作回数記憶手段が最新に記憶した前記演奏操作回数と、当該最新の演奏操作回数より以前でかつ直近に前記演奏操作回数記憶手段が記憶した前記演奏操作回数とに基づいて、演奏者のモチベーション変動を評価することを特徴とする請求項１に記載の演奏教習装置。
【請求項６】
前記評価手段は、
前記最新の演奏操作回数に対応付けられた練習形態と同一の練習形態に対応する演奏操作回数を前記演奏操作回数記憶手段から全て読み出し、当該読み出された演奏操作回数に基づいて標準偏差及び平均値を算出する標準偏差算出手段と、
前記最新の演奏操作回数に基づく偏差値を算出する偏差値算出手段と、
前記算出された標準偏差及び平均値に基づく基準値と、この算出された偏差値との関係を、前記演奏技術レベルの変動として評価する演奏技術レベル変動評価手段と、
を備えたことを特徴とする請求項１に記載の演奏教習装置。
【請求項７】
演奏評価装置に搭載されるコンピュータに、
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信ステップと、
この所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出ステップと、
前記演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶ステップと、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価ステップと、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏教習装置及びそのプログラムに関する。
【背景技術】
【０００２】
従来、楽器の演奏練習を行った際に、演奏者にアドバイス情報を表示する技術が提案されている。例えば、特許文献１では、不適な演奏操作の種別を判別し（例えば、鍵盤楽器の演奏であれば押鍵ミスあるいはタイミングミス）、判別した種別ごとに不適な演奏操作の回数をカウントして、カウントした種別ごとの不適な演奏操作の回数に応じた演奏操作の評価をアドバイス情報として表示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３２６６９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は基本的に、演奏結果に基づいて予め定められたアドバイス情報を表示するものであり、演奏結果を演奏者に認識させることには十分である。しかしながら、それ以降の演奏をよりよいものに導くようなアドバイス情報を表示することが可能であるかは疑問である。
例えば、演奏者のモチベーションが高い場合、あるいは演奏技術レベルが高い場合に、演奏結果をつきつけてその改善を促すようなアドバイスを行うことは、その後の演奏練習に良い影響を与える可能性が高いが、モチベーションが低下している場合、あるいは演奏技術レベルが低い場合は、逆効果を招く恐れがある。
このように、より効果的なアドバイスを演奏者に与えるためには、演奏者のモチベーションの変動や演奏技術レベルを考慮することが必要であるが、従来の方式では全く考慮がされていなかった。
【０００５】
そこで本発明は、演奏者のモチベーションの変動や演奏技術レベルの変動に応じてアドバイスを変化させることでより効果的なアドバイスを表示できる演奏教習装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の演奏教習装置は、
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信手段と、
この受信手段により所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出手段と、
前記算出手段により演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶手段と、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価手段と、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成手段と、
を備えることを特徴とする。
また、本発明の一態様のプログラムは、
演奏評価装置に搭載されるコンピュータに、
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信ステップと、
この所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出ステップと、
前記演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶ステップと、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価ステップと、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成ステップと、
を実行させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、演奏者のモチベーションの変動や演奏技術レベルの変動に応じてアドバイスを変化させることでより効果的なアドバイスを表示できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の一実施形態に係る演奏教習装置のハードウェアの構成を示すブロック図である。
【図２】図２は、本発明の一実施形態に係る演奏データテーブルの構造を示す図である。
【図３】図３は、本発明の一実施形態に係る押鍵回数データテーブルの構造を示す図である。
【図４】図４は、本発明の一実施形態に係る強化学習エージェントデータの構造を示す図である。
【図５】図５は、本発明の一実施形態に係るルール価値データの構造を示す図である。
【図６】図６は、本発明の実施形態にかかる演奏教習装置において実行されるメインフローを示すフローチャートである。
【図７】図７は、本発明の実施形態にかかる演奏教習装置において実行される演奏データ判定スレッド処理を示すフローチャートである。
【図８】図８は、本発明の実施形態にかかる演奏教習装置において実行されるアドバイススレッド処理を示すフローチャートである。
【図９】図９は、本発明の実施形態にかかる演奏教習装置において実行される練習状態判定処理を示すフローチャートである。
【図１０】図１０は、本発明の実施形態にかかる演奏教習装置において実行されるモチベーション変動評価処理を示すフローチャートである。
【図１１】図１１は、本発明の実施形態にかかる演奏教習装置において実行される演奏技術レベル変動評価処理を示すフローチャートである。
【図１２】図１２は、本発明の実施形態にかかる演奏教習装置において実行される変数更新処理を示すフローチャートである。
【図１３】図１３は、本発明の実施形態にかかる演奏教習装置において実行される最大Ｑアクション処理を示すフローチャートである。
【図１４】図１４は、本発明の実施形態にかかる価値関数テーブルｖａｌｕｅの一例を示す図である。
【図１５】図１５は、本発明の実施形態にかかる演奏教習装置において実行されるアドバイス処理を示すフローチャートである。
【図１６】図１６は、本発明の実施形態にかかる演奏教習装置において選択されるアドバイスの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００１０】
図１は、本発明の一実施形態に係る演奏教習装置のハードウェアの構成を示すブロック図である。
【００１１】
演奏教習装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入力部１５と、表示部１６と、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）インターフェース１７と、電子楽器１８と、を備えている。
【００１２】
ＣＰＵ１１は、演奏教習装置１の全体を制御し、ＲＯＭ１２に記憶されているプログラム、又は、ＲＯＭ１２からＲＡＭ１３に読み出されたプログラムに従って各種の処理を実行する。
【００１３】
ＲＯＭ１２は、ＣＰＵ１１の実行する各種処理の処理プログラムを格納する。また、ＲＡＭ１３は、ＲＯＭ１２から読み出されたプログラム等を格納する。
【００１４】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。また、バス１４には、入力部１５、表示部１６及びＭＩＤＩインターフェース１７が接続されている。
【００１５】
入力部１５は、例えばボタン等により構成されており、ユーザからの操作指示に応じて各種情報の入力を受け付ける。
表示部１６は、ＣＰＵ１１の制御に従って各種設定情報や演奏動作に係る情報等を表示する。
ＭＩＤＩインターフェース１７は、電子楽器１８と接続されている。ＭＩＤＩインターフェース１７は、電子楽器１８に対して模範演奏等に係るデータを送信する。
電子楽器１８は、演奏者の演奏操作により発生する音高データをＭＩＤＩインターフェース１７に送信する。
【００１６】
図２は、本発明の一実施形態に係る演奏データテーブルの構造を示す図である。
【００１７】
演奏データテーブルは、ＲＡＭ１３に記憶されており、演奏データ１〜ｎまでのｎ個の演奏データから構成されている。各演奏データは、ユーザＩＤ、曲ＩＤ、演奏開始小節番号、演奏終了小節番号、演奏パート、及び演奏時刻から構成されている。
【００１８】
ユーザＩＤは、電子楽器１８を演奏するユーザを識別するための文字列である。曲ＩＤは、電子楽器１８において演奏される曲を識別するための文字列である。演奏開始小節番号は、曲ＩＤで指定された楽曲の楽譜において演奏者により演奏が開始された小節番号である。演奏終了小節番号は、曲ＩＤで指定された楽曲の楽譜において演奏者により演奏が終了された小節番号である。演奏パートは、演奏開始小節番号から演奏終了小節番号までにおける演奏形態を示す値であり、すなわち、右手パート、左手パート、両手パート、片手と両手の混在パートを識別する値である。記録時刻は、演奏データを演奏データテーブルに記録した時刻のことである。
【００１９】
図３は、本発明の一実施形態に係る押鍵回数データテーブルの構造を示す図である。
【００２０】
押鍵回数データテーブルは、ＲＡＭ１３に記憶されており、押鍵回数データ１〜ｎまでのｎ個の押鍵回数データから構成されている。各押鍵回数データは、ユーザＩＤ、曲ＩＤ、単位時間当たりの押鍵回数、練習状態、記録時刻、及び演奏時刻から構成されている。
【００２１】
ユーザＩＤは、電子楽器１８を演奏するユーザを識別するための文字列である。曲ＩＤは、電子楽器１８において演奏される曲を識別するための文字列である。単位時間当たりの押鍵回数は、所定の単位時間における演奏によって電子楽器１８が発生させた音高データの数である。練習状態は、所定の単位時間における演奏者の練習状態を示す値であり、すなわち、片手部分練習、片手両手混在部分練習、両手部分練習、片手全体練習、片手両手混在全体練習、両手全体練習、の６種類の練習状態を識別する値である。記録時刻は、ノートデータをノートデータテーブルに記録した時刻のことである。
【００２２】
図４は、本発明の一実施形態に係る強化学習エージェントデータの構造を示す図である。
【００２３】
強化学習エージェントデータは、上記６種類の練習状態ごとに定められており、各強化学習エージェントデータは、ｍｏｔｉｖａｔｉｏｎ（モチベーション変動度）、ｉｍｐｒｏｖｅｍｅｎｔ（演奏技術変動度）、ａｃｔｉｏｎ（行動識別変数）、ｐｒｅｖＭｏｔｉｖａｔｉｏｎ（前回のモチベーション変動度）、ｐｒｅｖＩｍｐｒｏｖｅｍｅｎｔ（前回の演奏技術変動度）、ｐｒｅｖＡｃｔｉｏｎ（前回の行動識別変数）、ａｃｈｉｅｖＮ（行動数）、ｎｏｔｅ（単位時間当たりの押鍵回数）、ｃｏｓｔ（曲の難易度）、ａｌｐｈａ（学習率）、ｇａｍｍａ（割引率）、ｕｓｅｆｕｌ（有用性係数）、ｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ａｃｔｉｏｎ］（ルール価値）、を有している。
【００２４】
図５は、本発明の一実施形態に係るルール価値データの構造を示す図である。
【００２５】
ルール価値データは、図４のｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ａｃｔｉｏｎ］（ルール価値）の詳細なデータ構造であり、モチベーション状態と演奏技術状態との組合せごとにアドバイス１〜ｎ（ｎはアドバイス数）が対応付けられており、さらにアドバイスごとに価値が対応付けられている。
後述するように、本実施形態では、モチベーション状態（モチベーション状態変数）の数は３つ「０（低い）、１（不変）、２（高い）」、また、演奏技術状態（演奏技術状態変数）の数は３つ「０（低い）、１（不変）、２（高い）」であり、これらの組合せは９つとなる。
【００２６】
図６は、本発明の実施形態にかかる演奏教習装置において実行されるメインフローを示すフローチャートである。
【００２７】
ステップ１では、ＣＰＵ１１は、押鍵回数カウント開始時刻をレジスタに保存する。ステップ２では、ＣＰＵ１１は、ノート入力を受け付ける。具体的には、演奏により電子楽器１８が発生させた音高データをＭＩＤＩインターフェース１７を介して受信する。
ステップＳ３では、ＣＰＵ１１は、ノート入力バッファにノートデータを入力し、押鍵回数をカウントする。具体的には、ノートデータは、どの鍵盤に対応する音高を区別するデータである。また、ＣＰＵ１１は、押鍵回数のカウントにおいては、ノート入力バッファにノートデータを入力するたびに、押鍵回数カウント変数に押鍵回数を加算する。
【００２８】
ステップＳ４では、ＣＰＵ１１は、パート練習が開始されたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ５に移し、ＮＯの場合、処理をステップＳ６に移す。具体的には、ノート入力バッファの初期化後に最初のノート入力があったかを判断する。
ステップＳ５では、ＣＰＵ１１は、パート演奏開始フラグをＯＮにする。このパート演奏開始フラグは、ＲＡＭ１３に設けられている。また、ＣＰＵ１１は、パート演奏開始フラグをＯＮにするとともに、演奏開始時刻をレジスタに保存する。
【００２９】
ステップＳ６では、ＣＰＵ１１は、所定の単位時間が経過したか否かを判断する。この判断がＹＥＳの場合、ステップＳ７に処理を移し、ＮＯの場合、ステップＳ１１に処理を移す。
ステップＳ７では、ＣＰＵ１１は、押鍵回数カウント終了時刻をレジスタに保存する。
【００３０】
ステップＳ８では、ＣＰＵ１１は、押鍵回数カウントコピー及び初期化を行う。具体的には、ＣＰＵ１１は、押鍵回数カウント変数に格納された押鍵回数をＲＡＭ１３の所定の領域にコピーして、押鍵回数カウント変数を初期化する。ステップＳ８の処理が終了すると、ＣＰＵ１１は、ステップＳ９及びＳ１０に処理を移す。
ステップＳ９では、ＣＰＵ１１は、後述するアドバイススレッド処理を行う。
ステップＳ１０では、ＣＰＵ１１は、練習終了か否かを判断する。例えば、所定時間（例えば、２分間等）新たなノート入力が無い場合に練習終了と判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、ステップＳ１５に処理を移し、ＮＯの場合、ステップＳ１に処理を移す。
【００３１】
ステップＳ１１では、ＣＰＵ１１は、パート演奏が終了したか否かを判断する。具体的には、ＣＰＵ１１は、電子楽器１８からＭＩＤＩインターフェース１７を介して音高データを所定時間（例えば、５秒間）受信しない場合に、パート演奏が終了したと判断する。この判断がＹＥＳの場合、処理をステップＳ１２に移し、ＮＯの場合、処理をステップＳ２に移す。
ステップＳ１２では、ＣＰＵ１１は、パート演奏開始フラグをＯＦＦにする。
【００３２】
ステップＳ１３では、ＣＰＵ１１は、ノート入力バッファコピーと初期化を行う。具体的には、ノート入力バッファに記憶されたノートデータをＲＡＭ１３の所定の領域にコピーして、ノート入力バッファを初期化する。ステップＳ１３の処理が終了すると、ＣＰＵ１１は、ステップＳ１４及びＳ２に処理を移す。
ステップＳ１４では、ＣＰＵ１１は、後述する演奏データ判定スレッド処理を行う。
ステップＳ１５では、ＣＰＵ１１は、変数をＲＡＭ１３に保存し、メインフローを終了する。
【００３３】
図７は、本発明の実施形態にかかる演奏教習装置において実行される演奏データ判定スレッド処理を示すフローチャートである。
【００３４】
ステップＳ２１では、ＣＰＵ１１は、演奏データ判定処理を行う。具体的には、ＣＰＵ１１は、図６のステップ１３にてＲＡＭ１３に記憶されたノートデータが、楽曲のどの部分に相当するかを判断する。すなわち、楽曲全体のノートデータと比較して、当該記憶されたノートデータの楽曲における演奏開始小節及び演奏終了小節を判断する。また、当該演奏開始小節から当該演奏終了小節までの演奏パートを判別する。すなわち、演奏パートが右手パート、左手パート、両手パート、片手と両手の混在パートのいずれであるかを判別する。
ステップＳ２２では、ＣＰＵ１１は、演奏データの保存を行う。具体的には、ＣＰＵ１１は、演奏データとして、ユーザＩＤ、曲ＩＤ、演奏開始小節、演奏終了小節、演奏パート、及び記録時間を、演奏データテーブルに記憶する。記憶方法としては、演奏データテーブルの末尾に追加する。例えば、演奏データテーブルに、演奏データ１〜演奏データｍのｍ個の演奏データが記憶されている場合には、演奏データｍの次の記憶領域に記憶する。
【００３５】
図８は、本発明の実施形態にかかる演奏教習装置において実行されるアドバイススレッド処理を示すフローチャートである。
【００３６】
ステップＳ３１では、ＣＰＵ１１は、後述する練習状態判定処理を行い、ステップＳ３２では、練習状態に対応する強化学習エージェントを選択する。具体的には、ＲＡＭ１３に記憶された強化学習エージェントデータ（図４参照）から、図９のステップＳ５９で更新された練習状態変数に対応する強化学習エージェントデータを選択する。
ステップＳ３３では、ＣＰＵ１１は、後述するモチベーション変動評価処理を行い、ステップＳ３４では、後述する演奏技術変動評価処理を行い、ステップＳ３５では、後述する変数更新処理を行い、ステップＳ３６では、後述するアドバイス処理を行う。
【００３７】
図９は、本発明の実施形態にかかる演奏教習装置において実行される練習状態判定処理を示すフローチャートである。
【００３８】
ステップＳ４１では、ＣＰＵ１１は、演奏データから、開始時刻＜記録時刻＜終了時刻のデータをセレクトする。具体的には、ＣＰＵ１１は、演奏データテーブルに記憶された複数の演奏データの記録時刻が、押鍵回数カウント開始時刻より後でかつ押鍵回数カウント終了時刻より前である演奏データを選択する。ここで、押鍵回数カウント開始時刻及び押鍵回数カウント終了時刻は、それぞれ、図６のステップＳ１、Ｓ７においてレジスタに記憶されている。よって、演奏データの選択の際には、レジスタから読み出す。
【００３９】
ステップＳ４２では、ＣＰＵ１１は、カーソルを先頭の演奏データへ合わせる。具体的には、ＣＰＵ１１は、ステップＳ４１で選択した演奏データのうち先頭の演奏データを後述するステップＳ４４及びＳ４５の処理対象とする。
【００４０】
ステップＳ４３では、ＣＰＵ１１は、最後の演奏データの処理後であるか否かを判断する。すなわち、ステップＳ４１で選択した演奏データのうち最後尾の演奏データの処理後であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ４７に移し、ＮＯの場合、処理をステップＳ４４に移す。
【００４１】
ステップＳ４４では、ＣＰＵ１１は、配列１に練習した小節の番号を格納する。例えば、処理対象の演奏データに記憶されている演奏開始小節番号から演奏終了小節番号までの全ての番号を格納する。例えば、演奏開始小節番号が「１」で演奏終了小節番号が「４」の場合、「１，２，３，４」が配列１に格納される。配列１は、ＲＡＭ１３の所定領域に記憶されている。
【００４２】
ステップＳ４５では、ＣＰＵ１１は、配列２に練習した小節の番号に対する演奏パートを格納する。具体的には、処理対象の演奏データに記憶されている演奏パートを格納する。上述したように、演奏パートには、右手パート、左手パート、両手パート、片手両手混在パートがあり、例えば、右手パート、左手パート、両手パート、片手両手混在パートそれぞれの識別文字列として「１」、「２」、「３」、「４」が使用される。今回処理対象となった演奏データの演奏パートが片手両手混在パートの場合、「４」が配列２に格納される。
【００４３】
ステップＳ４６では、ＣＰＵ１１は、カーソルを次の演奏データへ移動させる。具体的には、ＣＰＵ１１は、ステップＳ４４及びＳ４５の処理対象の演奏データを今回処理した演奏データの次に演奏データテーブルに格納されている演奏データとする。
【００４４】
ステップＳ４７では、ＣＰＵ１１は、配列１から連続性を評価する。具体的には、ＣＰＵ１１は、配列１に格納されている小節番号を取り出して、昇順に並べて連続性を判定する。ここで、連続性とは、楽曲の練習が部分練習か全体練習を判断するための概念であり、例えば、連続して演奏した小節数が所定の閾値以上となった場合に連続性があるとする。実例を挙げると、配列１に格納されている小節番号が「１，２，３，４，１，２，３，４，１，２，３，４」の場合（単位時間に１〜４小節を３回練習した場合）、昇順では「１，１，１，２，２，２，３，３，３，４，４，４」となる。よって、連続性は、１から２へ上がるときに＋１され、２から３へ上がるときに＋１され、３から４へ上がるときに＋１され、合計３となる。この連続性の値を所定の閾値（例えば、楽曲の最大小節数又は楽曲の最大小節数８割の小節数など）と比較することで、全体練習か部分練習かを判断する。
【００４５】
ステップＳ４８では、ＣＰＵ１１は、配列２から単位時間における演奏状態を判定する。具体的には、ＣＰＵ１１は、配列２に格納されている演奏パート識別番号を取り出して演奏状態を判定する。例えば、配列２に格納されている演奏パート識別番号が「３，３，３」の場合（単位時間に両手パートを３回練習した場合）、演奏状態は両手と判定される、また、配列２に格納されている演奏パート識別番号が「１，２，３」の場合（単位時間に右手パート、左手パート、両手パートをそれぞれ１回ずつ練習した場合）、演奏状態は片手両手混在と判定される。
【００４６】
ステップＳ４９では、ＣＰＵ１１は、連続性があるか否かを判断する。具体的には、ＣＰＵ１１は、ステップＳ４７において全体練習と評価された場合、連続性ありと判断し、部分練習と評価された場合、連続性なしと判断する。ＣＰＵ１１は、連続性ありの場合、処理をステップＳ５４に移し、連続性なしの場合、処理をステップＳ５０に移す。
【００４７】
ステップＳ５０では、ＣＰＵ１１は、演奏状態の判別を行う。具体的には、ステップＳ４８で判定された演奏状態を判別する。例えば、ＣＰＵ１１は、演奏状態が片手の場合、処理をステップＳ５１に移し、演奏状態が片手両手混在の場合、処理をステップＳ５２に移し、演奏状態が両手の場合、処理をステップＳ５３に移す。
【００４８】
ステップＳ５１では、ＣＰＵ１１は、練習状態変数を「片手部分練習」とする。ステップＳ５２では、ＣＰＵ１１は、練習状態変数を「片手両手混在部分練習」とする。ステップＳ５３では、ＣＰＵ１１は、練習状態変数を「両手部分練習」とする。
【００４９】
ステップＳ５４では、ＣＰＵ１１は、演奏状態の判別を行う。具体的には、ステップＳ４８で判定された演奏状態を判別する。例えば、ＣＰＵ１１は、演奏状態が片手の場合、処理をステップＳ５５に移し、演奏状態が片手両手混在の場合、処理をステップＳ５６に移し、演奏状態が両手の場合、処理をステップＳ５７に移す。
【００５０】
ステップＳ５５では、ＣＰＵ１１は、練習状態変数を「片手全体練習」とする。ステップＳ５６では、ＣＰＵ１１は、練習状態変数を「片手両手混在全体練習」とする。ステップＳ５７では、ＣＰＵ１１は、練習状態変数を「両手全体練習」とする。
【００５１】
ステップＳ５８では、ＣＰＵ１１は、押鍵回数データの保存を行う。具体的には、ＣＰＵ１１は、押鍵回数データとして、ユーザＩＤ、曲ＩＤ、単位時間当たりの押鍵回数、練習状態、及び記録時間を、押鍵回数データテーブルに記憶する。ここで、単位時間当たりの押鍵回数は、図６のステップＳ８でＲＡＭ１３の所定の領域にコピーされた押鍵回数である。また、練習状態は、ステップＳ５１、Ｓ５２、Ｓ５３、Ｓ５５、Ｓ５６、Ｓ５７のいずれかで決定された練習状態変数である。記憶方法としては、押鍵回数データテーブルの末尾に追加する。例えば、ノートデータテーブルに、押鍵回数データ１〜押鍵回数データｍのｍ個の押鍵回数データが記憶されている場合には、押鍵回数データｍの次の記憶領域に記憶する。
【００５２】
ステップＳ５９では、ＣＰＵ１１は、練習状態変数の更新を行う。具体的には、ＲＡＭ１３の所定領域に格納された練習状態変数に、ステップＳ５１、Ｓ５２、Ｓ５３、Ｓ５５、Ｓ５６、Ｓ５７のいずれかで決定された練習状態変数を代入する。
【００５３】
図１０は、本発明の実施形態にかかる演奏教習装置において実行されるモチベーション変動評価処理を示すフローチャートである。
【００５４】
ステップＳ６１では、ＣＰＵ１１は、押鍵回数データから入力の練習状態変数に該当する直近のデータを引き出す。具体的には、ＣＰＵ１１は、図９のステップＳ５９で更新された練習状態変数をキーとして、押鍵回数データテーブルを検索し、最新の押鍵回数データが記憶された以前に記憶された押鍵回数データから当該練習状態変数に対応する直近の押鍵回数データを引き出す。
【００５５】
ステップＳ６２では、ＣＰＵ１１は、最新の押鍵回数データと、ステップＳ６１で引き出した直近の押鍵回数データとを比較する。
【００５６】
ステップＳ６３では、ＣＰＵ１１は、最新の押鍵回数データにおける押鍵回数と直近の押鍵回数データにおける押鍵回数とがほぼ同じであるか否かを判断する。ここで、ほぼ同じとは、例えば、押鍵回数の誤差が５つ以内である場合とする。ステップＳ６３の処理がＹＥＳの場合、ステップＳ６４に処理を移し、ＮＯの場合、ステップＳ６５に処理を移す。
【００５７】
ステップＳ６５では、ＣＰＵ１１は、最新の押鍵回数データにおける押鍵回数が直近の押鍵回数データにおける押鍵回数よりも少ないか否かを判断する。ステップＳ６５の処理がＹＥＳの場合、ステップＳ６６に処理を移し、ＮＯの場合、ステップＳ６７に処理を移す。
【００５８】
ステップＳ６４では、ＣＰＵ１１は、モチベーション状態変数に１（不変）を代入し、ステップＳ６６では、モチベーション状態変数に０（低い）を代入し、ステップＳ６７では、モチベーション状態変数に２（高い）を代入する。
【００５９】
図１１は、本発明の実施形態にかかる演奏教習装置において実行される演奏技術変動評価処理を示すフローチャートである。
【００６０】
ステップＳ７１では、ＣＰＵ１１は、該当する練習状態変数における押鍵回数データの平均値と標準偏差を計算する。具体的には、ＣＰＵ１１は、図９のステップＳ５９で更新された練習状態変数をキーとして、押鍵回数データテーブルを検索し、最新の押鍵回数データが記憶された以前に記憶された押鍵回数データから当該練習状態変数に対応する全ての押鍵回数データを引き出す。そして、この全ての押鍵回数データの平均値と標準偏差を計算する。
【００６１】
ステップＳ７２では、ＣＰＵ１１は、最新の押鍵回数データの偏差値を算出する。
ステップＳ７３では、ＣＰＵ１１は、最新の押鍵回数データの偏差値が基準値とほぼ同じか否かを判断する。基準値とは、ステップＳ７１で算出した押鍵回数データの平均値と標準偏差とに基づいて算出される値である。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ７４に移し、ＮＯの場合、処理をステップＳ７５に移す。
【００６２】
ステップＳ７５では、ＣＰＵ１１は、最新の押鍵回数データにおける偏差値が基準値より低いか否かを判断する。ステップＳ７５の処理がＹＥＳの場合、ステップＳ７６に処理を移し、ＮＯの場合、ステップＳ７７に処理を移す。
【００６３】
ステップＳ７４では、ＣＰＵ１１は、演奏技術状態変数に１（不変）を代入し、ステップＳ７６では、演奏技術状態変数に１（低い）を代入し、ステップＳ７７では、演奏技術状態変数に２（高い）を代入する。
【００６４】
図１２は、本発明の実施形態にかかる演奏教習装置において実行される変数更新処理を示すフローチャートである。
【００６５】
強化学習の一種であるＱ学習では、『現在のルールに従って行動を行い、それにより得られた報酬から価値関数を作成すると共に、現在の価値関数から最適なルールを作成する』ことが知られている。
【００６６】
変数更新処理では、このようなＱ学習理論を適用しており、具体的には現在のアドバイスに従って演奏入力（行動）を行った結果から価値関数テーブルｖａｌｕｅの状態変数を更新すると共に、更新した状態変数に応じて価値関数テーブルｖａｌｕｅから最も効果的なアドバイスを取得する。
【００６７】
以下、こうした変数更新処理の動作について図１２を参照して説明する。
【００６８】
ステップＳ８１では、ＣＰＵ１１は、モチベーション状態変数ｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｉｍｐｒｏｖｅｍｅｎｔで指定される状態において、アクション番号検索ポインタｉを歩進させながら、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から最も効果的（最大Ｑアクション価値ｍａｘＱ）なアドバイス種別ａｃｔｉｏｎを探し出す最大Ｑアクション処理を実行する。
【００６９】
次いで、ステップＳ８２では、ＣＰＵ１１は、モチベーション状態変数ｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｉｍｐｒｏｖｅｍｅｎｔで指定される現在の状態におけるアドバイス種別ａｃｔｉｏｎの最新の行動の価値ａｆｔｅｒＱを、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ａｃｔｉｏｎ］から取得する。続いて、ステップＳ８３では、ＣＰＵ１１は、モチベーション状態変数ｐｒｅｖｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｐｒｅｖｉｍｐｒｏｖｅｍｅｎｔで指定される前回状態における前アドバイス種別ｐｒｅｖＡｃｔｉｏｎの前回価値ｖを、価値関数テーブルｖａｌｕｅ［ｐｒｅｖｍｏｔｉｖａｔｉｏｎ］［ｐｒｅｖｉｍｐｒｏｖｅｍｅｎｔ］［ｐｒｅｖＡｃｔｉｏｎ］から取得する。
【００７０】
次に、ステップＳ８４では、ＣＰＵ１１は、次式（１）に従って現在価値ａｆｔｅｒＱに応じて前回の状態及び前回価値ｖを更新する。
ｖａｌｕｅ［ｐｒｅｖｍｏｔｉｖａｔｉｏｎ］［ｐｒｅｖｉｍｐｒｏｖｅｍｅｎｔ］［ｐｒｅｖＡｃｔｉｏｎ］←ｖ＋ａｌｐｈａ×（ｇａｍｍａ×ａｆｔｅｒＱ−ｖ＋ｒｅｗａｒｄ×ｕｓｅｆｕｌ）…（１）
なお、上記（１）式において、ａｌｐｈａは学習率、ｇａｍｍａは割引率、ｒｅｗａｒｄは報酬（達成度ａｃｈｉｅｖｅＶａｌｕｅ）、ｕｓｅｆｕｌは有用性係数である。
【００７１】
そして、ステップＳ８５では、ＣＰＵ１１は、最新の状態と行動をレジスタに記憶する。
【００７２】
図１３は、本発明の実施形態にかかる演奏教習装置において実行される最大Ｑアクション処理を示すフローチャートである。
【００７３】
ステップＳ９１では、ＣＰＵ１１は、アクション番号検索ポインタｉをゼロクリアし、最大Ｑアクション価値ｍａｘＱ及びアクション種別ｉｎｄｅｘをそれぞれ「−１」とする。
【００７４】
ステップＳ９２では、ＣＰＵ１１は、全てのアクションについて検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、ステップＳ９３に進み、モチベーション状態変数ｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｉｍｐｒｏｖｅｍｅｎｔで指定される状態において、アクション番号検索ポインタｉに応じたアドバイス価値ｑを、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から取得する。
【００７５】
ここで、図１４を参照して、モチベーション状態変数ｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｉｍｐｒｏｖｅｍｅｎｔで指定される状態において、アクション番号検索ポインタｉに応じたアドバイス価値ｑ（ｉ価値）を価値関数テーブルｖａｌｕｅから取得する処理について説明する。例えばモチベーション状態変数ｍｏｔｉｖａｔｉｏｎが「１」、技術状態変数ｉｍｐｒｏｖｅｍｅｎｔが「１」の場合、価値関数テーブルｖａｌｕｅ［１］［１］［ａｃｔｉｏｎ］には、図１４に図示する一例のように、複数のアクション（アドバイス）とそれらに対応付けられたアドバイス価値ｑ０〜ｑｎが登録されており、上記ステップＳ９３では、アクション番号検索ポインタｉに応じたアドバイス価値ｑを価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から読み出すようになっている。
【００７６】
そして、次のステップＳ９４では、ＣＰＵ１１は、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から読み出したアドバイス価値ｑ（ｉ価値）が、最大Ｑアクション価値ｍａｘＱ（最大値）より大きいか否かを判断する。最初のパスでは、上記ステップＳ９１において最大Ｑアクション価値ｍａｘＱは「−１」となっている為、判断結果は「ＮＯ」になり、ステップＳ９５に進む。ステップＳ９５では、ＣＰＵ１１は、アクション番号検索ポインタｉをアクション種別ｉｎｄｅｘに保持することでインデックス番号を更新し、アクション番号検索ポインタｉに応じて、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から読み出したアドバイス価値ｑを最大Ｑアクション価値ｍａｘＱとして保存することで最大値を更新する。
【００７７】
次いで、ステップＳ９６では、ＣＰＵ１１は、アクション番号検索ポインタｉをインクリメントして歩進させた後、上述のステップＳ９２に処理を戻す。以後、アクション番号検索ポインタｉの歩進に応じて価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］からアドバイス価値ｑ（ｉ価値）を読み出し、読み出したアドバイス価値ｑが最大Ｑアクション価値ｍａｘＱ（最大値）を超えると、上記ステップＳ９４の判断結果が「ＹＥＳ」になり、ステップＳ９７に進む。
【００７８】
ステップＳ９７〜ステップＳ１００では、ＣＰＵ１１は、検索される最大Ｑアクション価値ｍａｘＱ（最大値）が常に同じものとなる単調化を避ける為、ランダムに変化する要素を追加する。すなわち、ステップＳ９７では、図９の練習状態判定処理において決定された練習状態変数が「両手部分練習」であるか否かを判断する。「両手部分練習」でないならば、判断結果は「ＮＯ」になり、上述したステップＳ９６に処理を進め、アクション番号検索ポインタｉを歩進させた後、前述のステップＳ９２に処理を戻す。この場合、ランダムに変化する要素は追加されない。
【００７９】
一方、「両手部分練習」の場合には、上記ステップＳ９７の判断結果が「ＹＥＳ」となり、ステップＳ９８に進み、「０」又は「１」の乱数を発生させてレジスタｒｎｄにストアする。次いで、ステップＳ９９では、ＣＰＵ１１は、レジスタｒｎｄの乱数値が「１」であるか否かを判断する。レジスタｒｎｄの乱数値が「０」ならば、判断結果は「ＮＯ」になり、上述したステップＳ９６に進むが、レジスタｒｎｄの乱数値が「１」であると、判断結果は「ＹＥＳ」になり、ステップＳ１００に進み、アドバイス種別ｉｎｄｅｘに、アクション番号検索ポインタｉをセットしてインデックス番号を更新して上述のステップＳ９６に進む。これにより、ランダムに変化する要素が追加されることになる。
【００８０】
こうして、ランダムに変化する要素を加味しつつ、アクション番号検索ポインタｉの歩進に応じて、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から全てのアクション（アドバイスの種別）を検索し終えると、上述したステップＳ９２の判断結果が「ＹＥＳ」になり、ステップＳ１０１に処理を進め、インデックス番号が「−１」である否かを判断する。「−１」ならばステップ１０２に処理を進め、乱数によりインデックス番号を取得して、最大Ｑアクション価値ｍａｘＱ（最大値）を更新する。そして、ステップＳ１０３に処理を移す。ステップＳ１０１において、インデックス番号が「−１」でないならば、ステップＳ１０３に処理を進め、最大Ｑアクション価値ｍａｘＱ（最大値）とインデックス番号をアドバイス種別ａｃｔｉｏｎにセットする。
【００８１】
図１５は、本発明の実施形態にかかる演奏教習装置において実行されるアドバイス処理を示すフローチャートである。
【００８２】
ステップＳ１１１では、ＣＰＵ１１は、「０」又は「１」の乱数値を発生させてレジスタｒｎｄにストアし、続くステップＳ１１２では、レジスタｒｎｄの乱数値が「１」であるか否かを判断する。レジスタｒｎｄの乱数値が「０」であると、判断結果は「ＮＯ」になり、ステップＳ１１３に進み、アドバイス種別の数の範囲で乱数を発生させ、発生させた乱数値をアドバイス種別ａｃｔｉｏｎにセットした後、後述のステップＳ１１５に進む。
【００８３】
一方、レジスタｒｎｄの乱数値が「１」であると、上記ステップＳ１１２の判断結果は「ＹＥＳ」になり、ステップＳ１１４に進む。ステップＳ１１４では、モチベーション状態変数ｍｏｔｉｖａｔｉｏｎ及び演奏技術状態変数ｉｍｐｒｏｖｅｍｅｎｔで指定される状態において、アクション番号検索ポインタｉを歩進させながら、価値関数テーブルｖａｌｕｅ［ｍｏｔｉｖａｔｉｏｎ］［ｉｍｐｒｏｖｅｍｅｎｔ］［ｉ］から最も効果的（最大Ｑアクション価値ｍａｘＱ）なアドバイス種別ａｃｔｉｏｎを探し出す最大Ｑアクション処理（図１３参照）を実行した後、ステップＳ１１５に進む。そして、ステップＳ１１５では、アドバイス種別ａｃｔｉｏｎで指定される種類のアドバイスを実行する。なお、ここで言うアドバイスの実行とは、例えばアドバイス種別ａｃｔｉｏｎで指定されるアドバイスの文言を画面表示したり音声合成したりしてユーザに報知することを指す。
【００８４】
ステップＳ１１６では、ＣＰＵ１１は、有用性入力を受け付ける。すなわち、アドバイスが有用であったか否かのユーザからの入力を入力部１５を介して受け付ける。ステップＳ１１７では、有用性入力があったか否かを判断し、入力があった場合には、ステップＳ１１９に処理を移し、入力がなかった場合には、ステップＳ１１８に処理を移す。ステップＳ１１７では、ＣＰＵ１１は、有用性入力の結果が有用であったか否かを判断する。有用であった場合には、処理をステップＳ１２１に移し、有用でなかった場合には、処理をステップＳ１２０に移す。
【００８５】
ステップＳ１１８では、ＣＰＵ１１は、すなわち有用性入力がなかった場合には、有用性係数（ｕｓｅｆｕｌ）に１を代入し、ステップＳ１２０では、すなわち有用性が無いと入力された場合には、有用性係数（ｕｓｅｆｕｌ）に０以上１未満の値を代入し、ステップＳ１２１では、すなわち有用性が有ると入力された場合には、有用性係数（ｕｓｅｆｕｌ）に１より大きい値を代入する。これにより、アドバイスを受けたときのユーザの気持ちが価値に反映される。
【００８６】
図１６は、本発明の実施形態にかかる演奏教習装置において選択されるアドバイスの例を示す図である。
【００８７】
本実施形態では、モチベーション状態変数は、０（低い）、１（不変）、２（高い）の３種類、演奏技術状態変数は、０（低い）、１（不変）、２（高い）の３種類であるので、図１６に示すマトリクスとなり、例えば、モチベーション状態変数が０（低い）かつ演奏技術状態変数が０（低い）場合、効果のあったアドバイスとして「アドバイス１」が選択される。当該マトリクスは、練習状態変数ごとに対応している。
【００８８】
本実施形態の演奏教習装置１のＣＰＵ１１は、楽音のノートの入力を受け付け、所定の単位時間の間に受け付けた押鍵回数を演奏者の練習状態変数（片手部分練習等）と対応付けて記憶し、同一の練習状態変数ごとに記憶した押鍵回数に基づいて、演奏者のモチベーション変動を評価し、同一の練習状態変数ごとに記憶した押鍵回数とに基づいて、演奏者の演奏技術レベル変動を評価し、練習状態変数ごとに、評価したモチベーション変動、及び評価した演奏技術レベル変動に基づいてアドバイスを生成する。
したがって、演奏者のモチベーションの変動や演奏技術レベルの変動に応じてアドバイスを変化させることができ、より効果的なアドバイスを提供できる。
【００８９】
本実施形態の演奏教習装置１のＣＰＵ１１は、モチベーション状態変数、及び演奏技術状態変数に応じて、複数のアドバイス種別の中から最大価値のアドバイスを抽出する。
したがって、モチベーション状態変数、及び演奏技術状態変数に応じて、ユーザにとって一番価値の高いアドバイスを提供できる。
【００９０】
本実施形態の演奏教習装置１のＣＰＵ１１は、モチベーション状態変数、演奏技術状態変数に応じて、Ｑ学習理論に基づく価値関数テーブル（ルール価値データ）に登録される複数のアドバイス種別の中から最大価値を有する種別のアドバイスを抽出する。
したがって、アドバイスを行った後にユーザに表れた効果の価値を、アドバイス行ったときのモチベーション状態変数及び演奏技術状態変数と選択されたアドバイスの種類ごとに蓄積していくことができるので、次回以降のモチベーション状態変数及び演奏技術状態変数に応じて最適なアドバイスが選択される確率が高くなる。
【００９１】
本実施形態の演奏教習装置１は、アドバイスの有用性の入力を受け付ける入力部１５を備え、ＣＰＵ１１は、入力された有用性に応じて、アドバイスの価値を変化させる。
したがって、有用か否かをユーザが入力することにより、アドバイスがうれしかったなど精神的な要素をアドバイスの価値に加えることができる。
【００９２】
また、本実施形態によれば、単位時間当たりの押鍵回数は、最新と直近との比較を行うことでモチベーションの変動を知るために使用でき、また、最新と過去の平均的な値との相対的な比較を行うことで総合的な技術の変動を知るために使用できる。
この強化学習では、アドバイスを行った後に使用者に表れた効果の価値を、アドバイスを行ったときの２種類の状態変数の状態と選択されたアドバイスの種類ごとに蓄積していくことができるので、次回以降の状態変数に応じて効果的なアドバイスが選択される確率が高くなる。その際、乱数によりランダムな要素を追加しアドバイスを行うことで局所的な最適解に陥るのを防止できる。
前記効果の価値として、単位時間当たりの押鍵回数を用いると、モチベーションの変動と演奏技術レベルの変動とを含んだ複合的な効果の測定となり、モチベーション変動変数の変化を用いると、モチベーションに与えた効果の測定となり、演奏技術レベル変動変数の変化を用いると、演奏技術レベルに与えた効果の測定となる。
価値の要素に単位時間当たりの押鍵回数などの実際に表れた結果以外に、アドバイスがうれしかったなど精神的な要素を加えたい場合には、有用か否かをユーザが入力することにより価値に反映することで実現できる。
【００９３】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００９４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段などより構成される全体的な装置を意味するものとする。
【００９５】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９６】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信手段と、
この受信手段により所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出手段と、
前記算出手段により演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶手段と、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価手段と、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成手段と、
を備えることを特徴とする演奏教習装置。
［付記２］
前記アドバイス生成手段は、
前記評価手段が評価したモチベーション変動及び演奏技術レベル変動に応じて、複数のアドバイス種別の中から最大価値のアドバイスを抽出するアドバイス抽出手段
を備えることを特徴とする付記１に記載の演奏教習装置。
［付記３］
前記アドバイス抽出手段は、前記評価手段が評価したモチベーション変動及び演奏技術レベル変動に応じて、Ｑ学習理論に基づく価値関数テーブルに登録される複数のアドバイス種別の中から最大価値を有する種別のアドバイスを抽出する
ことを特徴とする付記２に記載の演奏教習装置。
［付記４］
前記アドバイス抽出手段が抽出した前記アドバイスの有用性の入力を受け付ける有用性入力受付手段と、
前記有用性入力受付手段が受け付けた前記有用性に応じて、前記アドバイスの価値を変化させるアドバイス価値変更手段と、
をさらに備えることを特徴とする付記２又は３に記載の演奏教習装置。
［付記５］
前記評価手段は、同一の前記練習形態ごとに、前記演奏操作回数記憶手段が最新に記憶した前記演奏操作回数と、当該最新の演奏操作回数より以前でかつ直近に前記演奏操作回数記憶手段が記憶した前記演奏操作回数とに基づいて、演奏者のモチベーション変動を評価することを特徴とする付記１に記載の演奏教習装置。
［付記６］
前記評価手段は、
前記最新の演奏操作回数に対応付けられた練習形態と同一の練習形態に対応する演奏操作回数を前記演奏操作回数記憶手段から全て読み出し、当該読み出された演奏操作回数に基づいて標準偏差及び平均値を算出する標準偏差算出手段と、
前記最新の演奏操作回数に基づく偏差値を算出する偏差値算出手段と、
前記算出された標準偏差及び平均値に基づく基準値と、この算出された偏差値との関係を、前記演奏技術レベルの変動として評価する演奏技術レベル変動評価手段と、
を備えたことを特徴とする付記１に記載の演奏教習装置。
［付記７］
演奏評価装置に搭載されるコンピュータに、
演奏者による演奏操作子の操作によって供給される楽曲のノートデータを順次受信する受信ステップと、
この所定時間経過毎に受信されたノートデータに基づいて演奏操作回数を算出する算出ステップと、
前記演奏操作回数が算出される毎に、当該算出された演奏操作回数を、複数の練習形態のいずれかひとつと対応付けて所定の記憶手段に記憶させる演奏操作回数記憶ステップと、
同一の前記練習形態ごとに、前記記憶手段に最新に記憶された演奏操作回数と、当該最新の演奏操作回数より以前に前記記憶手段に記憶された演奏操作回数とに基づいて、前記演奏者のモチベーション変動及び演奏技術レベル変動を評価する評価ステップと、
前記練習形態ごとに、前記評価したモチベーション変動及び前記演奏技術レベル変動に基づいてアドバイスを生成するアドバイス生成ステップと、
を実行させることを特徴とするプログラム。
【符号の説明】
【００９７】
１・・・練習成績表示装置、１０・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・バス、１５・・・入力部、１６・・・表示部、１７・・・ＭＩＤＩインターフェース、１８・・・電子楽器
【図１】
0005447540.tif 000002
【図２】
0005447540.tif 000003
【図３】
0005447540.tif 000004
【図４】
0005447540.tif 000005
【図５】
0005447540.tif 000006
【図６】
0005447540.tif 000007
【図７】
0005447540.tif 000008
【図８】
0005447540.tif 000009
【図９】
0005447540.tif 000010
【図１０】
0005447540.tif 000011
【図１１】
0005447540.tif 000012
【図１２】
0005447540.tif 000013
【図１３】
0005447540.tif 000014
【図１４】
0005447540.tif 000015
【図１５】
0005447540.tif 000016
【図１６】
0005447540.tif 000017