(57)【要約】【課題】２つの演奏情報を単純な処理で精度良く、柔軟かつ迅速に比較することができる演奏情報の比較方法を提供すること。【解決手段】模範演奏情報と練習演奏情報について音符の音高情報を時系列に並べて音高パターン情報を形成する（Ｓ１）。形成された音高パターン情報が演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出する（Ｓ５）。抽出されなかった一致区間前後の区間の音高パターン情報が演奏情報間で最も一致する区間を特定して該一致区間を抽出することを再帰的に繰り返す（Ｓ４〜Ｓ６）。抽出された一致区間の音符同士を対応付けて（Ｓ７）比較する。【選択図】    図７
2004258392.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の演奏情報それぞれに含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する第１のステップと、
前記第１のステップにより形成された音高パターン情報が前記第１および第２の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出する第２のステップと、
抽出されなかった一致区間前後の区間の音高パターン情報が前記第１および第２の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出することを再帰的に繰り返す第３のステップと、
前記第２および第３のステップで抽出された一致区間の音符同士を対応付けて比較する第４のステップとを含むことを特徴とする演奏情報の比較方法。
【請求項２】
音高パターン情報が連続して一致する区間を特定して該区間を一致区間として抽出することを特徴とする請求項１に記載の演奏情報の比較方法。
【請求項３】
前記第１および第２の演奏情報間で最も一致する区間の特定は、音高パターン情報の位置および該音高情報における音高の一致に基づいて行うことを特徴とする請求項１または２に記載の演奏情報の比較方法。
【請求項４】
前記音高パターン情報に含まれる少なくとも１つの音高が一致する場合、該音高パターン情報における音高が一致すると判断することを特徴とする請求項３に記載の演奏情報の比較方法。
【請求項５】
前記第３のステップにおいて再帰的に繰り返す回数を制限することを特徴とする請求項１ないし４のいずれかに記載の演奏情報の比較方法。
【請求項６】
前記第４のステップは、最終的に一致区間として抽出されなかった区間については先頭の音符から順次対応付けを行って比較することを特徴とする請求項１ないし５のいずれかに記載の演奏情報の比較方法。
【請求項７】
前記第５のステップによる比較の結果を表示することを特徴とする請求項１ないし６のいずれかに記載の演奏情報の比較方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏情報の比較方法に関し、特に、２つの演奏情報、例えば、模範演奏情報と練習演奏情報とを単純な処理でかつ精度良く比較することができる演奏情報の比較方法に関するものである。
【０００２】
【従来の技術】
模範演奏情報と練習演奏情報とを比較する場合、発音タイミングを全く無視し、音高および発音長が一致する音符が曲中にいくつあるかを数えるという方法がある。
【０００３】
また、模範演奏情報と練習演奏情報に含まれている個々の音符の対応付けを行って比較する方法もある。模範演奏情報と練習演奏情報とに含まれている個々の音符を対応付ける単純な処理は、両者の演奏開始位置から音符を１つずつ対応付けることである。
【０００４】
また、画像処理などで利用されているパターン抽出を応用して対応付ける方法が既に提案されている。例えば、特開昭５８−１３２７９７号公報には「音列パターン抽出方法及びこれを使用した演奏結果表示装置・演奏結果採点装置」が記載されている。これは、演奏情報を少なくとも音高の次元を有する１乃至２次元以上の音列データに変換し、この音列データと基準音列に対応する音列データとを比較して最大Ｋ組の類似音列部分データを抽出し、これらを基準音列に対応する音列データに重ね合わせることにより最終的な音符対応付けを決定して最類似音列データを形成するものであり、これにより演奏の採点に至るアルゴリズムを音楽教師（人間）によるアルゴリズムに近似させることができるとされている。
【０００５】
また、特開平２００１−２６５３２８号公報には「演奏データ及び楽譜データの処理装置、方法及び記録媒体」が記載されている。これは、演奏データと楽譜データとについて時間軸及び音高軸から成る二次元空間上に音情報を展開したテンプレートを作成し、時間軸方向にずらした複数の位置でマッチング演算して両者の対応付けを行うものであり、これにより１音毎に正確な対応付けができるとされている。
【０００６】
さらに、特開平２０００−２５０４００号公報には「音楽情報差分抽出方法および装置と音楽情報差分抽出プログラムを記録した記録媒体」が記載されている。これは、演奏情報の特徴パターンと標準パターンとを比較して両パターンの要素を対応付け、差分を抽出するものであり、演奏情報の特徴パターンを少数個のバッチに分割し、バッチ内の要素の特定の特徴量（例えば音程）が完全に一致するような標準パターンの位置を探索することにより粗い対応付けを行うことも提案されている。
【０００７】
【発明が解決しようとする課題】
しかしながら、単に音高および発音長が一致する音符が曲中にいくつあるかを数えるという方法では、例えば、練習演奏の先頭部分で発音された音符が模範演奏の最後部の音符と対応して一致するなどとされる事態が想定され、比較結果の信頼性に欠けるという問題がある。
【０００８】
また、模範演奏情報と練習演奏情報に含まれている個々の音符の対応付けを行って比較する場合、その対応付けがしっかりできていないと比較の結果の信憑性が薄らいでしまうが、演奏開始位置から音符を１つずつ対応付ける方法では、途中で余計な音符が付加されたり必要な音符が削除されたりしていて練習演奏情報に誤りが含まれている場合、誤っている箇所以降の比較結果は、全て不一致となってしまう。これは、結果的に対応付けがうまくいっていないことによるものである。
【０００９】
前記特開昭５８−１３２７９７号公報に記載されているものでは、演奏情報に対応する音列データと基準音列に対応する音列データとを比較して最大Ｋ組の類似音列部分データを抽出し、基準音列に対応する音列データに一致する位置という曖昧な位置でそれらを合成しているので、弾き直しや同じような音高パターンが続く区間での弾き飛ばしによる誤り部分が殆ど抽出されず無視されてしまうという問題がある。
【００１０】
比較項目を２以上にして、比較項目毎、例えば音高、符長毎に音列データを形成して比較する場合には、比較対象となる音符が比較項目間で異なる場合があるため、被評価者から見ると比較基準が不明確となり、出力結果を素直に納得してもらえないという問題も起こる。
【００１１】
また、比較項目毎に音列データを形成して比較しなければならないので、比較項目が増えるほど処理負荷が増えてしまうという問題もある。さらに、音高が一致する音符同士において別の項目で比較することが不可能であるので比較項目毎に音列データを形成することは避けられない。
【００１２】
前記特開平２００１−２６５３２８号公報に記載されているものでは、音高とタイミングとの組み合わせを２次元画像として扱うため、対応付けに限界があるという問題がある。例えば、発音長について比較する場合には、発音開始と発音終了の両方のイベントでテンプレートを比較する必要があり、比較項目の抽出処理や対応付け処理の負担が重くなるという問題がある。
【００１３】
また、練習者の演奏は所定テンポで行われるとは限られず、模範演奏と練習演奏の発音タイミングが比較区間の先頭と末尾で異なってしまうような場合には、比較区間の先頭部分での比較は正常であるが、比較区間の末尾部分での比較では全て誤りとして判断されてしまうという事態も想定される。
【００１４】
この処理負担や発音タイミングのゆらぎの問題に対処するため、比較するテンプレートの片方あるいは両方にボカシを加えてから処理することも提案されているが、余り広い範囲にボカシを加えると比較精度が落ちてしまう。したがって、ボカシの設定が困難であり、例えば、広い範囲にボカシが入ると、音高の組み合わせさえ正しければ発音順番が多少入れ替わっていても誤りとして抽出されず、弾くべき音符の順番が多少ずれていた（別のメロディが演奏された）ような場合であっても誤り個所が抽出できないことが起こり得る。
【００１５】
前記特開平２０００−２５０４００号公報に記載されているものは、演奏情報の特徴パターンを予め少数個のバッチに分割し、個々のバッチについて対応付けを行うものであり、演奏情報の特徴パターンと標準パターンとが殆ど同じである場合にも個々のバッチについての対応付けが順次行われることになり、演奏情報の特徴パターンと標準パターンとの異同状況に応じた柔軟かつ迅速な処理が行われないという問題がある。
【００１６】
本発明の目的は、前述した従来技術の問題点を解決し、２つの演奏情報を単純な処理で精度良く、柔軟かつ迅速に比較することができる演奏情報の比較方法を提供することにある。
【００１７】
【課題を解決するための手段】
前記した課題を解決するために、本発明は、第１および第２の演奏情報それぞれに含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する第１のステップと、前記第１のステップにより形成された音高パターン情報が前記第１および第２の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出する第２のステップと、抽出されなかった一致区間前後の区間の音高パターン情報が前記第１および第２の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出することを再帰的に繰り返す第３のステップと、前記第２および第３のステップで抽出された一致区間の音符同士を対応付けて比較する第４のステップとを含むことを特徴とする。
【００１８】
本発明では、演奏情報に含まれる音高に着目し、一致区間の抽出処理を複数回行ってから音符の対応付けを行い、一致区間の前後に残った区間に対してさらに一致区間の抽出処理を繰り返し行うので、弾き直しや弾き飛ばしなどの多くの演奏誤りが不規則に混入された演奏情報が入力された場合であっても的確に誤り個所を特定できる。その際、音高パターン情報が連続して一致する区間を特定して該区間を一致区間として抽出することにより、抽出精度を高めることができる。
【００１９】
また、本発明では、時間軸方向の精度を気にすることなく音高情報について一致区間の抽出を行えばよいので、処理手順が簡単になり、負担の少ない処理により一致区間の抽出および音符の対応付けができる。また、対応付けができなかった（＝音高が不一致と判断された）音符を無視し、対応付けができた（＝音高が一致すると判断された）音符同士について、発音タイミング、発音長、発音量などの音高以外の項目での比較を実施すればよいので、複数項目についての比較を行う場合の処理負担が小さい。
【００２０】
また、音高が一致すると判定された音符間で、発音タイミング、発音長、発音量などの音高以外の別の項目について比較するので、比較対象（音符）は音高以外の比較項目間でも一致し、比較基準が明確になり、被評価者が納得しやすい結果が得られる。また、音高パターン情報に含まれる少なくとも１つの音高が一致する場合、該音高パターン情報における音高が一致すると判断するので、この点からも被評価者が納得しやすい結果が得られる。
【００２１】
さらに、本発明では、一致区間の抽出処理を複数回行うが、一致区間の特定は、音高パターン情報における位置と音高とが一致する音符数に基づい行うので、前記特開昭５８−１３２７９７号公報に記載されているもののように複数の類似音列パターン情報を生成、記録する必要がなく、処理負担は増加しない。むしろ、本発明における音符の対応付け処理では、一致区間を合わせてから単純に演奏情報の音符同士を結び付けるだけでよいので、前記特開昭５８−１３２７９７号公報に記載されているものように、複数の類似音列パターン情報を重ね合わせる必要もなくなり、全体的な処理負担としてはかえって小さくなる。
【００２２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。以下では、練習演奏情報と模範演奏情報との比較について説明するが、比較対象とする演奏情報は、練習演奏情報と模範演奏情報とに限られない。
【００２３】
本発明では、まず、演奏情報に含まれる音高に着目し、演奏情報に含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する。次に、音高パターン情報が最も一致する区間を特定して該区間を一致区間として抽出する。このままでは一致区間の前後に一致しない区間が残ってしまうが、残った区間についても同様に一致区間の抽出を行い、これを再帰的に繰り返すことにより演奏情報の全区間に渡る複数の一致区間を抽出し、対応付けを行う。以下、本発明における処理について順次説明する。
【００２４】
（１）音高パターン情報の形成
まず、演奏情報に含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する処理について説明する。図１は、本発明における音高パターン情報の形成処理のイメージを例示する図である。
【００２５】
音高パターン情報の形成処理では、まず、図１（ａ）に示すように、演奏情報に含まれる音符を表す音高情報を作成する。音高情報は、Ｎビットの情報であり、各ビットの位置をそのまま音高番号と対応させて音符の音高番号（ノートナンバー）を１ビットで表現し、かつ同一タイミングで発音される音符の音高番号をＮビット内にまとめたものである。
【００２６】
最下位ビット（ビット位置０）〜最上位ビット（ビット位置Ｎ）の各ビットは、音高番号０〜音高番号Ｎのそれぞれに１対１で対応し、同一タイミングで発音される音符の音高番号に対応するビットは、全て１にし、それ以外のビットは全て０にする。なお、逆に、同一タイミングで発音される音符の音高番号に対応するビットは、全て０にし、それ以外のビットは全て１にしてもよい。
【００２７】
演奏情報の全区間について音高情報を作成した後、次に、図１（ｂ）のように、作成された音高情報を並べて音高パターン情報を形成する。音高パターン情報の形成に際しては、単に発音される順番のみを考慮して並べればよく、発音時間差を表現するために空の情報を入れたりする必要はない。このように音高パターン情報は、音高情報をただ単純に発音すべき順番に並べたものであり、各音符間の発音間隔は、音高パターン情報には反映させない。なお、図１（ｂ）の音高情報番号は、発音される順を示す番号である。音高情報がＮビットであり、演奏情報の全区間についての音高情報がＬ個であれば、音高パターン情報は、Ｎ×Ｌビットの情報となる。
【００２８】
模範演奏情報と練習演奏情報との両方について、音高パターン情報を形成する。図１（ｃ）、（ｄ）は、模範演奏情報についての音高パターン情報ＰＡと練習演奏情報についての音高パターン情報ＰＢの一例を示す。ここでは、発音される音符の音高番号に対応するビット位置を＊で表し、発音されない音符の音高番号に対応するビット位置を空白で表している。模範演奏情報から形成された音高パターン情報ＰＡは、音高情報番号０〜Ｌ’の（Ｌ’＋１）個の音高情報からなり、練習演奏情報から形成された音高パターン情報ＰＢは、音高情報番号０〜Ｌ”の（Ｌ”＋１）個の音高情報からなる。
【００２９】
音高パターン情報ＰＡに含まれている音高情報の数（要素数）と音高パターン情報ＰＢに含まれている音高情報の要素数との相異は、練習演奏における弾き直しや弾き飛ばしなどの誤りによって発音された音符数が一致していないことに起因して生じる。演奏情報の総演奏時間や各音符の発音タイミングが異なっていても弾き直しや弾き飛ばしなどの誤りがなければ、音高パターン情報に含まれている音高情報の要素数は等しい。
【００３０】
図２は、本発明における音高パターン情報の形成処理のイメージをより具体的に例示する図である。本例は、８８鍵の鍵盤楽器に合わせて８８×１ビットの記憶領域を各音高情報の記憶のために設け、各ビット番号（０〜８７）と音高番号（ノートナンバー）を１対１に対応させた構成である。
【００３１】
図２（ａ）のように、演奏情報中に含まれる音符に先頭から順番に番号を割り振り、音符番号０、１、２、３、４、・・・とする。なお、同一タイミングで発音される音符については、予め決められた規則に従って、例えば高音の音符から順に番号を割り振る。音符番号０、１、２、３、４、・・・の音符が音高番号（ノートナンバ）６２、６５、６２、６９、６５、・・・を有するものとすると、演奏情報の先頭、すなわち、音高情報番号０の音高情報は、図２（ｂ）に示すように、ビット番号６２が１であり、その他のビット番号は０である。また、演奏情報の２番目、すなわち、音高情報番号１の音高情報は、このタイミングでノートナンバ６５と６２の２つの音符がノートオンであるので、図２（ｃ）に示すように、ビット番号６５と６２が１であり、その他のビット位置は０である。
【００３２】
演奏情報の３番目以下についても同様に音高情報（図示省略）を作成し、作成された音高情報を発音順に時系列に並べた音高パターン情報は、図２（ｄ）のようになる。
【００３３】
なお、図２では、音高情報中の１のビットと演奏情報に含まれる各音符との対応付けを容易にするために、音高情報に先頭番号および末尾番号なる情報を付加して記憶している。先頭番号は、その音高情報に記憶されている音符の最小の音符番号であり、末尾番号は、その音高情報に記憶されている音符の最大の音符番号である。
【００３４】
例えば、音高情報番号０の音高情報には、先頭番号０、末尾番号０が付加され、これにより音符番号０〜０の音符、すなわち、音符番号０の音符がその音符情報に含まれていることが分かる。また、音高情報番号１の音高情報には、先頭番号１、末尾番号２が付加されており、これにより音符番号１〜２の音符がその音高情報に含まれていることが分かる。先頭番号および末尾番号に基づいて、音高情報中で１が記述された特定のビットに対応する演奏情報中にある音符を容易に探し出すことができる。
【００３５】
また、各音高情報に対応する相手演奏情報の対応音高情報番号を記憶する記憶領域を用意し、後述する一致区間の抽出処理によって一致を検出した相手演奏情報の音高情報番号を記憶する領域として使用する。なお、この記憶領域は、当初は適当な値（例えば−１）で初期化しておく。
【００３６】
演奏技術のレベルが低い演奏者から取得した練習演奏情報では、和音のように同一タイミングで発音されるべき音符にも関わらず、若干ずれて発音されてしまう場合がある。このような場合を想定して、入力されないはずのタイミング差、例えば６４分音符に相当するタイミング差以内で発音されている音符は、同一タイミングでの発音であるとみなし、１つの音高情報にまとめるようにすることが好ましい。また、同一タイミングでの発音とみなすか否かのタイミング差の基準を練習者の演奏技術のレベルに合わせて変えられるようにしておくことも好ましい。
【００３７】
なお、小さいタイミング差以内で発音された音符を１つの音高情報としてまとめるとき、既に音高情報中に同じ音高の音符が登録されている場合も想定されるが、このような場合には上書き処理して先に登録されていた音符を登録から外すようにすればよい。登録から外された音符は、対応付け処理の対象にされないので確実に誤りとして検出できる。
（２）一致区間の抽出
【００３８】
次に、音高パターン情報が最も一致する区間を特定して該区間を一致区間として抽出する処理について説明する。図３は、本発明における一致区間の抽出処理のイメージを例示する図である。
【００３９】
一致区間の抽出処理では、模範演奏情報と練習演奏情報とから形成した音高パターン情報同士を互いの位置を相対的にシフトさせながら比較して一致状況を把握していく。この際、音高パターン情報の要素である音高情報を１単位として音高パターン情報同士を相互に段階的にシフトさせればよい。
【００４０】
図３は、模範演奏情報から形成した音高パターン情報ＰＡと練習演奏情報から形成した音高パターン情報ＰＢとの一致状況を示し、図３（ａ）のシフト量０では９ビットが一致する。このシフト量０での一致数を一時記憶する。この記憶内容は、シフトに伴って一致数が増大した場合、その一致数に更新する。図３（ｂ）のシフト量２では１６ビットが一致し、図３（ｃ）のシフト量４では７ビットが一致しているので、本例では、シフト量２での一致数１６が最終的に記憶され、シフト量２の位置が一致区間の抽出処理を行う位置と決定される。
【００４１】
なお、この際の最大のシフト回数は、例えば、音高パターン情報の要素数とすることができる。また、処理の負担を軽くするために、例えば、１〜２小節の要素数分だけシフトするように制限することも好ましい。シフトを制限する場合、必要な最大のシフト回数は、音符情報から得た発音タイミングから算出することもでき、また、例えば、３２分音符が最小発音長なら３２〜６４を最大シフト回数とするというように、予め決めておいた最小発音長から得ることができる。
【００４２】
図４は、最も一致するシフト位置が判明したときの一致区間の抽出処理のイメージを例示する図である。最も一致するシフト位置が判明したら、そのシフト位置で音高情報同士を合わせ、一致する音高情報が存在する区間を一致区間として抽出し、対応音高情報番号の記憶領域（図２参照）に相手演奏情報の一致した音高情報番号を書き込む。図４（ａ）では、破線で挟まれた区間で１０個の音高情報が一致し、この区間が一致区間として抽出される。なお、一致する音高情報に含まれるビットは丸つき＊で示している。
【００４３】
この１回目の一致区間の抽出処理では、一致区間の前後に一致しない区間が残ってしまうが、残った区間についても同様に一致区間の抽出を行い、一致区間の抽出を残った区間について再帰的に繰り返す。一致区間の後の区間についての第２回目の一致区間の抽出処理では、図４（ｂ）に示すように、さらに３個の音高情報が一致し、この区間が一致区間として抽出され、この段階で合計１３個の音高情報が対応付けられる。
【００４４】
以上説明したように、１回目の一致区間の抽出処理である程度の一致区間が抽出できるが、このままでは一致区間を挟み、その前後に一致しない区間が残ってしまうため、本実施形態では、一致しなかった区間について同様の一致区間の抽出処理を行い、これを所定回数、またはパターン抽出による対応付けができなくなるほど狭い区間しか残らない状態になるまで繰り返す。
【００４５】
図４（ａ）、（ｂ）では、シフト位置において一致する音高情報を含む区間を一致区間として抽出しているが、図４（ｃ）、（ｄ）に示すように、一致する音高情報が連続して現れた部分を一致区間として抽出するようにしてもよい。また、いずれの場合においても、和音などを含めて音高情報に含まれる音高（音符）が完全に一致している場合に音高情報が一致していると判断することができるし、一致しない音高が混ざっていても少なくとも１つの音高が一致している場合に音高情報が一致していると判断することもでき、後者では、和音の演奏などで正しく弾けた音高があり、例えば１音だけ間違えたような場合には一致区間（正解）とするので被評価者の納得できる結果が得られる。
【００４６】
第１回目の一致区間の抽出処理では、図４（ｃ）に示すように、９個の音高情報が一致し、第２回目の一致区間の抽出処理では、図４（ｄ）に示すように、さらに８個の音高情報が一致し、これらの区間が一致区間として抽出され、合計１７個の音高情報が対応付けられる。このように、一致区間から離れた位置に現れる音高情報は一致区間に含めず、その音高情報を含む区間については次回の一致区間の抽出処理に回すようにすれば、抽出精度を上げることができる。
【００４７】
これは、例えば、音高パターン情報中で音高情報が多数一致する区間の中央から前後に向かって一致しない音高情報が出現する位置を探し出し、この位置から外側の区間は次回の一致区間の抽出処理に回すようにすることにより実現できる。逆に、音高パターン情報の前後から中央に向かって連続して音高情報が一致する位置を特定し、この位置よりも外側にある区間を次回の一致区間の抽出処理に回すようにすることによっても実現できる。
【００４８】
図５は、本発明における一致区間の抽出処理のイメージをまとめて例示する図である。本例では、パターン抽出を３階層（計７回の抽出処理）に制限している。
【００４９】
図５に示すように、１回あたりの抽出によって最大で前後２ヶ所の区間が一致しないで残る。この残された区間について繰り返し抽出を行うため、音符を対応付けるまでの抽出回数は増えるが、抽出を行うにつれて処理範囲が減っていき、さらに一時記憶する情報も音高の一致数とシフト位置（一ヶ所分）だけであるので処理負担の増大は少ない。
（３）音符の対応付け
【００５０】
一致区間の抽出処理が終わったら、抽出結果をもとに模範演奏情報に含まれる音符と練習演奏情報に含まれる音符との対応を決定する音符対応付け処理を行う。
【００５１】
音符対応付け処理により対応付けられた音符を記憶するめに、演奏情報中に含まれる音符が相手演奏情報のどの音符に対応するかを音符番号で記憶する記憶領域を用意する。
【００５２】
図６は、この対応付け処理の結果の記憶処理のイメージを例示する図であり、演奏情報の個々の音符（音符番号０、１、・・・、Ｘ−１）に対応する相手演奏情報の音符の音符番号を対応番号情報０〜Ｘ−１として１対１で記憶する。なお、この記憶領域は、当初適当な値（例えば−１）で初期化しておく。
【００５３】
対応番号情報を記憶するための記憶領域は、演奏情報毎に確保し、前述の一致区間の抽出処理と音符対応付け処理によって対応付けられた音符（比較する相手演奏情報中の対応する音符）の音符番号を記憶する。すなわち、練習演奏情報の個々の音符に対する対応番号情報の個々の要素は、練習演奏情報の個々の音符が模範演奏情報の何番の音符と対応付けられるものであるかを示し、逆に、模範習演奏情報の個々の音符に対する対応番号情報の個々の要素は、模範習演奏情報の個々の音符が練習演奏情報の何番の音符と対応付けられるものであるかを示す。
【００５４】
この記憶領域に記憶された対応番号情報によって比較すべき相手演奏情報中の音符を特定できるので、音高以外の項目を比較する際に一致区間の抽出処理と音符対応付け処理は不要であり、比較すべき相手演奏情報中の音符同士で演奏内容を直接比較することができる。
【００５５】
音符対応付け処理では、まず、一致区間の抽出処理で一致するとされた位置で音高パターン情報同士を合わせ、対応する音高情報同士を比較し、両者でビットが１になっている場所を特定する。
【００５６】
ビットが１になっている場所が特定できたら、次に、そのビットが対応する音符を特定する。この特定は、音高情報とともに記憶されている先頭番号と末尾番号に基づいて演奏情報の中から該当する音高と一致する音符を探すことにより容易に実現できる。以上の処理によって模範演奏情報と練習演奏情報の両方から該当する音符番号が判るので、各演奏情報に関連付けた対応番号情報として相手演奏情報の音符番号を記録する。
【００５７】
ここで、余りに発音タイミングがずれた音符には対応付けしたくないという場合は、対応付けられた音符について発音タイミングを比較し、ある一定範囲内（例えば、±１小節、−１／２小節〜＋１小節など）の差であれば対応付けを行い、一定範囲を超える場合は対応付けを止めるなどという制限を加えてもよい。
【００５８】
なお、演奏誤りが少しでも存在すれば、一致区間の抽出処理を複数回行っても一致区間として抽出されない区間（未処理区間）が残る。そこで、未処理区間内で再度音符の対応付け処理を行い、音高情報として完全に一致しなかった区間の音符に対し再度、適宜の対応付け処理を行ってもよい。
【００５９】
未処理区間は、一致区間の抽出処理を繰り返し行った後に残った微細な要素の集まりであり、例えば数ビットのうちの１つだけが誤っているといったものまで含まれる。そのような部分については、経験上、厳密な一致区間の抽出処理を行わなくてもほぼ正しい対応付けができる。簡易的には、例えば、対応する未抽出区間同士を先頭部分から順次比較していき、対応するビットが存在すればそのまま対応付けてしまう方法が考えられる。ただし、この方法では、精度が落ちることは避けられないので、これを避けるために未処理区間に対して一致区間の抽出処理を行って最も一致する位置を特定した後、１ビットでも一致する部分があればその部分を対応付けるといった方法も考えられる。
【００６０】
以上の処理により、音高に着目して模範演奏情報と練習演奏情報に含まれる各音符間の対応付けを行うことができる。対応付けの後は、対応付けた音符間で、必要に応じて音高以外の項目、例えば発音タイミング、発音長、発音量など項目について比較し、比較結果を被評価者に提示すればよい。
【００６１】
本発明では、比較項目を変えても比較対象となる音符は固定されているので、被評価者にも理解し易く、納得できる比較結果が得られるようになる。また、一致区間の抽出処理は、音高情報の比較の際にだけ実施すればよいので、比較項目が増えても処理負担の増大は少ない。
【００６２】
なお、比較結果は、例えば、音高、発音タイミング、発音長、発音量などの各項目毎に誤った音符の数、あるいは正しかった音符の数により提示することができる。また、誤った音符の数、あるいは正しかった音符の数を全体の数と比較し、点数化して提示することもできる。さらに、誤った音符の位置、あるいは正しかった音符の位置を楽譜上に強調表示することもできる。
【００６３】
図７は、音符対応付け処理の一例を示すフローチャートである。まず、ステップＳ１で、前記「（１）音高パターン情報の形成」の処理を実行する。
【００６４】
次に、ステップＳ２で、一致区間の抽出処理を実行するする範囲を初期化する。これにより、例えば図８（ａ）のように、模範演奏情報および練習演奏情報から形成した音高パターン情報ＰＡおよびＰＢの全範囲同士を、先頭部分で揃えた位置から６４音高情報分までずらして処理するよう指示する処理区間情報が新規登録される。ステップＳ３では、一致区間の抽出処理の終了判定フラグを初期化（抽出処理終了判定フラグ＝０）する。
【００６５】
ステップＳ４では、抽出処理終了判定フラグを調べて抽出処理の終了判定を行い、処理をステップＳ５あるいはＳ７に分岐させる。抽出処理終了判定フラグの更新は、後述のステップＳ６で行う。
【００６６】
ステップＳ５では、前記「（２）一致区間の抽出」の処理を実行する。ステップＳ６では、次回の一致区間の抽出処理を行うべき範囲を指定する。ステップＳ５では、もし抽出処理を行うべき範囲がなければ抽出処理終了判定フラグを０以外に更新して一致区間の抽出処理の終了を指示する処理も行う。
また、一致区間の抽出処理で一致すると判断された音高パターン情報中の各音高情報を、相手演奏情報の音高情報番号を調べて対応音高情報番号の記憶領域（図３参照）に記憶させる。次回に一致区間の抽出処理を行べき範囲を決定する際には、こ記憶領域に記憶されている値が初期値のままか更新されているかによって一致区間として抽出済みか否かを判断し、初期値のままの区間（一致区間の前後２区間）を選んで次回に一致区間の抽出処理を行うべき処理区間情報として登録すればよい。
【００６７】
ステップＳ４〜Ｓ６のループにより実行される１回目と２回目の抽出処理のイメージを図８に示し、同図（ａ）は１回目の抽出処理、同図（ｂ）は２回目の抽出処理である。
なお、処理区間情報を登録する際は、最も新しい（直前に使用した）処理区間情報を消去してから登録する。こうすることにより、１度処理された区間が登録から外れる。新たな処理区間情報が登録できなかった場合は、既に登録されている処理区間情報を順次使いながら一致区間の抽出処理を進め、最終的に処理区間情報がなくなったら抽出処理終了判定フラグを０以外に更新してパターン抽出を終わらせる。
【００６８】
一致区間の抽出処理において、図５に例示するように、処理階層を制限することができる。この実現には、別途階層フラグを用意しておき、直前の区間の消去と新しい区間の登録が同時に行われたとき階層フラグの値を１増加させ、この値が所定値より大きくなったとき、処理区間情報の登録と階層フラグの更新をしないようにし、また、処理区間情報を新たに登録せず、既に登録してあった処理区間情報を使うことになったときには階層フラグの値を１減じるようにすればよい。階層フラグは階層を表すものとなる。
【００６９】
図５は、処理階層を３階層に制限した例であり、３回目の抽出処理が終わったときに、既に登録されている処理区間情報を使って４回目の抽出処理を行い、４回目の抽出処理が終わったときに、既に登録されている処理区間情報を使って５回目の抽出処理に進むというように、処理を進める。
【００７０】
処理階層を制限しない場合は、最も新しい処理区間情報と新たに登録したい処理区間情報を比較し、両者が一致しなかった場合にだけ消去と登録を実行するようにする。これにより、同一区間を処理しつづけて無限ループに陥ることが避けられる。
【００７１】
ステップＳ７では、前記「（３）音符の対応付け」の処理を実行する。ステップＳ８では、ステップＳ１で作成した音高パターン情報を削除し、メモリ領域を開放して処理を終了する。
【００７２】
以上、実施形態について説明したが、本発明は、種々変形が可能である。例えば、前記実施形態では、音高情報中の各ビットと演奏情報に含まれる各音符とを対応付けるために先頭番号と末尾番号を付加したが、これに代えて先頭番号と音高情報で１を記述したビットの総数とを付加してももよい。また、ビット総数は、音高情報を調べれば簡単に分かるので単に先頭番号だけを付加してもよい。
【００７３】
また、前記実施形態では、音高情報の記憶領域として８８鍵の鍵盤楽器に合わせて８８ビット×１の記憶領域を設け、ビット位置と音高（ノートナンバー）を１対１に対応させた構成としたが、音高情報の記憶領域は、動作環境（ＣＰＵ性能やメモリ構成）に合わせ、例えば３２ビット×３、６４ビット×２、あるいは１２８ビット×１といった構成にしても構わない。
【００７４】
また、演奏情報に含まれる音高の変化幅が少ない場合や、発音可能な音高の範囲が狭い楽器に対応させる場合などでは、もっと小さな構成にしてもよい。例えば、ノートナンバー４８〜７９までの３２種類の音高しか扱わない場合は、３２ビット×１という構成にすることもできる。ただし、この場合、ビット位置＋４８をノートナンバーと対応付けるように変更する。
【００７５】
【発明の効果】
以上に詳細に説明したように、本発明によれば、弾き直しや弾き飛ばしなどの多くの演奏誤りが不規則に混入された演奏情報を入力された場合であっても的確に誤り個所を特定できる。また、本発明では、同一タイミングで発音すべき音高を１つにまとめて音高情報とし、それらを時系列に並べて音高パターン情報とし、音高パターン情報の一致区間を抽出しているので、メロディだけではなく和音を含む演奏情報同士の比較にも適した構成である。
【００７６】
また、時間軸方向の精度を気にすることなく音高情報について一致区間の抽出を行えばよいので、処理手順が簡単になり、負担の少ない処理により一致区間の抽出および音符の対応付けができる。また、対応付けができなかった（＝音高が不一致と判断された）音符を無視し、対応付けができた（＝音高が一致すると判断された）音符同士について、発音タイミング、発音長、発音量などの音高以外の項目での比較を実施すればよいので、複数項目についての比較を行う場合の処理負担が小さい。
【００７７】
また、音高が一致すると判定された音符間で、発音タイミング、発音長、発音量などの音高以外の別の項目について比較するので、比較対象（音符）は音高以外の比較項目間でも一致し、比較基準が明確になり、被評価者が納得しやすい結果が得られる。
【００７８】
さらに、前記特開平２００１−２６５３２８号公報に記載されている、比較する基準点が１つだけ（パターン抽出を１回しか行わない）のものでは、１つのまとまった一致区間とその周辺のたまたま一致すると判断された区間が抽出され、前記特開昭５８−１３２７９７号公報に記載されている、一致区間の抽出処理の際にＫ組の類似音列部分データを記憶し、細切れの一致区間の抽出結果を曖昧な基準点で重ね合わせるものでは、大きな記憶容量を必要とし、また、結果として演奏上誤った音符が正しい音符として処理される恐れがあるが、本発明では、一致区間の抽出処理を複数回繰り返すので、一致区間としてまとまった塊を複数検出でき、弾き間違いや弾き直し、あるいは弾き飛ばしといった演奏誤りが不規則に混入していても柔軟に対応ができ、結果として精度良く一致区間を抽出できる。また、一致区間の抽出処理の際には、一致ビット数と一致したビット数が最も大きくなるシフト位置を把握するだけでよい。
【図面の簡単な説明】
【図１】本発明における音高パターン情報の形成処理のイメージを例示する図である。
【図２】本発明における音高パターン情報の形成処理のイメージをより具体的に例示する図である。
【図３】本発明における一致区間の抽出処理のイメージを例示する図である。
【図４】最も一致するシフト位置が判明したときの一致区間の抽出処理のイメージを例示する図である。
【図５】本発明における一致区間の抽出処理のイメージをまとめて例示する図である。
【図６】対応付け処理の結果の記憶処理のイメージを例示する図である。
【図７】本発明における音符対応付け処理の一例を示すフローチャートである。
【図８】一致区間の抽出処理のイメージを例示する図である。
【符号の説明】
ＰＡ・・・音高パターン情報（模範演奏情報）、ＰＢ・・・音高パターン情報（練習演奏情報）
【図１】
2004258392.tif 000003
【図２】
2004258392.tif 000004
【図３】
2004258392.tif 000005
【図４】
2004258392.tif 000006
【図５】
2004258392.tif 000007
【図６】
2004258392.tif 000008
【図７】
2004258392.tif 000009
【図８】
2004258392.tif 000010