説明

楽曲解析装置

【課題】指定音符列の誤差に対して頑健な楽曲解析(特に楽曲検索)を実現する。
【解決手段】特徴抽出部22は、利用者からの指示に応じた指定音符列から特徴ベクトルxmの時系列(特徴ベクトル系列)Xを生成する。複数の参照楽曲の特徴ベクトルxmの時系列を利用した機械学習で生成された確率モデル(素性関数fk()の加重値λk)を指定音符列の特徴ベクトル系列Xに適用することで、指定音符列が参照楽曲内の音符列である確率P[ym=Ln]に応じた評価指標値SC[n]を参照楽曲毎に算定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば利用者が指定した音符列(以下「指定音符列」という)と複数の楽曲の各々との関連を解析する技術に関し、指定音符列に合致または類似する区間を含む楽曲の検索に特に好適に利用される。
【背景技術】
【0002】
指定音符列を含む楽曲を多数の楽曲(以下「参照楽曲」という)から検索する技術が従来から提案されている。例えば特許文献1には、参照楽曲内の各音符の位置情報と出現頻度とを示すインデックスを事前に生成し、利用者からの指示に応じた指定音符列を各インデックスと対比することで、指定音符列を含む楽曲を検索する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−110945号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の技術では、指定音符列がインデックス内に存在するか否かに応じて楽曲を検索するから、利用者が音符を誤指定した場合や参照楽曲とは編曲が相違する指定音符列が付与された場合には所望の楽曲を高精度に検索できないという問題がある。以上の事情を考慮して、本発明は、指定音符列の誤差に対して頑健な楽曲解析(特に楽曲検索)の実現を目的とする。
【課題を解決するための手段】
【0005】
以上の課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下の説明では、本発明の各要素と後述の各実施形態の要素との対応を括弧書で付記するが、本発明の範囲を実施形態の例示に限定する趣旨ではない。
【0006】
本発明の音響処理装置は、指定音符列から特徴量(例えば特徴ベクトルxm)の時系列を生成する特徴抽出手段(例えば特徴抽出部22)と、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、指定音符列が参照楽曲内の音符列である確率に応じた評価指標値(例えば評価指標値SC[n])を参照楽曲毎に算定する解析処理手段(例えば解析処理部26)とを具備する。以上の構成では、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、各参照楽曲と指定音符列との関係を確率的に表現する評価指標値が算定される。したがって、指定音符列の誤差に対して頑健な楽曲解析(特に楽曲検索)を実現できるという利点がある。
【0007】
本発明の好適な態様において、特徴抽出手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値に応じた数値(例えば継続長特徴量dm[c])をピッチクラス毎に含む特徴量を生成する。例えば、特徴抽出手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と複数の音符の継続長の合計値との比(例えば継続長特徴量dm[c])をピッチクラス毎に含む特徴量を生成する。以上の態様では、単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と複数の音符の継続長の合計値との比をピッチクラス毎に含む特徴量が生成される。したがって、例えば指定音符列の音響信号のクロマベクトルを利用した場合と比較して、指定音符列の各音符の強度の信頼性が低い場合でも適切な楽曲解析が実現されるという利点がある。
【0008】
本発明の好適な態様において、特徴抽出手段は、複数の単位区間の各々について、当該単位区間内での最高音の音高(例えば最高音TNm)および最低音の音高(例えば最低音BNm)の少なくとも一方を含む特徴量を生成する。以上の態様では、単位区間毎の最高音および最低音の音高が特徴量に含められるから、単位区間内の一のピッチクラスの各音符の継続長の合計値と各音符の継続長の合計値との比のみを特徴量が含む構成と比較して高精度な楽曲解析が実現される。
【0009】
本発明の好適な態様において、解析処理手段は、指定音符列を時間軸上で区分した複数の単位区間の各々について、指定音符列が参照楽曲に出現する確率(例えば類似度P[ym=Ln])を参照楽曲毎に算定し、参照楽曲毎の確率(例えば類似度P[y1=Ln]〜P[yM=Ln])を累算することで各参照楽曲の評価指標値を算定する。以上の態様では、指定音符列が各参照楽曲に出現する確率が単位区間毎に算定されたうえで参照楽曲毎に累算されるから、複数の参照楽曲の各々について評価指標値を簡便に算定できるという利点がある。
【0010】
本発明の好適な態様において、解析処理手段は、複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルを指定音符列の特徴量の時系列に適用することで、複数のグループの各々について参照楽曲毎の評価指標値を算定する。以上の態様では、複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルが利用されるから、確率モデルを生成する学習処理に必要な演算量や記憶容量が削減されるという利点がある。また、参照楽曲毎の評価指標値の算定を解析処理手段が複数のグループについて並列に実行する構成によれば、各評価指標値の算定をグループ毎に順次に実行する構成と比較して楽曲解析の所要時間が短縮されるという利点がある。なお、以上の態様の具体例は例えば第2実施形態として後述される。
【0011】
以上の各態様に係る楽曲解析装置は、音響信号の処理に専用されるDSP(Digital Signal Processor)などのハードウェア(電子回路)によって実現されるほか、CPU(Central Processing Unit)などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、指定音符列から特徴量の時系列を生成する特徴抽出処理と、複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを指定音符列の特徴量の時系列に適用することで、指定音符列が参照楽曲内の音符列である確率に応じた評価指標値を参照楽曲毎に算定する解析処理とをコンピュータに実行させる。以上のプログラムによれば、本発明に係る楽曲解析装置と同様の作用および効果が実現される。なお、本発明のプログラムは、コンピュータが読取可能な記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、通信網を介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1実施形態に係る楽曲解析装置のブロック図である。
【図2】楽曲解析装置による解析結果の表示例である。
【図3】特徴ベクトルの説明図である。
【図4】特徴ベクトル系列および楽曲ラベル系列の説明図である。
【図5】解析処理部のブロック図である。
【図6】第2実施形態の実験結果(平均順位)を示す図表である。
【図7】第2実施形態の実験結果(平均逆順位)を示す図表である。
【発明を実施するための形態】
【0013】
<第1実施形態>
図1は、本発明の第1実施形態に係る楽曲解析装置100は、利用者が指定した音符の時系列(指定音符列)と事前に用意された複数の参照楽曲の各々との音楽的な相関を評価する信号処理装置であり、指定音符列に相関(類似または合致)する区間を含む楽曲を複数の参照楽曲から検索するための楽曲検索装置として好適に使用される。図1に示すように、楽曲解析装置100は、演算処理装置12と記憶装置14と表示装置16と入力装置18とを具備するコンピュータシステムで実現される。
【0014】
演算処理装置12は、記憶装置14に格納されたプログラムPGMを実行することで、指定音符列と各参照楽曲との相関を解析するための複数の機能(特徴抽出部22,学習処理部24,解析処理部26)を実現する。なお、演算処理装置12の各機能を複数の集積回路に分散した構成や、専用の電子回路(DSP)が一部の機能を実現する構成も採用され得る。
【0015】
記憶装置14は、演算処理装置12が実行するプログラムPGMや演算処理装置12が使用する各種の情報(例えば楽曲データD)を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体や複数種の記録媒体の組合せが記憶装置14として任意に採用され得る。
【0016】
第1実施形態の記憶装置14は、相異なる参照楽曲に対応するN個の楽曲データDを記憶する。楽曲データDは、属性データDAと音符列データDBとを含んで構成される。属性データDAは、楽曲に固有に付与された識別符号(例えば楽曲名)や楽曲の演奏のテンポ等を指定する。音符列データDBは、参照楽曲を構成する音符の時系列(以下「参照音符列」という)を指定する。例えば、各音符の音高(ノートナンバ)を指定して発音または消音を指示するイベントデータと各イベントデータの処理の時点を指定するタイミングデータとを時系列に配列したMIDI形式の時系列データが音符列データDBとして好適に採用される。
【0017】
表示装置16(例えば液晶表示装置)は、演算処理装置12から指示された画像を表示する。入力装置18は、利用者からの指示を受付ける機器であり、利用者からの指示に応じた指定音符列を指定する音符列データDX(演奏データ)を生成して演算処理装置12に供給する。第1実施形態の入力装置18は、例えばMIDI楽器等の電子楽器である。したがって、楽曲データDの音符列データDBと同様のMIDI形式の時系列データが音符列データDXとして生成される。
【0018】
第1実施形態の楽曲解析装置100の動作は、学習処理と解析処理とに大別される。学習処理は、記憶装置14に記憶されたN個の楽曲データDを利用した機械学習により確率モデルを生成する処理(確率モデルの変数を確定する処理)である。他方、解析処理は、学習処理で確定された確率モデルを音符列データDXの指定音符列に適用することで、各参照楽曲に対応するN個の評価指標値SC[1]〜SC[N]を算定する処理である。評価指標値SC[n](n=1〜N)は、音符列データDXが示す指定音符列が第n番目の参照楽曲内の音符列に該当する確率に応じた数値(スコア)である。
【0019】
解析処理が完了すると、図2の処理結果が表示装置16に表示される。処理結果は、属性データDAが示す各参照楽曲の楽曲名を評価指標値SC[n]の降順(指定音符列が参照楽曲内の音符列である確率が高い順)で配列したリストである。利用者は、図2の処理結果を視認することで、自身が指示した指定音符列を含む可能性が高い参照楽曲の楽曲名を特定(検索)することが可能である。なお、各参照楽曲の評価指標値SC[n]を楽曲名とともに表示することも可能である。
【0020】
図1の特徴抽出部22は、音符列(参照音符列,指定音符列)の音楽的な特徴を示す特徴ベクトル系列Xを生成する。特徴抽出部22は、学習処理の段階では、記憶装置14に記憶された各楽曲データDの音符列データDBが示す参照音符列から特徴ベクトル系列Xを生成し、解析処理の段階では、利用者からの指示に応じた音符列データDXが示す指定音符列から特徴ベクトル系列Xを生成する。
【0021】
図3は、特徴ベクトル系列Xの説明図である。図3に示すように、特徴ベクトル系列Xは、音符列を時間軸上で区分した各単位区間Fに対応する複数(音符列の時間長に応じた可変の個数M)の特徴ベクトルx1〜xMの時系列である。単位区間Fは、例えば楽曲の1小節に相当する時間長に設定される。具体的には、学習処理では、楽曲データDの属性データDAが指定する演奏テンポに応じた1小節分が単位区間Fの時間長として設定され、解析処理では、入力装置18の操作で利用者が指示した演奏テンポに応じた1小節分が単位区間Fの時間長として設定される。演奏テンポが指定されていない場合、特徴抽出部22は、演奏テンポと拍子とを所定値に設定し、その演奏テンポおよび拍子のもとで1小節に相当する時間を単位時間の時間長として設定する。例えば演奏テンポを120BPM(Beats Per Minute)と仮定して拍子を4/4拍子と仮定した場合には単位区間Fは2秒に設定される。
【0022】
図3には、時間軸(横軸)および音高軸(縦軸)が設定された平面に設定された音符列(ピアノロール画像)が図示されている。図3に示すように、参照音符列および指定音符列の各々は、別個のパート(例えば左手/右手の演奏パートや別個の楽器の演奏パート)に対応する複数の音符が並列に発音され得る複音楽曲(ポリフォニック)の音符列である。ただし、参照音符列および指定音符列の各々を1個のパートに対応する音符の時系列(モノフォニック)とすることも可能である。
【0023】
音符列のうち第m番目(m=1〜M)の単位区間Fに対応する1個の特徴ベクトルxmは、図3に示すように、相異なるピッチクラス(音名)に対応する12個の継続長特徴量dm[1]〜dm[12]と、最高音TNmおよび最低音BNmとを要素とする14次元ベクトルである。ピッチクラスは、音名が共通する音高(ノートナンバ)の集合である。すなわち、周波数が2の冪乗の関係(すなわち相異なるオクターブにて音名が共通する関係)にある複数の音高は共通のピッチクラスに属する。12半音(C,C#,D,D#,E,F,F#,G,G#,A,A#,B)の各々に対応する12個のピッチクラスについて継続長特徴量dm[1]〜dm[12]が算定される。
【0024】
第c番目(c=1〜12)のピッチクラスに対応する継続長特徴量dm[c]は、第m番目の単位区間F内に存在する複数の音符のうちそのピッチクラスに属する各音符の継続長の合計値τaと、その単位区間F内の全部の音符の継続長の合計値τbとの比(dm[c]=τa/τb)である。合計値τbによる除算は、継続長特徴量dm[c]を0以上かつ1以下の範囲内の数値に正規化する演算である。図3に示すように、ピッチクラス(音名G)が共通する音高G2の音符(継続長2秒)と音高G3の音符(継続長0.2秒)とが単位区間F内に存在し(τa=2+0.2=2.2)、単位区間F内の全部の音符の継続長の合計値τbが8秒である場合、音名Gのピッチクラス(c=8)に対応する継続長特徴量dm[8]は、0.275((2+0.2)/8)となる。
【0025】
特徴ベクトルxm内の最高音TNm(TN:top note)は、音符列の第m番目の単位区間F内に存在する複数の音符のうち最も高い音符の音高(ノートナンバ)である。図3に例示された単位区間F内では音高G3が最も高音であるから、最高音TNmは、音高G3に対応するノートナンバ「67」に設定される。他方、特徴ベクトルxm内の最低音BNm(BN:bottom note)は、音符列の第m番目の単位区間F内に存在する複数の音符のうち最も低い音符の音高である。図3の単位区間Fでは音高C2が最も低音であるから、最低音BNmは、音高C2に対応するノートナンバ「48」に設定される。
【0026】
図1の学習処理部24は、特徴抽出部22が各参照楽曲から抽出したN個の特徴ベクトル系列Xと各特徴ベクトル系列Xに対応するN個の楽曲ラベル系列Yとを利用した機械学習により、特徴ベクトル系列X(X={x1,x2,…,xM})が観測されたという条件のもとで特定の楽曲ラベル系列Yが出現する確率を算定するための確率モデルを生成する。図4に示すように、楽曲ラベル系列Yは、特徴ベクトル系列Xの各特徴ベクトルxmに対応するM個のラベル変数y1〜yMの時系列で構成される。学習処理に適用される楽曲ラベル系列Yの第m番目のラベル変数ymは、各参照楽曲に対応するN個のラベルL1〜LNの何れかに設定される。ラベルLnは、N個の参照楽曲のうち第n番目の参照楽曲の識別符号(楽曲名)である。第n番目の参照楽曲の特徴ベクトル系列Xに対応する楽曲ラベル系列Yでは、M個のラベル変数y1〜yMがその参照楽曲のラベルLnに設定される。
【0027】
第1実施形態の学習処理部24が生成する確率モデルは、条件付確率場(CRF:Conditional Random Fields)を利用した識別モデルである。条件付確率場の確率モデルは、特徴ベクトル系列X(X={x1,x2,…,xM})が観測された場合に楽曲ラベル系列Y(Y={y1,y2,…,yM})が観測される条件付確率P(Y|X)を以下の数式(1)で定義する。
【数1】

数式(1)の記号fk()は、特徴ベクトル系列Xの各特徴ベクトルxmを写像するためのK個の素性関数f1()〜fK()のうち第k番目(k=1〜K)の素性関数を意味し、記号λkは素性関数fk()の加重値を意味する。記号ZXは、条件付確率P(Y|X)を0以上かつ1以下の範囲内の数値に正規化するための要素(以下「正規化係数」という)であり、以下の数式(2)で定義される。
【数2】

【0028】
第1実施形態の確率モデルに適用されるK個の素性関数f1()〜fK()の各々は、特徴抽出部22が生成した特徴ベクトル系列Xを、例えば以下の(1)〜(7)の要素に変換する関数(写像関数)である。
(1) 特徴ベクトル系列XのM個の特徴ベクトルx1〜xMの各々における第c番目のピッチクラスの継続長特徴量dm[c](M個)の確率密度。
(2) 特徴ベクトル系列XのM個の特徴ベクトルx1〜xMの各々において1個のピッチクラスを根音とする長三和音の継続長特徴量(dm[c],dm[c+4],dm[c+7])の同時確率密度。
(3) 特徴ベクトル系列XのM個の特徴ベクトルx1〜xMの各々において1個のピッチクラスを根音とする短三和音の継続長特徴量(dm[c],dm[c+3],dm[c+7])の同時確率密度。
(4) M個の単位区間Fにおいて各音高(ノートナンバ)が最高音TNmに該当する頻度。
(5) M個の単位区間Fにおいて各音高が最低音BNmに該当する頻度。
(6) 最高音TNmおよび最高音TNm-1の各組合せがM個の単位区間F内で発生する頻度。
(7) 最低音BNmおよび最低音BNm-1の各組合せがM個の単位区間F内で発生する頻度。
【0029】
前掲の(1)〜(3)の各々については、相異なるピッチクラスに対応する12個の素性関数fk()が規定され、(4)〜(7)の各々については1個の素性関数fk()が規定される。したがって、第1実施形態における素性関数fk()の総数は40個(K=40)である。学習処理部24は、特徴ベクトル系列X(X={x1,x2,…,xM})と楽曲ラベル系列Y(Y={y1,y2,…,yM})とを利用した学習処理により数式(1)の加重値λkを決定することで確率モデルを確定する。
【0030】
いま、K個の変数F1(Y,X)〜FK(Y,X)を要素とする素性ベクトルF(Y,X)(F(Y,X)={F1(Y,X),F2(Y,X),…,FK(Y,X)})と、K個の加重値λ1〜λKを要素とする加重値ベクトルΛ(Λ={λ1,λ2,…,λK})とを便宜的に導入する。素性ベクトルF(Y,X)の第k番目の変数Fk(Y,X)は、以下の数式(3)で定義される。
【数3】

【0031】
したがって、数式(1)の条件付確率P(Y|X)は、以下の数式(4)に変形される。
【数4】

【0032】
N個の参照楽曲の各々に対応する特徴ベクトル系列Xn(X1〜XN)と楽曲ラベル系列Yn(Y1〜YN)とを利用して、数式(4)の条件付確率P(Y|X)の対数尤度Πが最大となるように確率モデルの学習処理を実行する場合を想定する。対数尤度Πは以下の数式(5)で表現される。
【数5】

【0033】
以下の数式(6)で表現されるように、数式(5)の対数尤度Πの勾配∇Πがゼロであるときに対数尤度Πは最大値となる。
【数6】

【0034】
数式(6)の記号EP(Yn,Xn)Fk(Y,Xn)は期待値を意味し、フォワードバックワード(forward-backward)アルゴリズムを利用した以下の数式(7)で表現される。
【数7】

数式(7)の記号fk*は、素性関数fk(y',y,X)を意味し、記号yと記号y'とは、楽曲ラベル系列Y内で相互に隣合う変数yを意味する。記号L(y)は、変数yのラベルに対して左側(前方)から接続するラベルの系列を意味し、記号R(y)は、変数yのラベルに対して右側(後方)から接続するラベルの系列を意味する。記号αyは、以下の数式(8)で表現されるコストベクトルであり、記号βyは、以下の数式(9)で表現されるコストベクトルである。
【数8】

【0035】
他方、過学習(over fitting)を防止する観点から対数尤度Πをガウス事前確率で正則化すると、対数尤度Πは以下の数式(10)で表現される。
【数9】

したがって、対数尤度Πの勾配∇Πは数式(11)で表現される。
【数10】

【0036】
第1実施形態の学習処理部24は、N個の参照楽曲の各々の特徴ベクトル系列X(X1〜XN)および楽曲ラベル系列Y(Y1〜YN)を数式(11)に適用して勾配∇Πを0とすることで加重値λk(λ1〜λK)を算定する。加重値λkの算定には、例えばL-BFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno)法に基づく準ニュートン法等の公知の方法が任意に採用される。以上の手順で生成された確率モデル(加重値λ1〜λK)が記憶装置14に格納されて解析処理に利用される。
【0037】
解析処理では、音符列データDXが示す指定音符列の特徴ベクトル系列Xが特徴抽出部22により生成される。解析処理部26は、学習処理部24が生成した確率モデル(加重値λk)を指定音符列の特徴ベクトル系列Xに適用する解析処理により、相異なる参照楽曲に対応するN個の評価指標値SC[1]〜SC[N]を算定する。
【0038】
図5は、解析処理部26のブロック図である。図5に示すように、解析処理部26は、音符列解析部32と指標算定部34と表示制御部36とを含んで構成される。音符列解析部32は、音符列データDXが示す指定音符列の特徴ベクトル系列X(特徴ベクトルx1〜xM)を確率モデルに適用することで楽曲ラベル系列Yを生成する。解析処理で生成される楽曲ラベル系列Yは、指定音符列の特徴ベクトル系列Xの各特徴ベクトルxmに対応するM個の類似度系列y1〜yMで構成される。
【0039】
図4に示すように、楽曲ラベル系列Yの第m番目の類似度系列ymは、各参照楽曲に対応するN個の類似度P[ym=Ln](P[ym=L1]〜P[ym=LN])を要素とするN次元ベクトルである。類似度P[ym=Ln]は、指定音符列の第m番目の特徴ベクトルxmがラベルLnの参照楽曲にて出現する周辺確率(指定音符列のうち第m番目の単位区間F内の音符の時系列がラベルLnの参照楽曲に対して音楽的に近似する度合)を意味する。すなわち、音符列解析部32は、指定音符列を区分したM個の単位区間Fの各々(M個の特徴ベクトルx1〜xMの各々)について、指定音符列が参照楽曲内の音符列に該当する確率に応じた類似度P[ym=Ln]を参照楽曲毎(ラベルLn毎)に算定する。換言すると、図4に示すように、各単位区間Fの類似度系列ymをN次の縦ベクトルとして横方向に配列したN行M列の行列(以下「類似度行列」という)Ψが生成される。
【0040】
確率モデルに対する特徴ベクトル系列Xの適用で音符列解析部32が楽曲ラベル系列Y(類似度行列Ψ)を生成する処理の具体的な内容を以下に説明する。第1に、音符列解析部32は、指定音符列の特徴ベクトル系列Xと学習処理で算定した加重値λkとを前掲の数式(8)に適用することで、楽曲ラベル系列Yの各類似度系列ymに対応するM個のコストベクトルαyの各々を逐次的に算定する。すなわち、第m番目の類似度系列ym(数式(8)の変数y)に対応するコストベクトルαyは、直前の類似度系列ym-1を変数y'とした数式(8)の演算で算定される。類似度系列ymに対応するコストベクトルαyは、相異なる参照楽曲に対応するN個の係数α[ym=L1]〜α[ym=LN]を要素とするN次のベクトルである。係数α[ym=Ln]は、直前の係数α[ym-1=Ln]を考慮した場合に特徴ベクトルxmが第n番目の参照楽曲に該当する状態を維持するコスト値を意味する。
【0041】
第2に、音符列解析部32は、指定音符列の特徴ベクトル系列Xと学習処理で算定した加重値λkとを前掲の数式(9)に適用することで、楽曲ラベル系列Yの各類似度系列ymに対応するM個のコストベクトルβyの各々を逐次的に算定する。すなわち、第m番目の類似度系列ymに対応するコストベクトルβyは、直後の類似度系列ym+1を変数y'とした数式(9)の演算で算定される。類似度系列ymに対応するコストベクトルβyは、相異なる参照楽曲に対応するN個の係数β[ym=L1]〜β[ym=LN]を要素とするN次のベクトルである。係数β[ym=Ln]は、直後の係数β[ym+1=Ln]を考慮した場合に特徴ベクトルxmが第n番目の参照楽曲に該当する状態を維持するコスト値を意味する。
【0042】
第3に、音符列解析部32は、指定音符列の特徴ベクトル系列Xと学習処理で算定した加重値λkとを前掲の数式(2)に適用することで正規化係数ZXを算定する。そして、音符列解析部32は、コストベクトルαyの各係数α[ym=Ln]とコストベクトルβyの各係数β[ym=Ln]と正規化係数ZXとを以下の数式(12)に適用することで、楽曲ラベル系列Yの第m番目の類似度系列ymのうち第n番目の参照楽曲に対応する類似度P[ym=Ln]を算定する。以上が第1実施形態における楽曲ラベル系列Y(類似度行列Ψ)の生成方法である。
【数11】

【0043】
図5の指標算定部34は、音符列解析部32が生成した楽曲ラベル系列Y(類似度行列Ψ)から参照楽曲毎の評価指標値SC[n](SC[1]〜SC[N])を算定する。具体的には、評価指標値SC[n]は、図4に示すように、楽曲ラベル系列Yの各類似度系列ymにおける第n行目の類似度P[ym=Ln]をM個の類似度系列y1〜yMについて累算した数値である。すなわち、類似度行列Ψに着目すると、第n行に属するM個の類似度P[y1=Ln]〜P[yM=Ln]の加算値が評価指標値SC[n]として算定される。以上の説明から理解されるように、指定音符列に合致または類似する音符列を含む参照楽曲ほど評価指標値SC[n]は大きい数値となる。表示制御部36は、指標算定部34が算定した評価指標値SC[n]の降順で参照楽曲の楽曲名を配列した図2のリストを生成して表示装置16に表示させる。
【0044】
以上に説明した第1実施形態では、N個の参照楽曲の各々の特徴ベクトル系列Xを利用した機械学習で生成された確率モデル(加重値λk)を、利用者からの指示に応じた指定音符列の特徴ベクトル系列Xに適用することで、指定音符列と各参照楽曲との相関を確率的に示す評価指標値SC[n]が算定される。したがって、利用者が指定する各音符がインデックス内の各音符と合致するか否かを判定する特許文献1の技術と比較すると、指定音符列と参照音符列との間に誤差がある場合(例えば利用者が音符を誤指定した場合や参照楽曲とは編曲が相違する音符列を指定した場合)でも適切な解析結果を取得できるという利点がある。すなわち、指定音符列の誤差に対して頑健な楽曲解析(楽曲検索)が可能である。
【0045】
第1実施形態では特に、ピッチクラス毎の音符の継続長の合計値τaに応じた継続長特徴量dm[1]〜dm[12]が特徴ベクトルxmに利用されるから、各音符の音高の配列のみを加味する特許文献1の技術と比較して、指定音符列の誤差に対して頑健な楽曲解析を実現できるという効果は格別に顕著である。
【0046】
なお、音楽的な特徴を表現する特徴ベクトルxmとしては、音響信号の強度を複数のオクターブについてピッチクラス毎に累算したクロマベクトル(例えば特許第3826660号公報に開示されたオクターブプロファイル)も利用され得る。ただし、MIDI形式の音符列データDBや音符列データDXでは、実際の演奏音を収録した音響信号と比較して、音符毎の強度(ベロシティ)が適切に指定されていない可能性が高いという傾向があるから、音符列データDBや音符列データDXのクロマベクトルを特徴ベクトルxmとして利用した構成では、信頼性の高い確率モデルが学習処理で得られない可能性や、信頼性の高い楽曲ラベル系列Yが解析処理で得られない可能性がある。他方、各音符の継続長は音符列データDBや音符列データDXにて比較的に正確に指定される可能性が高いという傾向がある。したがって、第1実施形態によれば、クロマベクトルを特徴ベクトルxmとした場合と比較して、音符列データDB(参照音符列)を利用して信頼性の高い確率モデルを生成し、かつ、音符列データDX(指定音符列)を利用して信頼性の高い解析結果が得られるという利点がある。もっとも、音符列データDBや音符列データDXにて各音符の強度が適切に指定されることを前提とすれば、音符列データDBや音符列データDXに応じて生成される音響信号から抽出されるクロマベクトルを特徴ベクトルxmとして利用することも可能である。
【0047】
<第2実施形態>
本発明の第2実施形態を以下に説明する。なお、以下に例示する各態様において作用や機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【0048】
第2実施形態では、記憶装置14に楽曲データDが記憶されたN個の参照楽曲がNg個毎にQ個(Q=N/Ng)の楽曲グループに区分される。なお、参照楽曲をQ個の楽曲グループに区分する方法は任意である。例えば、N個の参照楽曲をランダムに順次に選択してQ個の楽曲グループの何れかに分配する方法が採用される。また、参照楽曲の個数Ngを楽曲グループ毎に相違させることも可能である。
【0049】
学習処理において、特徴抽出部22は、第1実施形態と同様に、N個の参照楽曲の各々について楽曲データDの音符列データDBから特徴ベクトル系列Xを生成する。また、学習処理部24は、Q個の楽曲グループの各々について第1実施形態と同様の処理を実行することで、相異なる楽曲グループに対応するQ個の確率モデルを個別に生成する。すなわち、1個の楽曲グループのNg個の参照楽曲の音符列データDBから1個の確率モデル(加重値λk)を生成する学習処理が、Q個の楽曲グループの各々について個別に実行される。
【0050】
解析処理において、解析処理部26は、参照楽曲の相異なる楽曲グループに対応するQ個の確率モデルの各々を指定音符列の特徴ベクトル系列Xに適用することで、Q個の楽曲グループの各々について参照楽曲毎の評価指標値SC[1]〜SC[Ng]を算定する。1個の楽曲グループに着目すると、確率モデルを利用して評価指標値SC[1]〜SC[Ng]を算定する処理は第1実施形態と同様である。解析処理部26は、評価指標値SC[1]〜SC[Ng]の算定(確率モデルを適用した解析処理)をQ個の楽曲グループについて並列に実行する。そして、Q個の楽曲グループにわたる評価指標値SC[1]〜SC[Ng]の降順でN個の参照楽曲の楽曲名が表示装置16に表示される。第2実施形態においても第1実施形態と同様の効果が実現される。
【0051】
ところで、1個の確率モデルを生成するために必要な演算量および記憶容量は、学習処理に適用する参照楽曲の総数の自乗(第1実施形態ではN2)に比例する。第2実施形態では、N個の参照楽曲を区分したQ個の楽曲グループの各々について確率モデルが生成される。すなわち、1個の確率モデルの生成に利用される参照楽曲の総数Ngが第1実施形態(N個)と比較して減少するから、学習処理に必要な演算量や記憶容量が第1実施形態と比較して削減されるという利点がある。また、第2実施形態では、Q個の楽曲グループについて解析処理が並列に実行されるから、例えばQ個の楽曲グループの各々について順番に解析処理を実行する場合と比較して解析処理の所要時間が短縮されるという利点がある。
【0052】
第2実施形態に係る楽曲解析装置100を利用した実験結果を以下に説明する。以下の説明では、N個(N=1420)の参照楽曲のうちの特定の楽曲(以下「目標楽曲」という)に含まれる音符列を指定音符列として指示した場合にその目標楽曲について算定される評価指標値SC[n]の順位に着目する。目標楽曲の評価指標値SC[n]の順位が高い(順位の数値が1に近い)ほど楽曲解析装置100の解析精度が高いと評価できる。図6は、所定回(25回)の実験にわたる平均順位を示す図表であり、図7は、所定回の実験にわたる平均逆順位(MRR:Mean Reciprocal Rank)を示す図表である。図6の平均順位は、数値が小さい(1に近い)ほど解析精度が高いと評価でき、図7の平均逆順位は、数値が大きい(1に近い)ほど解析精度が高いと評価できる。
【0053】
図6および図7では、特徴ベクトルxmの内容(最高音TNmおよび最低音BNmの有無)と指定音符列の誤差の有無とN個の参照楽曲の分割数Q(楽曲グループの総数)とを相違させた場合が想定されている。特徴ベクトルxmの内容については以下の条件(条件1〜条件4)が想定されている。条件4が第1実施形態や第2実施形態に相当する。
条件1:継続長特徴量dm[1]〜dm[12]のみ
条件2:継続長特徴量dm[1]〜dm[12]+最高音TNm
条件3:継続長特徴量dm[1]〜dm[12]+最低音BNm
条件4:継続長特徴量dm[1]〜dm[12]+最高音TNm+最低音BNm
【0054】
指定音符列については、目標楽曲内の音符列に完全に合致する指定音符列を使用した場合(サンプル1)と、目標楽曲内の音符列とは幾つかの音符を相違させた指定音符列を使用した場合(サンプル2)とが想定されている。サンプル1を使用した場合とサンプル2を使用した場合との総合的な結果(全体)も併記されている。また、N個の参照楽曲の分割数Qについては4分割および7分割が想定されている。
【0055】
図6および図7では、各参照楽曲の参照音符列の特徴ベクトルxmと指定音符列の特徴ベクトルxmとの距離(コサイン距離)に応じてN個の参照楽曲を順位付けした場合の目標楽曲の順位(平均順位,平均逆順位)が対比例として併記されている。
【0056】
図6および図7から理解されるように、対比例では、指定音符列が目標楽曲の音符列に合致する場合(サンプル1)には解析精度は高いが、指定音符列が目標楽曲の音符列と僅かでも相違する場合(サンプル2)には解析精度が極端に低下する。すなわち、対比例は、指定音符列の誤差に対する頑健性が低いと評価できる。他方、第2実施形態では、指定音符列が目標楽曲内の音符列に合致する場合(サンプル1)に解析精度が高い水準に維持されるほか、指定音符列が目標楽曲の音符列と相違する場合(サンプル2)でも、対比例と比較して充分に高い解析精度が実現される。すなわち、第2実施形態や前述の第1実施形態によれば、指定音符列の誤差に対して頑健な楽曲解析を実現することが可能である。
【0057】
また、特徴ベクトルxmが継続長特徴量dm[1]〜dm[12]のみを含む条件1の場合と比較すると、特徴ベクトルxmに最高音TNmおよび最低音BNmの一方を付加した条件2または条件3の場合のほうが解析精度は高いという傾向が図6および図7から把握される。また、最高音TNmおよび最低音BNmの双方を特徴ベクトルxmに含ませた条件4(第1実施形態および第2実施形態)では、条件2および条件3と比較して解析精度が向上するという利点がある。
【0058】
なお、前述の通り、N個の参照楽曲の分割数Qを増加させる(1個の確率モデルの生成に使用する参照楽曲の総数Ngを減少させる)ほど学習処理に必要な演算量や記憶容量は低減される。他方、N個の参照楽曲の分割数Qを増加させるほど解析精度は低下するという傾向が図6および図7から把握される。したがって、第2実施形態では、演算処理装置12の演算性能や記憶装置14の記憶容量等の範囲内で分割数Qを最小化した構成が好適である。
【0059】
<変形例>
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
【0060】
(1)前述の各形態では条件付確率場(CRF)の確率モデルを例示したが、確率モデルの形式は適宜に変更される。例えば隠れマルコフモデル(HMM:Hidden Markov Model)等の公知の確率モデルを任意に利用することが可能である。
【0061】
(2)前述の各形態では評価指標値SC[n]の降順で各参照楽曲の楽曲名を配列したが、解析処理部26による解析結果(評価指標値SC[n])を利用する方法は任意である。例えば、N個の参照楽曲のうち評価指標値SCの降順で上位に位置する所定個の参照楽曲の楽曲名を利用者に報知する構成や、N個の参照楽曲のうち評価指標値SCが最大となる参照楽曲の楽曲名のみを利用者に報知する構成(楽曲検索装置)が採用される。
【0062】
(3)前述の各形態では、学習処理部24および解析処理部26の双方を具備する楽曲解析装置100を例示したが、学習処理部24および解析処理部26の一方を省略することも可能である。すなわち、本発明は、学習処理部24による学習処理で確率モデルを生成する専用の装置(解析処理部26を省略した確率モデル生成装置)や、記憶装置14に事前に格納された確率モデルを利用した解析処理で各参照楽曲と指定音符列との関係を解析する装置(学習処理部24を省略した楽曲解析装置)としても実現され得る。
【0063】
(4)楽曲解析装置100は、携帯電話機やパーソナルコンピュータ等の端末装置と通信するサーバ装置としても実現され得る。すなわち、楽曲解析装置100は、端末装置の入力装置に対して利用者が指示した指定音符列を示す音符列データDXを端末装置から受信して参照楽曲毎の評価指標値SCを算定し、解析結果を示す画像データを端末装置に送信することで解析結果を端末装置の表示装置に表示させる。以上の説明から理解されるように、前述の各形態における入力装置18や表示装置16は楽曲解析装置100から省略され得る。
【0064】
(5)前述の各形態で例示した継続長特徴量dm[1]〜dm[12]は、確率モデルを利用した楽曲解析以外の用途にも利用することが可能である。例えば、楽曲は共通するが演奏テンポや幾つかの音符が相違する複数の音符列の相互間で時間的な対応を解析(同期解析)する場合にも継続長特徴量dm[1]〜dm[12]が好適に採用される。継続長特徴量dm[1]〜dm[12]を利用した同期解析には、例えばDP(Dynamic Programming)マッチングに代表される動的時間伸縮(DTW:Dynamic Time Warping)等の公知の技術が任意に採用される。
【0065】
例えばMIDI形式の時系列データで表現された第1音符列と第2音符列とを想定する。特徴抽出部22は、継続長特徴量dm[1]〜dm[12]を要素とするベクトル(以下「継続長比ベクトル」という)を第1音符列および第2音符列の各々の単位区間毎に生成する。演算処理装置12の同期解析部(図示略)は、第1音符列の各単位区間と第2音符列の各単位区間との全通りの組合せについて第1音符列と第2音符列との間の継続長比ベクトルの距離を算定し、各音符列の始点からの距離の累算値が最小となるように第1音符列の単位区間と第2音符列の単位区間との対応(マッチングパス)を特定する。
【0066】
以上の説明から理解されるように、本発明は、複数の音符を配列した音符列(典型的にはMIDI形式の時系列データで指定される音符列)を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と前記複数の音符の継続長の合計値との比(継続長特徴量dm[c])をピッチクラス毎に含む特徴量を生成する特徴抽出手段(特徴抽出部22)を具備する音符列解析装置としても実現される。音符列解析装置においては、特徴抽出手段が生成した特徴量の用途(あるいは学習処理部24や解析処理部26の有無)は不問である。
【0067】
(6)前述の各形態では、12半音の各々に対応する12個のピッチクラスについて継続長特徴量dm[1]〜dm[12]を算定したが、ピッチクラスの総数(継続長特徴量dm[c]の総数)や各ピッチクラスの区分の方法は適宜に変更される。例えば12個を上回る個数(例えば24個,36個,48個)のピッチクラスを設定した構成や、12個を下回る個数のピッチクラスを設定した構成も採用され得る。ピッチクラスの総数は、例えば音律を考慮して選定され得る。また、音域毎にピッチクラスを区別することも可能である。例えば、複数のオクターブのうち奇数番目の各オクターブに属する12半音の各々に対応する12個のピッチクラスと、偶数番目の各オクターブに属する12半音の各々に対応する12個のピッチクラスとを個別に設定した構成(したがって、合計24個の継続長特徴量dm[c]が単位区間F毎に算定される)が採用され得る。また、所定の閾値を上回る音域内(例えば旋律音の音域内)で12半音の各々に対応する12個のピッチクラスと、その閾値を下回る音域内(例えば伴奏音の音域内)で12半音の各々に対応する12個のピッチクラスとを個別に設定する(したがって、合計24個の継続長特徴量dm[c]が単位区間F毎に算定される)ことも可能である。以上の例示から理解されるように、ピッチクラスは、音名が相互に共通する少なくとも2個の音高を含む範囲(分類)を意味し、その総数や区分方法は任意である。
【0068】
また、継続長特徴量dm[c]の算定方法は以上の例示に限定されない。例えば、単位区間F内の複数の音符のうち第c番目のピッチクラスに属する各音符の継続長の合計値τaを継続長特徴量dm[c]とすることも可能である。すなわち、継続長特徴量dm[c]は、単位区間F内で第c番目のピッチクラスに属する各音符の継続長の合計値τaに応じた数値と表現され、単位区間F内の全部の音符の継続長の合計値τbによる除算(継続長特徴量dm[c]の正規化)は必須の要件ではない。
【符号の説明】
【0069】
100……楽曲解析装置、12……演算処理装置、14……記憶装置、16……表示装置、18……入力装置、22……特徴抽出部、24……学習処理部、26……解析処理部、32……音符列解析部、34……指標算定部、36……表示制御部。

【特許請求の範囲】
【請求項1】
指定音符列から特徴量の時系列を生成する特徴抽出手段と、
複数の参照楽曲の特徴量の時系列を利用した機械学習で生成された確率モデルを前記指定音符列の特徴量の時系列に適用することで、前記指定音符列が前記参照楽曲内の音符列である確率に応じた評価指標値を参照楽曲毎に算定する解析処理手段と
を具備する楽曲解析装置。
【請求項2】
前記特徴抽出手段は、前記指定音符列を時間軸上で区分した複数の単位区間の各々について、当該単位区間内の複数の音符のうち一のピッチクラスの各音符の継続長の合計値と前記複数の音符の継続長の合計値との比をピッチクラス毎に含む前記特徴量を生成する
請求項1の楽曲解析装置。
【請求項3】
前記特徴抽出手段は、前記複数の単位区間の各々について、当該単位区間内での最高音の音高および最低音の音高の少なくとも一方を含む前記特徴量を生成する
請求項2の楽曲解析装置。
【請求項4】
前記解析処理手段は、前記指定音符列を時間軸上で区分した複数の単位区間の各々について、前記指定音符列が参照楽曲に出現する確率を参照楽曲毎に算定し、参照楽曲毎の確率を累算することで各参照楽曲の前記評価指標値を算定する
請求項1から請求項3の何れかの楽曲解析装置。
【請求項5】
前記解析処理手段は、前記複数の参照楽曲を区分した複数のグループの各々に対応する確率モデルを前記指定音符列の特徴量の時系列に適用することで、前記複数のグループの各々について参照楽曲毎の評価指標値を算定する
請求項1から請求項4の何れかの楽曲解析装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−47938(P2013−47938A)
【公開日】平成25年3月7日(2013.3.7)
【国際特許分類】
【出願番号】特願2012−158412(P2012−158412)
【出願日】平成24年7月17日(2012.7.17)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】