(57)【特許請求の範囲】
【請求項１】
指定音符列から特徴量の時系列を生成する特徴抽出手段と、
複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを前記指定音符列の特徴量の時系列に適用することで、前記指定音符列が前記参照楽曲内の音符列である確率に応じた評価指標値を参照楽曲毎に算定する解析処理手段と
を具備する楽曲解析装置。
【請求項２】
前記特徴抽出手段は、前記指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と前記複数の音符の継続長の合計値との比をピッチクラス毎に含む前記特徴量を生成する
請求項１の楽曲解析装置。
【請求項３】
前記特徴抽出手段は、前記複数の単位区間の各々について、当該単位区間内での最高音の音高および最低音の音高の少なくとも一方を含む前記特徴量を生成する
請求項２の楽曲解析装置。
【請求項４】
前記解析処理手段は、前記指定音符列を時間軸上で区分した複数の単位区間の各々について、前記指定音符列が参照楽曲に出現する確率を参照楽曲毎に算定し、参照楽曲毎の確率を累算することで各参照楽曲の前記評価指標値を算定する
請求項１から請求項３の何れかの楽曲解析装置。
【請求項５】
前記解析処理手段は、前記複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルを前記指定音符列の特徴量の時系列に適用することで、前記複数のグループの各々について参照楽曲毎の評価指標値を算定する
請求項１から請求項４の何れかの楽曲解析装置。
【請求項６】
コンピュータシステムが、
指定音符列から特徴量の時系列を生成し、
複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを前記指定音符列の特徴量の時系列に適用することで、前記指定音符列が前記参照楽曲内の音符列である確率に応じた評価指標値を参照楽曲毎に算定する
楽曲解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば利用者が指定した音符列（以下「指定音符列」という）と複数の楽曲の各々との関連を解析する技術に関し、指定音符列に合致または類似する区間を含む楽曲の検索に特に好適に利用される。
【背景技術】
【０００２】
指定音符列を含む楽曲を多数の楽曲（以下「参照楽曲」という）から検索する技術が従来から提案されている。例えば特許文献１には、参照楽曲内の各音符の位置情報と出現頻度とを示すインデックスを事前に生成し、利用者からの指示に応じた指定音符列を各インデックスと対比することで、指定音符列を含む楽曲を検索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１１０９４５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、指定音符列がインデックス内に存在するか否かに応じて楽曲を検索するから、利用者が音符を誤指定した場合や参照楽曲とは編曲が相違する指定音符列が付与された場合には所望の楽曲を高精度に検索できないという問題がある。以上の事情を考慮して、本発明は、指定音符列の誤差に対して頑健な楽曲解析（特に楽曲検索）の実現を目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下の説明では、本発明の各要素と後述の各実施形態の要素との対応を括弧書で付記するが、本発明の範囲を実施形態の例示に限定する趣旨ではない。
【０００６】
本発明の音響処理装置は、指定音符列から特徴量（例えば特徴ベクトルｘm）の時系列を生成する特徴抽出手段（例えば特徴抽出部２２）と、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、指定音符列が参照楽曲内の音符列である確率に応じた評価指標値（例えば評価指標値ＳC[n]）を参照楽曲毎に算定する解析処理手段（例えば解析処理部２６）とを具備する。以上の構成では、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、各参照楽曲と指定音符列との関係を確率的に表現する評価指標値が算定される。したがって、指定音符列の誤差に対して頑健な楽曲解析（特に楽曲検索）を実現できるという利点がある。
【０００７】
本発明の好適な態様において、特徴抽出手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値に応じた数値（例えば継続長特徴量ｄm[c]）をピッチクラス毎に含む特徴量を生成する。例えば、特徴抽出手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と複数の音符の継続長の合計値との比（例えば継続長特徴量ｄm[c]）をピッチクラス毎に含む特徴量を生成する。以上の態様では、単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と複数の音符の継続長の合計値との比をピッチクラス毎に含む特徴量が生成される。したがって、例えば指定音符列の音響信号のクロマベクトルを利用した場合と比較して、指定音符列の各音符の強度の信頼性が低い場合でも適切な楽曲解析が実現されるという利点がある。
【０００８】
本発明の好適な態様において、特徴抽出手段は、複数の単位区間の各々について、当該単位区間内での最高音の音高（例えば最高音ＴNm）および最低音の音高（例えば最低音ＢNm）の少なくとも一方を含む特徴量を生成する。以上の態様では、単位区間毎の最高音および最低音の音高が特徴量に含められるから、単位区間内の一のピッチクラスの各音符の継続長の合計値と各音符の継続長の合計値との比のみを特徴量が含む構成と比較して高精度な楽曲解析が実現される。
【０００９】
本発明の好適な態様において、解析処理手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、指定音符列が参照楽曲に出現する確率（例えば類似度Ｐ[ym=Ln]）を参照楽曲毎に算定し、参照楽曲毎の確率（例えば類似度Ｐ[y1=Ln]〜Ｐ[yM=Ln]）を累算することで各参照楽曲の評価指標値を算定する。以上の態様では、指定音符列が各参照楽曲に出現する確率が単位区間毎に算定されたうえで参照楽曲毎に累算されるから、複数の参照楽曲の各々について評価指標値を簡便に算定できるという利点がある。
【００１０】
本発明の好適な態様において、解析処理手段は、複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルを指定音符列の特徴量の時系列に適用することで、複数のグループの各々について参照楽曲毎の評価指標値を算定する。以上の態様では、複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルが利用されるから、確率モデルを生成する学習処理に必要な演算量や記憶容量が削減されるという利点がある。また、参照楽曲毎の評価指標値の算定を解析処理手段が複数のグループについて並列に実行する構成によれば、各評価指標値の算定をグループ毎に順次に実行する構成と比較して楽曲解析の所要時間が短縮されるという利点がある。なお、以上の態様の具体例は例えば第２実施形態として後述される。
【００１１】
以上の各態様に係る楽曲解析装置は、音響信号の処理に専用されるＤＳＰ（Digital Signal Processor）などのハードウェア（電子回路）によって実現されるほか、ＣＰＵ（Central Processing Unit）などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、指定音符列から特徴量の時系列を生成する特徴抽出処理と、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、指定音符列が参照楽曲内の音符列である確率に応じた評価指標値を参照楽曲毎に算定する解析処理とをコンピュータに実行させる。以上のプログラムによれば、本発明に係る楽曲解析装置と同様の作用および効果が実現される。なお、本発明のプログラムは、コンピュータが読取可能な記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、通信網を介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る楽曲解析装置のブロック図である。
【図２】楽曲解析装置による解析結果の表示例である。
【図３】特徴ベクトルの説明図である。
【図４】特徴ベクトル系列および楽曲ラベル系列の説明図である。
【図５】解析処理部のブロック図である。
【図６】第２実施形態の実験結果（平均順位）を示す図表である。
【図７】第２実施形態の実験結果（平均逆順位）を示す図表である。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る楽曲解析装置１００は、利用者が指定した音符の時系列（指定音符列）と事前に用意された複数の参照楽曲の各々との音楽的な相関を評価する信号処理装置であり、指定音符列に相関（類似または合致）する区間を含む楽曲を複数の参照楽曲から検索するための楽曲検索装置として好適に使用される。図１に示すように、楽曲解析装置１００は、演算処理装置１２と記憶装置１４と表示装置１６と入力装置１８とを具備するコンピュータシステムで実現される。
【００１４】
演算処理装置１２は、記憶装置１４に格納されたプログラムＰGMを実行することで、指定音符列と各参照楽曲との相関を解析するための複数の機能（特徴抽出部２２，学習処理部２４，解析処理部２６）を実現する。なお、演算処理装置１２の各機能を複数の集積回路に分散した構成や、専用の電子回路（ＤＳＰ）が一部の機能を実現する構成も採用され得る。
【００１５】
記憶装置１４は、演算処理装置１２が実行するプログラムＰGMや演算処理装置１２が使用する各種の情報（例えば楽曲データＤ）を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体や複数種の記録媒体の組合せが記憶装置１４として任意に採用され得る。
【００１６】
第１実施形態の記憶装置１４は、相異なる参照楽曲に対応するＮ個の楽曲データＤを記憶する。楽曲データＤは、属性データＤAと音符列データＤBとを含んで構成される。属性データＤAは、楽曲に固有に付与された識別符号（例えば楽曲名）や楽曲の演奏のテンポ等を指定する。音符列データＤBは、参照楽曲を構成する音符の時系列（以下「参照音符列」という）を指定する。例えば、各音符の音高（ノートナンバ）を指定して発音または消音を指示するイベントデータと各イベントデータの処理の時点を指定するタイミングデータとを時系列に配列したＭＩＤＩ形式の時系列データが音符列データＤBとして好適に採用される。
【００１７】
表示装置１６（例えば液晶表示装置）は、演算処理装置１２から指示された画像を表示する。入力装置１８は、利用者からの指示を受付ける機器であり、利用者からの指示に応じた指定音符列を指定する音符列データＤX（演奏データ）を生成して演算処理装置１２に供給する。第１実施形態の入力装置１８は、例えばＭＩＤＩ楽器等の電子楽器である。したがって、楽曲データＤの音符列データＤBと同様のＭＩＤＩ形式の時系列データが音符列データＤXとして生成される。
【００１８】
第１実施形態の楽曲解析装置１００の動作は、学習処理と解析処理とに大別される。学習処理は、記憶装置１４に記憶されたＮ個の楽曲データＤを利用した機械学習により確率モデルを生成する処理（確率モデルの変数を確定する処理）である。他方、解析処理は、学習処理で確定された確率モデルを音符列データＤXの指定音符列に適用することで、各参照楽曲に対応するＮ個の評価指標値ＳC[1]〜ＳC[N]を算定する処理である。評価指標値ＳC[n]（ｎ＝１〜Ｎ）は、音符列データＤXが示す指定音符列が第ｎ番目の参照楽曲内の音符列に該当する確率に応じた数値（スコア）である。
【００１９】
解析処理が完了すると、図２の処理結果が表示装置１６に表示される。処理結果は、属性データＤAが示す各参照楽曲の楽曲名を評価指標値ＳC[n]の降順（指定音符列が参照楽曲内の音符列である確率が高い順）で配列したリストである。利用者は、図２の処理結果を視認することで、自身が指示した指定音符列を含む可能性が高い参照楽曲の楽曲名を特定（検索）することが可能である。なお、各参照楽曲の評価指標値ＳC[n]を楽曲名とともに表示することも可能である。
【００２０】
図１の特徴抽出部２２は、音符列（参照音符列，指定音符列）の音楽的な特徴を示す特徴ベクトル系列Ｘを生成する。特徴抽出部２２は、学習処理の段階では、記憶装置１４に記憶された各楽曲データＤの音符列データＤBが示す参照音符列から特徴ベクトル系列Ｘを生成し、解析処理の段階では、利用者からの指示に応じた音符列データＤXが示す指定音符列から特徴ベクトル系列Ｘを生成する。
【００２１】
図３は、特徴ベクトル系列Ｘの説明図である。図３に示すように、特徴ベクトル系列Ｘは、音符列を時間軸上で区分した各単位区間Ｆに対応する複数（音符列の時間長に応じた可変の個数Ｍ）の特徴ベクトルｘ1〜ｘMの時系列である。単位区間Ｆは、例えば楽曲の１小節に相当する時間長に設定される。具体的には、学習処理では、楽曲データＤの属性データＤAが指定する演奏テンポに応じた１小節分が単位区間Ｆの時間長として設定され、解析処理では、入力装置１８の操作で利用者が指示した演奏テンポに応じた１小節分が単位区間Ｆの時間長として設定される。演奏テンポが指定されていない場合、特徴抽出部２２は、演奏テンポと拍子とを所定値に設定し、その演奏テンポおよび拍子のもとで１小節に相当する時間を単位時間の時間長として設定する。例えば演奏テンポを１２０ＢＰＭ（Beats Per Minute）と仮定して拍子を４/４拍子と仮定した場合には単位区間Ｆは２秒に設定される。
【００２２】
図３には、時間軸（横軸）および音高軸（縦軸）が設定された平面に設定された音符列（ピアノロール画像）が図示されている。図３に示すように、参照音符列および指定音符列の各々は、別個のパート（例えば左手／右手の演奏パートや別個の楽器の演奏パート）に対応する複数の音符が並列に発音され得る複音楽曲（ポリフォニック）の音符列である。ただし、参照音符列および指定音符列の各々を１個のパートに対応する音符の時系列（モノフォニック）とすることも可能である。
【００２３】
音符列のうち第ｍ番目（ｍ＝１〜Ｍ）の単位区間Ｆに対応する１個の特徴ベクトルｘmは、図３に示すように、相異なるピッチクラス（音名）に対応する１２個の継続長特徴量ｄm[1]〜ｄm[12]と、最高音ＴNmおよび最低音ＢNmとを要素とする１４次元ベクトルである。ピッチクラスは、音名が共通する音高（ノートナンバ）の集合である。すなわち、周波数が２の冪乗の関係（すなわち相異なるオクターブにて音名が共通する関係）にある複数の音高は共通のピッチクラスに属する。１２半音（Ｃ,Ｃ#,Ｄ,Ｄ#,Ｅ,Ｆ,Ｆ#,Ｇ,Ｇ#,Ａ,Ａ#,Ｂ）の各々に対応する１２個のピッチクラスについて継続長特徴量ｄm[1]〜ｄm[12]が算定される。
【００２４】
第ｃ番目（ｃ＝１〜１２）のピッチクラスに対応する継続長特徴量ｄm[c]は、第ｍ番目の単位区間Ｆ内に存在する複数の音符のうちそのピッチクラスに属する各音符の継続長の合計値τaと、その単位区間Ｆ内の全部の音符の継続長の合計値τbとの比（ｄm[c]＝τa／τb）である。合計値τbによる除算は、継続長特徴量ｄm[c]を０以上かつ１以下の範囲内の数値に正規化する演算である。図３に示すように、ピッチクラス（音名Ｇ）が共通する音高Ｇ2の音符（継続長２秒）と音高Ｇ3の音符（継続長０.２秒）とが単位区間Ｆ内に存在し（τa＝２＋０.２＝２.２）、単位区間Ｆ内の全部の音符の継続長の合計値τbが８秒である場合、音名Ｇのピッチクラス（ｃ＝８）に対応する継続長特徴量ｄm[8]は、０.２７５（（２＋０.２）／８）となる。
【００２５】
特徴ベクトルｘm内の最高音ＴNm（ＴN：top note）は、音符列の第ｍ番目の単位区間Ｆ内に存在する複数の音符のうち最も高い音符の音高（ノートナンバ）である。図３に例示された単位区間Ｆ内では音高Ｇ3が最も高音であるから、最高音ＴNmは、音高Ｇ3に対応するノートナンバ「６７」に設定される。他方、特徴ベクトルｘm内の最低音ＢNm（ＢN：bottom note）は、音符列の第ｍ番目の単位区間Ｆ内に存在する複数の音符のうち最も低い音符の音高である。図３の単位区間Ｆでは音高Ｃ2が最も低音であるから、最低音ＢNmは、音高Ｃ2に対応するノートナンバ「４８」に設定される。
【００２６】
図１の学習処理部２４は、特徴抽出部２２が各参照楽曲から抽出したＮ個の特徴ベクトル系列Ｘと各特徴ベクトル系列Ｘに対応するＮ個の楽曲ラベル系列Ｙとを利用した機械学習により、特徴ベクトル系列Ｘ（Ｘ＝｛ｘ1,ｘ2,…,ｘM｝）が観測されたという条件のもとで特定の楽曲ラベル系列Ｙが出現する確率を算定するための確率モデルを生成する。図４に示すように、楽曲ラベル系列Ｙは、特徴ベクトル系列Ｘの各特徴ベクトルｘmに対応するＭ個のラベル変数ｙ1〜ｙMの時系列で構成される。学習処理に適用される楽曲ラベル系列Ｙの第ｍ番目のラベル変数ｙmは、各参照楽曲に対応するＮ個のラベルＬ1〜ＬNの何れかに設定される。ラベルＬnは、Ｎ個の参照楽曲のうち第ｎ番目の参照楽曲の識別符号（楽曲名）である。第ｎ番目の参照楽曲の特徴ベクトル系列Ｘに対応する楽曲ラベル系列Ｙでは、Ｍ個のラベル変数ｙ1〜ｙMがその参照楽曲のラベルＬnに設定される。
【００２７】
第１実施形態の学習処理部２４が生成する確率モデルは、条件付確率場（ＣＲＦ：Conditional Random Fields）を利用した識別モデルである。条件付確率場の確率モデルは、特徴ベクトル系列Ｘ（Ｘ＝｛ｘ1,ｘ2,…,ｘM｝）が観測された場合に楽曲ラベル系列Ｙ（Ｙ＝｛ｙ1,ｙ2,…,ｙM｝）が観測される条件付確率Ｐ(Y|X)を以下の数式(1)で定義する。
【数１】
0006019858.tif 000002
数式(1)の記号ｆk()は、特徴ベクトル系列Ｘの各特徴ベクトルｘmを写像するためのＫ個の素性関数ｆ1()〜ｆK()のうち第ｋ番目（ｋ＝１〜Ｋ）の素性関数を意味し、記号λkは素性関数ｆk()の加重値を意味する。記号ＺXは、条件付確率Ｐ(Y|X)を０以上かつ１以下の範囲内の数値に正規化するための要素（以下「正規化係数」という）であり、以下の数式(2)で定義される。
【数２】
0006019858.tif 000003
【００２８】
第１実施形態の確率モデルに適用されるＫ個の素性関数ｆ1()〜ｆK()の各々は、特徴抽出部２２が生成した特徴ベクトル系列Ｘを、例えば以下の(1)〜(7)の要素に変換する関数（写像関数）である。
(1) 特徴ベクトル系列ＸのＭ個の特徴ベクトルｘ1〜ｘMの各々における第ｃ番目のピッチクラスの継続長特徴量ｄm[c]（Ｍ個）の確率密度。
(2) 特徴ベクトル系列ＸのＭ個の特徴ベクトルｘ1〜ｘMの各々において１個のピッチクラスを根音とする長三和音の継続長特徴量（ｄm[c],ｄm[c+4],ｄm[c+7]）の同時確率密度。
(3) 特徴ベクトル系列ＸのＭ個の特徴ベクトルｘ1〜ｘMの各々において１個のピッチクラスを根音とする短三和音の継続長特徴量（ｄm[c],ｄm[c+3],ｄm[c+7]）の同時確率密度。
(4) Ｍ個の単位区間Ｆにおいて各音高（ノートナンバ）が最高音ＴNmに該当する頻度。
(5) Ｍ個の単位区間Ｆにおいて各音高が最低音ＢNmに該当する頻度。
(6) 最高音ＴNmおよび最高音ＴNm-1の各組合せがＭ個の単位区間Ｆ内で発生する頻度。
(7) 最低音ＢNmおよび最低音ＢNm-1の各組合せがＭ個の単位区間Ｆ内で発生する頻度。
【００２９】
前掲の(1)〜(3)の各々については、相異なるピッチクラスに対応する１２個の素性関数ｆk()が規定され、(4)〜(7)の各々については１個の素性関数ｆk()が規定される。したがって、第１実施形態における素性関数ｆk()の総数は４０個（Ｋ＝４０）である。学習処理部２４は、特徴ベクトル系列Ｘ（Ｘ＝｛ｘ1,ｘ2,…,ｘM｝）と楽曲ラベル系列Ｙ（Ｙ＝｛ｙ1,ｙ2,…,ｙM｝）とを利用した学習処理により数式(1)の加重値λkを決定することで確率モデルを確定する。
【００３０】
いま、Ｋ個の変数Ｆ1(Y,X)〜ＦK(Y,X)を要素とする素性ベクトルＦ(Y,X)（Ｆ(Y,X)＝｛Ｆ1(Y,X),Ｆ2(Y,X),…,ＦK(Y,X)｝）と、Ｋ個の加重値λ1〜λKを要素とする加重値ベクトルΛ（Λ＝｛λ1,λ2,…,λK｝）とを便宜的に導入する。素性ベクトルＦ(Y,X)の第k番目の変数Ｆk(Y,X)は、以下の数式(3)で定義される。
【数３】
0006019858.tif 000004
【００３１】
したがって、数式(1)の条件付確率Ｐ(Y|X)は、以下の数式(4)に変形される。
【数４】
0006019858.tif 000005
【００３２】
Ｎ個の参照楽曲の各々に対応する特徴ベクトル系列Ｘn（Ｘ1〜ＸN）と楽曲ラベル系列Ｙn（Ｙ1〜ＹN）とを利用して、数式(4)の条件付確率Ｐ(Y|X)の対数尤度Πが最大となるように確率モデルの学習処理を実行する場合を想定する。対数尤度Πは以下の数式(5)で表現される。
【数５】
0006019858.tif 000006
【００３３】
以下の数式(6)で表現されるように、数式(5)の対数尤度Πの勾配∇Πがゼロであるときに対数尤度Πは最大値となる。
【数６】
0006019858.tif 000007
【００３４】
数式(6)の記号ＥP(Yn,Xn)Ｆk(Y,Xn)は期待値を意味し、フォワードバックワード（forward-backward）アルゴリズムを利用した以下の数式(7)で表現される。
【数７】
0006019858.tif 000008
数式(7)の記号ｆk*は、素性関数ｆk(y',y,X)を意味し、記号ｙと記号ｙ'とは、楽曲ラベル系列Ｙ内で相互に隣合う変数ｙを意味する。記号Ｌ(y)は、変数ｙのラベルに対して左側（前方）から接続するラベルの系列を意味し、記号Ｒ(y)は、変数ｙのラベルに対して右側（後方）から接続するラベルの系列を意味する。記号αyは、以下の数式(8)で表現されるコストベクトルであり、記号βyは、以下の数式(9)で表現されるコストベクトルである。
【数８】
0006019858.tif 000009
【００３５】
他方、過学習（over fitting）を防止する観点から対数尤度Πをガウス事前確率で正則化すると、対数尤度Πは以下の数式(10)で表現される。
【数９】
0006019858.tif 000010
したがって、対数尤度Πの勾配∇Πは数式(11)で表現される。
【数１０】
0006019858.tif 000011
【００３６】
第１実施形態の学習処理部２４は、Ｎ個の参照楽曲の各々の特徴ベクトル系列Ｘ（Ｘ1〜ＸN）および楽曲ラベル系列Ｙ（Ｙ1〜ＹN）を数式(11)に適用して勾配∇Πを０とすることで加重値λk（λ1〜λK）を算定する。加重値λkの算定には、例えばＬ-ＢＦＧＳ（Limited-memory Broyden-Fletcher-Goldfarb-Shanno）法に基づく準ニュートン法等の公知の方法が任意に採用される。以上の手順で生成された確率モデル（加重値λ1〜λK）が記憶装置１４に格納されて解析処理に利用される。
【００３７】
解析処理では、音符列データＤXが示す指定音符列の特徴ベクトル系列Ｘが特徴抽出部２２により生成される。解析処理部２６は、学習処理部２４が生成した確率モデル（加重値λk）を指定音符列の特徴ベクトル系列Ｘに適用する解析処理により、相異なる参照楽曲に対応するＮ個の評価指標値ＳC[1]〜ＳC[N]を算定する。
【００３８】
図５は、解析処理部２６のブロック図である。図５に示すように、解析処理部２６は、音符列解析部３２と指標算定部３４と表示制御部３６とを含んで構成される。音符列解析部３２は、音符列データＤXが示す指定音符列の特徴ベクトル系列Ｘ（特徴ベクトルｘ1〜ｘM）を確率モデルに適用することで楽曲ラベル系列Ｙを生成する。解析処理で生成される楽曲ラベル系列Ｙは、指定音符列の特徴ベクトル系列Ｘの各特徴ベクトルｘmに対応するＭ個の類似度系列ｙ1〜ｙMで構成される。
【００３９】
図４に示すように、楽曲ラベル系列Ｙの第ｍ番目の類似度系列ｙmは、各参照楽曲に対応するＮ個の類似度Ｐ[ym=Ln]（Ｐ[ym=L1]〜Ｐ[ym=LN]）を要素とするＮ次元ベクトルである。類似度Ｐ[ym=Ln]は、指定音符列の第ｍ番目の特徴ベクトルｘmがラベルＬnの参照楽曲にて出現する周辺確率（指定音符列のうち第ｍ番目の単位区間Ｆ内の音符の時系列がラベルＬnの参照楽曲に対して音楽的に近似する度合）を意味する。すなわち、音符列解析部３２は、指定音符列を区分したＭ個の単位区間Ｆの各々（Ｍ個の特徴ベクトルｘ1〜ｘMの各々）について、指定音符列が参照楽曲内の音符列に該当する確率に応じた類似度Ｐ[ym=Ln]を参照楽曲毎（ラベルＬn毎）に算定する。換言すると、図４に示すように、各単位区間Ｆの類似度系列ｙmをＮ次の縦ベクトルとして横方向に配列したＮ行Ｍ列の行列（以下「類似度行列」という）Ψが生成される。
【００４０】
確率モデルに対する特徴ベクトル系列Ｘの適用で音符列解析部３２が楽曲ラベル系列Ｙ（類似度行列Ψ）を生成する処理の具体的な内容を以下に説明する。第１に、音符列解析部３２は、指定音符列の特徴ベクトル系列Ｘと学習処理で算定した加重値λkとを前掲の数式(8)に適用することで、楽曲ラベル系列Ｙの各類似度系列ｙmに対応するＭ個のコストベクトルαyの各々を逐次的に算定する。すなわち、第ｍ番目の類似度系列ｙm（数式(8)の変数ｙ）に対応するコストベクトルαyは、直前の類似度系列ｙm-1を変数ｙ'とした数式(8)の演算で算定される。類似度系列ｙmに対応するコストベクトルαyは、相異なる参照楽曲に対応するＮ個の係数α[ym=L1]〜α[ym=LN]を要素とするＮ次のベクトルである。係数α[ym=Ln]は、直前の係数α[ym-1=Ln]を考慮した場合に特徴ベクトルｘmが第ｎ番目の参照楽曲に該当する状態を維持するコスト値を意味する。
【００４１】
第２に、音符列解析部３２は、指定音符列の特徴ベクトル系列Ｘと学習処理で算定した加重値λkとを前掲の数式(9)に適用することで、楽曲ラベル系列Ｙの各類似度系列ｙmに対応するＭ個のコストベクトルβyの各々を逐次的に算定する。すなわち、第ｍ番目の類似度系列ｙmに対応するコストベクトルβyは、直後の類似度系列ｙm+1を変数ｙ'とした数式(9)の演算で算定される。類似度系列ｙmに対応するコストベクトルβyは、相異なる参照楽曲に対応するＮ個の係数β[ym=L1]〜β[ym=LN]を要素とするＮ次のベクトルである。係数β[ym=Ln]は、直後の係数β[ym+1=Ln]を考慮した場合に特徴ベクトルｘmが第ｎ番目の参照楽曲に該当する状態を維持するコスト値を意味する。
【００４２】
第３に、音符列解析部３２は、指定音符列の特徴ベクトル系列Ｘと学習処理で算定した加重値λkとを前掲の数式(2)に適用することで正規化係数ＺXを算定する。そして、音符列解析部３２は、コストベクトルαyの各係数α[ym=Ln]とコストベクトルβyの各係数β[ym=Ln]と正規化係数ＺXとを以下の数式(12)に適用することで、楽曲ラベル系列Ｙの第ｍ番目の類似度系列ｙmのうち第ｎ番目の参照楽曲に対応する類似度Ｐ[ym=Ln]を算定する。以上が第１実施形態における楽曲ラベル系列Ｙ（類似度行列Ψ）の生成方法である。
【数１１】
0006019858.tif 000012
【００４３】
図５の指標算定部３４は、音符列解析部３２が生成した楽曲ラベル系列Ｙ（類似度行列Ψ）から参照楽曲毎の評価指標値ＳC[n]（ＳC[1]〜ＳC[N]）を算定する。具体的には、評価指標値ＳC[n]は、図４に示すように、楽曲ラベル系列Ｙの各類似度系列ｙmにおける第ｎ行目の類似度Ｐ[ym=Ln]をＭ個の類似度系列ｙ1〜ｙMについて累算した数値である。すなわち、類似度行列Ψに着目すると、第ｎ行に属するＭ個の類似度Ｐ[y1=Ln]〜Ｐ[yM=Ln]の加算値が評価指標値ＳC[n]として算定される。以上の説明から理解されるように、指定音符列に合致または類似する音符列を含む参照楽曲ほど評価指標値ＳC[n]は大きい数値となる。表示制御部３６は、指標算定部３４が算定した評価指標値ＳC[n]の降順で参照楽曲の楽曲名を配列した図２のリストを生成して表示装置１６に表示させる。
【００４４】
以上に説明した第１実施形態では、Ｎ個の参照楽曲の各々の特徴ベクトル系列Ｘを利用した機械学習で生成された確率モデル（加重値λk）を、利用者からの指示に応じた指定音符列の特徴ベクトル系列Ｘに適用することで、指定音符列と各参照楽曲との相関を確率的に示す評価指標値ＳC[n]が算定される。したがって、利用者が指定する各音符がインデックス内の各音符と合致するか否かを判定する特許文献１の技術と比較すると、指定音符列と参照音符列との間に誤差がある場合（例えば利用者が音符を誤指定した場合や参照楽曲とは編曲が相違する音符列を指定した場合）でも適切な解析結果を取得できるという利点がある。すなわち、指定音符列の誤差に対して頑健な楽曲解析（楽曲検索）が可能である。
【００４５】
第１実施形態では特に、ピッチクラス毎の音符の継続長の合計値τaに応じた継続長特徴量ｄm[1]〜ｄm[12]が特徴ベクトルｘmに利用されるから、各音符の音高の配列のみを加味する特許文献１の技術と比較して、指定音符列の誤差に対して頑健な楽曲解析を実現できるという効果は格別に顕著である。
【００４６】
なお、音楽的な特徴を表現する特徴ベクトルｘmとしては、音響信号の強度を複数のオクターブについてピッチクラス毎に累算したクロマベクトル（例えば特許第３８２６６６０号公報に開示されたオクターブプロファイル）も利用され得る。ただし、ＭＩＤＩ形式の音符列データＤBや音符列データＤXでは、実際の演奏音を収録した音響信号と比較して、音符毎の強度（ベロシティ）が適切に指定されていない可能性が高いという傾向があるから、音符列データＤBや音符列データＤXのクロマベクトルを特徴ベクトルｘmとして利用した構成では、信頼性の高い確率モデルが学習処理で得られない可能性や、信頼性の高い楽曲ラベル系列Ｙが解析処理で得られない可能性がある。他方、各音符の継続長は音符列データＤBや音符列データＤXにて比較的に正確に指定される可能性が高いという傾向がある。したがって、第１実施形態によれば、クロマベクトルを特徴ベクトルｘmとした場合と比較して、音符列データＤB（参照音符列）を利用して信頼性の高い確率モデルを生成し、かつ、音符列データＤX（指定音符列）を利用して信頼性の高い解析結果が得られるという利点がある。もっとも、音符列データＤBや音符列データＤXにて各音符の強度が適切に指定されることを前提とすれば、音符列データＤBや音符列データＤXに応じて生成される音響信号から抽出されるクロマベクトルを特徴ベクトルｘmとして利用することも可能である。
【００４７】
＜第２実施形態＞
本発明の第２実施形態を以下に説明する。なお、以下に例示する各態様において作用や機能が第１実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【００４８】
第２実施形態では、記憶装置１４に楽曲データＤが記憶されたＮ個の参照楽曲がＮg個毎にＱ個（Ｑ＝Ｎ/Ｎg）の楽曲グループに区分される。なお、参照楽曲をＱ個の楽曲グループに区分する方法は任意である。例えば、Ｎ個の参照楽曲をランダムに順次に選択してＱ個の楽曲グループの何れかに分配する方法が採用される。また、参照楽曲の個数Ｎgを楽曲グループ毎に相違させることも可能である。
【００４９】
学習処理において、特徴抽出部２２は、第１実施形態と同様に、Ｎ個の参照楽曲の各々について楽曲データＤの音符列データＤBから特徴ベクトル系列Ｘを生成する。また、学習処理部２４は、Ｑ個の楽曲グループの各々について第１実施形態と同様の処理を実行することで、相異なる楽曲グループに対応するＱ個の確率モデルを個別に生成する。すなわち、１個の楽曲グループのＮg個の参照楽曲の音符列データＤBから１個の確率モデル（加重値λk）を生成する学習処理が、Ｑ個の楽曲グループの各々について個別に実行される。
【００５０】
解析処理において、解析処理部２６は、参照楽曲の相異なる楽曲グループに対応するＱ個の確率モデルの各々を指定音符列の特徴ベクトル系列Ｘに適用することで、Ｑ個の楽曲グループの各々について参照楽曲毎の評価指標値ＳC[1]〜ＳC[Ng]を算定する。１個の楽曲グループに着目すると、確率モデルを利用して評価指標値ＳC[1]〜ＳC[Ng]を算定する処理は第１実施形態と同様である。解析処理部２６は、評価指標値ＳC[1]〜ＳC[Ng]の算定（確率モデルを適用した解析処理）をＱ個の楽曲グループについて並列に実行する。そして、Ｑ個の楽曲グループにわたる評価指標値ＳC[1]〜ＳC[Ng]の降順でＮ個の参照楽曲の楽曲名が表示装置１６に表示される。第２実施形態においても第１実施形態と同様の効果が実現される。
【００５１】
ところで、１個の確率モデルを生成するために必要な演算量および記憶容量は、学習処理に適用する参照楽曲の総数の自乗（第１実施形態ではＮ2）に比例する。第２実施形態では、Ｎ個の参照楽曲を区分したＱ個の楽曲グループの各々について確率モデルが生成される。すなわち、１個の確率モデルの生成に利用される参照楽曲の総数Ｎgが第１実施形態（Ｎ個）と比較して減少するから、学習処理に必要な演算量や記憶容量が第１実施形態と比較して削減されるという利点がある。また、第２実施形態では、Ｑ個の楽曲グループについて解析処理が並列に実行されるから、例えばＱ個の楽曲グループの各々について順番に解析処理を実行する場合と比較して解析処理の所要時間が短縮されるという利点がある。
【００５２】
第２実施形態に係る楽曲解析装置１００を利用した実験結果を以下に説明する。以下の説明では、Ｎ個（Ｎ＝１４２０）の参照楽曲のうちの特定の楽曲（以下「目標楽曲」という）に含まれる音符列を指定音符列として指示した場合にその目標楽曲について算定される評価指標値ＳC[n]の順位に着目する。目標楽曲の評価指標値ＳC[n]の順位が高い（順位の数値が１に近い）ほど楽曲解析装置１００の解析精度が高いと評価できる。図６は、所定回（２５回）の実験にわたる平均順位を示す図表であり、図７は、所定回の実験にわたる平均逆順位（ＭＲＲ：Mean Reciprocal Rank）を示す図表である。図６の平均順位は、数値が小さい（１に近い）ほど解析精度が高いと評価でき、図７の平均逆順位は、数値が大きい（１に近い）ほど解析精度が高いと評価できる。
【００５３】
図６および図７では、特徴ベクトルｘmの内容（最高音ＴNmおよび最低音ＢNmの有無）と指定音符列の誤差の有無とＮ個の参照楽曲の分割数Ｑ（楽曲グループの総数）とを相違させた場合が想定されている。特徴ベクトルｘmの内容については以下の条件（条件１〜条件４）が想定されている。条件４が第１実施形態や第２実施形態に相当する。
条件１：継続長特徴量ｄm[1]〜ｄm[12]のみ
条件２：継続長特徴量ｄm[1]〜ｄm[12]＋最高音ＴNm
条件３：継続長特徴量ｄm[1]〜ｄm[12]＋最低音ＢNm
条件４：継続長特徴量ｄm[1]〜ｄm[12]＋最高音ＴNm＋最低音ＢNm
【００５４】
指定音符列については、目標楽曲内の音符列に完全に合致する指定音符列を使用した場合（サンプル１）と、目標楽曲内の音符列とは幾つかの音符を相違させた指定音符列を使用した場合（サンプル２）とが想定されている。サンプル１を使用した場合とサンプル２を使用した場合との総合的な結果（全体）も併記されている。また、Ｎ個の参照楽曲の分割数Ｑについては４分割および７分割が想定されている。
【００５５】
図６および図７では、各参照楽曲の参照音符列の特徴ベクトルｘmと指定音符列の特徴ベクトルｘmとの距離（コサイン距離）に応じてＮ個の参照楽曲を順位付けした場合の目標楽曲の順位（平均順位，平均逆順位）が対比例として併記されている。
【００５６】
図６および図７から理解されるように、対比例では、指定音符列が目標楽曲の音符列に合致する場合（サンプル１）には解析精度は高いが、指定音符列が目標楽曲の音符列と僅かでも相違する場合（サンプル２）には解析精度が極端に低下する。すなわち、対比例は、指定音符列の誤差に対する頑健性が低いと評価できる。他方、第２実施形態では、指定音符列が目標楽曲内の音符列に合致する場合（サンプル１）に解析精度が高い水準に維持されるほか、指定音符列が目標楽曲の音符列と相違する場合（サンプル２）でも、対比例と比較して充分に高い解析精度が実現される。すなわち、第２実施形態や前述の第１実施形態によれば、指定音符列の誤差に対して頑健な楽曲解析を実現することが可能である。
【００５７】
また、特徴ベクトルｘmが継続長特徴量ｄm[1]〜ｄm[12]のみを含む条件１の場合と比較すると、特徴ベクトルｘmに最高音ＴNmおよび最低音ＢNmの一方を付加した条件２または条件３の場合のほうが解析精度は高いという傾向が図６および図７から把握される。また、最高音ＴNmおよび最低音ＢNmの双方を特徴ベクトルｘmに含ませた条件４（第１実施形態および第２実施形態）では、条件２および条件３と比較して解析精度が向上するという利点がある。
【００５８】
なお、前述の通り、Ｎ個の参照楽曲の分割数Ｑを増加させる（１個の確率モデルの生成に使用する参照楽曲の総数Ｎgを減少させる）ほど学習処理に必要な演算量や記憶容量は低減される。他方、Ｎ個の参照楽曲の分割数Ｑを増加させるほど解析精度は低下するという傾向が図６および図７から把握される。したがって、第２実施形態では、演算処理装置１２の演算性能や記憶装置１４の記憶容量等の範囲内で分割数Ｑを最小化した構成が好適である。
【００５９】
＜変形例＞
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２以上の態様は適宜に併合され得る。
【００６０】
（１）前述の各形態では条件付確率場（ＣＲＦ）の確率モデルを例示したが、確率モデルの形式は適宜に変更される。例えば隠れマルコフモデル（ＨＭＭ：Hidden Markov Model）等の公知の確率モデルを任意に利用することが可能である。
【００６１】
（２）前述の各形態では評価指標値ＳC[n]の降順で各参照楽曲の楽曲名を配列したが、解析処理部２６による解析結果（評価指標値ＳC[n]）を利用する方法は任意である。例えば、Ｎ個の参照楽曲のうち評価指標値ＳCの降順で上位に位置する所定個の参照楽曲の楽曲名を利用者に報知する構成や、Ｎ個の参照楽曲のうち評価指標値ＳCが最大となる参照楽曲の楽曲名のみを利用者に報知する構成（楽曲検索装置）が採用される。
【００６２】
（３）前述の各形態では、学習処理部２４および解析処理部２６の双方を具備する楽曲解析装置１００を例示したが、学習処理部２４および解析処理部２６の一方を省略することも可能である。すなわち、本発明は、学習処理部２４による学習処理で確率モデルを生成する専用の装置（解析処理部２６を省略した確率モデル生成装置）や、記憶装置１４に事前に格納された確率モデルを利用した解析処理で各参照楽曲と指定音符列との関係を解析する装置（学習処理部２４を省略した楽曲解析装置）としても実現され得る。
【００６３】
（４）楽曲解析装置１００は、携帯電話機やパーソナルコンピュータ等の端末装置と通信するサーバ装置としても実現され得る。すなわち、楽曲解析装置１００は、端末装置の入力装置に対して利用者が指示した指定音符列を示す音符列データＤXを端末装置から受信して参照楽曲毎の評価指標値ＳCを算定し、解析結果を示す画像データを端末装置に送信することで解析結果を端末装置の表示装置に表示させる。以上の説明から理解されるように、前述の各形態における入力装置１８や表示装置１６は楽曲解析装置１００から省略され得る。
【００６４】
（５）前述の各形態で例示した継続長特徴量ｄm[1]〜ｄm[12]は、確率モデルを利用した楽曲解析以外の用途にも利用することが可能である。例えば、楽曲は共通するが演奏テンポや幾つかの音符が相違する複数の音符列の相互間で時間的な対応を解析（同期解析）する場合にも継続長特徴量ｄm[1]〜ｄm[12]が好適に採用される。継続長特徴量ｄm[1]〜ｄm[12]を利用した同期解析には、例えばＤＰ（Dynamic Programming）マッチングに代表される動的時間伸縮（ＤＴＷ：Dynamic Time Warping）等の公知の技術が任意に採用される。
【００６５】
例えばＭＩＤＩ形式の時系列データで表現された第１音符列と第２音符列とを想定する。特徴抽出部２２は、継続長特徴量ｄm[1]〜ｄm[12]を要素とするベクトル（以下「継続長比ベクトル」という）を第１音符列および第２音符列の各々の単位区間毎に生成する。演算処理装置１２の同期解析部（図示略）は、第１音符列の各単位区間と第２音符列の各単位区間との全通りの組合せについて第１音符列と第２音符列との間の継続長比ベクトルの距離を算定し、各音符列の始点からの距離の累算値が最小となるように第１音符列の単位区間と第２音符列の単位区間との対応（マッチングパス）を特定する。
【００６６】
以上の説明から理解されるように、本発明は、複数の音符を配列した音符列（典型的にはＭＩＤＩ形式の時系列データで指定される音符列）を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と前記複数の音符の継続長の合計値との比（継続長特徴量ｄm[c]）をピッチクラス毎に含む特徴量を生成する特徴抽出手段（特徴抽出部２２）を具備する音符列解析装置としても実現される。音符列解析装置においては、特徴抽出手段が生成した特徴量の用途（あるいは学習処理部２４や解析処理部２６の有無）は不問である。
【００６７】
（６）前述の各形態では、１２半音の各々に対応する１２個のピッチクラスについて継続長特徴量ｄm[1]〜ｄm[12]を算定したが、ピッチクラスの総数（継続長特徴量ｄm[c]の総数）や各ピッチクラスの区分の方法は適宜に変更される。例えば１２個を上回る個数（例えば２４個，３６個，４８個）のピッチクラスを設定した構成や、１２個を下回る個数のピッチクラスを設定した構成も採用され得る。ピッチクラスの総数は、例えば音律を考慮して選定され得る。また、音域毎にピッチクラスを区別することも可能である。例えば、複数のオクターブのうち奇数番目の各オクターブに属する１２半音の各々に対応する１２個のピッチクラスと、偶数番目の各オクターブに属する１２半音の各々に対応する１２個のピッチクラスとを個別に設定した構成（したがって、合計２４個の継続長特徴量ｄm[c]が単位区間Ｆ毎に算定される）が採用され得る。また、所定の閾値を上回る音域内（例えば旋律音の音域内）で１２半音の各々に対応する１２個のピッチクラスと、その閾値を下回る音域内（例えば伴奏音の音域内）で１２半音の各々に対応する１２個のピッチクラスとを個別に設定する（したがって、合計２４個の継続長特徴量ｄm[c]が単位区間Ｆ毎に算定される）ことも可能である。以上の例示から理解されるように、ピッチクラスは、音名が相互に共通する少なくとも２個の音高を含む範囲（分類）を意味し、その総数や区分方法は任意である。
【００６８】
また、継続長特徴量ｄm[c]の算定方法は以上の例示に限定されない。例えば、単位区間Ｆ内の複数の音符のうち第ｃ番目のピッチクラスに属する各音符の継続長の合計値τaを継続長特徴量ｄm[c]とすることも可能である。すなわち、継続長特徴量ｄm[c]は、単位区間Ｆ内で第ｃ番目のピッチクラスに属する各音符の継続長の合計値τaに応じた数値と表現され、単位区間Ｆ内の全部の音符の継続長の合計値τbによる除算（継続長特徴量ｄm[c]の正規化）は必須の要件ではない。
【符号の説明】
【００６９】
１００……楽曲解析装置、１２……演算処理装置、１４……記憶装置、１６……表示装置、１８……入力装置、２２……特徴抽出部、２４……学習処理部、２６……解析処理部、３２……音符列解析部、３４……指標算定部、３６……表示制御部。
【図１】
0006019858.tif 000013
【図２】
0006019858.tif 000014
【図３】
0006019858.tif 000015
【図４】
0006019858.tif 000016
【図５】
0006019858.tif 000017
【図６】
0006019858.tif 000018
【図７】
0006019858.tif 000019