(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラム
(51)【国際特許分類】
G10G 1/00 20060101AFI20240814BHJP
【FI】
G10G1/00
(21)【出願番号】P 2020137552
(22)【出願日】2020-08-17
【審査請求日】2023-05-25
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100108523
【氏名又は名称】中川 雅博
(74)【代理人】
【識別番号】100098305
【氏名又は名称】福島 祥人
(74)【代理人】
【識別番号】100125704
【氏名又は名称】坂根 剛
(74)【代理人】
【識別番号】100187931
【氏名又は名称】澤村 英幸
(72)【発明者】
【氏名】須見 康平
【審査官】大野 弘
(56)【参考文献】
【文献】国際公開第2007/055238(WO,A1)
【文献】特開2017-090848(JP,A)
【文献】特表2020-516004(JP,A)
【文献】特開2014-006480(JP,A)
【文献】PAULUS, Jouni et al.,Music Structure Analysis Using a Probabilistic Fitness Measure and a Greedy Search Algorithm,IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 17, NO. 6, AUGUST 2009,IEEE,2009年06月23日,pp.1159-1170
(58)【調査した分野】(Int.Cl.,DB名)
G10G 1/00-7/02
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
楽曲の音響信号を取得する取得部と、
取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出する第1の抽出部と、
取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出する第2の抽出部と、
第1の学習モデルを用いて、前記第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力する第1の境界尤度出力部と、
第2の学習モデルを用いて、前記第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力する第2の境界尤度出力部と、
前記第1の境界尤度と前記第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定する特定部と、
楽曲の音響信号を特定された構成境界で複数のセクションに分割する分割部とを備える、楽曲構造解析装置。
【請求項2】
分割された前記複数のセクションから楽曲のサビに該当するセクションを推定する推定部をさらに備える、請求項1記載の楽曲構造解析装置。
【請求項3】
重み係数の指定を受け付ける受付部をさらに備え、
前記特定部は、受け付けられた前記重み係数に基づいて、前記第1の境界尤度と前記第2の境界尤度とを重み付け合成する、請求項1または2記載の楽曲構造解析装置。
【請求項4】
取得された楽曲の音響信号を複数のセクションに分割する分割部と、
分割された前記複数のセクションを類似度に基づいてクラスタに分類する分類部と、
セクションの分類結果に基づいて、分割された前記複数のセクションから楽曲の特定の構成種別の部分に該当するセクションを推定する推定部とを
さらに備える、
請求項1~3のいずれか一項に記載の楽曲構造解析装置。
【請求項5】
セクションの分類結果を視認可能に出力する分類結果出力部をさらに備える、請求項4記載の楽曲構造解析装置。
【請求項6】
分割された前記複数のセクションを類似度に基づいてクラスタに分類する分類部と、
分類されたクラスタに属するセクションの数に基づいて、前記複数のセクションから楽曲のサビに該当するセクションを推定する推定部とを
さらに備える、
請求項1~3のいずれか一項に記載の楽曲構造解析装置。
【請求項7】
複数のセクションに分割され
た楽曲の音響信号のセクションにおける先頭コードまたは終端コードの調のトニックコードへの類似度と、セクションにボーカルが含まれる尤度との少なくとも1つに基づいて各セクションのスコアを算出する算出部と、
算出されたスコアに基づいて、前記複数のセクションから楽曲の特定の構成種別の部分に該当するセクションを推定する推定部とを
さらに備える、
請求項1~3のいずれか一項に記載の楽曲構造解析装置。
【請求項8】
楽曲の音響信号を取得し、
取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出し、
取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出し、
第1の学習モデルを用いて、前記第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力し、
第2の学習モデルを用いて、前記第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力し、
前記第1の境界尤度と前記第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定し、
楽曲の音響信号を特定された構成境界で複数のセクションに分割する、
コンピュータにより実行される、楽曲構造解析方法。
【請求項9】
コンピュータに楽曲構造解析方法を実行させるプログラムであって、
楽曲の音響信号を取得する処理と、
取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出する処理と、
取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出する処理と、
第1の学習モデルを用いて、前記第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力する処理と、
第2の学習モデルを用いて、前記第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力する処理と、
前記第1の境界尤度と前記第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定する処理と、
楽曲の音響信号を特定された構成境界で複数のセクションに分割する処理とを、
前記コンピュータに実行させる、楽曲構造解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽曲の構造を解析するための楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラムに関する。
【背景技術】
【0002】
楽曲の特定の部分の再生または演奏を容易にするために、イントロ(intro)、Aメロ(verse)、Bメロ(bridge)、サビ(chorus)またはアウトロ(outro)等の楽曲の概略的な構造の解析が行われることがある。例えば、特許文献1には、複数の音源と、各音源の分類情報との関係を学習するニューラルネットワークを利用して、音源のハイライト区間を決定する方法が記載されている。
【0003】
特許文献1に記載された方法においては、音源がニューラルネットワーク処理部により複数の区間に分割されるとともに、各区間別に区間別特徴値が抽出される。また、ニューラルネットワーク処理部において、区間別特徴値の加重値和を計算するアテンションモデルが利用されることにより、音源の分類情報推測に各区間が寄与する程度を示す加重値情報が獲得される。音源の区間別に、加重値情報により重要区間が決定され、決定された重要区間に基づいて、ハイライト区間が決定される。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2020-516004号公報
【文献】特開2020-112683号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
楽曲のビートまたはコードを精密に解析するために、楽曲の概略的な構造をより容易に解析することが求められる。
【0006】
本発明の目的は、楽曲の構造の解析を容易にする楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明の一局面に従う楽曲構造解析装置は、楽曲の音響信号を取得する取得部と、取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出する第1の抽出部と、取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出する第2の抽出部と、第1の学習モデルを用いて、第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力する第1の境界尤度出力部と、第2の学習モデルを用いて、第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力する第2の境界尤度出力部と、第1の境界尤度と第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定する特定部と、楽曲の音響信号を特定された構成境界で複数のセクションに分割する分割部とを備える。
【0008】
本発明の他の局面に従う楽曲構造解析方法は、楽曲の音響信号を取得し、取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出し、取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出し、第1の学習モデルを用いて、第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力し、第2の学習モデルを用いて、第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力し、第1の境界尤度と第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定し、楽曲の音響信号を特定された構成境界で複数のセクションに分割し、コンピュータにより実行される。
【0009】
本発明のさらに他の局面に従う楽曲構造解析プログラムは、コンピュータに楽曲構造解析方法を実行させるプログラムであって、楽曲の音響信号を取得する処理と、取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出する処理と、取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出する処理と、第1の学習モデルを用いて、第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力する処理と、第2の学習モデルを用いて、第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力する処理と、第1の境界尤度と第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定する処理と、楽曲の音響信号を特定された構成境界で複数のセクションに分割する処理とを、コンピュータに実行させる。
【発明の効果】
【0011】
本発明によれば、楽曲の構造の解析を容易にすることができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施の形態に係る楽曲構造解析装置を含む楽曲構造解析システムの構成を示すブロック図である。
【
図2】楽曲構造解析装置の構成を示すブロック図である。
【
図3】第1および第2の学習モデルの一例を示すブロック図である。
【
図4】分割結果出力部による表示部の表示例を示す図である。
【
図5】最大値探索法による類似度の判定を説明するための図である。
【
図6】分類結果出力部による表示部の表示例を示す図である。
【
図7】第3の学習モデルの一例を示すブロック図である。
【
図8】
図2の楽曲構造解析装置による楽曲構造解析処理の一例を示すフローチャートである。
【
図9】
図2の楽曲構造解析装置による楽曲構造解析処理の一例を示すフローチャートである。
【
図10】実施例1および比較例1,2の評価結果を示す図である。
【
図11】実施例2および比較例3,4の評価結果を示す図である。
【
図12】実施例3および比較例5,6の評価結果を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態に係る楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラムについて図面を用いて詳細に説明する。
【0014】
(1)楽曲構造解析システム
図1は、本発明の一実施の形態に係る楽曲構造解析装置を含む楽曲構造解析システムの構成を示すブロック図である。
図1に示すように、楽曲構造解析システム1は、RAM(ランダムアクセスメモリ)2、ROM(リードオンリメモリ)3、CPU(中央演算処理装置)4、記憶装置5、操作部6および表示部7を備える。RAM2、ROM3、CPU4、記憶装置5、操作部6および表示部7は、バス8に接続される。
【0015】
RAM2は、例えば揮発性メモリからなり、CPU4の作業領域として用いられるとともに、各種データを一時的に記憶する。ROM3は、例えば不揮発性メモリからなり、楽曲構造解析処理を実行するための楽曲構造解析プログラムを記憶する。CPU4は、ROM3に記憶された楽曲構造解析プログラムをRAM2上で実行することにより楽曲構造解析処理を行う。楽曲構造解析処理の詳細については後述する。
【0016】
記憶装置5は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、1または複数の楽曲データMDを記憶する。楽曲データMDは、楽曲の音響信号(オーディオ信号)を含む。記憶装置5は、楽曲構造解析プログラムをROM3の代わりに記憶してもよい。また、記憶装置5は、機械学習により予め作成された第1の学習モデルM1、第2の学習モデルM2および第3の学習モデルM3を記憶する。
【0017】
楽曲構造解析プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供され、ROM3または記憶装置5にインストールされてもよい。また、楽曲構造解析システム1が通信網に接続されている場合、通信網に接続されたサーバから配信された楽曲構造解析プログラムがROM3または記憶装置5にインストールされてもよい。RAM2、ROM3およびCPU4により楽曲構造解析装置100が構成される。
【0018】
操作部6は、マウス等のポインティングデバイスまたはキーボードを含み、所定の選択または指定を行うために使用者により操作される。表示部7は、例えば液晶ディスプレイを含み、楽曲構造解析処理の結果を表示する。操作部6および表示部7は、タッチパネルディスプレイにより構成されてもよい。
【0019】
図2は、楽曲構造解析装置100の構成を示すブロック図である。
図2に示すように、楽曲構造解析装置100は、セクション分割部10、セクション分類部20および構成種別推定部30を含む。セクション分割部10、セクション分類部20および構成種別推定部30の機能は、
図1のCPU4が楽曲構造解析プログラムを実行することにより実現される。セクション分割部10、セクション分類部20および構成種別推定部30の一部または全部が電子回路等のハードウエアにより実現されてもよい。
【0020】
セクション分割部10は、楽曲の音響信号の構成境界を特定し、特定された構成境界で音響信号を複数のセクションに分割する。セクション分類部20は、セクション分割部10により複数に分割されたセクションを類似度に基づいてクラスタに分類する。以下、セクションをクラスタに分類することをクラスタリングと呼ぶ。構成種別推定部30は、セクション分類部20によりクラスタリングされたセクションから楽曲の特定の構成種別の部分に該当するセクションを推定する。以下、セクション分割部10、セクション分類部20および構成種別推定部30の詳細を説明する。
【0021】
(2)セクション分割部
図2に示すように、セクション分割部10は、取得部11、第1の抽出部12、第2の抽出部13、第1の境界尤度出力部14、第2の境界尤度出力部15、特定部16、受付部17、分割部18および分割結果出力部19を含む。取得部11は、記憶装置5に記憶された楽曲データMDのうち、使用者により選択された楽曲データMDを取得する。使用者は、操作部6を操作することにより、所望の楽曲データMDを選択することができる。
【0022】
第1の抽出部12は、取得部11により取得された楽曲データMDの音響信号から音色の変化を示す第1の特徴量を抽出する。第1の特徴量は、例えばメル周波数対数スペクトル(MSLS:Mel-Scale Log-Spectrum)である。拍ごとの音響信号が離散フーリエ変換されることにより複素スペクトルが得られる。複素スペクトルの絶対値にメルスケールフィルタバンクが適用されることにより得られるフィルタバンクエネルギーの対数が算出されることによりMSLSが抽出される。本例では、MSLSは80次元ベクトルである。
【0023】
第2の抽出部13は、取得部11により取得された楽曲データMDの音響信号からコードの変化を示す第2の特徴量を抽出する。第2の特徴量は、例えばクロマベクトルである。高周波領域において、拍ごとの音響信号に含まれる平均律の各12半音に対応する周波数成分の強度が複数のオクターブにわたって加算されることにより得られた12の値と、音響信号の強度の値とが配列されることによりクロマベクトルの一部が抽出される。また、低周波領域において同様の処理が行われることによりクロマベクトルの残りの部分が抽出される。したがって、本例では、クロマベクトルは26次元ベクトルである。
【0024】
第1の境界尤度出力部14は、第1の抽出部12により抽出された第1の特徴量を記憶装置5に記憶された第1の学習モデルM1に入力することにより、楽曲の構成境界の尤度を示す第1の境界尤度を拍ごとに出力する。第2の境界尤度出力部15は、第2の抽出部13により抽出された第2の特徴量を記憶装置5に記憶された第2の学習モデルM2に入力することにより、楽曲の尤度を示す第2の境界尤度を拍ごとに出力する。
【0025】
特定部16は、拍ごとに第1および第2の境界尤度出力部14,15によりそれぞれ出力された第1および第2の境界尤度を重み付け合成することにより、楽曲の構成境界を特定する。本例では、重み付け合成された値が所定の閾値以上となった拍が楽曲の構成境界であると特定される。重み係数は予め定められた一定値であってもよいし、可変値であってもよい。
【0026】
受付部17は、操作部6から重み係数の指定を受け付ける。使用者は、操作部6を操作することにより、重み係数を指定することができる。重み係数が予め定められた一定値である場合、セクション分割部10は受付部17を含まなくてもよい。受付部17により重み係数が受け付けられた場合、特定部16は、受け付けられた重み係数に基づいて第1の境界尤度と第2の境界尤度とを重み付け合成する。
【0027】
分割部18は、楽曲の音響信号を特定部16により特定された構成境界で複数のセクションに分割する。また、分割部18は、複数のセクションに分割された音響信号をセクション分類部20に与える。分割結果出力部19は、分割部18によるセクションの分割結果を視認可能に表示部7に表示させる。セクションの分割結果が表示部7に表示されなくてもよい場合、セクション分割部10は分割結果出力部19を含まなくてもよい。
【0028】
図3は、第1および第2の学習モデルM1,M2の一例を示すブロック図である。
図3に示すように、本例では、第1の学習モデルM1においては、CNN(Convolutional Neural Network)層M11、線形層M12、双方向型GRU(Gated Recurrent Unit)層M13および線形層M14が入力から出力に向かってこの順で配列される。第2の学習モデルM2においては、線形層M21、双方向型GRU層M22および線形層M23が入力から出力に向かってこの順で配列される。
【0029】
楽曲の構成境界を示すラベルが付与された学習用の楽曲データが学習データとして予め多数準備される。各学習データにおいて、構成境界となる拍に対応する部分にはラベル“1”が付与され、構成境界とならない拍に対応がする部分にはラベル“0”が付与されている。多数の学習データから抽出された第1の特徴量を用いて深層学習が行われることにより、第1の境界尤度を出力するための第1の学習モデルM1が作成される。同様に、多数の学習データから抽出された第2の特徴量を用いて深層学習が行われることにより、第2の境界尤度を出力するための第2の学習モデルM2が作成される。
【0030】
図4は、分割結果出力部19による表示部7の表示例を示す図である。
図4に示すように、楽曲構造解析処理の過程の結果として、分割部18によるセクションの分割結果が分割結果出力部19により表示部7に表示される。
図4の表示例においては、楽曲データMDが時間軸方向(本例では左右方向)に延びる帯状の指標により示される。また、楽曲データMDの指標の上方には、解析対象の音響信号の波形が示される。なお、音響信号の波形は、指標の下方に表示されてもよいし、指標と重なるように表示されてもよい。あるいは、音響信号の波形は、指標との関連性を提示可能な他の態様で表示されてもよい。楽曲データMDは、特定部16により特定された構成境界で複数のセクションs1~s12に分割される。各セクションs1~s12は、固有の色が付与された矩形の指標により示される。使用者は、表示部7を視認することにより、楽曲の構成境界を容易に認識することができる。
【0031】
(3)セクション分類部
図2に示すように、セクション分類部20は、取得部21、判定部22、分類部23および分類結果出力部24を含む。取得部21は、複数のセクションに分割された楽曲の音響信号をセクション分割部10から取得する。判定部22は、取得部21により取得された音響信号の分割された複数のセクションの類似度を判定する。
【0032】
本例では、複数のセクションにおける第1の特徴量のユークリッド距離が比較されるとともに、複数のセクションにおける第2の特徴量のコサイン類似度が比較される。また、楽曲データMDにコードを示すコードラベルが付与されている場合には、複数のセクションにおけるコードラベルの編集距離(レーベンシュタイン距離)が比較される。コードラベルは、コード解析により楽曲データMDに付与されてもよい。これらの比較の総合的な結果に基づいて、複数のセクションの類似度が判定される。
【0033】
分類部23は、判定部22により判定された類似度に基づいて、複数のセクションをクラスタリングする。また、分類部23は、クラスタリングされた音響信号を構成種別推定部30に与える。分類結果出力部24は、分類部23によるクラスタリングの結果を視認可能に表示部7に表示させる。クラスタリングの結果が表示部7に表示されなくてもよい場合、セクション分類部20は分類結果出力部24を含まなくてもよい。
【0034】
上記の複数のセクションの比較、すなわちユークリッド距離、コサイン類似度および編集距離の比較は、最大値探索法を用いて行われる。
図5は、最大値探索法による類似度の判定を説明するための図である。
図5の例では、セクションs1とセクションs2との類似度が判定される。ここで、セクションs2はセクションs1よりも長い。この場合、セクションs1がセクションs2の先頭から終端に向けてシフトされつつ、セクションs1と、セクションs2におけるセクションs1と同一のサイズを有する各部分との類似度が順次評価される。
【0035】
図5の例では、セクションs1とセクションs2のA部との類似度が最も大きくなる。この場合、セクションs1とセクションs2のA部との類似度が、セクションs1とセクションs2との類似度であると判定される。この判定方法によれば、セクション分割部10による楽曲の構成境界の特定に誤りがあった場合でも、その影響を緩和することができる。また、比較される2つのセクションの長さの差が所定値以上である場合には、類似度を減ずるペナルティが導入されてもよい。これにより、類似するセクションをより適切にクラスタリングすることができる。
【0036】
このように、本実施の形態においては、最大値探索法を用いて複数のセクションの比較が行われるが、実施の形態はこれに限定されない。例えば、動的時間伸縮(DTW:Dynamic Time Warping)法等の動的計画法を用いて複数のセクションの比較が行われてもよい。
【0037】
図6は、分類結果出力部24による表示部7の表示例を示す図である。
図6に示すように、楽曲構造解析処理の過程の結果として、分類部23によるクラスタリングの結果が分類結果出力部24により表示部7に表示される。
図6の表示例においては、“A0”または“B0”等のアルファベットと番号とからなる固有の識別子が各セクションs1~s12に付与される。“B0”および“B1”等のように、同一のクラスタに属するセクションの識別子のアルファベットは同じである。
【0038】
使用者は、識別子のアルファベットを視認することにより、同一のクラスタに属するセクションを容易に認識することができる。また、使用者は、アルファベットに続く番号を視認することにより、同一のクラスタに属するセクションの数の大小を容易に認識することができる。
【0039】
(4)構成種別推定部
図2に示すように、構成種別推定部30は、取得部31、算出部32、推定部33および推定結果出力部34を含む。取得部31は、クラスタリングされた音響信号をセクション分類部20から取得する。算出部32は、取得部31により取得された音響信号に基づいて、特定の構成種別の部分の尤度を示すスコアSを各クラスタについて算出する。
【0040】
推定部33は、算出部32により算出されたスコアSに基づいて、複数のセクションから特定の構成種別の部分に該当するセクションを推定する。本例では、特定の構成種別は、最初のサビ(以下、先頭サビと呼ぶ。)である。推定結果出力部34は、推定部33によるセクションの推定結果を視認可能に表示部7に表示させる。セクションの推定結果が表示部7に表示されなくてもよい場合、構成種別推定部30は推定結果出力部34を含まなくてもよい。
【0041】
本例では、特定の構成種別としてサビの尤度を示すスコアSが各クラスタについて算出される。ここで、ポピュラ楽曲のサビには、以下の特徴があると考えられる。盛り上がり(climax)が発生することが多く、音響信号のパワーが比較的大きい。また、サビは繰り返し発生することが多く、楽曲中に複数回現れる。さらに、先頭コードまたは終端コードは、調のトニックコードになることが多い。また、歌唱曲においては、歌声(ボーカル)が含まれることが多い。これらの特徴を考慮して、サビの尤度を示すスコアSは、下記式(1)により表される。
【0042】
【0043】
式(1)において、Spは、音響信号のパワーの大きさを示すスコアであり、例えば拍ごとに積算されかつ正規化された第1の特徴量の中央値として取得される。Scは、先頭コードまたは終端コードの調のトニックコードへの類似度を示すスコアであり、例えば下記式(2)により表される。
【0044】
【0045】
式(2)において、αは、同一のクラスタに属するセクションの数、すなわち類似するセクションの繰り返し数に基づいて定まる係数である。係数αの値は、セクションの数が大きいほど大きくなる。Sc1,Sc2は、それぞれ先頭コードおよび終端コードの調のトニックコードへの類似度を示すスコアである。なお、min(Sc1,Sc2)は、スコアSc1,Sc2のうち小さい方のスコアを意味する。
【0046】
各スコアSc1,Sc2は、TPS(Tonal Pitch Space)のベーシックスペースに基づいて算出される。各スコアSc1,Sc2の値は、0~8.5であり、類似度が大きいほど小さくなる。したがって、先頭コードまたは終端コードが調のトニックコードと一致する場合には、スコアSc1またはスコアSc2の値は0となる。調は、特許文献2に開示されているように、音響信号の所定の特徴量の時系列と調との関係を学習することにより作成された学習モデルを用いて検出されてもよい。
【0047】
式(1)において、Svは、楽曲にボーカルが含まれる尤度(以下、ボーカル尤度と呼ぶ。)の拍ごとの平均値である。ボーカル尤度は、例えば第1の特徴量を記憶装置5に記憶された第3の学習モデルM3に入力することにより取得される。Wp,Wc,Wvは、それぞれスコアSp,Sc,Svに対する重み係数である。Pdは、セクションが極端に短い場合にスコアを減ずるためのペナルティである。ペナルティPdの値は、セクションの長さが所定値未満の場合には負となり、セクションの長さが所定値以上の場合には0となる。
【0048】
図7は、第3の学習モデルM3の一例を示すブロック図である。
図7に示すように、本例では、第3の学習モデルM3においては、CNN層M31、線形層M32、双方向型GRU層M33および線形層M34が入力から出力に向かってこの順で配列される。
【0049】
ボーカルの有無を示すラベルが付与された学習用の楽曲データが学習データとして予め多数準備される。各学習データにおいて、ボーカルが含まれる拍に対応する部分にはラベル“1”が付与され、ボーカルが含まれない拍に対応がする部分にはラベル“0”が付与されている。多数の学習データから抽出された第1の特徴量を用いて深層学習が行われることにより、拍ごとのボーカル尤度を出力するための第3の学習モデルM3が作成される。
【0050】
推定部33は、上記のスコアSに基づいてサビに該当するクラスタを選択するまた、推定部33は、ボーカル尤度に基づいて、選択されたクラスタに属するセクションのうちボーカルが含まれる先頭のセクションを先頭サビに該当するセクションであると推定する。
【0051】
(5)楽曲構造解析処理
図8および
図9は、
図2の楽曲構造解析装置100による楽曲構造解析処理の一例を示すフローチャートである。
図8および
図9の楽曲構造解析処理は、
図1のCPU4がROM3または記憶装置5に記憶された楽曲構造解析プログラムを実行することにより行われる。
【0052】
まず、取得部11は、使用者による操作部6の操作に基づいて楽曲データMDが選択されたか否かを判定する(ステップS1)。楽曲データMDが選択されない場合、取得部11は、楽曲データMDが選択されるまで待機する。楽曲データMDが選択された場合、取得部11は、選択された楽曲データMDを記憶装置5から取得する(ステップS2)。
【0053】
第1の抽出部12は、ステップS2で取得された楽曲データMDの音響信号から第1の特徴量を抽出する(ステップS3)。第2の抽出部13は、ステップS2で取得された楽曲データMDの音響信号から第2の特徴量を抽出する(ステップS4)。ステップS3とステップS4とは、いずれが先に実行されてもよいし、同時に実行されてもよい。
【0054】
第1の境界尤度出力部14は、ステップS3で抽出された第1の特徴量と記憶装置5とに記憶された第1の学習モデルM1に基づいて、第1の境界尤度を拍ごとに出力する(ステップS5)。第2の境界尤度出力部15は、ステップS4で抽出された第2の特徴量と記憶装置5に記憶された第2の学習モデルM2とに基づいて、第2の境界尤度を拍ごとに出力する(ステップS6)。ステップS5とステップS6とは、いずれが先に実行されてもよいし、同時に実行されてもよい。
【0055】
受付部17は、使用者による操作部6の操作に基づいて重み係数の指定が受け付けられたか否かを判定する(ステップS7)。重み係数の指定が受け付けられた場合、特定部16は、拍ごとにステップS5,S6でそれぞれ出力された第1および第2の境界尤度と、指定された重み係数とに基づいて楽曲の構成境界を特定する(ステップS8)。重み係数の指定が受け付けられない場合、特定部16は、拍ごとにステップS5,S6でそれぞれ出力された第1および第2の境界尤度と、予め設定された重み係数とに基づいて楽曲の構成境界を特定する(ステップS9)。
【0056】
分割部18は、楽曲の音響信号をステップS8またはステップS9で特定された構成境界で複数のセクションに分割する(ステップS10)。分割結果出力部19は、ステップS10におけるセクションの分割結果を表示部7に表示させる(ステップS11)。ステップS11は、省略されてもよい。
【0057】
判定部22は、ステップS10で分割された複数のセクションの類似度を判定する(ステップS12)。分類部23は、ステップS12で判定された類似度に基づいて、ステップS10で分割された複数のセクションをクラスタリングする(ステップS13)。分類結果出力部24は、ステップS13におけるクラスタリングの結果を表示部7に表示させる(ステップS14)。ステップS14は、省略されてもよい。
【0058】
算出部32は、ステップS13で複数のセクションがクラスタに分類された音響信号に基づいて、特定の構成種別の尤度を示すスコアSを各クラスタについて算出する(ステップS15)。推定部33は、ステップS15で算出されたスコアSに基づいて、複数のセクションから特定の構成種別の部分に該当するセクションを推定する(ステップS16)。推定結果出力部34は、ステップS16におけるセクションの推定結果を表示部7に表示させ(ステップS17)、楽曲構造解析処理を終了する。ステップS17は、省略されてもよい。
【0059】
(6)実施の形態の効果
以上説明したように、本実施の形態に係る楽曲構造解析装置100は、楽曲の音響信号を取得する取得部11と、取得された楽曲の音響信号から音色の変化を示す第1の特徴量を抽出する第1の抽出部12と、取得された楽曲の音響信号からコードの変化を示す第2の特徴量を抽出する第2の抽出部13と、第1の学習モデルM1を用いて、第1の特徴量から楽曲の構成境界の尤度を示す第1の境界尤度を出力する第1の境界尤度出力部14と、第2の学習モデルM2を用いて、第2の特徴量から楽曲の構成境界の尤度を示す第2の境界尤度を出力する第2の境界尤度出力部15と、第1の境界尤度と第2の境界尤度とを重み付け合成することにより、楽曲の構成境界を特定する特定部16と、楽曲の音響信号を特定された構成境界で複数のセクションに分割する分割部18とを備える。これにより、楽曲の構造の解析を容易に行うことが可能になる。
【0060】
楽曲構造解析装置100は、分割された複数のセクションから楽曲のサビに該当するセクションを推定する推定部33をさらに備えてもよい。この場合、使用者は、楽曲のサビに該当するセクションを容易に認識することができる。
【0061】
楽曲構造解析装置100は、重み係数の指定を受け付ける受付部17をさらに備え、特定部16は、受け付けられた重み係数に基づいて、第1の境界尤度と第2の境界尤度とを重み付け合成してもよい。この場合、楽曲に応じて重み係数を適切に変更することができる。
【0062】
また、楽曲構造解析装置100は、分割された複数のセクションを類似度に基づいてクラスタに分類する分類部23を備え、推定部33は、セクションの分類結果に基づいて、分割された複数のセクションから楽曲の特定の構成種別の部分に該当するセクションを推定してもよい。この場合、使用者は、楽曲の特定の構成種別の部分に該当するセクションを容易に認識することができる。
【0063】
楽曲構造解析装置100は、セクションの分類結果を視認可能に出力する分類結果出力部24をさらに備えてもよい。この場合、使用者は、セクションの分類結果をより容易に認識することができる。
【0064】
また、楽曲構造解析装置100は、分割された複数のセクションを類似度に基づいてクラスタに分類する分類部23を備え、推定部33は、分類されたクラスタに属するセクションの数に基づいて、複数のセクションから楽曲のサビに該当するセクションを推定してもよい。この場合、楽曲のサビに該当するセクションをより容易に特定することができる。
【0065】
あるいは、楽曲構造解析装置100は、取得された楽曲の音響信号のセクションにおける先頭コードまたは終端コードの調のトニックコードへの類似度と、セクションにボーカルが含まれる尤度との少なくとも1つに基づいて各セクションのスコアを算出する算出部32を備え、推定部33は、算出されたスコアに基づいて、複数のセクションから楽曲の特定の構成種別の部分に該当するセクションを推定してもよい。この場合、楽曲の特定の構成種別の部分に該当するセクションをより容易に特定することができる。
【0066】
(7)他の実施の形態
(a)上記実施の形態において、楽曲の構成境界は、第1の境界尤度と第2の境界尤度との重み付け合成により特定されるが、実施の形態はこれに限定されない。楽曲の構成境界は、他の方法により特定されてもよい。
【0067】
(b)上記実施の形態において、楽曲構造解析装置100はセクション分割部10を含むが、実施の形態はこれに限定されない。取得部21が複数のセクションに分割された楽曲の音響信号を取得可能である限り、楽曲構造解析装置100は、セクション分割部10を含まなくてもよい。
【0068】
(c)上記実施の形態において、推定部33は、クラスタに属するセクションの数、先頭コードまたは終端コードの調のトニックコードへの類似度、およびボーカル尤度の全部を用いて楽曲のサビに該当するセクションを推定するが、実施の形態はこれに限定されない。推定部33は、クラスタに属するセクションの数、先頭コードまたは終端コードの調のトニックコードへの類似度、およびボーカル尤度の一部を用いて楽曲のサビに該当するセクションを推定してもよい。推定部33がクラスタに属するセクションの数を用いずに楽曲のサビに該当するセクションを推定する場合には、楽曲構造解析装置100はセクション分類部20を含まなくてもよい。
【0069】
(d)上記実施の形態において、推定部33は、複数のセクションから楽曲のサビに該当するセクションを推定するが、実施の形態はこれに限定されない。推定部33は、複数のセクションから楽曲のイントロ、Aメロ、Bメロまたはアウトロ等の他の構成種別の部分に該当するセクションを推定してもよい。
【0070】
(8)構成境界の特定についての実施例
以下の実施例1~3および比較例1~6では、多数の学習データを用いて第1および第2の学習モデルM1,M2が作成された。また、楽曲の構成境界を示すラベルが付与された評価用の楽曲データが評価データとして準備された。なお、学習データは、ソフトウエアにより音声化されたラベル付きのMIDI(Musical Instrument Digital Interface)データ12593曲、および実楽曲とラベル付きのMIDIデータとのセット3938曲を含む。また、一部の学習データには、水増し処理が行われた。
【0071】
実施例1では、ラベル付きMIDIデータと実楽曲とのセット409曲を評価データとして、第1および第2の学習モデルM1,M2を用いて音響信号の構成境界が特定された。ここで、第1の境界尤度の重み係数は0.4とされ、第2の境界尤度の重み係数は0.6とされた。また、評価データのラベルに基づいて、特定された構成境界の再現率(Recall)、適合率(Precision)およびF値(F-measure)が評価された。比較例1,2では、それぞれ第1および第2の学習モデルM1,M2のみを用いて、実施例1と同様の構成境界の特定および評価が行われた。
図10は、実施例1および比較例1,2の評価結果を示す図である。
【0072】
実施例2では、評価データとして、研究用音楽データベースの楽曲データ100曲が用いられた点を除いて、実施例1と同様の構成境界の特定および評価が行われた。比較例3,4では、それぞれ第1および第2の学習モデルM1,M2のみを用いて、実施例2と同様の構成境界の特定および評価が行われた。
図11は、実施例2および比較例3,4の評価結果を示す図である。
【0073】
実施例3では、評価データとして、研究用音楽データベースの他のジャンルの楽曲データ76曲が用いられた点を除いて、実施例2と同様の構成境界の特定および評価が行われた。比較例5,6では、それぞれ第1および第2の学習モデルM1,M2のみを用いて、実施例3と同様の構成境界の特定および評価が行われた。
図12は、実施例3および比較例5,6の評価結果を示す図である。
【0074】
図10~
図12に示される実施例1~3および比較例1~6の比較結果から、第1および第2の境界尤度の重み付け合成が行われることにより、第1または第2の境界尤度のみが用いられる場合よりも総合的に高い精度で音響信号の構成境界を特定できることが確認された。一方で、楽曲のジャンルによっては、構成境界の特定の精度が低下することが確認された。このような場合でも、楽曲のジャンルに応じて第1の境界尤度と第2の境界尤度との重み係数を適切に選択することにより、構成境界の特定の精度の低下を防止することが可能であると考えられる。
【0075】
(9)構成種別の推定についての実施例
以下の実施例4~7では、楽曲の構成境界を示すラベルおよびボーカルの有無を示すラベルが付与されたMIDIデータ3938曲を学習データとして用いて第3の学習モデルM3が作成された。また、学習データと同様のラベルが付与された評価用の楽曲データが評価データとして準備された。
【0076】
実施例4では、ラベル付きMIDIデータと実楽曲とのセット200曲が評価データとされた。クラスタリングされない場合に、ボーカル尤度が用いられないとき、およびボーカル尤度が用いられたときの評価データに対する先頭サビに該当するセクションの推定結果の正解率がそれぞれ評価された。また、クラスタリングされた場合に、ボーカル尤度が用いられないとき、およびボーカル尤度が用いられたときの評価データに対する先頭サビに該当するセクションの推定結果の正解率がそれぞれ評価された。
【0077】
実施例5では、先頭サビに限定されず、いずれかのサビに該当するセクションが推定された点を除いて、実施例4と同様の評価が行われた。実施例6では、評価データとして、研究用音楽データベースの楽曲データ100曲が用いられた点を除いて、実施例4と同様の評価が行われた。実施例7では、先頭サビに限定されず、いずれかのサビに該当するセクションが推定された点を除いて、実施例6と同様の評価が行われた。なお、ボーカル尤度は第3の学習モデルM3を用いて取得され、推定されたセクションの7割以上の部分がサビである場合に正解とされた。
【0078】
図13は、実施例4~7の評価結果を示す図である。
図13に示される実施例4~7の比較結果から、ボーカル尤度を用いることにより、サビに該当するセクションの推定結果の正解率が上昇することが確認された。また、クラスタリングを行うことによりサビに該当するセクションの推定結果の正解率が大きく上昇することが確認された。
【符号の説明】
【0079】
1…楽曲構造解析システム,2…RAM,3…ROM,4…CPU,5…記憶装置,6…操作部,7…表示部,8…バス,10…セクション分割部,11,21,31…取得部,12…第1の抽出部,13…第2の抽出部,14…第1の境界尤度出力部,15…第2の境界尤度出力部,16…特定部,17…受付部,18…分割部,19…分割結果出力部,20…セクション分類部,22…判定部,23…分類部,24…分類結果出力部,30…構成種別推定部,32…算出部,33…推定部,34…推定結果出力部,100…楽曲構造解析装置,MD…楽曲データ,M1…第1の学習モデル,M11,M31…CNN層,M12,M14,M21,M23,M32,M34…線形層,M13,M22,M33…双方向型GRU層,M2…第2の学習モデル,M3…第3の学習モデル,s1~s12…セクション