(57)【特許請求の範囲】
【請求項１】
楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するビート情報補正部と、
テンポ値が前記基準値と同一の値に補正されたビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出する相関値算出部と、
各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定する曲順決定部と
を備えることを特徴とする曲順決定装置。
【請求項２】
前記相関値算出部は、各楽曲間における、楽曲の末尾部分のビート位置情報と冒頭部分のビート位置情報との相関度合いを示す値を前記相関値として算出することを特徴とする請求項１に記載の曲順決定装置。
【請求項３】
曲順決定装置において、
楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するステップと、
テンポ値が前記基準値と同一の値のときのビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出するステップと、
各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定するステップと
を含んで実行されることを特徴とする曲順決定方法。
【請求項４】
楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するステップと、
テンポ値が前記基準値と同一の値のときのビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出するステップと、
各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定するステップと
をコンピュータに実行させるための曲順決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲の再生順序を決定する曲順決定装置、曲順決定方法、および曲順決定プログラムに関する。
【背景技術】
【０００２】
音楽表現手法の１つとして、ミックス再生と呼ばれる手法が知られている。ミックス再生は、単に一曲一曲を最初から最後まで順に再生するのではなく、曲の再生速度を調節したり、曲にディレイやリバーブ等のエフェクトをかけたり、スクラッチなどの効果音を挿入したりしながら、前後の楽曲を途切れなく連続して再生していく手法である。
【０００３】
特許文献１には、楽曲のビートやメロディ構造を記述したメタデータを用いて、前後の曲に適切なミックス方法を選択し、楽曲のミックス再生を自動的に行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００７／０６６８１８号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術を用いてミックス再生を行っても、前後の楽曲がミックス再生に対して相性がよくない場合、楽曲のつながりに違和感が生じることがある。特許文献１の技術では、楽曲間の相性を考慮してミックス再生に適した楽曲の再生順序（曲順）を決定することはできなかった。
【０００６】
本発明は上記に鑑みてなされたもので、ミックス再生に適した曲順を決定することができる曲順決定装置、曲順決定方法、および曲順決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するビート情報補正部（１２）と、テンポ値が前記基準値と同一の値に補正されたビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出する相関値算出部（１３）と、各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定する曲順決定部（１４）とを備えることを特徴とする曲順決定装置（１０）が提供される。
【０００８】
本発明の一態様によれば、曲順決定装置において、楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するステップと、テンポ値が前記基準値と同一の値のときのビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出するステップと、各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定するステップとを含んで実行されることを特徴とする曲順決定方法が提供される。
【０００９】
本発明の一態様によれば、楽曲を再生した場合における、ビートが再生される時刻に関する情報を少なくとも含むビート位置情報と、前記楽曲における単位時間当たりの拍数を示すテンポ値とを取得し、前記テンポ値が基準値と異なる場合、その楽曲のテンポ値が前記基準値と同一の値になるように、その楽曲のビート位置情報を補正するステップと、テンポ値が前記基準値と同一の値のときのビート位置情報に基づいて、複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出するステップと、各楽曲間の前記相関値に基づいて、連続して再生される楽曲間の前記相関値の積または総和が最大となるように、楽曲の再生順序である曲順を決定するステップとをコンピュータに実行させるための曲順決定プログラムが提供される。
【発明の効果】
【００１０】
本発明によれば、ミックス再生に適した曲順を決定できる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る曲順決定装置の実施形態の構成例を示すブロック図である。
【図２】ビート情報メタデータを説明するための図である。
【図３】ビート情報補正部および相関値算出部の動作の一例を示すフローチャートである。
【図４】ビート情報補正部によるビート位置情報の補正方法を説明するための図である。
【図５】相関値テーブルの一例を示す図である。
【図６】相関値の算出方法を説明するための図である。
【図７】曲順決定部の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
（実施形態）
以下、本発明に係る曲順決定装置の実施形態を、図１のブロック図を参照して説明する。
【００１３】
図１は、本発明に係る曲順決定装置の実施形態の構成例を示すブロック図である。
【００１４】
図１に示すように、曲順決定装置１０は、楽曲ＤＢ（データベース）１１と、ビート情報補正部１２と、相関値算出部１３と、曲順決定部１４とを備える。曲順決定装置１０は、表示部１５に接続されている。
【００１５】
楽曲ＤＢ１１は、複数の楽曲の楽曲データ、各楽曲のメタデータであるビート情報メタデータ、楽曲間の相関値をテーブル形式で記憶した相関値テーブル（後述の図５参照）等を記憶する。楽曲ＤＢ１１は、ＨＤＤやメモリ等の記憶装置からなる。なお、楽曲ＤＢ１１は、固定式の記憶装置でも、着脱式の記憶装置でもよく、また、ケーブルやネットワークで接続された外部の記憶装置でもよい。
【００１６】
ビート情報メタデータは、楽曲の時間軸上におけるビートの位置に関する情報とビートの振幅に関する情報とを含むビート位置情報、および楽曲のテンポを示すテンポ値を含む。テンポ値は、例えば、ＢＰＭ（Beat Per Minute）で表される。ＢＰＭとは楽曲の１分間（単位時間）当たりの拍数（一般的には四分音符の数）を示す値である。なお、ビート位置情報には、ビートの振幅に関する情報は必ずしも含まれなくてもよく、例えば、全ての振幅を同一の値（例えば１）としてもよい。ただし、ビート位置情報に、ビートの振幅に関する情報を含むことで、後に詳述する相関値を算出する際に、より正確に算出することができる。
【００１７】
また、時間軸上におけるビートの位置とは、楽曲を再生したときの、ビートが再生される時刻を示す情報であり、例えば、楽曲データを最初から再生した際の再生開始時刻を基準とし、その再生開始時刻からの経過時間で示されている。なお、ビート位置情報は、必ずしも再生開始時刻を基準とする必要はなく、楽曲データを再生したときの任意の時刻を基準としてもよい。
【００１８】
図２は、ビート情報メタデータを説明するための図であり、図２（ａ），（ｂ）は、それぞれ、楽曲Ａ，Ｂのビート情報メタデータ２１０，２２０を説明するための図である。
【００１９】
図２において、横軸は時間ｔを示し、縦軸はビートの振幅ａｍｐを示す。時間軸上におけるビートの位置は、各楽曲を構成する打楽器音（曲のリズムを決定付ける音）の発音位置である。打楽器の種類は問わない。また、打楽器音が含まれない楽曲の場合は、ビートの位置は、ビートを形成する楽器の発音位置を示す。なお、図２（ａ）に示す楽曲Ａのビート情報メタデータ２１０の場合、ＢＰＭ＝１００である。また、図２（ｂ）に示す楽曲Ｂのビート情報メタデータ２２０の場合、ＢＰＭ＝１２５である。
【００２０】
本実施形態では、各楽曲の時間軸上におけるビート位置情報およびＢＰＭがビート情報メタデータとして楽曲ＤＢ１１に記憶されているが、ビート情報メタデータの取得方法はこれに限らず、例えば、事前にユーザがビート位置情報およびＢＰＭを入力するようにしてもよい。また、特開２００８−２３３８１２号公報に記載のビート検出方法などを用いて楽曲の波形から自動的にビート情報メタデータを検出して、ビート情報メタデータとしてもよい。
【００２１】
ビート情報補正部１２は、楽曲ＤＢ１１から各楽曲のビート情報メタデータを取得し、ＢＰＭが所定の基準値である基準ＢＰＭと異なる楽曲のビート位置情報におけるビートの位置を補正し、各楽曲のＢＰＭを基準ＢＰＭと一致させる（ＢＰＭを統一する）。ビート情報補正部１２は、補正後のビート位置情報およびＢＰＭを楽曲ＤＢ１１に記憶する。なお、ビート情報補正部１２の動作については、後に詳述する。なお、基準ＢＰＭは、予め決めておいてもよいし、所定の楽曲のＢＰＭを基準ＢＰＭとしてもよい。
【００２２】
相関値算出部１３は、ＢＰＭが統一された各楽曲のビート位置情報に基づいて、楽曲ＤＢ１１に記憶された複数の楽曲の各楽曲間におけるビート位置情報の相関度合いを示す相関値を算出する。なお、一例として、本実施形態においては、相関値が大きいほど強い相関関係にあるものとする。相関値算出部１３は、算出した相関値を各楽曲のビート情報メタデータとして楽曲ＤＢ１１等に記憶する。本実施形態では、さらに、相関値算出部１３は、楽曲ＤＢ１１等に記憶した各楽曲の相関値を正規化し、相関値テーブルとして楽曲ＤＢ１１に記憶する。なお、相関値を正規化する処理は、本発明では、必須ではない。
【００２３】
曲順決定部１４は、楽曲ＤＢ１１に記憶された相関値テーブルから正規化された相関値を取得し、正規化された相関値に基づいて、楽曲ＤＢ１１から再生される所定数の楽曲の再生順序である曲順を決定する。
【００２４】
表示部１５は、ディスプレイやモニタであり、曲順決定部１４が決定した曲順を表示する。
【００２５】
＜本装置の動作の説明＞
次に、本実施形態の曲順決定装置１０の動作を、フローチャート等を参照して説明する。まず、曲順決定装置１０のビート情報補正部１２によるビート情報補正、および相関値算出部１３による相関値算出の動作例について説明する。なお、ここでは、各楽曲間における楽曲の末尾部分と冒頭部分とのビート位置情報の相関度合いを示す値を、楽曲間の相関値とする場合について説明する。
【００２６】
＜ビート情報補正および相関値算出の動作＞
図３は、ビート情報補正部１２および相関値算出部１３の動作の一例を示すフローチャートである。
【００２７】
曲順決定装置１０では、例えば、楽曲ＤＢ１１へ楽曲が追加される度に、ビート位置情報およびＢＰＭの補正、相関値の算出および正規化処理を行う。
【００２８】
つまり、曲順決定装置１０では、まず、ビート情報補正部１２は、楽曲ＤＢ１１へ新たに楽曲が追加されたか否かを判断し（ステップＳ３１０）、新たに楽曲が追加されなければ（ステップＳ３１０“Ｎｏ”）、処理を終了する。
【００２９】
楽曲ＤＢ１１へ新たな楽曲が追加された場合（ステップＳ３１０“Ｙｅｓ”）、ビート情報補正部１２は、楽曲ＤＢ１１から追加された楽曲のビート情報メタデータを取得する（ステップＳ３２０）。
【００３０】
次に、ビート情報補正部１２は、取得したビート情報メタデータに含まれる追加された楽曲のＢＰＭが基準ＢＰＭと一致しているか否かを判断する（ステップＳ３３０）。一致している場合は（ステップＳ３３０“Ｙｅｓ”）、ステップＳ３５０に進む。一致していない場合（ステップＳ３３０“Ｎｏ”）、ビート情報補正部１２は、追加された楽曲のビート位置情報におけるビートの位置を補正し、ＢＰＭを基準ＢＰＭに一致させる。ビート情報補正部１２は、補正したビート位置情報およびＢＰＭを楽曲ＤＢ１１に記憶する（ステップＳ３４０）。ステップＳ３４０の後、ビート情報補正部１２は、ステップＳ３５０に進む。
【００３１】
≪ビート位置情報の補正≫
ここで、図３におけるステップＳ３４０におけるビート位置情報の補正方法の具体例について説明する。
【００３２】
２つの楽曲をミックス再生する場合、ビートがうまく重なって聴こえるように、２つの楽曲のＢＰＭ情報の値を合わせて再生することが多い。そのため、本実施形態では、相関値を求める前に、各楽曲のＢＰＭを基準ＢＰＭに統一する。
【００３３】
つまり、ビート情報補正部１２は、楽曲ＤＢ１１に楽曲が追加された場合、追加された楽曲のビート位置情報と、楽曲ＤＢ１１に記憶された他のすべての楽曲のビート位置情報との相関値を算出する前に、各楽曲のＢＰＭとなる基準ＢＰＭを設け、すべての楽曲のＢＰＭが基準ＢＰＭに統一されるように、ビートの位置を補正する。ここで、基準ＢＰＭは相関値を算出する目的で用いるＢＰＭであり、必ずしも再生時には基準ＢＰＭで再生しなくてもよい。
【００３４】
具体的には、ビート情報補正部１２は、基準ＢＰＭを“Ｔｂ”、補正する楽曲のＢＰＭを“Ｔ”とした場合、補正する楽曲の時系列のビート間隔を、Ｔ／Ｔｂ倍に拡げることで、当該楽曲のＢＰＭが基準ＢＰＭになるようにする。
【００３５】
図４は、ビート情報補正部によるビート位置情報の補正方法を説明するための図である。
【００３６】
例えば、図４（ａ）に示すビート情報メタデータ４１０が、追加された楽曲のビート情報メタデータであるとする。ビート情報メタデータ４１０におけるＢＰＭ＝１００である。これに対し、基準ＢＰＭ＝８０である場合、ビート情報補正部１２は、図４（ａ）のビート情報メタデータ４１０におけるビート間隔を５／４（＝１００／８０）倍に拡げるように、ビート位置を補正する。図４（ｂ）は、補正後のビート情報メタデータ４２０を示す。例えば、ビート情報補正部１２は、図４（ａ）におけるビート間隔４１１に“０”を挿入することで拡張する。これにより、図４（ａ）のビート間隔４１１に対応する図４（ｂ）のビート間隔４２１は、ビート間隔４１１の５／４倍となる。ビート情報メタデータ４２０におけるＢＰＭは、基準ＢＰＭ＝８０となる。
【００３７】
図３に戻り、ステップＳ３５０では、ビート情報補正部１２は、他に追加された楽曲があるか否かを判断する。ビート情報補正部１２は、他に追加された楽曲があると判断した場合（ステップＳ３５０“Ｙｅｓ”）、ステップＳ３２０の処理に戻る。ビート情報補正部１２が他に追加された楽曲がないと判断した場合（ステップＳ３５０“Ｎｏ”）、次のステップＳ３６０の処理へ移行する。
【００３８】
ステップＳ３６０では、相関値算出部１３が、追加された楽曲の末尾部分のビート位置情報と、それ以外の楽曲の冒頭部分のビート位置情報との相関値を算出する。相関値算出部１３は、算出した相関値を、追加された楽曲Ａのビート情報メタデータとして楽曲ＤＢ１１へ記憶する。また、相関値算出部１３は、追加された楽曲の冒頭部分のビート位置情報と、それ以外の楽曲の末尾部分のビート位置情報との相関値も算出して、追加された楽曲以外の楽曲のビート情報メタデータとしてそれぞれ楽曲ＤＢ１１へ記憶する。なお、このステップＳ３６０での処理は、図５のところで再度説明する。
【００３９】
次のステップＳ３７０では、相関値算出部１３は、楽曲ＤＢ１１から各楽曲のビート情報メタデータとして記憶した相関値を読み出し、追加された楽曲とそれ以外の楽曲との相関値の合計が１になるように正規化する。相関値算出部１３は、正規化した相関値を、図５に示すような相関値テーブルとして、楽曲ＤＢ１１に記憶する。
【００４０】
図５は、楽曲ＤＢ１１に記憶される相関値テーブルの一例を示す図である。
【００４１】
図５に示す相関値テーブル５００では、例えば、楽曲Ａ〜Ｅそれぞれが前曲および次曲となった場合の相関値が、各列の相関値の合計が１になるように正規化されて記憶されている。つまり、図５に示す相関値テーブル５００では、楽曲Ａ〜Ｅの各列の合計は１となっており、それぞれ自曲以外の楽曲への遷移確率として用いることができる。
【００４２】
ここで、例えば、図５に示す相関値テーブル５００において、楽曲Ｅが追加された楽曲である場合には、それ以外の楽曲は楽曲Ａ〜Ｄとなる。この場合、相関値算出部１３は、ステップＳ３６０において、まずは、楽曲Ｅが前曲で、楽曲Ａ〜Ｄが次曲である場合の相関値である、楽曲Ｅの末尾部分のビート位置情報と、それ以外の楽曲Ａ〜Ｄの冒頭部分のビート位置情報との相関値を求める。つまり、相関値算出部１３は、楽曲Ｅを前曲とし、それ以外の楽曲Ａ〜Ｄを次曲とした場合の相関値として、図５に示す相関値テーブル５００に示すように、それぞれ、０．４０、０．１２、０．３３、０．１５の正規化前の値を算出して、楽曲Ｅのビート情報メタデータとして楽曲ＤＢ１１へ記憶する。
【００４３】
その一方、相関値算出部１３は、ステップＳ３６０において、さらに、楽曲Ａ〜Ｄが前曲で、楽曲Ｅが次曲である場合の相関値である、楽曲Ｅの冒頭部分のビート位置情報と、それ以外の楽曲Ａ〜Ｄの末尾部分のビート位置情報との相関値を求める。つまり、相関値算出部１３は、楽曲Ｅの冒頭部分のビート位置情報と、それ以外の楽曲Ａ〜Ｄの末尾部分のビート位置情報との相関値として、図５に示す相関値テーブル５００に示すように、それぞれ、０．３７、０．０８、０．１２、０．３９の正規化前の値を算出して、楽曲Ａ〜Ｄのビート情報メタデータとして楽曲ＤＢ１１へ記憶する。
【００４４】
以上のように、相関値算出部１３は、ステップＳ３６０では、新たに楽曲が追加される毎に相関値を算出して、ビート情報メタデータとして楽曲ＤＢ１１に記憶するので、ステップＳ３７０では、新たに楽曲が追加される毎に、ステップＳ３６０にて新たに算出した相関値と、既存の相関値とを合わせて再度正規化して、相関値テーブル５００として記憶して、終了とする。例えば、新たに楽曲Ｆが追加された場合、相関値算出部１３は、図５に示す相関値テーブル５００において、楽曲Ａ〜Ｅの各列に新たな楽曲Ｆを追加した楽曲Ａ〜Ｆの各列の合計が１となるように再度正規化して、相関値テーブル５００として記憶する。なお、ここでは、相関値算出部１３は、正規化後の相関値のみを相関値テーブル５００として記憶しているが、正規化前の相関値も別の相関値テーブルとして記憶するようにしてもよい。
【００４５】
≪相関値の算出≫
次に、ステップＳ３６０における相関値算出部１３による相関値の算出方法について説明する。
【００４６】
図６は、相関値算出部１３における相関値の算出方法を説明するための図である。
【００４７】
図６（ａ）に示す楽曲Ａ’のビート位置情報６１０および楽曲Ｂ’のビート位置情報６２０は、ＢＰＭを基準ＢＰＭに統一した後のビート位置情報である。楽曲Ａ’の冒頭部分のビート位置情報６１１と、楽曲Ｂ’の末尾部分のビート位置情報６２１との相関度合いを算出する場合を例として述べる。
【００４８】
まず、相関値算出部１３は、図６（ａ）に示すように、楽曲Ａ’のビート位置情報６１０から抜き出した冒頭部分のビート位置情報６１１を関数ｆ(ｔ)とする。同様に、相関値算出部１３は、楽曲Ｂ’のビート位置情報６２０から抜き出した楽曲Ｂ’の末尾部分のビート位置情報６２１を関数ｇ(ｔ)とする。
【００４９】
なお、ビート位置情報の抜き出す範囲は、楽曲の冒頭または末尾、もしくはビートが存在する位置から固定時間長で決めてもよいし、楽曲の時間長から割合として求めてもよい。例えば、後者の場合、楽曲全体の５％を抜き出すとすると、５分間の楽曲では、１５秒間を抜き出すということである。
【００５０】
次に、相関値算出部１３は、図６（ｂ）に示すように、楽曲Ｂ’の末尾部分のビート位置情報６２１を示す関数ｇ(ｔ)を、時間軸ｔの方向に平行移動させながら、平行移動した各位置（時間）においてｆ(ｔ)とｇ(ｔ)との積の総和、すなわち、Σｎ（ｆ(ｎ)・ｇ(ｎ−ｍ)）を求める。
【００５１】
すなわち、相関値算出部１３は、ｆ(ｔ)とｇ(ｔ)が重なる範囲でｍを変化させ、それぞれのｍの値における、Σｎ（ｆ(ｎ)・ｇ(ｎ−ｍ)）を求め、このようにして求めたｆ(ｔ)とｇ(ｔ)との積の総和Σｎ（ｆ(ｎ)・ｇ(ｎ−ｍ)）の最大値を、相関値とする。
【００５２】
そのため、相関値算出部１３は、例えば、楽曲Ａ’の冒頭部分のビート位置情報６１１を示す関数ｆ(ｔ)と、楽曲Ｂ’の末尾部分のビート位置情報６２１を示す関数ｇ(ｔ)とを、任意の時間間隔毎の配列として記憶する。すなわち、ビートが存在する時刻に対応する配列要素にはビートの値（振幅）が配置され、ビートが存在しない時刻に対応する配列要素には０が配置される。
【００５３】
そして、ｆ(ｔ)とｇ(ｔ)が重なる範囲でｍを変化させたｆ(ｔ)とｇ(ｔ)との積の総和であるΣｎ（ｆ(ｎ)・ｇ(ｎ−ｍ)）は、ｆ(ｔ)とｇ(ｔ)に該当する配列の対応する各要素の積の総和となる。ここで、ｆ(ｔ)とｇ(ｔ)が重なる範囲でｍを変化させて積の総和を求めることは、前記配列が重なる範囲でｍ個分の配列要素をずらし、ずらした配列要素と、もう一方の配列の対応する配列要素との積の総和を求めることになる。このように、相関値算出部１３は、ｆ(ｔ)とｇ(ｔ)が重なる範囲で、ｍをずらして求めた各総和Σｎ（ｆ(ｎ)・ｇ(ｎ−ｍ)）の最大値を、相関値として算出する。
【００５４】
＜相関値に基づく曲順決定方法＞
次に、曲順決定部１４による曲順決定方法について説明する。
【００５５】
曲順決定部１４は、連続して再生される楽曲間の相関値の積または総和が最大となるように、楽曲ＤＢ１１から再生される所定数の楽曲の曲順を決定する。例えば、曲順決定部１４は、ユーザの指定により、またはランダムに、楽曲ＤＢ１１から所定数の楽曲を選択し、選択した楽曲のなかで、連続して再生される楽曲間の相関値の積または総和が最大となるような曲順を決定する。
【００５６】
上記のように相関値の積または総和が最大となるように曲順を決定することで、正確に最適な曲順を決定できる。ただし、この方法では、演算量が多くなり、現在の計算機では、演算処理に長時間を要する。曲順を決定しようとする楽曲数をｎとすると、楽曲遷移パターンはｎＰｎ通りあるため、最も相関値の積または和が大きくなるような楽曲遷移パターンを求めるには、ｎ！オーダーの演算量が必要となるためである。
【００５７】
そこで、少ない演算量で曲順決定方法を以下に説明する。図７は、この曲順決定方法を示すフローチャートである。
【００５８】
ここでは、図５の相関値テーブル５００に示す楽曲Ａ〜Ｅの５曲の曲順を決める場合を例に説明する。
【００５９】
まず、曲順決定部１４は、１曲目の楽曲を選択する（ステップＳ７１０）。曲順決定部１４は、１曲目を、ユーザの指示に応じて選択してもよいし、ランダムで選択してもよい。ここで、１曲目として楽曲Ｄが選択されたとする。
【００６０】
次に、曲順決定部１４は、前に選択した楽曲に対して、相関値が最大となる楽曲を選択する（ステップＳ７２０）。１曲目が楽曲Ｄの場合、曲順決定部１４は、次曲として、楽曲Ｄに対して相関値が最大の０．３９となる楽曲Ｅを選択する。
【００６１】
次に、曲順決定部１４は、これまでに選択した楽曲数が、最大楽曲数に達しているか否かを判断する（ステップＳ７３０）。これまでに選択した楽曲数が最大楽曲数に達していれば（ステップＳ７３０“Ｙｅｓ”）、曲順決定部１４は、曲順決定処理を終了する。ここで、最大楽曲数は、曲順を決定しようとする楽曲の数であり、５曲の曲順を決める際には、最大楽曲数は５となる。
【００６２】
これまでに選択した楽曲の数が最大楽曲数に達していなければ（ステップＳ７３０“Ｎｏ”）、曲順決定部１４は、ステップＳ７２０へ戻り、再び楽曲の選択を行う。
【００６３】
なお、この例では、２曲目として楽曲Ｅが選択されているため、３曲目として、楽曲Ｅに対して相関値が最大の０．４０となる楽曲Ａが選択される。４曲目は楽曲Ａに対して相関値が最大の０．３７となる楽曲Ｅおよび同じく２番目に大きい０．２８となる楽曲Ｄは既に選択されているため、その次の３番目に大きい０．２３となる楽曲Ｂが選択される。そして、最後の５曲目は、残りの楽曲Ｃとなる。
【００６４】
以上のような、図７のフローチャートの一連の処理により、曲順決定部１４は、１曲目を選択し、２曲目以降は、同じ曲を繰り返し選択しないようにして、選択した楽曲数が所定数（最大楽曲数）に達するまで、前曲に対する次曲の相関値が最大である楽曲を順次選択することにより曲順を決定する。これにより、簡単かつ高速に曲順を決定できるとともに、同じ曲が複数回選択されることを防止できる。
【００６５】
なお、本実施形態では、各楽曲間における楽曲の末尾部分と冒頭部分とのビート位置情報の相関度合いを示す値を、楽曲間の相関値とする場合について説明したが、相関値はこれに限定されない。各楽曲間において、各楽曲の少なくとも一部のビート位置情報の相関度合いを示す値を相関値とすればよい。例えば、各楽曲間における楽曲全体のビート位置情報の相関度合いを示す値を相関値としてもよい。この場合は、２曲間において、どちらの楽曲が前曲であっても相関値は同じ値になる。
【００６６】
以上説明したように、本実施形態の曲順決定装置１０は、ＢＰＭを統一した各楽曲のビート位置情報の相関値から曲順を決定することで、ミックス再生に適した曲順を決定できる。
【００６７】
また、各楽曲間における楽曲の末尾部分と冒頭部分とのビート位置情報の相関度合いを示す値を相関値として用いることで、楽曲のつながり部分の違和感をより効果的に軽減できる。これにより、例えば、曲の冒頭部分は静かだが、楽曲全体としてはノリがよい等、前曲の末尾部分と次曲の冒頭部分との相性が曲自体の類似度と一致しない場合でも、ミックス再生に適した曲順を決定できる。
【００６８】
なお、本実施形態では、基準ＢＰＭが１つとして説明したが、基準ＢＰＭを複数設けてもよい。２つの楽曲をミックス再生する際には、後の楽曲のＢＰＭが、前の楽曲のＢＰＭの１／ｎ、またはｎ倍になるようにすることがある。例えば、ＢＰＭ＝１２０の楽曲の後に、ＢＰＭ＝７０の楽曲をミックス再生するとき、後の楽曲のＢＰＭを、前の楽曲のＢＰＭの１／２の６０として再生する、といった場合である。こうした場合も考慮し、ビート情報補正部１２は、基本となる基準ＢＰＭ以外に、その１／ｎ、またはｎ倍の値も、基準ＢＰＭとするようにしてもよい。このように複数の基準ＢＰＭを設定する場合、ビート情報補正部１２は、各楽曲について、複数の基準ＢＰＭそれぞれに応じてビート位置を補正したビート位置情報を生成する。ビート情報補正部１２が基準ＢＰＭを複数とした場合、相関値算出部１３は、それぞれの基準ＢＰＭに応じた補正後のビート位置情報を用いて相関値を算出する。
【００６９】
本実施形態では、曲順決定装置１０を、図１に示すようにハードウエア的に構成して説明したが、本発明ではこれに限らず、ＣＰＵと、このＣＰＵに曲順決定装置１０の機能を実行させるようにプログラミングした曲順決定プログラムとにより、ソフトウエア的に構成するようにしてもよい。
【符号の説明】
【００７０】
１０  曲順決定装置
１１  楽曲ＤＢ（データベース）
１２  ビート情報補正部
１３  相関値算出部
１４  曲順決定部
１５  表示部
【図１】
0005500058.tif 000002
【図２】
0005500058.tif 000003
【図３】
0005500058.tif 000004
【図４】
0005500058.tif 000005
【図５】
0005500058.tif 000006
【図６】
0005500058.tif 000007
【図７】
0005500058.tif 000008