(57)【特許請求の範囲】
【請求項１】
連続して行なわれる演奏者の演奏操作の操作間隔を表現した操作間隔データを生成する操作間隔データ生成手段と、
前記操作間隔データ生成手段により生成された操作間隔データに基づき、時間軸及び操作間隔軸を有する２次元相空間上の波形データを生成する波形データ生成手段と、
前記波形データ生成手段にて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作間隔値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理手段と、
基本アトラクタデータが予め記憶された記憶手段と、
ターケンス・プロット処理手段によって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価手段と
を具備することを特徴とする演奏評価装置。
【請求項２】
連続して行なわれる演奏者の演奏操作毎の操作速度を表現した操作速度データを生成する操作速度データ生成手段と、
前記操作速度データ生成手段により生成された操作速度データに基づき、時間軸及び操作速度軸を有する２次元相空間上の波形データを生成する波形データ生成手段と、
前記波形データ生成手段にて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作速度値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理手段と、
基本アトラクタデータが予め記憶された記憶手段と、
ターケンス・プロット処理手段によって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価手段と
を具備することを特徴とする演奏評価装置。
【請求項３】
基本アトラクタデータが予め記憶された記憶手段を有するコンピュータに、
連続して行なわれる演奏者の演奏操作の操作間隔を表現した操作間隔データを生成する操作間隔データ生成ステップと、
前記操作間隔データ生成ステップにより生成された操作間隔データに基づき、時間軸及び操作間隔軸を有する２次元相空間上の波形データを生成する波形データ生成ステップと、
前記波形データ生成ステップにて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作間隔値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理ステップと、
ターケンス・プロット処理ステップによって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価ステップと
を実行させる演奏評価装置のプログラム。
【請求項４】
基本アトラクタデータが予め記憶された記憶手段を有するコンピュータに、
連続して行なわれる演奏者の演奏操作毎の操作速度を表現した操作速度データを生成する操作速度データ生成ステップと、
前記操作速度データ生成ステップにより生成された操作速度データに基づき、時間軸及び操作速度軸を有する２次元相空間上の波形データを生成する波形データ生成ステップと、
前記波形データ生成ステップにて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作速度値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理ステップと、
ターケンス・プロット処理ステップによって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価ステップと
を実行させる演奏評価装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者の演奏を評価する演奏評価装置および演奏評価処理のプログラムに関する。
【背景技術】
【０００２】
従来から、ある演奏者の演奏を評価する場合は、予め用意された曲を演奏させ、この演奏と模範の演奏とを比較する、という手法がとられる。この比較結果に基づいて評価・診断する最も簡単な手法は、模範の演奏とのずれがどれだけ少ないか、ということに着目することである。つまり実演奏と模範演奏との間で音高あるいはタイミングが異なっていないか、ということを逐一判断し、両者の相違が少なければ少ないほど、評価を高くする手法である。例えば特許文献１には、演奏された音の演奏タイミングを手本となる演奏データとのタイミング差を毎回評価して類型得点を累算し、グレードを星の数で表示する演奏評価装置が開示されている。  
【０００３】
【特許文献１】特開２００１−０８３９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、この特許文献１に示されるような手法は、単に模範演奏と実演奏がぴったり一致しているかどうかが判断されるだけであり、演奏をひとつの方向から見た評価・診断でしかない。なぜなら、ひとつの曲に対して模範演奏というものは唯一絶対というものはなく、有名演奏家毎に多種多様にあるものであり、その中のひとつの模範演奏と比較して一致しないからといって低い評価を与えることは、はたして妥当であるか疑問が残る。
【０００５】
こうした場合、熟練した演奏の評価者であれば、別の面から見た評価・診断を行う場合が多い。これら熟練した評価者は、ひとつの曲に対する複数の有名演奏家による名演奏を聞く経験をしており、これらの経験から、評価を下している。
【０００６】
これらの人々が評価を行う場合、特に注目するのは「発音タイミングの変化の印象」や、「発音強度の変化の印象」がどうであったかということである。「発音タイミングの変化の印象」や「発音強度の変化の印象」の印象とは「人の心に残るような特性」のことであり、これを先生は長年の経験に基づいてこの特性を感覚的に抽出し生徒の演奏と過去の名演奏とを比較して評価を行うのである。従って演奏を評価する場合、ひとつの模範演奏と合ってなくとも単に「模範演奏と合っていない」という機械的な評価・診断を下さずに、経験と感性に基づいて「○○風だから△△だ・・・」という評価・診断を下すことが可能となる。しかしながらこの「発音タイミングの変化の印象」や、「発音強度の変化の印象」を抽出することは、一般的な手法として確立されたものでなく、熟練した先生の経験と感性に頼る部分が多い。
【０００７】
しかし、近年になってターケンス・プロットとよばれる、脳で行われる情報の処理と類似していると見られる手法を用いることにより、ある音の発音タイミングや発音強度の並びからアトラクタを生成すると、このアトラクタは「発音タイミングの変化の印象」や「発音強度の変化の印象」を表わすものであることがわかってきた。このアトラクタはあるデータに対して、時間的に他のデータがどうであったかを同時に空間に表示するものであり、このアトラクタが表現する軌跡が脳の「変化の印象」であることは、人間の脳のメカニズムを知ることで理解することが可能となってきている。
【０００８】
まず人間の脳は、外部からうけた刺激を情報として取り込み、これが何であるかを認識（特徴を抽出）して記憶している。この認識は入力された情報のみで行うのではなく、過去にうけた刺激により記憶された情報を参考にして認識していると考えられる。たとえば、映画で見たあるシーンが過去の自分の経験と重なっていると、大きな感動を憶えることである。これは脳が映画のシーンを認識する際、過去に記憶された経験の記憶を参考にして認識し、同じ特徴を有する経験があればそれが強い刺激として認識されるため感動が大きくなっていると考えられる。また、過去にどこかで聞いた曲を再び聞いた場合、それについて親しみを感じるということも同様である。
【０００９】
さらに、この脳の認識の手法においては、このように遠い過去の記憶まで参照して認識するものだけでなく、もっと短時間での過去も多大な影響を与えていると考えられる。そして聴覚に関する発音や消音の情報である「発音タイミングの変化の印象」や「発音強度の変化の印象」についても、より短時間の直前の発音タイミングと照らし合わせて認識していると考えられる。よりわかりやすくいうならば、一瞬ごとに物事を認知しているのではなく、あるまとまった時間についてどのようになっているのかを認知していると考えられる。
【００１０】
このことから、ターケンス・プロットで「現時点での発音タイミングや発音強度を所定のプロットスケール幅によって複数同時に選択している作業」は、脳で行われている「現時点の情報を認識するときに同時に過去の情報も参考にしている」という脳内の情報認識における作業ときわめて類似したものであるといえる。このため、演奏されたタイミングや演奏強度の時系列データからターケンス・プロットによってアトラクタを描画する作業は、脳にとっては、その曲を認識するに必要な「発音タイミングの変化の印象」や「発音強度の変化の印象」を抽出する作業に他ならない。
【００１１】
すなわち、ターケンス・プロットを用いで表示されたアトラクタは、その音の「発音タイミングの変化の印象」や「発音強度の変化の印象」という特徴の部分が視覚的に表現されているといえる。
【００１２】
本発明は、このような事情に鑑みてなされたもので、教習者が演奏した曲の「発音タイミングの変化の印象」や「発音強度の変化の印象」などの発音操作形態を表現する時系列データをアトラクタの特徴として抽出し、このアトラクタの特徴に基づいて演奏診断を行う演奏評価装置および演奏評価プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記目的を達成するために。請求項１に記載の発明では、連続して行なわれる演奏者の演奏操作の操作間隔を表現した操作間隔データを生成する操作間隔データ生成手段と、前記操作間隔データ生成手段により生成された操作間隔データに基づき、時間軸及び操作間隔軸を有する２次元相空間上の波形データを生成する波形データ生成手段と、前記波形データ生成手段にて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作間隔値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理手段と、基本アトラクタデータが予め記憶された記憶手段と、ターケンス・プロット処理手段によって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価手段とを具備することを特徴とする。
【００１４】
請求項２に記載の発明では、連続して行なわれる演奏者の演奏操作毎の操作速度を表現した操作速度データを生成する操作速度データ生成手段と、前記操作速度データ生成手段により生成された操作速度データに基づき、時間軸及び操作速度軸を有する２次元相空間上の波形データを生成する波形データ生成手段と、前記波形データ生成手段にて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作速度値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理手段と、基本アトラクタデータが予め記憶された記憶手段と、ターケンス・プロット処理手段によって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価手段とを具備することを特徴とする。
【００１５】
請求項３に記載の発明では、基本アトラクタデータが予め記憶された記憶手段を有するコンピュータに、連続して行なわれる演奏者の演奏操作の操作間隔を表現した操作間隔データを生成する操作間隔データ生成ステップと、前記操作間隔データ生成ステップにより生成された操作間隔データに基づき、時間軸及び操作間隔軸を有する２次元相空間上の波形データを生成する波形データ生成ステップと、前記波形データ生成ステップにて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作間隔値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理ステップと、ターケンス・プロット処理ステップによって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価ステップとを実行させることを特徴とする。
【００１６】
請求項４に記載の発明では、基本アトラクタデータが予め記憶された記憶手段を有するコンピュータに、連続して行なわれる演奏者の演奏操作毎の操作速度を表現した操作速度データを生成する操作速度データ生成ステップと、前記操作速度データ生成ステップにより生成された操作速度データに基づき、時間軸及び操作速度軸を有する２次元相空間上の波形データを生成する波形データ生成ステップと、前記波形データ生成ステップにて生成された２次元相空間の波形データの時間軸上に夫々プロットスケール値ｔの間隔をおいたｎ個のサンプリング位置を指定し、当該ｎ個のサンプリング位置の操作速度値夫々をｎ次元相空間上の各軸上の位置に対応させることによって最初の座標位置を決定し、その後前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトしていくことにより前記ｎ次元相空間上のアトラクタの座標位置を順次決定するターケンス・プロット処理ステップと、ターケンス・プロット処理ステップによって作成されたアトラクタデータと前記記憶手段に記憶される基本アトラクタデータとを比較し、この比較結果に基づいて前記ユーザの演奏を評価する演奏評価ステップとを実行させることを特徴する。
【発明の効果】
【００１８】
本発明では、ユーザの演奏状況を熟練した評価者のように評価をすることが出来、しかも演奏練習上でのアドバイスを与えることが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施の形態について説明する。
[第１実施形態]
Ａ．構成  
図１は本発明の第１実施形態による演奏評価装置１００の構成を示すブロック図である。この図において、鍵盤１０は、押離鍵操作（演奏操作）に応じたキーオン／キーオフ信号やキーナンバ（音高）、ベロシティ（発音強度）等の演奏情報を発生する。押鍵ガイド部２０は、ＣＰＵ５０の制御の下に押鍵案内する。すなわち、押鍵ガイド部２０は、例えば半透明樹脂材等で形成された各鍵下部に対向配置される発光素子と、これら各鍵毎に配設される発光手段を点灯駆動するドライバと備え、後述するＣＰＵ５０から供給される駆動制御信号に従って、押鍵すべき鍵に対応して配設される発光手段を点灯あるいは点滅させて演奏者に弾くべき鍵の位置および押鍵するタイミングを案内するように構成されている。
【００２０】
パネルスイッチ３０は、装置電源をパワーオン・オフする電源スイッチの他、ファクトリープリセットされる練習曲目を選択する曲選択スイッチ、演奏教習の開始および停止を指示するスタートスイッチ、押鍵案内を行うか否かを設定するガイドスイッチおよび診断モード（後述する）を選択する診断モード選択スイッチ等が設けられ、これらスイッチの操作に応じたスイッチイベントを発生する。パネルスイッチ３０から出力されるスイッチイベントは、後述するＣＰＵ５０に取り込まれる。
【００２１】
表示部４０は、ＬＣＤパネル等から構成され、ＣＰＵ５０から供給される表示制御信号に応じて装置各部の設定状態などを表示する。ＣＰＵ５０は、パネルスイッチ３０から供給されるスイッチイベントに応じて装置各部を制御する。具体的には、は鍵盤１０から供給される演奏情報に応じて音源８０に楽音発生を指示し、診断モード選択スイッチ操作により選択される診断モードでユーザの演奏状況を診断する。本発明の要旨に関わるＣＰＵ５０の特徴的な処理動作については追って詳述する。
【００２２】
ＲＯＭ６０は、プログラムエリアおよびデータエリアを備える。ＲＯＭ６０のプログラムエリアには、ＣＰＵ５０にロードされる各種制御プログラムが記憶される。各種制御プログラムとは、後述するメインルーチン、スイッチ処理、演奏ガイド処理、鍵盤処理および演奏診断処理を含む。ＲＯＭ６０のデータエリアは、更に基本アトラクタデータエリアと曲データエリアとに分かれる。ＲＯＭ６０の基本アトラクタデータエリアには、後述する診断モード用の基本アトラクタデータが記憶される。この参照データが意図するところについては追って述べる。
【００２３】
ＲＯＭ６０の曲データエリアに記憶される曲データの構成について図２を参照して説明する。曲データエリアには、複数の曲データ（１）〜（ｎ）がプリセットされており、それらの内のいずれかが曲選択スイッチの操作に応じて選択される。ガイド曲を形成する曲データは、曲進行順にアドレッシングされたイベントＥＶＴ（１）〜（ｎ）と、曲の終わりを表わす終了データＥＮＤとから形成され、曲進行に応じて歩進されるポインタレジスタＡＤの値（読み出しアドレス）に応じて順次読み出される。
【００２４】
これらイベントＥＶＴ（１）〜（ｎ）は、いわゆる、相対時間方式によるデータ形式をなしており、ノートオンイベントは発音を示すノートオンＮＯＮ、その音高を示すノートナンバＮＮ、音量を表すベロシティＶＥＬ、発音タイミングを示すステップタイムＳＴおよび発音期間（音符長）を示すゲートタイムＧＴから形成され、一方、ノートオフイベントは消音を示すノートオフＮＯＦおよび消音すべき音高を示すノートナンバＮＮから形成される。
【００２５】
図１に戻り、再び構成の説明を進める。図１において、ＲＡＭ７０は、ワークエリアおよびデータエリアを備える。ＲＡＭ７０のワークエリアには、ＣＰＵ５０の処理に用いる各種レジスタ・フラグデータが一時記憶される。ＲＡＭ７０のデータエリアには、鍵盤１０から出力される演奏情報と曲データとから派生される演奏診断用の各種データが一時記憶される。
【００２６】
図１０は後述するターケンス・プロット処理を行うために使用する演奏情報を一時的に記憶するキーオン間隔データエリア（同図（ａ））とアトラクタデータエリア（同図（ｂ））である。
【００２７】
図１に戻り、音源８０は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源８０は、各種音色の波形データを記憶しており、これらの内、ＣＰＵ５０が供給する楽音パラメータに応じた波形データを読み出して楽音波形を形成する。サウンドシステム９０は、音源８０から出力される楽音波形をアナログ波形信号に変換した後、このアナログ波形信号に対して不要ノイズを除去する等のフィルタリングを施してから増幅してスピーカから発音する。
【００２８】
Ｂ．動作  
次に、図３〜図１６を参照して上記構成による第１実施形態の動作について説明する。以下では、最初に全体動作としてメインルーチンの動作を説明した後、メインルーチンからコールされるスイッチ処理、演奏ガイド処理、鍵盤処理および演奏診断処理の各動作について述べる。
【００２９】
（１）メインルーチンの動作
電源スイッチ操作により装置電源がパワーオンされると、ＣＰＵ５０は図３に図示するメインルーチンのステップＳＡ１に処理を進め、ＲＡＭ７０のワークエリアに設けられる各種レジスタやフラグ類をリセットしたり初期値をセットするイニシャライズを行う。続いて、ステップＳＡ２では、ユーザのスイッチ操作に応じてパネルスイッチ３０が発生するスイッチイベントに基づき、対応するスイッチ処理を実行する。例えば、曲選択スイッチ操作に応じて演奏教習する曲を選択したり、スタートスイッチのオン操作に応じて教習開始を指示したり、診断スイッチをオン操作して演奏診断処理を実行する。
【００３０】
次いで、ＳＡ３では押離鍵操作に対応して音源８に発音・消音指示する鍵盤処理を行う。そして、ステップＳＡ４では、演奏教習が停止していれば、ユーザの演奏状況を診断する演奏診断処理を実行する。以後、電源がオフされる迄、上記ステップＳＡ２〜ＳＡ４を繰り返す。
【００３１】
（２）タイマインタラプト処理の動作
次に、図４を参照してタイマインタラプト処理の動作を説明する。スタートスイッチがオン操作された場合、後述するスイッチ処理により割込みマスクが解除される。割り込みマスクが解除されると、ＣＰＵ５は図４に図示するタイマインタラプト処理を一定周期毎に実行し、ステップＳＢ１においてタイマカウンタＴを歩進させてタイマクロックを計時（累算）する。
【００３２】
（３）スイッチ処理の動作
次に、図５を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップＳＡ２（図３参照）を介して図５に図示するスイッチ処理が実行される。
【００３３】
ステップＳＣ１では、スタートスイッチのオン操作の有無を判断する。スタートスイッチがオン操作されると、判断結果は「ＹＥＳ」となり、ステップＳＣ２に進む。ステップＳＣ２では、スタートフラグＳＴＦをビット反転する。このスタートフラグＳＴＦとは、演奏教習動作を開始させるか否を表わすものであって、「１」の時に開始を表わし、「０」の時に終了を表わす。
【００３４】
続いて、ステップＳＣ３では、ビット反転されたスタートフラグＳＴＦが「１」、つまり演奏教習動作の開始を表わしているか否かを判断する。ここで、ビット反転されたスタートフラグＳＴＦが「１」であると、上記ステップＳＣ３の判断結果が「ＹＥＳ」となり、ステップＳＣ４に進み、ポインタレジスタＡＤをゼロリセットした後、続くステップＳＣ５においてポインタレジスタＡＤの値に応じてＲＯＭ６０から曲データ（ＡＤ）、すなわち先頭のイベントＥＶＴを読み出してテンポラリレジスタにストアする。
【００３５】
次いで、ステップＳＣ６では、タイマカウンタＴをゼロリセットした後、ステップＳＣ７でレジスタｎを１にし、ステップＳＣ８ではＫＯＮＴ（ｎ）をクリアする。続くステップＳＣ９にてタイマインタラプト禁止を解除する。これにより、前述したタイマインタラプト処理（図４参照）が一定周期毎に実行される。必要に応じて、曲データ（ＡＤ）のデータは前記表示部４０もしくは鍵盤１０の裏側に配設されるガイド機能（図示せず）で確認が可能となっている。
【００３６】
これに対し、ビット反転されたスタートフラグＳＴＦが「０」であると、上述したステップＳＣ３の判断結果が「ＮＯ」になり、ステップＳＣ１０に進む。ステップＳＣ１０では、割込みマスクをかけて前述したタイマインタラプト処理（図４参照）を禁止させ、続くステップＳＣ１１では押鍵ガイド部２０に対し発光素子の消灯を指示して演奏教習動作を終了させる。
【００３７】
さて一方、スタートスイッチがオン操作されていない場合には、上述したステップＳＣ１の判断結果が「ＮＯ」になり、ステップＳＣ１２に進み、ＳＴＦフラグが１であれば、ステップＳＣ１５に進み、その他のスイッチ操作に関わる処理を実行して本処理を終える。
ステップＳＣ１２でＳＴＦフラグが０であって、ステップＳＣ１３で診断スイッチがオンされていない場合もステップＳＣ１５に進み、その他のスイッチ操作に関わる処理を実行して本処理を終える。ステップＳＣ１２でＳＴＦが０であって、ステップＳＣ１３で診断スイッチがオンされている場合はステップＳＣ１４へと進み演奏診断を指示するフラグＳＨＦを反転させる。
【００３８】
（４）鍵盤処理の動作
次に、図６を参照して鍵盤処理の動作について説明する。前述したメインルーチンのステップＳＡ３（図３参照）を介して鍵盤処理が実行されると、ＣＰＵ５０は図６に図示するステップＳＥ１に処理を進め、キーイベントを検出する鍵走査を行い、続くステップＳＥ２では、この鍵走査の結果に基づきキーイベント（鍵変化）の有無を判別する。ここで、キーイベントが発生していない時、つまり鍵操作が行われておらず、鍵変化が無い場合には本処理を終了させる。一方、押鍵操作によるキーオンイベントが発生した場合には、ステップＳＥ３以降のオンイベント処理を実行し、離鍵操作によるキーオフイベントが発生した場合には、ステップＳＥ８以降のオフイベント処理を実行する。以下、オンイベント処理およびオフイベント処理について説明する。
【００３９】
＜オンイベント処理＞
押鍵操作によるキーオンイベントが発生すると、ステップＳＥ３に進み、押鍵された鍵のキーナンバをレジスタＫＮにストアする。続いて、ステップＳＥ４では、キーオンイベントが発生した時点のタイマカウンタＴの値をキーオンタイミングとして、レジスタＫＯＮＴ（ｎ）にストアする。なお、レジスタＫＯＮＴ（ｎ）とは、タイマカウンタＴがストアされる毎に、引数ｎが更新されるレジスタである。次いで、ステップＳＥ５ではｎがインクリメントされる。
【００４０】
その後、ステップＳＥ７に進み、キーナンバＫＮに対応する音高の楽音を、押鍵操作に応じて発生したベロシティに従った音量で発音するよう音源８０に指示して本処理を終える。
【００４１】
＜オフイベント処理＞
離鍵操作によるキーオフイベントが発生すると、ステップＳＥ８に進み、離鍵された鍵のキーナンバをレジスタＫＮにストアし、続くステップＳＥ９ではレジスタＫＮに格納したキーナンバに対応する音高の楽音を消音するよう音源８０に指示して本処理を終える。
【００４２】
（５）演奏診断処理の動作
次に、図７を参照して演奏診断処理の動作について説明する。前述したメインルーチンのステップＳＡ４（図３参照）を介して演奏診断処理が実行されると、ＣＰＵ５０は図７に図示するステップＳＦ１に進み、診断フラグＳＨＦが「１」、つまり、演奏診断中であるか否を判断する。演奏診断中ならば、判断結果は「ＮＯ」になり、本処理を完了する。
【００４３】
一方、演奏診断が開始していると、上記ステップＳＦ１の判断結果が「ＹＥＳ」になり、ステップＳＦ２に進み、ＫＯＮＴ（）に入力されたデータがあるかを確認し、データがない場合は、本処理を終了する。データがある場合はステップＳＦ３に進み診断モード処理を実行する。
【００４４】
（６）診断モード処理の動作
次に、図８〜図１０を参照して診断モード処理の動作について説明する。上述した演奏診断処理が実行されると、ＣＰＵ５０は図８に図示するステップＳＧ１に処理を進める。
【００４５】
ステップＳＧ１では、レジスタＫＯＮＴ（）によりキーオン間隔Ｌ０〜Ｌｎを算出する。キーオン間隔Ｌ０〜Ｌｎの定義は、図９（ａ）に図示する通り、曲スタート時点から最初のキーオンまでの間隔がＬ０、以降は前キーオンと後続のキーオンとの間隔Ｌ１、Ｌ２、Ｌ３、…、Ｌｎを指す。
【００４６】
そして、ステップＳＧ２では、キーオン間隔Ｌ０〜Ｌｎに基づきデータ補完を行うことによりデータがない時間上においても新たなキーオン間隔データとして生成させる。すなわち図９（ｂ）の各点と点との間の破線にて示すように、レジスタＫＯＮＴ（）のキーオンタイミングと、キーオン間隔Ｌ０〜Ｌｎとから補間された新しい時系列のキーオン間隔データＬ０〜Ｌｎを生成して図１０（a）に示すＲＡＭ７０のキーオン間隔データエリアに保存する。
【００４７】
次に、図８のステップＳＧ３では、生成されたキーオン間隔データＬ０〜Ｌｎについてターケンス・プロット解析処理を施す。すなわち、キーオン間隔データＬ０〜Ｌｎを後述するターケンス・プロット処理を用いて３次元空間に埋め込み、アトラクタを生成し、あらかじめＲＯＭ６０の参照データエリアに記憶していた複数の基本アトラクタデータ（図１０（ｃ））との相関値を抽出することで演奏の評価結果を決定する。
【００４８】
図１０（ｂ）はＲＡＭ内のアトラクタデータエリアを示す図であり、後述するターケンス・プロット解析処理で用いられる３次元の座標を記録するエリアである。また  図１０（ｃ）に示すＲＯＭ６０内の基本アトラクタデータエリアには、図１０（ｂ）のアトラクタデータエリアと同じように３次元の座標を記録しておくための基本アトラクタデータが記録される基本アトラクタデータエリアが設けられている。
【００４９】
この基本アトラクタデータは基本アトラクタデータ番号が付番されており、さらに評価文章が記憶されている、この基本アトラクタデータは、この演奏を行った演奏家に対応して「○○風な演奏です・・・」という文章が対応づけられて記憶されている。また、こうした診断モード処理用の基本アトラクタデータとユーザの演奏から作成したアトラクタデータとを比較判定して、ユーザの演奏に最も相関値が高い、基本アトラクタデータを探し出し、これに基づいた評価文章を選択し、ステップＳＧ４では、表示部４０に表示出力して本処理を終える。
【００５０】
ａ．ターケンス・プロット解析処理の動作
診断モード処理のステップＳＧ３（図８参照）を介して本処理が実行されると、ＣＰＵ５０は図１１に図示するターケンス・プロット解析処理のステップＳＩ１に処理を進め、初期設定を行う。初期設定では、本処理に必要なイニシャライズ処理の他、後述のステップＳＩ２において実行するターケンス・プロット処理に必要なプロット条件（評価区間長Ｓｔｉｍｅ、プロットスケール幅ｔおよびリサンプリング周期Δｔ）をユーザ操作に応じて設定する。
【００５１】
ステップＳＩ２では、上記ステップＳＩ１において初期設定されたプロット条件（評価区間長Ｓｔｉｍｅ、プロットスケール幅ｔおよびリサンプリング周期Δｔ）に基づき、ＲＡＭ７０のキーオン間隔データエリアに格納されるキーオン間隔データにターケンス・プロット処理を施す。ターケンス・プロット処理は、キーオン間隔データからアトラクタを生成するものであり、その動作について図１２を参照して説明する。  
【００５２】
図１２は、ターケンス・プロット処理の概要を説明するための図である。ターケンス・プロットでは、ＲＡＭ７０のキーオン間隔データエリアに格納されるキーオン間隔データをリサンプリングするプロットスケールが用いられる。図１２に図示する一例は、２次元のキーオン間隔データから３次元のアトラクタを生成する場合のプロットスケールを例示している。プロットスケールは、プロットスケール幅ｔを隔てた３点（ｘ成分、ｙ成分およびｚ成分）におけるキーオン間隔データの音間値Ｔ（ｘ，ｙ，ｚ）を指定する。
【００５３】
キーオン間隔データの音間値Ｔ（ｘ，ｙ，ｚ）を指定するプロットスケールは、リサンプリング周期Δｔ毎に時系列順に移動する。リサンプリング周期Δｔは、キーオン間隔データのサンプリング周期以上の時間幅を有する。リサンプリング周期Δｔ毎に、時系列順に移動するプロットスケールによって、音間値Ｔ１（ｘ，ｙ，ｚ）〜音間値Ｔｎ（ｘ，ｙ，ｚ）が得られる。音間値Ｔ１（ｘ，ｙ，ｚ）〜音間値Ｔｎ（ｘ，ｙ，ｚ）の数は、上記ステップＳＩ１で設定される評価区間長Ｓｔｉｍｅで決まる。このＳｔｉｍｅは評価したい区間であるが、通常は曲の最初から最後までになる。また、曲の途中で評価したい場合は、Ｓｔｉｍｅは短く設定してもかまわない。また、このリサンプリングを行う前に、キーオン間隔データが荒すぎてその時間にデータがない場合は、もっともサンプリング点に近いデータを使用しても構わない。
【００５４】
図１３はターケンス・プロット処理を示すフローチャートである。まず、変数ｍを０にリセットし（ステップＳＦ１）、次にステップＳＦ２において、プロットを行うためにプロットスケール幅ｔを隔てた３点がキーオン間隔の時間軸上での位置関係を設定する。すなわち最初の点であるｔ０が０と決まると、ｔの幅だけ時間を隔てた点ｔ１、そしてさらにｔの幅だけ時間を隔てたｔ２が設定されるようになっている。
【００５５】
次に、ＣＰＵ５０は、ＲＡＭ７０のアトラクタデータエリア内のｘｎに、時間ｔ0における位置での音間値Ｌ（ｔ0）を格納する（ステップＳＦ３）。そしてｙｎには、時間ｔ１における音間値Ｌ（ｔ１）を格納する（ステップＳＦ４）。さらにｚｎ２には時間ｔ２における音間値Ｌ（ｔ２）を格納する（ステップＳＦ５）。この処理によって、表示部３０の画面上に表示されるアトラクタの最初の３次元座標Ｔ１（図１２参照）が決定する。その後、ｍをインクリメントし（ステップＳＦ６）、時間軸上の各プロットスケール位置ｔ0、ｔ１、ｔ２をΔｔだけシフトさせる（ステップＳＦ７）。
【００５６】
続いて、時間ｔ２がＳｔｉｍｅを越えたか否か判断し（ステップＳＦ８）し、超えていなければステップＳＦ３の処理に戻って再びｘ成分、ｙ成分、ｚ成分の値を順次読み出し、ＲＡＭ７０内のアトラクタデータエリアへの書き込みを行う。この動作は、時間ｔ２がＳtimeを越えるまで繰り返す。これにより、音間値Ｔ１（ｘ，ｙ，ｚ）〜音間値Ｔｎ（ｘ，ｙ，ｚ）が全て格納され、ターケンス・プロット処理の動作を終了する。
図１４にはこのアトラクタデータエリアのデータを実際に３次元の空間に軌道として表
したものである。
【００５７】
次に、図１１に図示するステップＳＩ３では、得られた音間値Ｔ１（ｘ，ｙ，ｚ）〜音間値Ｔｎ（ｘ，ｙ，ｚ）についてのアトラクタが、あらかじめ記憶されている基本アトラクタと比較され、相関抽出処理が行われる。図１５は相関抽出処理のフローチャートである。ここでは、予めＲＯＭ６０の基本アトラクタタデータエリアに記録されている基本アトラクタデータが、前述のターケンス・プロット処理により得られたアトラクタとの３次元相空間内での相関関係を調べて、もっとも高い相関性が得られた基本アトラクタデータを検出するための処理を行う。図１６には基本アトラクタの識別番号である基本アトラクタデータ番号と、アトラクタの３次元空間での形状（軌跡）と、これに対応した評価文章を示す。
【００５８】
図１５の相関抽出処理では、まず最初に、記録されている複数の基本アトラクタタの中からひとつの基本アトラクタタデータをＲＯＭ６０から呼び出す（ステップＳＨ１）。次に、図１３のターケンス・プロット処理により得られたアトラクタデータを呼び出す（ステップＳＨ２）。そしてこれら呼び出された二つのアトラクタの形状の比較を行う（ステップＳＨ３）。
【００５９】
この図形の比較は、指紋認証を行うように二つの図形の位置やスケール、角度などを調整して多面的に比較することが好ましいが、特にこれに限定されるものでなく、別の３次元相空間における図形の比較の方式を用いてもよい。
【００６０】
次に、この二つの図形の比較によってその相関性を定量的に示すべく相関値を決定する（ステップＳＨ４）。例えばこの方法は、画像処理で行われるピクセルマッチングなどの方法がある。そして算出された相関値をＲＡＭのワークエリアにあらかじめ確保された相関値レジスタの値と比較し、大きい場合は算出された相関値と対応するプロット条件をストアする（ステップＳＨ５）。続いて、記憶されている基本アトラクタデータを全部参照し終えたか否か判断し（ステップＳＨ６）、参照し終えていないなら、別の基本アトラクタデータを順次指定してステップＳＨ２〜ＳＨ７の処理を繰り返す。
【００６１】
全ての基本アトラクタタとの参照が終われば、基本アトラクタデータのどれかに最も高い相関性をもった相関値と基本アトラクタ番号がＲＡＭ内のワークエリアのレジスタに記録される。
【００６２】
尚、世の中には著名な演奏家に限らず、優秀な演奏は新たに次々と発見されている。このため新たに発見した演奏データを新たな基本アトラクタデータとして、その演奏家の名前や、評価文章としてＲＡＭ７０に追加し相関値の比較ができるような構成にしてもよい。
【００６３】
次に、図１１において、ステップＳＩ４では、全てのプロット条件の処理を実行したか否かを判断する。まだ全てのプロット条件についてターケンス・プロットと相関抽出処理を行っていない場合は、判断結果が「ＮＯ」になり、ステップＳＩ５に進み、プロット条件更新を実行した後、再び上記ステップＳＩ２〜ＳＩ５を繰り返す。
【００６４】
プロット条件更新は評価区間長Ｓｔｉｍｅの範囲において、複数のプロットスケール幅ｔと複数のリサンプリング周期Δｔによって作り出される組み合わせが新しいプロット条件となるように更新するものである。この処理によって、多数のプロット条件を用いターケンス・プロットを自動で効率よく行えるようになる。
【００６５】
尚、このプロット条件の組み合わせは、ｔおよびΔｔがどれくらいのステップ量の細かさで組み合わせを作るのかによって増減するが、そのステップ量はＣＰＵの処理能力によってユーザが自由に設定できるようにしてよい。また最初から実験値によって得られた適当な値を設定しておくことも可能である。
【００６６】
さらに第１実施形態においては、プロットスケールｔの各成分毎の間隔（ｘ成分からｙまでのｔとｙからｚまでのｔ）を別々に変更することによりプロット条件を増加させて比較処理の回数を増やし、相関値算出精度をアップすることも可能である。
【００６７】
第１実施形態においては、ターケンス・プロット処理におけるプロット条件を自動的に種々変更して最適なプロット条件とアトラクタ抽出ができるようになっている。このため、操作する人の手間がかからず、簡単に最適なアトラクタの生成が可能になる。もちろん、第１実施形態の如く自動的に最適なアトラクタを抽出するのではなく、ユーザが任意の値を設定しながら、最適と思われるアトラクタを抽出するようにしてもよい。
【００６８】
さらに第１実施形態では、基本アトラクタとキーオン間隔のアトラクタの比較による相関値をみてアトラクタの特徴を抽出しているが、データ同士の相関値の抽出方法は多数あり、この方法の限りではない。
【００６９】
再び図１１に戻り、全てのプロット条件でターケンス・プロット処理  とその相関抽出が終わると、ステップＳＩ４の判断結果が「ＹＥＳ」となる。そして、ステップＳＩ６に進み、図１５のステップＳＨ５においてレジスタに記憶された相関値が所定値以上であるかどうかを判断する。これが所定値以上であるとステップＳＩ７に進みこの相関値を記録した基本アトラクタデータ番号に対応する評価文章を読み出し、これらのデータでＲＡＭ７０のワークエリアに設けられた評価用番号記録レジスタと表示用の評価文章レジスタを更新し、表示用に用いる基本アトラクタ番号を決定する。またステップＳＩ６で相関値が所定値以下になった場合は、ステップＳＩ８に進み、ＲＯＭ６０にあらかじめ記憶させておいたアラート文章「もっとていねいに弾きましょう」という文章を読み出す。尚、この文章の内容は「もっと滑らかに引きましょう」など他の文章を使用してもかまわない。
【００７０】
以上でターケンス・プロット解析処理を終え、図８のステップＳＧ４ではＲＡＭ７０内の表示用のワーキングエリアの評価文章を表示部４０に表示させる。
【００７１】
以上のように、第１実施形態では、ユーザ演奏タイミングから派生させた時系列データ（キーオン間隔データＬ０（ｔ）〜Ｌｎ（ｔ））、にターケンス・プロット解析を施し、これにより得られるアトラクタと、予め記憶されているデータであって、演奏状況を判定する基本アトラクタデータとの比較によりユーザの演奏状況を判定して評価文章を出力するようになっている。
【００７２】
尚、本発明では、「音のタイミングの印象」について押鍵におけるオンタイミングの間隔を仕様しているが、タイミングに関係するデータ、例えば、オフタイミングの間隔や、オフしてからオンまでのタイミングをキーオン間隔データとして用いても構わない。この場合は基本アトラクタデータの内容もこれに準じて変更する必要がある。また、本発明では、「音のタイミングの印象」としたが、本発明でユーザ演奏タイミングから派生させた時系列データ（キーオン間隔データＬ０（ｔ）〜Ｌｎ（ｔ））をタイミングでなく演奏強弱（ベロシティ）に替えれば、「音の強弱（タッチ）の印象」の評価が行えることになる。この場合の実施例は後述する第２実施例にて説明を行う。
【００７３】
尚、本発明では評価文章やアラートを表示させているが、演奏データから生成されたアトラクタや、基本アトラクタおよびこれに関係する情報を表示部４０に表示させることでユーザの使い勝手はさらに向上する。
【００７４】
続いて、本発明における第２実施例の説明を行う。第２実施例では演奏診断処理はキーオン間隔の変わりにベロシティを用いる。基本的には第１実施例のキーオン間隔データをベロシティデータにすりかえただけであり、他の部分のフローは同じである。このため異なっている部分の説明のみを行う。
[第２実施形態]
【００７５】
図１７は本発明における第２実施例の鍵盤処理を示す。
ステップＳＥ１で鍵走査を行い、そのキーオンがあった場合はステップＳＥ３へ移行し、キーナンバをレジスタＫＮに格納した後ステップＳＪ１に移行しベロシティを格納するレジスタＶ（ｔ）にベロシティをストアする。この他の処理は第１実施例と同じである。すなわちこのフローにおいては、ターケンス・スプロットに使用するためのベロシティデータを順次記録する処理が追加されている。
【００７６】
図１８においてステップＳＧ１では各時間ごとのベロシティデータを作成すべく、ＫＯＮＴ（）よりベロシティデータを作成する。このデータは図１０におけるキーオン間隔データエリアと同じ構成のベロシティデータエリアにストアされる。
【００７７】
図１９は（a）はユーザが演奏したときの各時間ごとのベロシティを棒グラフにして示したものである。図１９は（ｂ）はこれを波形化したものである。各前後のデータ間は補完されたデータが新たに生成され、公知のスプライン処理を用いたデータの補間によるデータ生成が行われる。これによって前述のターケンス・プロット処理でリサンプリングされる時間に対応したベロシティが使用される。
【００７８】
さらに図１６の基本アトラクタデータも第２実施例では、ベロシティのデータからターケンス・プロットで作成したアトラクタを記憶させておく。
【００７９】
以上の構成を用いると、図１８の診断モード処理はベロシティ、すなわちタッチの強度
（音の強度）を診断していることになる。このため、図１６のアトラクタデータ番号に対応する評価文章をタイミングでなくタッチに見立てることにより、演奏者の演奏を「○○風タッチの演奏だ」、「△△風のタッチの演奏だ」、と具体的に評価することが可能となる。
【００８０】
尚、本発明の第２実施例では、ベロシティをそのままターケンス・プロット処理に用いているが、解析に使用する波形化したベロシティは前後の変化量（差分値）を用いてもよい。さらに、和音が演奏される場合を想定して、一定時間内に音が重なる場合はベロシティは平均したものを用いるようにしてもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明による第１実施形態の構成を示すブロック図である。
【図２】曲データの構成を示す図である。
【図３】メインルーチンの動作を示すフローチャートである。
【図４】タイマインタラプト処理の動作を示すフローチャートである。
【図５】スイッチ処理の動作を示すフローチャートである。
【図６】鍵盤処理の動作を示すフローチャートである。
【図７】演奏診断処理の動作を示すフローチャートである。
【図８】診断モード処理の動作を示すフローチャートである。
【図９】時間軸上のキーオンとキーオン間隔を縦軸にとった２次元波形を示す図である。
【図１０】ＲＡＭ内キーオン間隔データエリアおよびアトラクタデータエリアとＲＯＭ内の基本アトラクタデータエリアを示す図である。
【図１１】ターケンス・プロット解析処理の動作を示すフローチャートである。
【図１２】ターケンス・プロットのイメージを示す図である。
【図１３】ターケンス・プロット処理の動作を示すフローチャートである。
【図１４】アトラクタの軌跡を示す図である。
【図１５】相関抽出処理の動作を示すフローチャートである
【図１６】基本アトラクタデータ番号と基本アトラクタデータの形状および評価文章との関係を示す図である。
【図１７】本発明による第２実施形態の鍵盤処理の動作を示すフローチャートである。
【図１８】本発明による第２実施形態の診断モード処理の動作を示すフローチャートである
【図１９】本発明による第２実施形態の時間軸上のベロシティとベロシティを縦軸にとった２次元波形を示す図である。
【００８２】
１０  鍵盤
２０  押鍵ガイド部
３０  パネルスイッチ
４０  表示部
５０  ＣＰＵ
６０  ＲＯＭ
７０  ＲＡＭ
８０  音源
９０  サウンドシステム
１００  演奏評価装置
【図１】
0005051530.tif 000002
【図２】
0005051530.tif 000003
【図３】
0005051530.tif 000004
【図４】
0005051530.tif 000005
【図５】
0005051530.tif 000006
【図６】
0005051530.tif 000007
【図７】
0005051530.tif 000008
【図８】
0005051530.tif 000009
【図９】
0005051530.tif 000010
【図１０】
0005051530.tif 000011
【図１１】
0005051530.tif 000012
【図１２】
0005051530.tif 000013
【図１３】
0005051530.tif 000014
【図１４】
0005051530.tif 000015
【図１５】
0005051530.tif 000016
【図１６】
0005051530.tif 000017
【図１７】
0005051530.tif 000018
【図１８】
0005051530.tif 000019
【図１９】
0005051530.tif 000020