(57)【要約】【課題】複雑な構造を持つさまざまなパターンの楽曲に対して適応可能な、より高度な楽曲構成分析を実現する。【解決手段】ステップＳ１〜６の分析により、テンポ変化点を利用したパーツ分析、繰り返しフレーズ抽出およびサビの特定が実現し、フレーズ抽出および分析のみによる単層的な楽曲解析だけでなく、フレーズの上位概念であるパーツの区切りを踏まえた、複合的な楽曲構成分析が可能になる。【選択図】  図３
2008065153.tif 000002
【特許請求の範囲】
【請求項１】
任意の楽曲のサンプリング音声データを入力するステップと、
入力された楽曲のデータから、楽曲のテンポの変化点を検出するステップと、
検出された楽曲のテンポの変化点に基づいて楽曲を区切ることで、楽曲から複数のパーツを得るステップと、
区切られた複数のパーツのテンポを正規化するステップと、
テンポが正規化されたパーツの各々からフレーズを分解し、各パーツから分解されたフレーズの中から繰り返し出現するフレーズを抽出するステップと、
繰り返し出現するフレーズに基づいて楽曲のサビを抽出するステップと、
を含む楽曲構造解析方法。
【請求項２】
前記楽曲から複数のパーツを得るステップは、
検出された全てのテンポの変化点のうち、ある特定のテンポの変化点で楽曲を区切ることで得られた時間的に前後する２つのパーツ候補の第１の特徴量同士を比較することで、それらのパーツ候補の第１の特徴量の差が所定の第１の閾値以上であるか否かを判断することを、楽曲から検出された全てのテンポの変化点について繰り返すステップと、
前記第１の特徴量の差が前記所定の第１の閾値以上であると判断される毎に、前記特定のテンポの変化点で楽曲を区切るステップと、
を含む請求項１に記載の楽曲構造解析方法。
【請求項３】
前記第１の特徴量の差が前記所定の第１の閾値未満であると判断される毎に、前記第１の特徴量と異なるパーツ候補の第２の特徴量同士を比較することで、前記第２の特徴量の差が所定の第２の閾値以上であるか否かを判断するステップと、
前記第２の特徴量の差が前記所定の第２の閾値以上であると判断される毎に、前記特定のテンポの変化点で楽曲を区切るステップと、
をさらに含む請求項２に記載の楽曲構造解析方法。
【請求項４】
前記第１の特徴量はテンポ値を含む請求項２または３に記載の楽曲構造解析方法。
【請求項５】
前記第２の特徴量は音量を含む請求項３に記載の楽曲構造解析方法。
【請求項６】
請求項１〜５のいずれかに記載の楽曲構造解析方法を演算装置に実行させるための楽曲構造解析プログラム。
【請求項７】
請求項６に記載の楽曲構造解析プログラムを記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行する演算装置と、
を備える楽曲構造解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテンポを利用した楽曲構造分析技術に関する。
【背景技術】
【０００２】
楽曲を格納するデジタル音声信号データを解析して、その楽曲の構成を自動的に算出する技術が広く開発されている。
【０００３】
なかでも、対象としてＭＩＤＩなど楽譜情報を持った非波形データではなく、wavやmp3などの複合音によるサンプリング音声信号データを扱えるものとして、特許文献１から４のような技術がある。
【０００４】
引用文献１は、楽曲の有声部分と無声部分とを検出分離し、そこからフレーズを検出して曲構成を自動抽出する。
【０００５】
引用文献２は、和音の時系列変化をもとに楽曲の構成を分析する方法である。部分楽曲データの特徴量分析から「和音」を発見し、その時間的推移をもとに和音の時系列変化つまりコード進行を類推し、その類似性からフレーズを抽出する。
【０００６】
引用文献３は、特徴量分析による楽曲のフレーズ分解を経て、フレーズの繰り返し状況などから楽曲の「サビ」を自動検出する方法である。「サビ」は楽曲中もっとも盛り上がる代表的なフレーズであるという前提のもと、同一フレーズを統合したうえで、繰り返し回数や類似度などから「サビらしさ」を算出するほか、転調に伴う変化にも対応する。
【０００７】
引用文献４は、一般的なテンポ抽出方法の一例である。
【特許文献１】特開平９−９０６７８号公報
【特許文献２】特開２００４−１８４７６９号公報
【特許文献３】特開２００４−２３３９６５号公報
【特許文献４】特開平７−０６４５４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
引用文献１は、有声・無声部分の検出のために「歌入り原曲」と「オリジナルカラオケ」のセットが必要になるという前提条件があるうえ、そもそもインストルメンタルの楽曲に適応できない。
【０００９】
引用文献２と３は、アプローチは若干違うが、楽曲を音楽の一区切りであるフレーズに分割する点、フレーズの繰り返しの分析から曲構成を判断する点が共通している。
【００１０】
これらは、テンポやリズム、使用楽器の編成などに一貫性のある一般的なポピュラー音楽に対しては有効と思われる。
【００１１】
しかし、現在はポピュラー音楽の楽曲構成も複雑化してきており、本来は別の楽曲と見なしてよいような、メロディ・テンポ・使用楽器が大きく異なる構成要素＝「パーツ」が複合的に組合わさったものが、１つの楽曲としてＣＤなどに収録されている場合がある。
【００１２】
従来技術では、これらの複合的楽曲に対し、パーツの切れ目を楽曲の区切りとして明確に検出することができない。
【００１３】
また、サビなどの繰り返しフレーズについても、同じテンポだけでなく倍から倍などテンポを変えて演奏される場合があるが、テンポの異なるフレーズを同一視することはできない。
【００１４】
そこで、本発明は、複数のパーツからなる複合的な楽曲について、パーツの切れ目で明確に区切ること、およびテンポが異なる同一のフレーズを正確に同一視することを課題として、複雑な構造を持つさまざまなパターンの楽曲に対して適応可能な、より高度な楽曲構成分析を実現することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明に係る楽曲構造解析方法は、任意の楽曲のサンプリング音声データを入力するステップと、入力された楽曲のデータから、楽曲のテンポの変化点を検出するステップと、検出された楽曲のテンポの変化点に基づいて楽曲を区切ることで、楽曲から複数のパーツを得るステップと、区切られた複数のパーツのテンポを正規化するステップと、テンポが正規化されたパーツの各々からフレーズを分解し、各パーツから分解されたフレーズの中から繰り返し出現するフレーズを抽出するステップと、繰り返し出現するフレーズに基づいて楽曲のサビを抽出するステップと、を含む。
【００１６】
この発明によると、楽曲のテンポの変化点に基づいて楽曲を区切ることで複数のパーツを得て、それらの複数のパーツにごとに繰り返されるフレーズを抽出し、パーツごとにサビを抽出できるから、メドレーのように複合的な楽曲であっても、サビの抽出精度を上げることができる。
【００１７】
楽曲から複数のパーツを得るステップは、検出された全てのテンポの変化点のうち、ある特定のテンポの変化点で楽曲を区切ることで得られた時間的に前後する２つのパーツ候補の第１の特徴量同士を比較することで、それらのパーツ候補の第１の特徴量の差が所定の第１の閾値以上であるか否かを判断することを、楽曲から検出された全てのテンポの変化点について繰り返すステップと、第１の特徴量の差が所定の第１の閾値以上であると判断される毎に、特定のテンポの変化点で楽曲を区切るステップと、を含むことが好ましい。
【００１８】
こうすると、パーツ候補の特徴（例えばテンポ値）の明確な違いによって楽曲を区切ることができ、複合的な楽曲からのサビの抽出精度が上がる。
【００１９】
第１の特徴量の差が所定の第１の閾値未満であると判断される毎に、第１の特徴量と異なるパーツ候補の第２の特徴量同士を比較することで、第２の特徴量の差が所定の第２の閾値以上であるか否かを判断するステップと、第２の特徴量の差が所定の第２の閾値以上であると判断される毎に、特定のテンポの変化点で楽曲を区切るステップと、をさらに含むことが好ましい。
【００２０】
こうすると、パーツ候補の第１の特徴量の差異が明確でない場合でも、別の第２の特徴量（例えば音量）の差異があるか否かに応じて、楽曲を区切ることができる。
【００２１】
ただし、第１の特徴量・第２の特徴量は上記に限定されず、比較可能な値であれば何でもよい。
【００２２】
上記に記載の楽曲構造解析方法を演算装置に実行させるための楽曲構造解析プログラムも本発明に含まれる。
【００２３】
上記に記載の楽曲構造解析プログラムを記憶する記憶部と、記憶部に記憶されたプログラムを実行する演算装置と、を備える楽曲構造解析装置も本発明に含まれる。
【発明の効果】
【００２４】
この発明によると、楽曲のテンポの変化点に基づいて楽曲を区切ることで複数のパーツを得て、それらの複数のパーツにごとに繰り返されるフレーズを抽出し、パーツごとにサビを抽出できるから、メドレーのように複合的な楽曲であっても、サビの抽出精度を上げることができる。
【発明を実施するための最良の形態】
【００２５】
まず、本明細書で使用する用語を定義する。
【００２６】
フレーズ：Ａメロ、Ｂメロ、サビなど、いくつかの小節で構成される音楽の一区切りの単位。
【００２７】
パーツ：一定のテンポで構成され、複数のフレーズを内包するフレーズの上位概念。
【００２８】
また、本実施形態で取り扱う楽曲のタイプを以下のように定義する。
【００２９】
Ａ．一般タイプ：基本的に一定のテンポで演奏され、複数のフレーズで構成される楽曲。パーツは全体で１つ。
【００３０】
例）前奏、Ａメロ、Ｂメロ、サビ、間奏、リフレインのフレーズで構成される楽曲。
【００３１】
Ｂ．組曲タイプ：メロディのモチーフやテンポが全く異なるパーツの集合体から構成される複合曲。
【００３２】
例）アップテンポ（１２０ＢＰＭ程度）のメロディフレーズＦ１と、ミドルテンポ（１００ＢＰＭ程度）のメロディフレーズＦ２とから構成される楽曲。
【００３３】
Ｃ．イントロ＋本編タイプ：イントロと本編が明確に分けられるようなもの。２つのパーツからなる。
【００３４】
例）イントロがミドルテンポのピアノ＋ナレーションであり、本編がアップテンポのスカコアである楽曲。あるいは、イントロがスローなピアノソロで、本編がアップテンポのハードロックである楽曲。
【００３５】
Ｄ．メドレータイプ：もともと異なる楽曲の部分をつなぎ合わせたもの。本来パーツの切れ目はテンポの切れ目であるが、演奏をスムースにつなぐためパーツ前後でテンポを合わせている場合もある。
【００３６】
例）メドレーパートＡ、メドレーパートＢ、メドレーパートＣ、・・と、区分された複数のメドレーパートからなる楽曲。
【００３７】
Ｅ．テンポ変更タイプ：サビなどの繰り返しフレーズが、倍から倍などテンポを変えて演奏されるもの。パーツの切れ目は正確にテンポの切れ目である。
【００３８】
例）メロディフレーズＦ１およびフレーズＦ１の繰り返しフレーズＦ２で構成されており、かつ、Ｆ２のテンポはＦ１のテンポの倍である楽曲。
【００３９】
＜第１実施形態＞
以下、添付した図面を参照し、本発明の好ましい実施形態について説明する。
【００４０】
図１は本発明に係る楽曲構造解析装置としての機能を備えたパソコンのハードウェア構成例を示すブロック図である。
【００４１】
図１に示すようにパソコン１は、主として各構成要素の動作を制御する中央処理装置（ＣＰＵ）１０と、装置の制御プログラムが格納されたり、プログラム実行時の作業領域となる主メモリ１２と、パソコン１のオペレーティングシステム（ＯＳ）、パソコン１に接続された周辺機器のデバイスドライバ、本発明に係る楽曲構造解析プログラムを含む各種のアプリケーションソフト、ＷＡＶ／ＭＰ３などのサンプリング音声データ等が格納されるハードディスク装置１４と、ＣＤ−ＲＯＭ装置１６と、表示用データを一時記憶する表示メモリ１８と、この表示メモリ１８からの画像データ、文字データ等により画像や文字等を表示するＣＲＴモニタや液晶モニタ等のモニタ装置２０と、サウンド・カード２２と、スピーカ２４と、キーボード２６と、位置入力装置としてのマウス２８、マウス２８の状態を検出してモニタ装置２０上のマウスポインタの位置やマウス２８の状態等の信号をＣＰＵ１０に出力するマウスコントローラ３０と、ＵＳＢ（Universal Serial Bus）などのインターフェース３２と、上記各構成要素を接続するバス３４とから構成されている。
【００４２】
尚、上記構成のパソコン１は、ハードディスク装置１４に格納されている、本発明に係る楽曲構造解析プログラムを除いて周知のものであるため、各構成要素の詳細な説明については省略する。この楽曲構造解析プログラムは、該プログラムが記録されたＣＤ−ＲＯＭをパソコン１のＣＤ−ＲＯＭ装置１６にセットすることにより、又は図示しない通信手段を介してネットワークを通じてパソコン１にインストールすることができる。
【００４３】
図２は上記パソコン１における楽曲構造解析装置としての機能を示す機能ブロック図である。
【００４４】
同図に示すように、この楽曲構造解析装置は、楽曲データ入力装置５０と、記憶装置５２と、操作手段５４と、楽曲構成分析部５６とから構成されている。
【００４５】
楽曲データ入力装置５０は、テンポ抽出の対象となる楽曲の楽曲データ（サンプリング音声データ）を入力するための手段であり、例えば、図１のＣＤ−ＲＯＭ装置１６などが考えられる。
【００４６】
記憶装置５２は、入力したサンプリング音声データを一時的に記憶するためのものであり、図１の主メモリ１２やハードディスク装置１４などが考えられる。
【００４７】
操作手段５４は、ユーザーからの操作を受け付け、テンポを抽出する楽曲を選択したり、テンポ抽出の指示を行ったりするもので、図１のキーボード２６やマウス２８などが考えられる。
【００４８】
楽曲構成分析部５６は、本発明に係る楽曲構成分析を実行する手段であり、図１のハードディスク装置１４に格納された楽曲構造解析プログラムと、そのプログラムを実行するＣＰＵ１０などが考えられる。
【００４９】
次に、図３のフローチャートを参照し、楽曲構成分析部５６での楽曲構成分析処理について詳細に説明する。
【００５０】
楽曲構成分析部５６は、分析対象となる楽曲データを入力する（ステップＳ１）。入力する楽曲データは、ＭＩＤＩなど楽譜情報をもった非波形データではなく、ＷＡＶ／ＭＰ３などのサンプリング音声データとする。
【００５１】
続いて、楽曲構成分析部５６は、楽曲データを平滑化して波形データに変換する。
【００５２】
テンポ検出部５６ａは、この波形データに基づいて、楽曲のテンポの遷移を検出する（ステップＳ２）。
【００５３】
例えば、楽曲の先頭から、１０秒間といった所定の単位時間に対するテンポを求めていき、テンポが異なる単位時間があれば、その区間に対し、単位時間をより詳細に分割して、もう一度テンポを計測し、テンポの変化点を正確に特定する。
【００５４】
テンポ検出部５６ａは、変化点が特定できれば、再びそこを起点として、元の単位時間によるテンポ検出を継続する。
【００５５】
このステップを楽曲の終了まで継続することにより、楽曲中のテンポの遷移が検出される。
【００５６】
なお、単位時間に対するテンポ検出の方法自体は問わず、例えば引用文献４のような技術を用いてもよい。図４は一例として、１０秒単位でのテンポ抽出の様子を示している。
【００５７】
パーツ区切り部５６ｂは、前ステップＳ２で検出したテンポの遷移をもとに、楽曲を複数のパーツに区切る（ステップＳ３）。
【００５８】
基本的には、テンポの変化点をパーツの区切りと見なすことでパーツを区切るのだが、小さいテンポの変化はパーツの区切りではなく手演奏におけるテンポの「ゆらぎ」の可能性がある。このため、パーツ区切りと見なすテンポの変化量に一定の閾値を設け、その閾値を超えた場合にパーツ区切りと見なすことが望ましい。
【００５９】
すなわち、楽曲先頭からテンポの変化点の前後をパーツ候補と見なし、前後のテンポの値を比較し、テンポ値の差が一定の閾値以上であれば、そのテンポの変化点をパーツの区切りとして特定し、その区切りによってパーツを区切る。
【００６０】
さまざまな楽曲タイプにおけるパーツ区切りの結果は以下のように推測できる。
Ａ．一般タイプ：パーツ１つ（区切りなし）。テンポが一定なのでパーツ区切りは存在しない。
Ｂ．組曲タイプ：テンポの変化点から、楽曲を構成するパーツに区切られる。
Ｃ．イントロ＋本編タイプ：パーツはイントロと本編の２つに区切られる。
Ｅ．テンポ変更タイプ：テンポを変えて演奏される繰り返しフレーズが別パーツとして区切られる。
【００６１】
パーツ区切りが完了すると、各パーツについて、繰り返しフレーズの分解に入る。具体的には、引用文献２や３のような方法で楽曲をフレーズ分解することが考えられるが、これらに限る必然性はない。
【００６２】
もっとも、区切った各パーツ内部の各々について単純にフレーズ分解を行うと、テンポ変更タイプの楽曲Ｅに見られるように、倍から倍などテンポを変えて演奏される繰り返しフレーズが、正しく同一のフレーズとして認識されない可能性がある。
【００６３】
このため、テンポ正規化部５６ｃは、パーツ区切りが完了したタイミングで楽曲全体のパーツのテンポを正規化し、後のステップでのフレーズ分解の精度を上げる（ステップＳ４）。
【００６４】
テンポの正規化とは、各パーツのテンポがある所定のテンポ基準値に適合するように、楽曲全体のテンポの補正を行うことである。具体的には次のようにする。
【００６５】
まず、第１の段階として、テンポ基準値の設定を行う。これは例えば、１つの楽曲の中で最も長い時間継続するテンポの値をテンポ基準値とするなど、楽曲のテンポの遷移が検出できたことを利用してテンポ基準値を決定するとよい。
【００６６】
第２の段階として、テンポ基準値に合うように、異なるテンポを持つパーツの補正を行い、楽曲全体がテンポ基準値のテンポで演奏されるように音声信号データをシフトする。なお、一般タイプの楽曲Ａなど、テンポが異なるパーツがない場合には、この段階では何もしなくてよい。
【００６７】
このステップの完了で、楽曲データ全体が統一されたテンポ基準値によって演奏されることになる。
【００６８】
楽曲データ正規化が完了すると、フレーズ抽出部５６ｄは、繰り返しフレーズを抽出する（ステップＳ５）。
【００６９】
すなわち、フレーズ抽出部５６ｄは、音声信号処理により音楽の一単位であるフレーズを分解し、分解したフレーズから繰り返しフレーズを抽出する作業を行う。フレーズ分解の具体的方法は特に問わないが、例えば引用文献２の和音の時系列遷移による方法を用いる。
【００７０】
この作業が完了すると、Ａメロ／Ｂメロ／サビといった楽曲中に繰り返し登場するフレーズが抽出される。
【００７１】
フレーズの抽出が完了すると、サビ抽出部５６ｅは、これら繰り返しフレーズの特徴を比較することで、サビのフレーズを抽出する（ステップＳ６）。方法は問わないが、例えば引用文献３の技術を用い、同一の繰り返しフレーズを統合した上で、頻度や類似度から「サビらしさ」を算出比較する方法でもよい。
【００７２】
以上のステップＳ１〜６の分析により、テンポ変化点を利用したパーツ分析、繰り返しフレーズ抽出およびサビの特定が実現し、フレーズ抽出および分析のみによる単層的な楽曲解析だけでなく、フレーズの上位概念であるパーツの区切りを踏まえた、複合的な楽曲構成分析が可能になる。
【００７３】
＜第２実施形態＞
第１実施形態では、純粋にテンポの変化点のみを手がかりにパーツの区切りを行っているが、実際の楽曲を考慮するとテンポの変化のみだけではパーツの区切りを正確に捉えられない場合がある。
【００７４】
例えば、複数の異なる楽曲がつなぎ合わされているメドレータイプの楽曲では、元々は完全に独立した楽曲の部分が接続されているため、基本的にはテンポの区切りをパーツの区切りにできうるのだが、実際には演奏のしやすさや聴きやすさなどの目的から、前後のパーツのテンポが近くの値に設定されている場合がある。
【００７５】
このケースで、仮に前後のパーツのテンポがＢＰＭ１２２、ＢＰＭ１２４という非常に近い値として検出されたとすると、これは同一パーツ内における演奏のゆらぎ（アゴーギク）による誤差なのか、あるいは本当に別パーツなのか、にわかには判断しづらい。
【００７６】
そこで本実施形態では、第１実施形態のパーツ区切り部５６ｂによるパーツ区切り（Ｓ３）の処理方法だけを以下のように変え、このような場合におけるパーツ区切りの精度を上げる。パーツ区切り以外の処理は第１実施形態と同じであるので、説明は省略する。
【００７７】
図５は、第２実施形態に係るパーツ区切り処理のフローチャートである。なお、本処理の開始の前提として、すでに第１実施形態と同様の方法でテンポの変化点は抽出済みとし、このフローは楽曲の先頭から前後２つのパーツ候補に対し順次実行されるものとする。
【００７８】
まず、Ｓ１１では、ある前後のパーツ候補のテンポ値を比較する。
【００７９】
Ｓ１２では、上記テンポ値の比較の結果、両者の差が所定の閾値以上であるか否かを判断する。差が閾値以上の場合は、Ｓ１６に進む。差が閾値以下の場合は、パーツ区切りかどうかの判断をさらに行うために次のステップＳ１２に進む。
【００８０】
なお、ここで用いるテンポ値の差の閾値は、適宜調整可能であってもよい。
【００８１】
Ｓ１３では、前後パーツ候補について、音量などテンポ以外の特徴量を抽出する。特徴量の内容は、比較可能な任意の内容であってよく、また特徴量抽出もそれぞれ任意の方法であってよい。
【００８２】
Ｓ１４では、抽出した前後パーツ候補の音声信号上の特徴量を比較する。
【００８３】
Ｓ１５では、上記特徴量の比較の結果、前後のパーツ候補が別パーツであるか否かを判断する。
【００８４】
例えば音量を利用する場合、最大音量と最低音量の値をそれぞれ比較し、一定の閾値以上であれば別パーツであると判断する。
【００８５】
別パーツであると判断すればＳ１６、別パーツでないと判断すればＳ１７に移行する。
【００８６】
Ｓ１６では、テンポ変化点を明確なパーツの区切りであると判断し、この時点でその前後パーツ候補の間のテンポ変化点はパーツの区切りであると確定する。
【００８７】
Ｓ１７では、テンポ変化点を明確なパーツの区切りでないと判断し、この時点でその前後パーツ候補の間のテンポ変化点はパーツの区切りでないと確定する。
【００８８】
なお、仮に１回の特徴量比較による判定でさらに判断が難しい場合は、別の特徴量比較による判定を追加してもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明に係る楽曲構造解析装置としての機能を備えたパソコンのハードウェア構成例を示すブロック図
【図２】上記パソコンにおける楽曲構造解析装置としての機能を示す機能ブロック図
【図３】楽曲解析処理の流れを示すフローチャート
【図４】テンポ抽出の一例を示す図
【図５】第２実施形態に係るパーツ区切りの流れを示すフローチャート
【符号の説明】
【００９０】
１…パソコン、１０…中央処理装置（ＣＰＵ）、１２…主メモリ、１４…ハードディスク装置、１６…ＣＤ−ＲＯＭ装置、２０…モニタ装置、２６…キーボード、２８…マウス、５０…楽曲データ入力装置、５２…記憶装置、５４…操作手段、５６…楽曲構成分析部
【図１】
2008065153.tif 000003
【図２】
2008065153.tif 000004
【図３】
2008065153.tif 000005
【図４】
2008065153.tif 000006
【図５】
2008065153.tif 000007