JP4026764B2 - 演奏情報の比較方法 - Google Patents
演奏情報の比較方法 Download PDFInfo
- Publication number
- JP4026764B2 JP4026764B2 JP2003049754A JP2003049754A JP4026764B2 JP 4026764 B2 JP4026764 B2 JP 4026764B2 JP 2003049754 A JP2003049754 A JP 2003049754A JP 2003049754 A JP2003049754 A JP 2003049754A JP 4026764 B2 JP4026764 B2 JP 4026764B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- pitch
- section
- performance information
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、演奏情報の比較方法に関し、特に、2つの演奏情報、例えば、模範演奏情報と練習演奏情報とを単純な処理でかつ精度良く比較することができる演奏情報の比較方法に関するものである。
【0002】
【従来の技術】
模範演奏情報と練習演奏情報とを比較する場合、発音タイミングを全く無視し、音高および発音長が一致する音符が曲中にいくつあるかを数えるという方法がある。
【0003】
また、模範演奏情報と練習演奏情報に含まれている個々の音符の対応付けを行って比較する方法もある。模範演奏情報と練習演奏情報とに含まれている個々の音符を対応付ける単純な処理は、両者の演奏開始位置から音符を1つずつ対応付けることである。
【0004】
また、画像処理などで利用されているパターン抽出を応用して対応付ける方法が既に提案されている。例えば、特開昭58−132797号公報には「音列パターン抽出方法及びこれを使用した演奏結果表示装置・演奏結果採点装置」が記載されている。これは、演奏情報を少なくとも音高の次元を有する1乃至2次元以上の音列データに変換し、この音列データと基準音列に対応する音列データとを比較して最大K組の類似音列部分データを抽出し、これらを基準音列に対応する音列データに重ね合わせることにより最終的な音符対応付けを決定して最類似音列データを形成するものであり、これにより演奏の採点に至るアルゴリズムを音楽教師(人間)によるアルゴリズムに近似させることができるとされている。
【0005】
また、特開平2001−265328号公報には「演奏データ及び楽譜データの処理装置、方法及び記録媒体」が記載されている。これは、演奏データと楽譜データとについて時間軸及び音高軸から成る二次元空間上に音情報を展開したテンプレートを作成し、時間軸方向にずらした複数の位置でマッチング演算して両者の対応付けを行うものであり、これにより1音毎に正確な対応付けができるとされている。
【0006】
さらに、特開平2000−250400号公報には「音楽情報差分抽出方法および装置と音楽情報差分抽出プログラムを記録した記録媒体」が記載されている。これは、演奏情報の特徴パターンと標準パターンとを比較して両パターンの要素を対応付け、差分を抽出するものであり、演奏情報の特徴パターンを少数個のバッチに分割し、バッチ内の要素の特定の特徴量(例えば音程)が完全に一致するような標準パターンの位置を探索することにより粗い対応付けを行うことも提案されている。
【0007】
【発明が解決しようとする課題】
しかしながら、単に音高および発音長が一致する音符が曲中にいくつあるかを数えるという方法では、例えば、練習演奏の先頭部分で発音された音符が模範演奏の最後部の音符と対応して一致するなどとされる事態が想定され、比較結果の信頼性に欠けるという問題がある。
【0008】
また、模範演奏情報と練習演奏情報に含まれている個々の音符の対応付けを行って比較する場合、その対応付けがしっかりできていないと比較の結果の信憑性が薄らいでしまうが、演奏開始位置から音符を1つずつ対応付ける方法では、途中で余計な音符が付加されたり必要な音符が削除されたりしていて練習演奏情報に誤りが含まれている場合、誤っている箇所以降の比較結果は、全て不一致となってしまう。これは、結果的に対応付けがうまくいっていないことによるものである。
【0009】
前記特開昭58−132797号公報に記載されているものでは、演奏情報に対応する音列データと基準音列に対応する音列データとを比較して最大K組の類似音列部分データを抽出し、基準音列に対応する音列データに一致する位置という曖昧な位置でそれらを合成しているので、弾き直しや同じような音高パターンが続く区間での弾き飛ばしによる誤り部分が殆ど抽出されず無視されてしまうという問題がある。
【0010】
比較項目を2以上にして、比較項目毎、例えば音高、符長毎に音列データを形成して比較する場合には、比較対象となる音符が比較項目間で異なる場合があるため、被評価者から見ると比較基準が不明確となり、出力結果を素直に納得してもらえないという問題も起こる。
【0011】
また、比較項目毎に音列データを形成して比較しなければならないので、比較項目が増えるほど処理負荷が増えてしまうという問題もある。さらに、音高が一致する音符同士において別の項目で比較することが不可能であるので比較項目毎に音列データを形成することは避けられない。
【0012】
前記特開平2001−265328号公報に記載されているものでは、音高とタイミングとの組み合わせを2次元画像として扱うため、対応付けに限界があるという問題がある。例えば、発音長について比較する場合には、発音開始と発音終了の両方のイベントでテンプレートを比較する必要があり、比較項目の抽出処理や対応付け処理の負担が重くなるという問題がある。
【0013】
また、練習者の演奏は所定テンポで行われるとは限られず、模範演奏と練習演奏の発音タイミングが比較区間の先頭と末尾で異なってしまうような場合には、比較区間の先頭部分での比較は正常であるが、比較区間の末尾部分での比較では全て誤りとして判断されてしまうという事態も想定される。
【0014】
この処理負担や発音タイミングのゆらぎの問題に対処するため、比較するテンプレートの片方あるいは両方にボカシを加えてから処理することも提案されているが、余り広い範囲にボカシを加えると比較精度が落ちてしまう。したがって、ボカシの設定が困難であり、例えば、広い範囲にボカシが入ると、音高の組み合わせさえ正しければ発音順番が多少入れ替わっていても誤りとして抽出されず、弾くべき音符の順番が多少ずれていた(別のメロディが演奏された)ような場合であっても誤り個所が抽出できないことが起こり得る。
【0015】
前記特開平2000−250400号公報に記載されているものは、演奏情報の特徴パターンを予め少数個のバッチに分割し、個々のバッチについて対応付けを行うものであり、演奏情報の特徴パターンと標準パターンとが殆ど同じである場合にも個々のバッチについての対応付けが順次行われることになり、演奏情報の特徴パターンと標準パターンとの異同状況に応じた柔軟かつ迅速な処理が行われないという問題がある。
【0016】
本発明の目的は、前述した従来技術の問題点を解決し、2つの演奏情報を単純な処理で精度良く、柔軟かつ迅速に比較することができる演奏情報の比較方法を提供することにある。
【0017】
【課題を解決するための手段】
前記した課題を解決するために、本発明は、第1および第2の演奏情報それぞれに含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する第1のステップと、前記第1のステップにより形成された音高パターン情報が前記第1および第2の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出する第2のステップと、抽出されなかった一致区間前後の区間の音高パターン情報が前記第1および第2の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出することを再帰的に繰り返す第3のステップと、前記第2および第3のステップで抽出された一致区間の音符同士を対応付けて比較する第4のステップとを含むことを特徴とする。
【0018】
本発明では、演奏情報に含まれる音高に着目し、一致区間の抽出処理を複数回行ってから音符の対応付けを行い、一致区間の前後に残った区間に対してさらに一致区間の抽出処理を繰り返し行うので、弾き直しや弾き飛ばしなどの多くの演奏誤りが不規則に混入された演奏情報が入力された場合であっても的確に誤り個所を特定できる。その際、音高パターン情報が連続して一致する区間を特定して該区間を一致区間として抽出することにより、抽出精度を高めることができる。
【0019】
また、本発明では、時間軸方向の精度を気にすることなく音高情報について一致区間の抽出を行えばよいので、処理手順が簡単になり、負担の少ない処理により一致区間の抽出および音符の対応付けができる。また、対応付けができなかった(=音高が不一致と判断された)音符を無視し、対応付けができた(=音高が一致すると判断された)音符同士について、発音タイミング、発音長、発音量などの音高以外の項目での比較を実施すればよいので、複数項目についての比較を行う場合の処理負担が小さい。
【0020】
また、音高が一致すると判定された音符間で、発音タイミング、発音長、発音量などの音高以外の別の項目について比較するので、比較対象(音符)は音高以外の比較項目間でも一致し、比較基準が明確になり、被評価者が納得しやすい結果が得られる。また、音高パターン情報に含まれる少なくとも1つの音高が一致する場合、該音高パターン情報における音高が一致すると判断するので、この点からも被評価者が納得しやすい結果が得られる。
【0021】
さらに、本発明では、一致区間の抽出処理を複数回行うが、一致区間の特定は、音高パターン情報における位置と音高とが一致する音符数に基づい行うので、前記特開昭58−132797号公報に記載されているもののように複数の類似音列パターン情報を生成、記録する必要がなく、処理負担は増加しない。むしろ、本発明における音符の対応付け処理では、一致区間を合わせてから単純に演奏情報の音符同士を結び付けるだけでよいので、前記特開昭58−132797号公報に記載されているものように、複数の類似音列パターン情報を重ね合わせる必要もなくなり、全体的な処理負担としてはかえって小さくなる。
【0022】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。以下では、練習演奏情報と模範演奏情報との比較について説明するが、比較対象とする演奏情報は、練習演奏情報と模範演奏情報とに限られない。
【0023】
本発明では、まず、演奏情報に含まれる音高に着目し、演奏情報に含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する。次に、音高パターン情報が最も一致する区間を特定して該区間を一致区間として抽出する。このままでは一致区間の前後に一致しない区間が残ってしまうが、残った区間についても同様に一致区間の抽出を行い、これを再帰的に繰り返すことにより演奏情報の全区間に渡る複数の一致区間を抽出し、対応付けを行う。以下、本発明における処理について順次説明する。
【0024】
(1)音高パターン情報の形成
まず、演奏情報に含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する処理について説明する。図1は、本発明における音高パターン情報の形成処理のイメージを例示する図である。
【0025】
音高パターン情報の形成処理では、まず、図1(a)に示すように、演奏情報に含まれる音符を表す音高情報を作成する。音高情報は、Nビットの情報であり、各ビットの位置をそのまま音高番号と対応させて音符の音高番号(ノートナンバー)を1ビットで表現し、かつ同一タイミングで発音される音符の音高番号をNビット内にまとめたものである。
【0026】
最下位ビット(ビット位置0)〜最上位ビット(ビット位置N)の各ビットは、音高番号0〜音高番号Nのそれぞれに1対1で対応し、同一タイミングで発音される音符の音高番号に対応するビットは、全て1にし、それ以外のビットは全て0にする。なお、逆に、同一タイミングで発音される音符の音高番号に対応するビットは、全て0にし、それ以外のビットは全て1にしてもよい。
【0027】
演奏情報の全区間について音高情報を作成した後、次に、図1(b)のように、作成された音高情報を並べて音高パターン情報を形成する。音高パターン情報の形成に際しては、単に発音される順番のみを考慮して並べればよく、発音時間差を表現するために空の情報を入れたりする必要はない。このように音高パターン情報は、音高情報をただ単純に発音すべき順番に並べたものであり、各音符間の発音間隔は、音高パターン情報には反映させない。なお、図1(b)の音高情報番号は、発音される順を示す番号である。音高情報がNビットであり、演奏情報の全区間についての音高情報がL個であれば、音高パターン情報は、N×Lビットの情報となる。
【0028】
模範演奏情報と練習演奏情報との両方について、音高パターン情報を形成する。図1(c)、(d)は、模範演奏情報についての音高パターン情報PAと練習演奏情報についての音高パターン情報PBの一例を示す。ここでは、発音される音符の音高番号に対応するビット位置を*で表し、発音されない音符の音高番号に対応するビット位置を空白で表している。模範演奏情報から形成された音高パターン情報PAは、音高情報番号0〜L’の(L’+1)個の音高情報からなり、練習演奏情報から形成された音高パターン情報PBは、音高情報番号0〜L”の(L”+1)個の音高情報からなる。
【0029】
音高パターン情報PAに含まれている音高情報の数(要素数)と音高パターン情報PBに含まれている音高情報の要素数との相異は、練習演奏における弾き直しや弾き飛ばしなどの誤りによって発音された音符数が一致していないことに起因して生じる。演奏情報の総演奏時間や各音符の発音タイミングが異なっていても弾き直しや弾き飛ばしなどの誤りがなければ、音高パターン情報に含まれている音高情報の要素数は等しい。
【0030】
図2は、本発明における音高パターン情報の形成処理のイメージをより具体的に例示する図である。本例は、88鍵の鍵盤楽器に合わせて88×1ビットの記憶領域を各音高情報の記憶のために設け、各ビット番号(0〜87)と音高番号(ノートナンバー)を1対1に対応させた構成である。
【0031】
図2(a)のように、演奏情報中に含まれる音符に先頭から順番に番号を割り振り、音符番号0、1、2、3、4、・・・とする。なお、同一タイミングで発音される音符については、予め決められた規則に従って、例えば高音の音符から順に番号を割り振る。音符番号0、1、2、3、4、・・・の音符が音高番号(ノートナンバ)62、65、62、69、65、・・・を有するものとすると、演奏情報の先頭、すなわち、音高情報番号0の音高情報は、図2(b)に示すように、ビット番号62が1であり、その他のビット番号は0である。また、演奏情報の2番目、すなわち、音高情報番号1の音高情報は、このタイミングでノートナンバ65と62の2つの音符がノートオンであるので、図2(c)に示すように、ビット番号65と62が1であり、その他のビット位置は0である。
【0032】
演奏情報の3番目以下についても同様に音高情報(図示省略)を作成し、作成された音高情報を発音順に時系列に並べた音高パターン情報は、図2(d)のようになる。
【0033】
なお、図2では、音高情報中の1のビットと演奏情報に含まれる各音符との対応付けを容易にするために、音高情報に先頭番号および末尾番号なる情報を付加して記憶している。先頭番号は、その音高情報に記憶されている音符の最小の音符番号であり、末尾番号は、その音高情報に記憶されている音符の最大の音符番号である。
【0034】
例えば、音高情報番号0の音高情報には、先頭番号0、末尾番号0が付加され、これにより音符番号0〜0の音符、すなわち、音符番号0の音符がその音符情報に含まれていることが分かる。また、音高情報番号1の音高情報には、先頭番号1、末尾番号2が付加されており、これにより音符番号1〜2の音符がその音高情報に含まれていることが分かる。先頭番号および末尾番号に基づいて、音高情報中で1が記述された特定のビットに対応する演奏情報中にある音符を容易に探し出すことができる。
【0035】
また、各音高情報に対応する相手演奏情報の対応音高情報番号を記憶する記憶領域を用意し、後述する一致区間の抽出処理によって一致を検出した相手演奏情報の音高情報番号を記憶する領域として使用する。なお、この記憶領域は、当初は適当な値(例えば−1)で初期化しておく。
【0036】
演奏技術のレベルが低い演奏者から取得した練習演奏情報では、和音のように同一タイミングで発音されるべき音符にも関わらず、若干ずれて発音されてしまう場合がある。このような場合を想定して、入力されないはずのタイミング差、例えば64分音符に相当するタイミング差以内で発音されている音符は、同一タイミングでの発音であるとみなし、1つの音高情報にまとめるようにすることが好ましい。また、同一タイミングでの発音とみなすか否かのタイミング差の基準を練習者の演奏技術のレベルに合わせて変えられるようにしておくことも好ましい。
【0037】
なお、小さいタイミング差以内で発音された音符を1つの音高情報としてまとめるとき、既に音高情報中に同じ音高の音符が登録されている場合も想定されるが、このような場合には上書き処理して先に登録されていた音符を登録から外すようにすればよい。登録から外された音符は、対応付け処理の対象にされないので確実に誤りとして検出できる。
(2)一致区間の抽出
【0038】
次に、音高パターン情報が最も一致する区間を特定して該区間を一致区間として抽出する処理について説明する。図3は、本発明における一致区間の抽出処理のイメージを例示する図である。
【0039】
一致区間の抽出処理では、模範演奏情報と練習演奏情報とから形成した音高パターン情報同士を互いの位置を相対的にシフトさせながら比較して一致状況を把握していく。この際、音高パターン情報の要素である音高情報を1単位として音高パターン情報同士を相互に段階的にシフトさせればよい。
【0040】
図3は、模範演奏情報から形成した音高パターン情報PAと練習演奏情報から形成した音高パターン情報PBとの一致状況を示し、図3(a)のシフト量0では9ビットが一致する。このシフト量0での一致数を一時記憶する。この記憶内容は、シフトに伴って一致数が増大した場合、その一致数に更新する。図3(b)のシフト量2では16ビットが一致し、図3(c)のシフト量4では7ビットが一致しているので、本例では、シフト量2での一致数16が最終的に記憶され、シフト量2の位置が一致区間の抽出処理を行う位置と決定される。
【0041】
なお、この際の最大のシフト回数は、例えば、音高パターン情報の要素数とすることができる。また、処理の負担を軽くするために、例えば、1〜2小節の要素数分だけシフトするように制限することも好ましい。シフトを制限する場合、必要な最大のシフト回数は、音符情報から得た発音タイミングから算出することもでき、また、例えば、32分音符が最小発音長なら32〜64を最大シフト回数とするというように、予め決めておいた最小発音長から得ることができる。
【0042】
図4は、最も一致するシフト位置が判明したときの一致区間の抽出処理のイメージを例示する図である。最も一致するシフト位置が判明したら、そのシフト位置で音高情報同士を合わせ、一致する音高情報が存在する区間を一致区間として抽出し、対応音高情報番号の記憶領域(図2参照)に相手演奏情報の一致した音高情報番号を書き込む。図4(a)では、破線で挟まれた区間で10個の音高情報が一致し、この区間が一致区間として抽出される。なお、一致する音高情報に含まれるビットは丸つき*で示している。
【0043】
この1回目の一致区間の抽出処理では、一致区間の前後に一致しない区間が残ってしまうが、残った区間についても同様に一致区間の抽出を行い、一致区間の抽出を残った区間について再帰的に繰り返す。一致区間の後の区間についての第2回目の一致区間の抽出処理では、図4(b)に示すように、さらに3個の音高情報が一致し、この区間が一致区間として抽出され、この段階で合計13個の音高情報が対応付けられる。
【0044】
以上説明したように、1回目の一致区間の抽出処理である程度の一致区間が抽出できるが、このままでは一致区間を挟み、その前後に一致しない区間が残ってしまうため、本実施形態では、一致しなかった区間について同様の一致区間の抽出処理を行い、これを所定回数、またはパターン抽出による対応付けができなくなるほど狭い区間しか残らない状態になるまで繰り返す。
【0045】
図4(a)、(b)では、シフト位置において一致する音高情報を含む区間を一致区間として抽出しているが、図4(c)、(d)に示すように、一致する音高情報が連続して現れた部分を一致区間として抽出するようにしてもよい。また、いずれの場合においても、和音などを含めて音高情報に含まれる音高(音符)が完全に一致している場合に音高情報が一致していると判断することができるし、一致しない音高が混ざっていても少なくとも1つの音高が一致している場合に音高情報が一致していると判断することもでき、後者では、和音の演奏などで正しく弾けた音高があり、例えば1音だけ間違えたような場合には一致区間(正解)とするので被評価者の納得できる結果が得られる。
【0046】
第1回目の一致区間の抽出処理では、図4(c)に示すように、9個の音高情報が一致し、第2回目の一致区間の抽出処理では、図4(d)に示すように、さらに8個の音高情報が一致し、これらの区間が一致区間として抽出され、合計17個の音高情報が対応付けられる。このように、一致区間から離れた位置に現れる音高情報は一致区間に含めず、その音高情報を含む区間については次回の一致区間の抽出処理に回すようにすれば、抽出精度を上げることができる。
【0047】
これは、例えば、音高パターン情報中で音高情報が多数一致する区間の中央から前後に向かって一致しない音高情報が出現する位置を探し出し、この位置から外側の区間は次回の一致区間の抽出処理に回すようにすることにより実現できる。逆に、音高パターン情報の前後から中央に向かって連続して音高情報が一致する位置を特定し、この位置よりも外側にある区間を次回の一致区間の抽出処理に回すようにすることによっても実現できる。
【0048】
図5は、本発明における一致区間の抽出処理のイメージをまとめて例示する図である。本例では、パターン抽出を3階層(計7回の抽出処理)に制限している。
【0049】
図5に示すように、1回あたりの抽出によって最大で前後2ヶ所の区間が一致しないで残る。この残された区間について繰り返し抽出を行うため、音符を対応付けるまでの抽出回数は増えるが、抽出を行うにつれて処理範囲が減っていき、さらに一時記憶する情報も音高の一致数とシフト位置(一ヶ所分)だけであるので処理負担の増大は少ない。
(3)音符の対応付け
【0050】
一致区間の抽出処理が終わったら、抽出結果をもとに模範演奏情報に含まれる音符と練習演奏情報に含まれる音符との対応を決定する音符対応付け処理を行う。
【0051】
音符対応付け処理により対応付けられた音符を記憶するめに、演奏情報中に含まれる音符が相手演奏情報のどの音符に対応するかを音符番号で記憶する記憶領域を用意する。
【0052】
図6は、この対応付け処理の結果の記憶処理のイメージを例示する図であり、演奏情報の個々の音符(音符番号0、1、・・・、X−1)に対応する相手演奏情報の音符の音符番号を対応番号情報0〜X−1として1対1で記憶する。なお、この記憶領域は、当初適当な値(例えば−1)で初期化しておく。
【0053】
対応番号情報を記憶するための記憶領域は、演奏情報毎に確保し、前述の一致区間の抽出処理と音符対応付け処理によって対応付けられた音符(比較する相手演奏情報中の対応する音符)の音符番号を記憶する。すなわち、練習演奏情報の個々の音符に対する対応番号情報の個々の要素は、練習演奏情報の個々の音符が模範演奏情報の何番の音符と対応付けられるものであるかを示し、逆に、模範習演奏情報の個々の音符に対する対応番号情報の個々の要素は、模範習演奏情報の個々の音符が練習演奏情報の何番の音符と対応付けられるものであるかを示す。
【0054】
この記憶領域に記憶された対応番号情報によって比較すべき相手演奏情報中の音符を特定できるので、音高以外の項目を比較する際に一致区間の抽出処理と音符対応付け処理は不要であり、比較すべき相手演奏情報中の音符同士で演奏内容を直接比較することができる。
【0055】
音符対応付け処理では、まず、一致区間の抽出処理で一致するとされた位置で音高パターン情報同士を合わせ、対応する音高情報同士を比較し、両者でビットが1になっている場所を特定する。
【0056】
ビットが1になっている場所が特定できたら、次に、そのビットが対応する音符を特定する。この特定は、音高情報とともに記憶されている先頭番号と末尾番号に基づいて演奏情報の中から該当する音高と一致する音符を探すことにより容易に実現できる。以上の処理によって模範演奏情報と練習演奏情報の両方から該当する音符番号が判るので、各演奏情報に関連付けた対応番号情報として相手演奏情報の音符番号を記録する。
【0057】
ここで、余りに発音タイミングがずれた音符には対応付けしたくないという場合は、対応付けられた音符について発音タイミングを比較し、ある一定範囲内(例えば、±1小節、−1/2小節〜+1小節など)の差であれば対応付けを行い、一定範囲を超える場合は対応付けを止めるなどという制限を加えてもよい。
【0058】
なお、演奏誤りが少しでも存在すれば、一致区間の抽出処理を複数回行っても一致区間として抽出されない区間(未処理区間)が残る。そこで、未処理区間内で再度音符の対応付け処理を行い、音高情報として完全に一致しなかった区間の音符に対し再度、適宜の対応付け処理を行ってもよい。
【0059】
未処理区間は、一致区間の抽出処理を繰り返し行った後に残った微細な要素の集まりであり、例えば数ビットのうちの1つだけが誤っているといったものまで含まれる。そのような部分については、経験上、厳密な一致区間の抽出処理を行わなくてもほぼ正しい対応付けができる。簡易的には、例えば、対応する未抽出区間同士を先頭部分から順次比較していき、対応するビットが存在すればそのまま対応付けてしまう方法が考えられる。ただし、この方法では、精度が落ちることは避けられないので、これを避けるために未処理区間に対して一致区間の抽出処理を行って最も一致する位置を特定した後、1ビットでも一致する部分があればその部分を対応付けるといった方法も考えられる。
【0060】
以上の処理により、音高に着目して模範演奏情報と練習演奏情報に含まれる各音符間の対応付けを行うことができる。対応付けの後は、対応付けた音符間で、必要に応じて音高以外の項目、例えば発音タイミング、発音長、発音量など項目について比較し、比較結果を被評価者に提示すればよい。
【0061】
本発明では、比較項目を変えても比較対象となる音符は固定されているので、被評価者にも理解し易く、納得できる比較結果が得られるようになる。また、一致区間の抽出処理は、音高情報の比較の際にだけ実施すればよいので、比較項目が増えても処理負担の増大は少ない。
【0062】
なお、比較結果は、例えば、音高、発音タイミング、発音長、発音量などの各項目毎に誤った音符の数、あるいは正しかった音符の数により提示することができる。また、誤った音符の数、あるいは正しかった音符の数を全体の数と比較し、点数化して提示することもできる。さらに、誤った音符の位置、あるいは正しかった音符の位置を楽譜上に強調表示することもできる。
【0063】
図7は、音符対応付け処理の一例を示すフローチャートである。まず、ステップS1で、前記「(1)音高パターン情報の形成」の処理を実行する。
【0064】
次に、ステップS2で、一致区間の抽出処理を実行するする範囲を初期化する。これにより、例えば図8(a)のように、模範演奏情報および練習演奏情報から形成した音高パターン情報PAおよびPBの全範囲同士を、先頭部分で揃えた位置から64音高情報分までずらして処理するよう指示する処理区間情報が新規登録される。ステップS3では、一致区間の抽出処理の終了判定フラグを初期化(抽出処理終了判定フラグ=0)する。
【0065】
ステップS4では、抽出処理終了判定フラグを調べて抽出処理の終了判定を行い、処理をステップS5あるいはS7に分岐させる。抽出処理終了判定フラグの更新は、後述のステップS6で行う。
【0066】
ステップS5では、前記「(2)一致区間の抽出」の処理を実行する。ステップS6では、次回の一致区間の抽出処理を行うべき範囲を指定する。ステップS5では、もし抽出処理を行うべき範囲がなければ抽出処理終了判定フラグを0以外に更新して一致区間の抽出処理の終了を指示する処理も行う。
また、一致区間の抽出処理で一致すると判断された音高パターン情報中の各音高情報を、相手演奏情報の音高情報番号を調べて対応音高情報番号の記憶領域(図3参照)に記憶させる。次回に一致区間の抽出処理を行べき範囲を決定する際には、こ記憶領域に記憶されている値が初期値のままか更新されているかによって一致区間として抽出済みか否かを判断し、初期値のままの区間(一致区間の前後2区間)を選んで次回に一致区間の抽出処理を行うべき処理区間情報として登録すればよい。
【0067】
ステップS4〜S6のループにより実行される1回目と2回目の抽出処理のイメージを図8に示し、同図(a)は1回目の抽出処理、同図(b)は2回目の抽出処理である。
なお、処理区間情報を登録する際は、最も新しい(直前に使用した)処理区間情報を消去してから登録する。こうすることにより、1度処理された区間が登録から外れる。新たな処理区間情報が登録できなかった場合は、既に登録されている処理区間情報を順次使いながら一致区間の抽出処理を進め、最終的に処理区間情報がなくなったら抽出処理終了判定フラグを0以外に更新してパターン抽出を終わらせる。
【0068】
一致区間の抽出処理において、図5に例示するように、処理階層を制限することができる。この実現には、別途階層フラグを用意しておき、直前の区間の消去と新しい区間の登録が同時に行われたとき階層フラグの値を1増加させ、この値が所定値より大きくなったとき、処理区間情報の登録と階層フラグの更新をしないようにし、また、処理区間情報を新たに登録せず、既に登録してあった処理区間情報を使うことになったときには階層フラグの値を1減じるようにすればよい。階層フラグは階層を表すものとなる。
【0069】
図5は、処理階層を3階層に制限した例であり、3回目の抽出処理が終わったときに、既に登録されている処理区間情報を使って4回目の抽出処理を行い、4回目の抽出処理が終わったときに、既に登録されている処理区間情報を使って5回目の抽出処理に進むというように、処理を進める。
【0070】
処理階層を制限しない場合は、最も新しい処理区間情報と新たに登録したい処理区間情報を比較し、両者が一致しなかった場合にだけ消去と登録を実行するようにする。これにより、同一区間を処理しつづけて無限ループに陥ることが避けられる。
【0071】
ステップS7では、前記「(3)音符の対応付け」の処理を実行する。ステップS8では、ステップS1で作成した音高パターン情報を削除し、メモリ領域を開放して処理を終了する。
【0072】
以上、実施形態について説明したが、本発明は、種々変形が可能である。例えば、前記実施形態では、音高情報中の各ビットと演奏情報に含まれる各音符とを対応付けるために先頭番号と末尾番号を付加したが、これに代えて先頭番号と音高情報で1を記述したビットの総数とを付加してももよい。また、ビット総数は、音高情報を調べれば簡単に分かるので単に先頭番号だけを付加してもよい。
【0073】
また、前記実施形態では、音高情報の記憶領域として88鍵の鍵盤楽器に合わせて88ビット×1の記憶領域を設け、ビット位置と音高(ノートナンバー)を1対1に対応させた構成としたが、音高情報の記憶領域は、動作環境(CPU性能やメモリ構成)に合わせ、例えば32ビット×3、64ビット×2、あるいは128ビット×1といった構成にしても構わない。
【0074】
また、演奏情報に含まれる音高の変化幅が少ない場合や、発音可能な音高の範囲が狭い楽器に対応させる場合などでは、もっと小さな構成にしてもよい。例えば、ノートナンバー48〜79までの32種類の音高しか扱わない場合は、32ビット×1という構成にすることもできる。ただし、この場合、ビット位置+48をノートナンバーと対応付けるように変更する。
【0075】
【発明の効果】
以上に詳細に説明したように、本発明によれば、弾き直しや弾き飛ばしなどの多くの演奏誤りが不規則に混入された演奏情報を入力された場合であっても的確に誤り個所を特定できる。また、本発明では、同一タイミングで発音すべき音高を1つにまとめて音高情報とし、それらを時系列に並べて音高パターン情報とし、音高パターン情報の一致区間を抽出しているので、メロディだけではなく和音を含む演奏情報同士の比較にも適した構成である。
【0076】
また、時間軸方向の精度を気にすることなく音高情報について一致区間の抽出を行えばよいので、処理手順が簡単になり、負担の少ない処理により一致区間の抽出および音符の対応付けができる。また、対応付けができなかった(=音高が不一致と判断された)音符を無視し、対応付けができた(=音高が一致すると判断された)音符同士について、発音タイミング、発音長、発音量などの音高以外の項目での比較を実施すればよいので、複数項目についての比較を行う場合の処理負担が小さい。
【0077】
また、音高が一致すると判定された音符間で、発音タイミング、発音長、発音量などの音高以外の別の項目について比較するので、比較対象(音符)は音高以外の比較項目間でも一致し、比較基準が明確になり、被評価者が納得しやすい結果が得られる。
【0078】
さらに、前記特開平2001−265328号公報に記載されている、比較する基準点が1つだけ(パターン抽出を1回しか行わない)のものでは、1つのまとまった一致区間とその周辺のたまたま一致すると判断された区間が抽出され、前記特開昭58−132797号公報に記載されている、一致区間の抽出処理の際にK組の類似音列部分データを記憶し、細切れの一致区間の抽出結果を曖昧な基準点で重ね合わせるものでは、大きな記憶容量を必要とし、また、結果として演奏上誤った音符が正しい音符として処理される恐れがあるが、本発明では、一致区間の抽出処理を複数回繰り返すので、一致区間としてまとまった塊を複数検出でき、弾き間違いや弾き直し、あるいは弾き飛ばしといった演奏誤りが不規則に混入していても柔軟に対応ができ、結果として精度良く一致区間を抽出できる。また、一致区間の抽出処理の際には、一致ビット数と一致したビット数が最も大きくなるシフト位置を把握するだけでよい。
【図面の簡単な説明】
【図1】 本発明における音高パターン情報の形成処理のイメージを例示する図である。
【図2】 本発明における音高パターン情報の形成処理のイメージをより具体的に例示する図である。
【図3】 本発明における一致区間の抽出処理のイメージを例示する図である。
【図4】 最も一致するシフト位置が判明したときの一致区間の抽出処理のイメージを例示する図である。
【図5】 本発明における一致区間の抽出処理のイメージをまとめて例示する図である。
【図6】 対応付け処理の結果の記憶処理のイメージを例示する図である。
【図7】 本発明における音符対応付け処理の一例を示すフローチャートである。
【図8】 一致区間の抽出処理のイメージを例示する図である。
【符号の説明】
PA・・・音高パターン情報(模範演奏情報)、PB・・・音高パターン情報(練習演奏情報)
Claims (7)
- 第1および第2の演奏情報それぞれに含まれる音符の音高情報を時系列に並べて音高パターン情報を形成する第1のステップと、
前記第1のステップにより形成された音高パターン情報が前記第1および第2の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出する第2のステップと、
抽出されなかった一致区間前後の区間の音高パターン情報が前記第1および第2の演奏情報間で最も一致する区間を特定して該区間を一致区間として抽出することを再帰的に繰り返す第3のステップと、
前記第2および第3のステップで抽出された一致区間の音符同士を対応付けて比較する第4のステップとを含むことを特徴とする演奏情報の比較方法。 - 音高パターン情報が連続して一致する区間を特定して該区間を一致区間として抽出することを特徴とする請求項1に記載の演奏情報の比較方法。
- 前記第1および第2の演奏情報間で最も一致する区間の特定は、音高パターン情報の位置および該音高情報における音高の一致に基づいて行うことを特徴とする請求項1または2に記載の演奏情報の比較方法。
- 前記音高パターン情報に含まれる少なくとも1つの音高が一致する場合、該音高パターン情報における音高が一致すると判断することを特徴とする請求項3に記載の演奏情報の比較方法。
- 前記第3のステップにおいて再帰的に繰り返す回数を制限することを特徴とする請求項1ないし4のいずれかに記載の演奏情報の比較方法。
- 前記第4のステップは、最終的に一致区間として抽出されなかった区間については先頭の音符から順次対応付けを行って比較することを特徴とする請求項1ないし5のいずれかに記載の演奏情報の比較方法。
- 前記第5のステップによる比較の結果を表示することを特徴とする請求項1ないし6のいずれかに記載の演奏情報の比較方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003049754A JP4026764B2 (ja) | 2003-02-26 | 2003-02-26 | 演奏情報の比較方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003049754A JP4026764B2 (ja) | 2003-02-26 | 2003-02-26 | 演奏情報の比較方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004258392A JP2004258392A (ja) | 2004-09-16 |
JP4026764B2 true JP4026764B2 (ja) | 2007-12-26 |
Family
ID=33115382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003049754A Expired - Fee Related JP4026764B2 (ja) | 2003-02-26 | 2003-02-26 | 演奏情報の比較方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4026764B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4748395B2 (ja) * | 2006-11-08 | 2011-08-17 | カシオ計算機株式会社 | 楽曲構造分析装置および楽曲構造分析処理プログラム |
JP5076597B2 (ja) * | 2007-03-30 | 2012-11-21 | ヤマハ株式会社 | 楽音発生装置及びプログラム |
JP2011138153A (ja) * | 2011-02-18 | 2011-07-14 | Casio Computer Co Ltd | 楽曲構造分析装置および楽曲構造分析処理プログラム |
CN106228965A (zh) * | 2016-07-12 | 2016-12-14 | 赵倩仪 | 一种基于音频识别的乐器教学辅助方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619388A (ja) * | 1992-06-29 | 1994-01-28 | Casio Comput Co Ltd | 演奏練習装置 |
JP3307156B2 (ja) * | 1995-04-24 | 2002-07-24 | ヤマハ株式会社 | 音楽情報分析装置 |
JP4360000B2 (ja) * | 2000-03-22 | 2009-11-11 | ヤマハ株式会社 | 演奏データ及び楽譜データの処理装置、方法及び記録媒体 |
JP4389330B2 (ja) * | 2000-03-22 | 2009-12-24 | ヤマハ株式会社 | 演奏位置検出方法および楽譜表示装置 |
-
2003
- 2003-02-26 JP JP2003049754A patent/JP4026764B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004258392A (ja) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6040809B2 (ja) | コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム | |
JP3704980B2 (ja) | 自動作曲装置と記録媒体 | |
US7663044B2 (en) | Musical performance self-training apparatus | |
US9607593B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
US9275616B2 (en) | Associating musical score image data and logical musical score data | |
US9460694B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
US5218153A (en) | Technique for selecting a chord progression for a melody | |
US9558726B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
JP6794990B2 (ja) | 楽曲検索方法および楽曲検索装置 | |
JP4026764B2 (ja) | 演奏情報の比較方法 | |
TWI263975B (en) | Method and apparatus of creating a music file with main melody and accompaniment | |
US20130284000A1 (en) | Music note position detection apparatus, electronic musical instrument, music note position detection method and storage medium | |
JP4738135B2 (ja) | 楽譜認識装置および楽譜認識プログラム | |
JP6064343B2 (ja) | コード抽出装置、その方法及びそのプログラム | |
JP2001265324A (ja) | 楽曲の旋律類似度判定方法 | |
JP6421811B2 (ja) | コード選択方法およびコード選択装置 | |
JP3623557B2 (ja) | 自動作曲システムおよび自動作曲方法 | |
JP5272899B2 (ja) | 楽曲難易度算出装置および楽曲難易度算出プログラム | |
KR100539177B1 (ko) | 음악적 특징 기록 장치, 음악적 특징 검색장치, 음악적특징 검색 시스템 및 검색 방법 | |
JP4136556B2 (ja) | 演奏独習装置 | |
JP6658785B2 (ja) | 自動伴奏方法および自動伴奏装置 | |
JP2745142B2 (ja) | 自動演奏装置 | |
JPS6037479B2 (ja) | 連符演奏可能な自動演奏装置 | |
JP5846288B2 (ja) | フレーズデータ検索装置及びプログラム | |
JP4688177B2 (ja) | 演奏独習装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071004 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |