(57)【要約】【課題】簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成する。【解決手段】再生速度制御部２６１は、リミックスパターンデータに示されるオリジナルテンポの値に基づいて、音声ブロックのテンポをマスタテンポに合わせるためのタイムストレッチ値を算出し、音声信号生成部２８２に設定する。音高制御部２６２は、リミックスパターンデータに示されるキーとマスタキーとの差およびタイムストレッチ値に基づいて、音声ブロックのキーをマスタキーに合わせるためのピッチシフト値を算出し、音声信号生成部２８２に設定する。再生パターン制御部２６３は、リミックスパターンデータに示されるリミックスパターンに従って音声ブロックが再生されるように、楽曲データを再生する位置およびタイミングを制御する。本発明は、音楽編集装置に適用できる。【選択図】図７
2008164932.tif 000002
【特許請求の範囲】
【請求項１】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置において、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段と、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段と、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段と
を含む音楽編集装置。
【請求項２】
各楽曲のメタデータは、対応する楽曲データにおける前記楽曲の小節の位置を示すビート情報を含み、
前記リミックスパターンデータは、リミックス再生時の時間軸上において、それぞれの前記音素材が配置されている小節およびビートの位置を示す情報を含み、
前記再生パターン制御手段は、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭と前記楽曲データにおける前記音素材の開始点を含む小節の頭とが同期するように前記楽曲データを再生する位置およびタイミングを制御する
請求項１に記載の音楽編集装置。
【請求項３】
前記ビート情報は、前記楽曲データにおける前記楽曲のビートの位置を示す情報をさらに含み、
前記再生パターン制御部は、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭から前記音素材の開始点のビートまで前記楽曲データの再生音の音量をミュートさせる
請求項２に記載の音楽編集装置。
【請求項４】
各楽曲のメタデータは、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含み、
前記コード情報に基づいて、２つの前記音素材のコード進行の類似度を算出する類似度算出手段を
さらに含む請求項１に記載の音楽編集装置。
【請求項５】
前記類似度に基づいて、指定された前記音素材に重ねて再生するのに好適な前記音素材、または、つなげて再生するのに好適な前記音素材を検索する検索手段を
さらに含む請求項４に記載の音楽編集装置。
【請求項６】
前記コード情報に示される各コードは、前記音素材のスケールの主音に対するそのコードの根音の相対位置に基づいて表される
請求項４に記載の音楽編集装置。
【請求項７】
前記メタデータは、前記楽曲データにおける前記楽曲のビートの位置を示すビート情報をさらに含み、
前記類似度算出手段は、各コード間の類似度を定義した類似度マトリックスに基づいて、２つの前記音素材のコードをビート単位で比較することにより前記類似度を算出する
請求項４に記載の音楽編集装置。
【請求項８】
前記類似度マトリックスにおいては、２つのコードが一致する場合または代理コードの関係にある場合に、２つのコードが一致せずかつ代理コードの関係でない場合と比較して、コード間の類似度が高く設定される
請求項７に記載の音楽編集装置。
【請求項９】
前記類似度算出手段は、２つの前記音素材がともに長調または短調である場合、前記音素材のスケールの主音に対する各コードの根音の相対位置に基づいて、前記類似度を算出し、２つの前記音素材のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、前記類似度を算出する
請求項４に記載の音楽編集装置。
【請求項１０】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法において、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する
ステップを含む音楽編集方法。
【請求項１１】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムにおいて、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽編集装置および方法、並びに、プログラムに関し、特に、複数の音素材を組み合わせてリミックス再生する音楽編集装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、フラッシュメモリやハードディスクなどのメモリに音楽データを記憶し再生するメモリ型のオーディオ装置が普及し、ユーザは大量の音楽データを持ち歩くことが日常的になった。メモリ型オーディオ装置では、記録メディアを交換することなく大量の曲を連続して再生することができるので、従来のようにアルバム単位で曲を聴くだけではなく、メモリに記憶されている曲をアルバムをまたいでシャッフルして聴いたり、お気に入りの曲だけをプレイリストに登録して聴いたりするなど、手軽に自分の聴きたい曲を聴きたい順番で楽しむことができるようになった。
【０００３】
しかし、従来のメモリ型オーディオ装置では、各楽曲を楽曲単位でそのまま再生することしかできず、与えられた音楽コンテンツをそのまま楽しむことしかできない。
【０００４】
一方、近年、ディスクジョッキー（DJ）などが、楽曲の全部または一部からなる音素材を他の音素材とつなぎ合わせて、あたかも一つの楽曲を紡ぐように構成し聴かせるリミックス音楽を楽しむ人が増えている。最近では、リミックス音楽に対する需要の高まりとともに、リミックス音楽専用のレーベル会社も存在する。また、近年、リミックスの一手法として、マッシュアップと呼ばれる、複数の音素材を混ぜ合わせることにより、全体として別の曲を再構成する手法が台頭してきている。
【０００５】
そこで、最近、パーソナルコンピュータなどを用いて、一般のユーザが楽曲のリミックスを行うことができるようにする技術の開発が進んでいる（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００６−８４７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図１は、パーソナルコンピュータを用いてリミックス作業を行う場合の手順の一例を示している。まず、所定のサンプリング周波数でサンプリングされたデジタルの楽曲データ１１からビートを抽出し、楽曲データ１１の所望の範囲を音素材として切り取り、組み合わせる。そして、実際に耳で音を確認しながら、複数の音素材のテンポを合わせるために各音素材の再生速度の調整（タイムストレッチ（時間的伸縮））を行い、キーを合わせるために各音素材の音の高さの調整（ピッチシフト）を行い再生する。
【０００８】
このように、リミックス作業には、深い音楽知識が要求され、また、多大な時間と手間を要する。また、作業の難易度が高いため、聴いていて不自然で違和感のある完成度の低い楽曲になることも多い。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成できるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の音楽編集装置は、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置において、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段と、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段と、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段とが設けられている。
【００１１】
各楽曲のメタデータには、対応する楽曲データにおける前記楽曲の小節の位置を示すビート情報を含ませるようにすることができ、前記リミックスパターンデータには、リミックス再生時の時間軸上において、それぞれの前記音素材が配置されている小節およびビートの位置を示す情報を含ませるようにすることができ、前記再生パターン制御手段には、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭と前記楽曲データにおける前記音素材の開始点を含む小節の頭とが同期するように前記楽曲データを再生する位置およびタイミングを制御させることができる。
【００１２】
前記ビート情報には、前記楽曲データにおける前記楽曲のビートの位置を示す情報をさらに含ませるようにすることができ、前記再生パターン制御部には、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭から前記音素材の開始点のビートまで前記楽曲データの再生音の音量をミュートさせることができる。
【００１３】
各楽曲のメタデータには、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含ませるようにすることができ、前記コード情報に基づいて、２つの前記音素材のコード進行の類似度を算出する類似度算出手段をさらに設けることができる。
【００１４】
前記コード情報に示される各コードは、前記音素材のスケールの主音に対するそのコードの根音の相対位置に基づいて表されるようにすることができる。
【００１５】
前記メタデータには、前記楽曲データにおける前記楽曲のビートの位置を示すビート情報をさらに含ませるようにすることができ、前記類似度算出手段には、各コード間の類似度を定義した類似度マトリックスに基づいて、２つの前記音素材のコードをビート単位で比較することにより前記類似度を算出させることができる。
【００１６】
前記類似度マトリックスにおいては、２つのコードが一致する場合または代理コードの関係にある場合に、２つのコードが一致せずかつ代理コードの関係でない場合と比較して、コード間の類似度が高く設定されるようにすることができる。
【００１７】
前記類似度算出手段には、２つの前記音素材がともに長調または短調である場合、前記音素材のスケールの主音に対する各コードの根音の相対位置に基づいて、前記類似度を算出し、２つの前記音素材のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、前記類似度を算出させることができる。
【００１８】
本発明の一側面の音楽編集方法、または、プログラムは、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法、または、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムにおいて、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御するステップを含む。
【００１９】
本発明の一側面においては、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングが制御され、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度が制御され、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さが制御される。
【発明の効果】
【００２０】
本発明の一側面によれば、各音素材のテンポおよびキーが合わせられる。また、本発明の一側面によれば、簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成することができる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２２】
本発明の一側面の音楽編集装置（例えば、図２の音楽編集システム１０１）は、第１に、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置であって、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段（例えば、図７の再生パターン制御部２６３）と、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段（例えば、図７の再生速度制御部２６１）と、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段（例えば、図７の音高制御部２６２）とを備える。
【００２３】
本発明の一側面の音楽編集装置（例えば、図２の音楽編集システム１０１）は、第２に、各楽曲のメタデータは、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含み、前記コード情報に基づいて、２つの前記音素材のコード進行の類似度を算出する類似度算出手段（例えば、図７の類似度算出部２４１）をさらに備える。
【００２４】
本発明の一側面の音楽編集装置（例えば、図２の音楽編集システム１０１）は、第３に、前記類似度に基づいて、指定された前記音素材に重ねて再生するのに好適な前記音素材、または、つなげて再生するのに好適な前記音素材を検索する検索手段（例えば、図７のスコア算出部２４２）をさらに備える。
【００２５】
本発明の一側面の音楽編集方法、または、プログラムは、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法、または、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムであって、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し（例えば、図３７のステップＳ１３２乃至Ｓ１３４およびＳ１３７乃至Ｓ１４２、図３９のステップＳ１４５およびＳ１５１、並びに、図４０のＳ１５５乃至Ｓ１６２）、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し（例えば、図３８のステップＳ１３５および図３９のステップＳ１４３）、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する（例えば、図３８のステップＳ１３６および図３９のステップＳ１４４）を含む。
【００２６】
以下、図を参照して、本発明の実施の形態について説明する。
【００２７】
図２は、本発明を適用した音楽編集システム１０１の一実施の形態を示すブロック図である。
【００２８】
音楽編集システム１０１は、複数の音素材を組み合わせて１つの楽曲（以下、リミックス曲と称する）を生成するためのパターン（以下、リミックスパターンと称する）を作成するリミックス編集、および、リミックスパターンに基づいて音素材を組み合わせて再生するリミックス再生を行う装置である。
【００２９】
リミックス編集は、複数のトラックにより構成されるリミックスラインの各トラックに音素材を配置することにより行われ、リミックス再生は、各トラックを同じ時間軸に沿って同時に再生し、各トラックの音声を合成することにより行われる。図３は、トラック１乃至トラックｊのｊ本のトラックにより構成されるリミックスラインの例を示している。図３において、横軸は時間軸、すなわち、リミックス再生時の時間軸を示しており、同じトラックに配置された音素材は左から順に再生され、異なるトラックに時間軸方向で同じ位置に配置された複数の音素材は同時に再生される。
【００３０】
上述したリミックスパターンは、リミックスライン上に配置されている音素材のパターン、すなわち、時間軸方向およびトラック方向の音素材の組み合わせ、換言すれば、音素材を重ねたり、つなげたりするパターンを示す。さらに換言すれば、リミックスパターンは、各音素材を再生する順序およびタイミングを示す。
【００３１】
なお、以下、リミックスラインの各トラックに配置された音素材のことを、特に音声ブロックとも称する。図３においては、ブロックBLK１−１乃至BLKｊ−ｋｊが音声ブロックに相当する。
【００３２】
また、以下、１つの完成された楽曲だけでなく、全部または一部が音素材として使用される効果音や短いフレーズだけを録音した素材（例えば、ループ素材）なども楽曲と呼ぶものとする。
【００３３】
また、音楽編集システム１０１は、リミックス再生を行う場合に、図４に示されるように、テンポが異なる楽曲Ａ乃至Ｃから抽出された音素材のテンポをリミックスラインの時間軸上のテンポ（以下、マスタテンポと称する）に合わせるように、各音素材の再生速度の調整、すなわち、タイムストレッチを行う。ただし、各音素材のテンポを揃えて再生しても、各音素材のコード進行の組み合わせによっては、不協和音となり、聴感上心地よく感じられない場合がある。そこで、音楽編集システム１０１は、図５に示されるように、タイムストレッチに加えて、キー（調）が異なる複数の音素材のキーを、ユーザなどにより設定されたキー（以下、マスタキーと称する）に合わせるように、音の高さの調整、すなわち、ピッチシフトを行う。
【００３４】
このようにして、音楽編集システム１０１は、複数の音素材のビートおよびキーが揃えられ、元々１つの楽曲であったかのように聴感上自然で違和感のないリミックス曲を生成する。
【００３５】
図２に戻り、音楽編集システム１０１は、CPU（Central Processing Unit）１１１、同期再生装置１１２、ユーザ操作インタフェース（Ｉ／Ｆ）装置１１３、ユーザインタフェース（Ｕ／Ｉ）表示装置１１４、ROM（Read Only Memory）１１５、RAM（Read Only Memory）１１６、記憶装置１１７、および、ネットワーク通信装置１１８を含むように構成される。CPU１１１、同期再生装置１１２、ユーザ操作Ｉ／Ｆ装置１１３、Ｕ／Ｉ表示装置１１４、ROM１１５、RAM１１６、記憶装置１１７、および、ネットワーク通信装置１１８は、バス１１９を介して、相互に接続されている。
【００３６】
CPU１１１は、所定のプログラムを実行することにより、ユーザ操作Ｉ／Ｆ装置１１３を介して入力されるユーザの指令などに基づいて、音楽編集システム１０１の各部の処理を制御する。
【００３７】
同期再生装置１１２は、CPU１１１の制御の基に、楽曲用記憶装置１４１に記憶されている楽曲データの再生処理を行う。同期再生装置１１２は、同期再生制御装置１３１、音声ミキシング装置１３２、デジタル／アナログ変換装置（Ｄ／Ａ）１３３、および、音声出力装置を含む。
【００３８】
同期再生制御装置１３１は、CPU１１１の制御の基に、リミックスラインの各トラックに対応して、楽曲用記憶装置１４１に記憶されている楽曲データを並行して再生し、複数系統（トラック）の音声信号を音声ミキシング装置１３２に供給する。また、同期再生制御装置１３１は、リミックスラインの時間軸上における楽曲データの再生位置を示す情報をCPU１１１に供給する。
【００３９】
音声ミキシング装置１３２は、CPU１１１の制御の基に、同期再生制御装置１３１からの複数系統の音声信号を合成し、Ｄ／Ａ１３３に供給する。
【００４０】
Ｄ／Ａ１３３は、音声ミキシング装置１３２から供給されるデジタルの音声信号をアナログの音声信号に変換し、音声出力装置１３４に供給する。
【００４１】
音声出力装置１３４は、Ｄ／Ａ１３３からのアナログ音声信号を増幅し、スピーカやヘッドホンなどの出力装置に出力する。
【００４２】
ユーザ操作Ｉ／Ｆ装置１１３は、例えば、キー、ボタン、マウス、キーボードなどにより構成され、ユーザからの処理の指令を受け付け、その指令を示す情報を音楽編集システム１０１の各部に供給する。
【００４３】
Ｕ／Ｉ表示装置１１４は、例えば、LCD（Liquid Crystal Display）、LED（Light Emitting Diode）などの表示装置により構成される。Ｕ／Ｉ表示装置１１４は、CPU１１１の制御の基に、例えば、リミックス編集時の編集画面、リミックス再生時の再生画面など、音楽編集システム１０１の操作状況、処理状況などの表示を行う。
【００４４】
ＲＯＭ１１５は、ＣＰＵ１１１により実行される制御プログラムや各種のデータなどを格納している。
【００４５】
ＲＡＭ１１６は、CPU１１１のワークエリアなどに使用される。
【００４６】
記憶装置１１７は、楽曲用記憶装置１４１、楽曲メタデータ用記憶装置１４２及びリミックスパターン用記憶装置１４３を含むように構成される。
【００４７】
楽曲用記憶装置１４１は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置または記録装置により構成され、各楽曲の楽曲データが記憶される。例えば、楽曲データは、所定のサンプリング周波数でサンプリングされたPCM（Pulse Code Modulation）方式のデジタルの音声データとされ、必要に応じて、所定の方式に基づいて圧縮された状態で記憶される。
【００４８】
楽曲メタデータ用記憶装置１４２は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置または記録装置により構成され、各楽曲のメタデータが記憶される。なお、メタデータの詳細については、図８乃至図１４を参照して後述する。
【００４９】
なお、同じ楽曲に対応する楽曲データとメタデータとは、例えば、各楽曲を一意に識別する楽曲IDなどを用いて、相互に関連づけられる。または、楽曲データがMP3（MPEG Audio Layer-3）などのフォーマットである場合、ID3タグとしてフリンジデータ（メタデータ）を同一ファイルに格納するようにしてもよい。
【００５０】
リミックスパターン用記憶装置１４３は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置により構成され、リミックスラインにおける音素材の組み合わせおよび各音素材に関する情報を含むリミックスパターンデータが記録されたリミックスパターンファイルが記憶される。なお、リミックスパターンデータの詳細については、図１５を参照して後述する。
【００５１】
なお、楽曲用記憶装置１４１、楽曲メタデータ用記憶装置１４２、および、リミックスパターン用記憶装置１４３をそれぞれ異なる記憶装置により構成するようにしてもよいし、３種類の記憶装置のうちに２つまたは全てを１つの記憶装置により構成するようにしてもよい。
【００５２】
ネットワーク通信装置１１８は、インターネット１０２などのネットワークを介して、他の装置と通信を行い、各種のデータの送受信を行う。例えば、ネットワーク通信装置１１８は、インターネット１０２に接続されているサーバや他のユーザのシステムから、楽曲データ、楽曲データのメタデータ、リミックスパターンファイルをダウンロードしたり、インターネット１０２に接続されているサーバや他のシステムに、音楽編集システム１０１を用いてユーザが作成したリミックスパターンファイルを送信したりする。
【００５３】
図６は、同期再生装置１１２の同期再生制御装置１３１および音声ミキシング装置の詳細な構成を示すブロック図である。
【００５４】
同期再生制御装置１３１は、マスタビート生成装置１６１、デコーダ１６２−１乃至１６２−ｊ、および、タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊを含むように構成される。さらに、音声ミキシング装置１３２は、エフェクト処理部１７１−１乃至１７１−ｊ、音量調整装置１７２−１乃至１７２−ｊ、および、音声ミックス装置１７３を含むように構成される。
【００５５】
デコーダ１６２−１乃至１６２−ｊ、タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊ、エフェクト処理部１７１−１乃至１７１−ｊ、および、音量調整装置１７２−１乃至１７２−ｊは、それぞれ１つずつが組になって、１つのトラックに対応する処理を行う。例えば、デコーダ１６２−１、タイムストレッチ／ピッチシフト装置１６３−１、エフェクト処理部１７１−１、音量調整装置１７２−１が１組になって、１つのトラックに対応する処理を行う。従って、図６の同期再生装置１１２は、ｊ系統（トラック）の楽曲データ（音素材）を同時に再生し、合成することが可能な構成となる。
【００５６】
なお、以下、デコーダ１６２−１乃至１６２−ｊを個々に区別する必要がない場合、単に、デコーダ１６２と称し、タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊを個々に区別する必要がない場合、単に、タイムストレッチ／ピッチシフト装置１６３と称し、エフェクト処理部１７１−１乃至１７１−ｊを個々に区別する必要がない場合、単に、エフェクト処理部１７１と称し、音量調整装置１７２−１乃至１７２−ｊを個々に区別する必要がない場合、単に、音量調整装置１７２と称する。
【００５７】
マスタビート生成装置１６１は、ユーザなどにより設定されたマスタテンポに基づくクロック信号であるマスタビートを生成し、同期再生装置１１２の各部に供給する。また、マスタビート生成装置１６１は、ユーザなどにより設定されたリミックスラインの拍子に基づいて、リミックスラインにおける小節の頭のタイミングに合わせたクロック信号であるバー信号を生成し、同期再生装置１１２の各部に供給する。例えば、リミックスラインの拍子が４拍子に設定されている場合、マスタビート生成装置１６１は、マスタビートを４クロック（４ビート）出力するたびに、バー信号を１つ出力する。また、マスタビート生成装置１６１は、現在のリミックスラインの再生位置が何小節目の何拍目であるかを示す情報をCPU１１１に供給する。
【００５８】
デコーダ１６２およびタイムストレッチ／ピッチシフト装置１６３は、それぞれ１つずつが組になって、１つの音声信号生成部を構成し、CPU１１１の制御の基に、各楽曲のメタデータを用いて、マスタビートおよびバー信号により示される、リミックスライン上の時間軸における小節およびビートの位置に合わせて、楽曲用記憶装置１４１に記憶されている楽曲データの再生を行う。
【００５９】
デコーダ１６２−１乃至１６２−ｊは、CPU１１１の制御の基に、それぞれ個別に、楽曲用記憶装置１４１から楽曲データを取得し、各楽曲のメタデータを用いて、MP3（MPEG Audio Layer-3）やATRAC（Adaptive Transform Acoustic Coding）など所定の方式で圧縮されている楽曲データをデコードし、PCM方式の音声信号として、タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊに供給する。
【００６０】
タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊは、CPU１１１の制御の基に、それぞれ個別に、デコーダ１６２−１乃至１６２−ｊからの音声信号に対してタイムストレッチおよびピッチシフトの処理を施して、音声信号の再生速度および音の高さを変化させ、エフェクト処理部１７１−１乃至１７１−ｊに供給する。
【００６１】
エフェクト処理部１７１−１乃至１７１−ｊは、CPU１１１の制御の基に、それぞれ個別に、タイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊからの音声信号に対して、ローパスフィルタ、ハイパスフィルター、バンドパスフィルタ、ボーカルキャンセラ、リバーブ、ディレイ、ディストーション、マキシマイザなどのエフェクト処理を施し、音量調整装置１７２−１乃至１７２−ｊに供給する。
【００６２】
音量調整装置１７２は、CPU１１１の制御の基に、それぞれ個別に、エフェクト処理部１７１−１乃至１７１−ｊからの音声信号の音量を個別に調整し、音声ミックス装置１７３に供給する。
【００６３】
音声ミックス装置１７３は、音量調整装置１７２−１乃至１７２−ｊからの音声信号を合成し、Ｄ／Ａ１３３に供給する。
【００６４】
なお、同期再生装置１１２の一部または全部の機能をソフトウェアにより実現するようにしてもよい。
【００６５】
図７は、音楽編集システム１０１の機能的構成の例を示すブロック図である。機能的観点から見て、音楽編集システム１０１は、ユーザインタフェース処理部２１１、リミックス処理部２１２、同期再生部２１３、操作部２１４、表示部２１５、ネットワーク通信部２１６、楽曲メタデータ用記憶部２１７、リミックスパターン用記憶部２１８、および、楽曲用記憶部２１９を含むように構成される。
【００６６】
ユーザインタフェース処理部２１１は、CPU１１１が所定の制御プログラムを実行することにより実現され、音楽編集システム１０１のユーザインタフェースに関わる処理を行う。ユーザインタフェース処理部２１１は、音素材検索部２３１および表示制御部２３２を含むように構成される。
【００６７】
音素材検索部２３１は、図２８および図２９などを参照して後述するように、指定された音素材に重ねて再生するのに好適な音素材、または、指定された音素材につなげて再生するのに好適な音素材を検索する。音素材検索部２３１は、類似度算出部２４１およびスコア算出部２４２を含むように構成される。
【００６８】
類似度算出部２４１は、図２８および図２９などを参照して後述するように、各楽曲のメタデータに基づいて、２つの音素材のコード進行の類似度を算出し、算出した類似度を示す情報をスコア算出部２４２に供給する。
【００６９】
スコア算出部２４２は、図２８および図２９などを参照して後述するように、類似度算出部２４１により算出された類似度に基づいて、指定された音素材に重ねて再生するのに好適な音素材、または、指定された音素材につなげて再生するのに好適な音素材を検索し、検索した音素材について、適合する度合いを示すスコアを算出する。スコア算出部２４２は、検索した音素材、および、スコアを示す情報を楽曲メタデータ用記憶部２１７に記憶させる。
【００７０】
リミックス処理部２１２は、CPU１１１が所定の制御プログラムを実行することにより実現され、リミックス編集およびリミックス再生に関わる処理を行う。リミックス処理部２１２は、リミックスパターン読込み部２５１、リミックスパターン生成部２５２、および、リミックス再生制御部２５３を含むように構成される。
【００７１】
リミックスパターン読込み部２５１は、リミックスパターン用記憶部２１８からリミックスパターンファイルを読み込み、読み込んだリミックスパターンデータを所定のフォーマットに成形してRAM１１６に展開する。
【００７２】
リミックスパターン生成部２５２は、図１６などを参照して後述するように、ユーザがリミックス編集を行うことにより生成したリミックスパターン、および、各楽曲のメタデータに基づいて、リミックスパターンデータを生成し、リミックスパターン用記憶部２１８に記憶させる。
【００７３】
リミックス再生制御部２５３は、各楽曲のメタデータおよびリミックスパターンデータに基づいて、リミックスパターンデータに示されるリミックスパターンに基づいてリミックス再生が行われるように同期再生部２１３をリアルタイムに制御する。リミックス再生制御部２５３は、再生速度制御部２６１、音高制御部２６２、再生パターン制御部２６３、および、トラック生成部２６４を含む。
【００７４】
再生速度制御部２６１は、図３８乃至図４０などを参照して後述するように、リミックスパターンデータに基づいて、各音素材の抽出元のオリジナルの楽曲（以下、原曲と称する）におけるテンポであるオリジナルテンポに基づいて、音素材のテンポをマスタテンポに合わせるように、音声信号生成部２８２−１乃至２８２−ｊによる音素材の再生速度を制御する。
【００７５】
音高制御部２６２は、図３８乃至図４０などを参照して後述するように、リミックスパターンデータに基づいて、各音素材の原曲におけるキーであるオリジナルキーとマスタキーとの差、および、再生速度制御部２６１による再生速度の制御量に基づいて、音素材のキーをマスタキーに合わせるように、音声信号生成部２８２−１乃至２８２−ｊによる音素材の再生音の高さを制御する。
【００７６】
再生パターン制御部２６３は、図３７乃至図４０などを参照して後述するように、各楽曲のメタデータおよびリミックスパターンデータに基づいて、リミックスパターンデータに示されるリミックスパターンに従って各音素材が再生されるように、音声信号生成部２８２−１乃至２８２−ｊに楽曲データおよびメタデータを供給し、音声信号生成部２８２−１乃至２８２−ｊによる各音素材の原曲の楽曲データの再生位置および再生するタイミングを制御する。
【００７７】
トラック生成部２６４は、リミックス再生において用いられるトラックの数だけ、音声信号生成部２８２を生成する。具体的には、例えば、トラック生成部２６４は、リミックス再生において用いられるトラックの数だけ、デコーダ１６２およびタイムストレッチ／ピッチシフト装置１６３の処理を開始させる。
【００７８】
同期再生部２１３は、図２の同期再生装置１１２により実現され、同期再生制御部２７１、音声ミキシング部２７２、および、音声出力部２７３を含むように構成される。同期再生制御部２７１は、図２の同期再生制御装置１３１により実現され、マスタビート生成部２８１、および、音声信号生成部２８２−１乃至２８２−ｊを含むように構成される。マスタビート生成部２８１は、図６のマスタビート生成装置１６１により実現され、音声信号生成部２８２−１乃至２８２−ｊは、それぞれ、図６のデコーダ１６２−１乃至１６２−ｊおよびタイムストレッチ／ピッチシフト装置１６３−１乃至１６３−ｊにより実現される。音声ミキシング部２７２は、図２の音声ミキシング装置１３２により実現され、エフェクト処理部２９１および音声ミックス部２９２を含むように構成される。エフェクト処理部２９１は、図６のエフェクト処理部１７１−１乃至１７１−ｊおよび音量調整装置１７２−１乃至１７２−ｊにより実現され、音声ミックス部２９２は、図６の音声ミックス装置１７３により実現される。音声出力部２７３は、図２のＤ／Ａ１３３および音声出力装置１３４により実現される。
【００７９】
操作部２１４、表示部２１５、および、ネットワーク通信部２１６、楽曲メタデータ用記憶部２１７、リミックスパターン用記憶部２１８、および、楽曲用記憶部２１９は、それぞれ、図２のユーザ操作Ｉ／Ｆ装置１１３、Ｕ／Ｉ表示装置１１４、ネットワーク通信装置１１８、楽曲メタデータ用記憶装置１４２、リミックスパターン用記憶装置１４３、および、楽曲用記憶装置１４１により実現される。
【００８０】
なお、以下、音楽編集システム１０１の処理について説明する場合、図７に示されるブロック図に基づいて説明する。
【００８１】
次に、図８乃至図１４を参照して、メタデータの詳細について説明する。メタデータは、楽曲の特徴、楽曲データと楽曲の構成の対応関係などを示すデータであり、ビート情報、コード情報、および、メロディ情報を含む。ここで、図８を参照して、ビート情報、コード情報、および、メロディ情報について説明する。なお、図８の下部の波形は、楽曲データの波形を示しており、全サンプルで示される範囲のうち、有効サンプルで示される範囲が、実際に楽曲のデータが記録されている範囲である。
【００８２】
ビート情報は、楽曲データにおける小節およびビート（拍）の位置を示す。より具体的には、ビート情報は、楽曲の各小節の頭のビート（以下、小節頭とも称する）、および、その他の各小節の途中のビートの楽曲データにおけるサンプル位置などを示す。図８において、楽曲データにおける小節頭の位置は、「ビート情報」の文字の左側に示される縦の長い線により示され、小節頭以外のビートの位置は縦の短い線により示されている。なお、図８は、４拍子の楽曲の例を示しており、４ビートごとに小節頭が現れている。
【００８３】
このビート情報により、小節頭および各ビートの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間を小節またはビート単位で指定することができる。また、ビート情報を用いて、以下の式（１）に基づいて、楽曲データの任意の区間内の平均のテンポである平均BPM（Beat Per Minute）を求めることができる。
【００８４】
平均BPM＝Bn×Fs÷Sn×60  ・・・（１）
【００８５】
なお、式（１）において、Bnは区間内のビート数を示し、Fsは楽曲データのサンプリングレートを示し、Snは区間内のサンプル数を示す。
【００８６】
コード情報は、楽曲のコード進行を示すとともに、楽曲データにおける各コードの位置を示す。より具体的には、コード情報は、図８に示されるように、楽曲に現れるコードの種類、および、各コードの楽曲データにおけるサンプル位置などを示す。このコード情報により、各コードの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間をコード単位で指定することができる。また、コード情報とビート情報に基づいて、楽曲における各コードの位置をビート単位で特定することができる。
【００８７】
なお、コード情報に示されるコードの種類は、コードネームではなく、楽曲のスケールの主音に対するそのコードの根音の相対位置に基づいて表される。具体的には、各コードは、コードネームの根音の音名の部分が、スケールの主音とコードの根音との相対位置である音度に基づいて、例えば、Ｉ、Ｉ♯（もしくはII♭）、II、II♯（もしくはIII♭）、III、III♯（もしくはIV♭）、IV、IV♯（もしくはＶ♭）、Ｖ、V♯（もしくはVI♭）、VI、VI♯（もしくはVII♭）、VII、VII♯（もしくはＩ♭）の数字（と、必要に応じて♯または♭）に置き換えられて表現される。
【００８８】
例えば、コードネームによりコードの種類を表現した場合、図９の上側の主音（keynote）がCであるハ長調におけるC、F、G、Amのコード進行と、下側の主音がEであるホ長調におけるE、A、B、C♯mのコード進行が、キーを合わせた場合に類似しているか否かが分かりにくい。
【００８９】
一方、スケールの主音とコードの根音との相対位置に基づいてコードの種類を表現した場合、２つのコード進行は、同じＩ、IV、Ｖ、VImと表される。従って、上側の各コードの音程を半音４つ分ずつ上げてホ長調に移調した場合、または、下側の各コードの音程を半音４つ分ずつ下げてハ長調に移調した場合に、コード進行が一致することが分かりやすくなる。換言すれば、調性が異なる音素材の間のコード進行の関係が明確になり、キーを変化させた場合に、２つの音素材のコード進行が類似するか否かが明確になる。従って、コンピュータなどの処理において、キーを変化させた場合の２つの音素材の間のコード進行の類似度が求めやすくなる。
【００９０】
なお、以下、コードネームで表現されたコードと、スケールの主音に対するコードの根音の相対位置に基づいて表現されたコードとを区別するために、前者を絶対コード、後者を相対コードとも称する。また、以下、コードの種類を絶対コードで表現することを絶対表現すると称し、相対コードで表現することを相対表現するという。さらに、以下、相対コードにおいて、スケールの主音に対するコードの根音の相対位置を示す、数字と必要に応じて♯または♭が付加される値を、度数と称する。
【００９１】
メロディ情報は、楽曲のメロディ展開を示すとともに、楽曲を構成する各メロディの要素（以下、メロディブロックと称する）の楽曲データにおける位置を示す。より具体的には、メロディ情報は、図８に示されるように、イントロ（Intro）、Ａメロディ（以下、Ａメロと称する）（Verse A）、Ｂメロディ（以下、Ｂメロと称する）（Verse B）、サビ（Chorus）、間奏（Interlude）、ソロ（Solo）、エンディング（Outro）などの楽曲に現れるメロディブロックの種類、および、各メロディブロックの楽曲データにおけるサンプル位置などを示す。このメロディ情報により、各メロディブロックの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間をメロディブロック単位で指定することができる。また、メロディ情報とビート情報に基づいて、楽曲における各メロディブロックの位置をビート単位で特定することができる。
【００９２】
図１０は、メタデータのデータ構造の一例を示し、図１１は、メタデータの具体的な例を示している。図１１に示される例において、メタデータは、小節／ビート番号、属性、および、サンプル位置を含む。
【００９３】
小節／ビート番号には、楽曲におけるビートの位置を示す値が設定される。例えば、ｎ小節目のｍ拍目のビートの場合、小節／ビート番号には、ｎとｍの値が設定される。例えば、図１１に示される例において、１行目が１小節目の１拍目のデータとなり、いちばん下の行が２小節目の２拍目のデータとなる。なお、ｎは１以上の整数とされ、ｍは、ｋ拍子の楽曲である場合、１乃至kの範囲内の整数とされる。
【００９４】
属性には、ビート情報、メロディ情報、コード情報などの属性の種類と、その種類の属性に関する詳細なデータが設定される。例えば、属性がコード情報を示す場合、属性の種類がコード情報であることを示す数値、および、サンプル位置に示される位置におけるコードの種類を示す数値が設定される。
【００９５】
サンプル位置には、そのメタデータが対応する楽曲データのサンプル単位の位置が設定される。
【００９６】
なお、メロディ情報については、各メロディブロックの開始位置のみがメタデータに登録され、コード情報については、各コードの開始位置のみがメタデータに登録される。なお、各ビートに対するメロディブロックの種類およびコードの種類に関する情報をメタデータに登録するようにしてもよい。
【００９７】
また、以上に説明した情報以外に、サンプリング周波数、量子化ビット数など時間軸で変化しない情報が楽曲全体の情報としてメタデータに登録される。さらに、楽曲のキーおよびスケールの情報もまた、メタデータに登録される。なお、キーおよびスケール、または、拍子が楽曲の途中で変わる場合には、変化するサンプル位置、および、キーおよびスケール、または、拍子の種類を示す情報がメタデータに登録される。
【００９８】
図１２乃至図１４は、メタデータの表示例を示した図である。
【００９９】
図１２はビート情報を表示した場合の例を示しており、各小節頭の位置を示す線ＢＨ１乃至ＢＨ４、および、小節頭以外のビートの位置を示す線ＢＭ１乃至ＢＭ１２が、楽曲データの波形ＷＶ１１に重畳されて表示されている。また、小節頭の位置と他のビートの位置とを区別できるように、線ＢＨ１乃至ＢＨ４の方が、線ＢＭ１乃至ＢＭ１２より長くなっている。
【０１００】
図１３はコード情報を表示した場合の例を示しており、各コードの開始位置を示すフラグＣＤ１乃至ＣＤ８が、楽曲データの波形ＷＶ２１に重畳されて表示されている。各フラグの上側には、各コードの相対コードの種類が表示され、下側には、キー、スケールおよび相対コードの度数から求めた各コードの絶対コードの種類が表示される。
【０１０１】
図１４はメロディ情報を表示した場合の例を示しており、各メロディブロックの開始位置を示すフラグＭＬ１乃至ＭＬ４が、楽曲データの波形ＷＶ３１に重畳されて表示されている。各フラグには、メロディブロックの種類を示す文字または記号が表示される。フラグＭＬ１はＡメロの開始位置を示し、フラグＭＬ２はＢメロの開始位置を示し、フラグＭＬ３およびＭＬ４はサビの開始位置を示す。
【０１０２】
次に、図１５を参照して、リミックスパターンデータの詳細について説明する。
【０１０３】
図１５は、リミックスパターンデータのデータ構造の一例を示している。リミックスパターンデータは、使用するトラックの数を示すトラック数、および、トラック数分のトラックデータを含む。また、各トラックデータは、各トラックに含まれる音声ブロックの数を示すブロック数、および、ブロック数分のブロックデータを含む。さらに、各ブロックデータは、楽曲ID（IDs）、音声ブロックのオリジナルテンポ（BPMo）、音声ブロックの拍子（Bt）、音声ブロックのキーとスケール（ks）、音声ブロックの楽曲データにおける開始／終了サンプル位置（SPs／SPe）、開始点ビートカウント（BCs）、終了点ビートカウント（BCe）、開始点の直前小節頭を示すサンプル位置（SPBs）、開始点の直後小節頭を示すサンプル位置（SPBe）、リミックスライン上の開始サンプル位置（RLSs）、リミックスライン上の終了サンプル位置（RLSe）、リミックスライン上の開始小節番号（RLBs）、および、リミックスライン上の終了小節番号（RLBe）を含む。
【０１０４】
IDsは、音声ブロックの抽出元の楽曲、すなわち、原曲を一意に特定するためのIDである。
【０１０５】
BPMoは、原曲における音声ブロック内の平均のBPM（Beat Per Minute）を示す。
【０１０６】
Btは、原曲における音声ブロック内の拍子を示す。例えば、４／４（４分の４拍子）や３／４（４分の３拍子）などの情報が設定される。
【０１０７】
ksは、原曲における音声ブロック内のキーおよびスケールを示す。例えば、ハ長調、イ短調などの情報が設定される。この情報を用いて、音声ブロック内の相対コードを絶対コードに変換することができる。
【０１０８】
SPsは、原曲の楽曲データにおける音声ブロックの開始点のサンプル位置を示し、SPeは、原曲の楽曲データにおける音声ブロックの終了点のサンプル位置を示す。
【０１０９】
BCsは、原曲における音声ブロックの開始点のビートの位置を示す。すなわち、BCsは、音声ブロックが原曲の何小節目の何拍目から始まるかを示す。BCsは、例えば、BarとBeatをメンバに持つ構造体の変数とされ、BCs.Barには、原曲における音声ブロックの開始点の小節番号、BCs.Beatには、原曲における音声ブロックの開始点のビート番号が設定される。
【０１１０】
BCeは、原曲における音声ブロックの終了点の直後のビートの位置を示す。すなわち、BCeは、次の音声ブロックが原曲の何小節目の何拍目から始まるかを示す。従って、BCsにより示されるビートからBCeにより示されるビートの直前のビートまでが、この音声ブロックの原曲における範囲となる。BCeは、例えば、BarとBeatをメンバに持つ構造体の変数とされ、BCe.Barには、原曲における音声ブロックの終了点の直後のビートの小節番号、BCe.Beatには、原曲における音声ブロックの終了点の直後のビートのビート番号が設定される。
【０１１１】
SPBsは、原曲において音声ブロックの開始点を含む小節の頭の、楽曲データにおけるサンプル位置を示す。例えば、BCs.Barの値が１に設定されている場合、すなわち、音声ブロックが小節の頭から始まる場合、SPBsには、BCs.BarおよびBCs.Beatで示されるビートのサンプル位置が設定され、BCs.Barの値が2に設定されている場合、すなわち、音声ブロックが小節の２拍目始まる場合、SPBsには、BCs.Barで示される小節の１拍目のビートのサンプル位置が設定される。
【０１１２】
SPBeは、原曲において音声ブロックの終了点の直後に位置する小節の頭の、楽曲データにおけるサンプル位置を示す。すなわち、音声ブロックの終了点を含む小節の次の小節の頭のサンプル位置が設定される。
【０１１３】
RLSsは、リミックスライン上において音声ブロックが開始されるサンプルの位置を示す。なお、RLSsには、リミックスライン上の各音声ブロックをマスタテンポに合わせてタイムストレッチした後のサンプル位置が設定される。
【０１１４】
RLSeは、リミックスライン上において音声ブロックが終了するサンプルの位置を示す。なお、RLSeには、リミックスライン上の各音声ブロックをマスタテンポに合わせてタイムストレッチした後のサンプル位置が設定される。
【０１１５】
RLBsは、リミックスライン上において音声ブロックが開始される小節の小節番号を示す。
【０１１６】
RLBeは、リミックスライン上において音声ブロックが終了する小節の小節番号を示す。
【０１１７】
次に、図１６乃至図４２を参照して、音楽編集システム１０１の処理について説明する。
【０１１８】
まず、図１６のフローチャートを参照して、音楽編集システム１０１により実行されるリミックス編集処理について説明する。なお、この処理は、例えば、ユーザが、操作部２１４を介して、リミックス編集処理の開始の指令を入力したとき開始される。
【０１１９】
ステップＳ１において、表示部２１５は、表示制御部２３２の制御の基に、編集画面を表示する。
【０１２０】
図１７は、リミックス編集を行うための編集画面の一例を示している。図１７のウインドウ４０１の最上段には、ウインドウ４０１の操作を行うためのボタンなどの他に、リストボックス４１１乃至４１５、ボタン４１６乃至４２１、および、テキストボックス４２２，４２３が表示されている。
【０１２１】
リストボックス４１１乃至４１５は、後述するように、メロディブロックまたはコードの検索時に検索条件を指定するために用いられる。ボタン４１６は、リストボックス４１１乃至４１５の内容をリセットするために用いられる。
【０１２２】
ボタン４１７乃至ボタン４１９は、楽曲リストエリアＡＲｍ内の楽曲展開チャートＭＣ１乃至ＭＣ３の表示サイズを拡大したり、縮小したり、元に戻したりするために用いられる。
【０１２３】
ボタン４２０は、リミックスエリアＡＲｒに表示されているリミックスラインに基づいて、リミックス再生を行うために用いられ、ボタン４２１は、リミックス再生を停止するために用いられる。
【０１２４】
テキストボックス４２２は、リミックスラインのマスタテンポの設定値を入力するために用いられる。
【０１２５】
テキストボックス４２３は、リミックスラインのマスタキーの設定値を入力するために用いられる。
【０１２６】
また、ウインドウ４０１には、リミックスエリアＡＲｒおよび楽曲リストエリアＡＲｍの２つのエリアが設けられる。
【０１２７】
リミックスエリアＡＲｒは、リミックス編集の作業を行うためのエリアであり、リミックスラインが視覚的に表示される。具体的には、リミックスラインに含まれるトラックが、縦方向に並べて表示される。各トラックの横軸は時間軸方向を示しており、右側に行くほど時間が経過する。
【０１２８】
図１７は、リミックスラインが２本のトラックにより構成される場合の例を示しており、トラックＴＲ１およびトラックＴＲ２の２本のトラックがリミックスエリアＡＲｒ内に表示されている。なお、トラック数が多くて、リミックスエリアＡＲｒ内に全てのトラックを１度に表示できない場合、リミックスエリアＡＲｒ内の表示をスクロールさせることにより、全てのトラックを表示させることができる。
【０１２９】
図１８は、図１７のリミックスエリアＡＲｒ内の枠Ｆ１により囲まれた領域を拡大した図である。各トラックには、トラックに配置されている音声ブロックが左から右に時系列に並べて表示される。各音声ブロック内には、各音声ブロックの原曲の楽曲名、および、各音声ブロックのメロディブロックの種類が表示される。また、各音声ブロックはメロディブロックの種類に応じて色分けして表示される（なお、図１８においては、メロディブロックの種類ごとにブロック内のパターンが分類されて示されている）。
【０１３０】
各音声ブロックの横幅は、各音声ブロックに含まれるビート数に応じた長さに設定される。すなわち、原曲における再生時間が異なる音声ブロックでも、音声ブロック内のビート数（拍数）が同じ場合には、同じ幅で表示される。これにより、各音声ブロックのオリジナルテンポが異なっていても、マスタテンポに合わせて再生した場合の各音声ブロックの時間軸方向の位置関係を明確に把握することができる。また、一番下のトラックの下部には、リミックスラインにおける小節の位置を示す目盛りＳＣｂが表示される。
【０１３１】
また、目盛りＳＣｂの下には、現在のリミックスラインの再生位置を示すポインタ４２４（図１７）が表示される。
【０１３２】
楽曲リストエリアＡＲｍには、メタデータが付与された各楽曲に関する情報の一覧が表示される。楽曲リストエリアＡＲｍには、各楽曲に対応する楽曲エリアが縦方向に並べられて配置される。図１７では、楽曲エリアＡＳ１乃至ＡＳ３の３つの楽曲エリアが表示されている。なお、楽曲数が多くて、全ての楽曲に対応する楽曲エリアを楽曲リストエリアＡＲｍ内に１度に表示できない場合、楽曲リストエリアＡＲｍ内の表示をスクロールさせることにより、全ての楽曲に対応する楽曲エリアを表示させることができる。
【０１３３】
各楽曲エリアには、例えば、楽曲名、アーティスト名、平均テンポ（BPM）、小節数、キーとスケールなど、対応する楽曲に関する情報が表示される。また、各楽曲エリアには、楽曲のメロディ展開およびコード進行を示す楽曲展開チャートが表示される。図１７では、楽曲エリアＡＳ１内に楽曲展開チャートＭＣ１が表示され、楽曲エリアＡＳ２内に楽曲展開チャートＭＣ２が表示され、楽曲エリアＡＳ３内に楽曲展開チャートＭＣ３が表示されている。楽曲展開チャートの横軸は時間軸方向を示しており、右側に行くほど時間が経過する。
【０１３４】
図１９は、楽曲展開チャートの一部を拡大して示した図である。楽曲展開チャートの上段のメロディブロック欄ＣＬｍには、対応する楽曲のメタデータに基づいて、楽曲を構成するメロディブロックが出現する順に左から右に時系列に並べて表示される。メロディブロック欄ＣＬｍの各ブロックは、内部にメロディブロックの種類が示され、メロディブロックの種類に応じて色分けして表示される（なお、図１９においては、メロディブロックの種類ごとにブロック内のパターンが分類されて示されている）。また、メロディブロック欄ＣＬｍの各ブロックの横幅は、各メロディブロックに含まれるビート数に応じた長さに設定される。
【０１３５】
楽曲展開チャートの下段のコード進行欄ＣＬｃには、対応する楽曲のメタデータに基づいて、楽曲を構成するコードが出現する順に左から右に時系列に並べて表示される。コード進行欄ＣＬｃの各ブロックは、内部に相対コードの種類、および、相対コードと各音声ブロックのキーにより求められる絶対コードの種類が表示される。また、コード進行欄ＣＬｃの各ブロックは、相対コードの種類に応じて色分けして表示される（なお、図１９においては、相対コードの種類ごとにブロック内のパターンが分類されて示されている）。また、コード進行欄ＣＬｃの各ブロックの横幅は、各コードの区間内のビート数に応じた長さに設定される。
【０１３６】
また、図２０に示されるように、ユーザは、メロディブロック欄ＣＬｍの所望のブロックをカーソルＣＳにより選択したり、図２１に示されるように、コード進行欄ＣＬｃの所望のブロックをカーソルＣＳにより選択することができる。
【０１３７】
さらに、図２２に示されるように、リストボックス４１１を用いて所望のメロディブロックの種類を指定することにより、楽曲展開チャートにおいて、指定した種類のメロディブロックに対応するブロックが強調して表示される。なお、図２２においては、メロディブロックの種類としてChorus（サビ）が指定されており、音楽展開チャートＭＣ１１乃至ＭＣ１３において、メロディブロックの種類がChorusであるブロックが強調されて表示されている。
【０１３８】
さらに、図２３に示されるように、リストボックス４１２乃至４１５を用いて所望の相対コードを指定することにより、楽曲展開チャートにおいて、指定した種類の相対コードに対応するブロックが強調して表示される。例えば、図２３においては、相対コードの種類としてＩｍ７が指定されており、音楽展開チャートＭＣ２１乃至ＭＣ２３において、コードの種類がIｍ７であるブロックが強調されて表示されている。
【０１３９】
なお、図２２の音楽展開チャートＭＣ１１乃至ＭＣ１３、および、図２３の音楽展開チャートＭＣ２１乃至ＭＣ２３においては、図１９など同様に、メロディブロックおよび相対コードの種類に応じて、各ブロックが色分けして表示されるが、図２２および図２３においては、強調されたブロックを明確に示すために、ブロック内のパターンを分類せずに示している。
【０１４０】
また、検索されたブロックを強調する方法は、特に所定の方法に限定されるものではなく、例えば、検索されたブロックの色を濃くまたは明るく表示したり、検索されたブロック以外のブロックの色を薄くまたは暗く表示したり、検索されたブロックの色を変更したり、検索されたブロックを枠線で囲ったりするなどの方法を用いることができる。さらに、AND条件やOR条件などを用いて、複数の種類のメロディブロックまたはコードを組み合わせて検索できるようにしてもよい。
【０１４１】
このように、メタデータの情報を用いることにより、簡単に楽曲データをメロディブロックまたはコード単位で扱うことができる。従って、実際に耳で聞いたり、所定のアルゴリズムにより楽曲データの波形を分析して検索する従来の方法と比較して、より簡単かつ正確に、所望のコードやメロディブロックに対応する楽曲データの範囲を検索することができる。
【０１４２】
図１６に戻り、ステップＳ２において、音楽編集システム１０１は、リミックス編集に対応した処理を開始する。具体的には、ユーザは、表示部２１５に表示された編集画面を見ながら、操作部２１４を操作して、各楽曲の所望の部分を選択して、リミックスラインの各トラックの所望の位置に配置する。表示制御部２１５は、操作部２１４からの情報に基づいて、ユーザの操作に応じて編集画面の表示内容を更新する。
【０１４３】
例えば、図２４に示されるように、ユーザは、楽曲展開チャートMC３１およびMC３２の上段のメロディブロック欄の中から所望のメロディブロックを音素材として選択し、リミックスエリアＡＲｒ内のトラックＴＲ１およびＴＲ２の所望の位置に配置することができる。なお、トラックＴＲ１およびＴＲ２に配置された音声ブロックの中には、音声ブロックに対応するメロディブロックの種類、および、音声ブロックの原曲の楽曲名が表示される。また、図２５に示されるように、ユーザは、トラックに配置した音声ブロックに含まれる範囲を狭めたり、広げたりすることができる。
【０１４４】
図１６に戻り、ステップＳ３において、類似度算出部２４１は、好適な音素材の検索が要求されたかを判定する。例えば、図２６に示されるように、ユーザが、操作部２１４を介して、トラックＴＲ１に配置されている音声ブロックＢＫ１を指定し、音声ブロックＢＫ１と時間軸方向で同じ位置にあるトラックＴＲ２の区間ＲＭＤ１を指定し、指定した区間（以下、検索区間と称する）に好適な音素材の検索を指令し、類似度算出部２４１が、操作部２１４からその指令を取得した場合、好適な音素材の検索が要求されたと判定し、処理はステップＳ４に進む。この場合、後述するように、音声ブロックＢＫ１と同時に再生した場合に、音声ブロックＢＫ１と違和感なく自然に調和する響きを持つ音素材の検索（以下、重畳音素材検索と称する）が行われる。
【０１４５】
また、例えば、図２７に示されるように、ユーザが、操作部２１４を介して、トラックＴＲ１に配置されている音声ブロックＢＫ１を指定し、音声ブロックＢＫ１の直後の区間ＲＭＤ１１を指定し、指定した検索区間に好適な音素材の検索を指令し、類似度算出部２４１が、操作部２１４からその指令を取得した場合、好適な音素材の検索が要求されたと判定し、処理はステップＳ４に進む。この場合、後述するように、音声ブロックＢＫ１に続けて再生した場合に、違和感なく自然に響くコード進行を持つ音素材の検索（以下、連結音素材検索と称する）が行われる。
【０１４６】
なお、以下、ステップＳ３において、指定された音声ブロックＢＫ１のことを指定ブロックと称する。
【０１４７】
図１６に戻り、ステップＳ４において、ユーザインタフェース処理部２１１は、音素材検索処理を実行する。ここで、図２８のフローチャートを参照して、音素材検索処理の詳細について説明する。
【０１４８】
ステップＳ２１において、類似度算出部２４１は、参照ブロックのビート数nを求める。具体的には、重畳音素材検索を行う場合、類似度算出部２４１は、指定ブロックを参照ブロックとして、参照ブロックの原曲（以下、参照曲と称する）のメタデータを楽曲メタデータ用記憶部２１７から取得し、取得したメタデータに基づいて、参照ブロックのビート数ｎを求める。また、連結音素材検索を行う場合、類似度算出部２４１は、指定ブロックの原曲において指定ブロックの直後にあるメロディブロックを参照ブロックとし、参照曲のメタデータを楽曲メタデータ用記憶部２１７から取得し、取得したメタデータに基づいて、参照ブロックのビート数ｎを求める。
【０１４９】
ステップＳ２２において、類似度算出部２４１は、参照ブロックの相対コードをビート粒度の配列a[ ]に展開する。具体的には、類似度算出部２４１は、参照曲のメタデータに基づいて、参照ブロックの各ビートにおける相対コードを求め、長さnの配列a[ ]に代入する。すなわち、a[0]には、参照ブロックの先頭のビートにおける相対コードが代入され、a[1]には、２番目のビートにおける相対コードが代入され、以下同様にして、a[n-1]には、最後のn番目のビートにおける相対コードが代入される。
【０１５０】
ステップＳ２３において、類似度算出部２４１は、変数sに0を代入する。
【０１５１】
ステップＳ２４において、類似度算出部２４１は、楽曲メタデータ用記憶部２１７から、s＋1番目の楽曲（以下、検索対象曲と称する）のメタデータを取得する。
【０１５２】
ステップＳ２５において、類似度算出部２４１は、ｓ＋１番目の楽曲が検索対象から除外する楽曲であるかを判定する。類似度算出部２４１は、ｓ＋１番目の楽曲、すなわち、検索対象曲が所定の除外条件に該当しない場合、ｓ＋１番目の楽曲が検索対象から除外する楽曲でないと判定し、処理はステップＳ２６に進む。
【０１５３】
ステップＳ２６において、類似度算出部２４１は、ｓ＋１番目の楽曲の相対コードをビート粒度の配列b[ ]に展開する。具体的には、類似度算出部２４１は、ｓ＋１番目の楽曲、すなわち、検索対象曲のメタデータに基づいて、検索対象曲の各ビートに対応する相対コードを求め、配列b[ ]に代入する。すなわち、検索対象曲のビート数をmとした場合、b[0]には、検索対象曲の先頭のビートに対応する相対コードが代入され、b[1]には、２番目のビートに対応する相対コードが代入され、以下同様にして、b[m-1]には、最後のｍ番目のビートに対応する相対コードが代入される。
【０１５４】
ステップＳ２７において、音素材検索部２３１は、スコア算出処理を実行する。ここで、図２９のフローチャートを参照して、スコア算出処理の詳細について説明する。
【０１５５】
ステップＳ５１において、類似度算出部２４１は、変数pに0を代入する。
【０１５６】
ステップＳ５２において、類似度算出部２４１は、スケールが同じであるかを判定する。ここで、参照区間とは、配列a[ ]の要素a[0]乃至a[n-１]の区間をいい、検索対象区間とは、配列b[ ]の要素b[p]乃至b[p+n-1]の区間をいう。類似度算出部２４１は、参照曲および検索対象曲のメタデータに基づいて、参照区間と検索対象区間の一方が長調（Major）で、もう一方が短調（Minor）である場合、２つの楽曲のスケールが同じでないと判定し、処理はステップＳ５３に進む。
【０１５７】
ステップＳ５３において、類似度算出部２４１は、配列a[ ]の値を絶対コードに変換する。
【０１５８】
ステップＳ５４において、類似度算出部２４１は、配列b[ ]の値を絶対コードに変換する。
【０１５９】
一方、ステップＳ５２において、類似度算出部２４１は、参照区間と検索対象区間がともに長調（Major）または短調（Minor）である場合、２つの曲のスケールが同じであると判定し、ステップＳ５３およびＳ５４の処理はスキップされ、処理はステップＳ５５に進む。
【０１６０】
ステップＳ５５において、類似度算出部２４１は、参照区間と検索対象区間の類似度を求める。類似度算出部２４１は、以下の式（２）および（３）に基づいて、参照区間と検索対象区間の類似度Rabを求める。
【０１６１】
【数１】
2008164932.tif 000003
【０１６２】
なお、式（３）のMatrixR[x][y]は、各コード間の類似度を定義した所定の類似度マトリックスのx行y列目の要素の値を示している。類似度マトリックスとは、各コード間の類似度を定義したマトリックスであり、マトリックスの各欄に各コード間の類似度に基づくポイントが設定されている。ここで、類似度マトリックスの例をいくつか示す。
【０１６３】
図３０は、参照区間と検索対象区間がともに長調である場合に用いられる類似度マトリックスの例を示している。なお、図３０の類似度マトリックスの行番号および列番号は、相対コードの度数により示される。従って、要素a[i]と要素b[i+p]の相対コードの度数が同じ場合に、最も高い１０ポイントが与えられる。また、互いに似た響きをする代理コードの存在を考慮して、要素a[i]と要素b[i+ｐ]の相対コードが代理コードの関係にある場合、すなわち、一方が相対コードに対して他方がその代理コードである場合、より厳密に言えば、要素a[i]と要素b[i+ｐ]の相対コードが、参照区間と検索対象区間のキーを合わせた場合に代理コードの関係にあるとき、５ポイントが与えられる。例えば、要素a[i]の相対コードの度数がＩ、要素b[i+p]の相対コードの度数がIIIである場合に５ポイントが与えられる。それ以外の場合（マトリックスの空欄に相当する）には、０ポイントとなる。
【０１６４】
図３１は、参照区間と検索対象区間がともに短調である場合に用いられる類似度マトリックスの例を示している。なお、図３１の類似度マトリックスの行番号および列番号は、図３１の類似度マトリックスと同様に、相対コードの度数により示される。図３１の類似度マトリックスにおいても、図３０の類似度マトリックスと同様に、要素a[i]と要素b[i+p]の相対コードの度数が同じ場合に、最も高い１０ポイントが与えられ、要素a[i]と要素b[i+ｐ]の相対コードが代理コードの関係にある場合、５ポイントが与えられ、それ以外の場合（マトリックスの空欄に相当する）には、０ポイントとなる。ただし、長調と短調では代理コードが異なるため、図３０と図３１とでは異なるマトリックスとなっている。
【０１６５】
図３２は、参照区間と検索対象区間のスケールが異なる場合に用いられる類似度マトリックスの例を示している。図３２の類似度マトリックスの行番号および列番号は、絶対コードの根音の音名により示される。図３２の類似度マトリックスにおいては、要素a[i]と要素b[i+p]の絶対コードの根音が同じ場合に１０ポイントが与えられ、それ以外の場合（マトリックスの空欄に相当する）には、０ポイントとなる。このように、参照区間と検索対象区間のスケールが異なる場合、絶対コードに基づいて類似度が求められる。これは、参照区間と検索対象区間のスケールが異なる場合、スケールの違いにより、相対コードの種類が同じでも、絶対コードに変換するとコードの種類は異なってしまう一方、相対コードの種類が異なっていても、絶対コードに変換するとコードの種類が同じになる場合があるからである。
【０１６６】
このように、参照区間と検索対象区間がともに長調または短調である場合、各区間のスケールの主音に対する各コードの根音の相対位置に基づいて、類似度が算出され、２つの区間のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、類似度が算出される。
【０１６７】
なお、式（３）に示されるように、参照区間と検索対象区間のスケールが同じ場合、要素a[i]と要素b[i+p]の相対コードの度数が同じで、お互いがメジャーコードとマイナーコードの関係にあるとき、または、参照区間と検索対象区間のスケールが異なる場合、要素a[i]と要素b[i+p]の絶対コードの根音が同じで、お互いがメジャーコードとマイナーコードの関係にあるとき、ポイントは０に設定される。これは、例えば、相対コードで同じIの和音だとしても一方がＩ, もう一方がＩmだとすると、前者は第３音が根音から長３度上の音となり、後者は第３音が根音から短３度上の音となる。この２つの音は半音１つ分だけずれているので、この２つのコードを同時に鳴らした場合、不協和音に聴こえてしまうためである。なお、要素a[i]と要素b[i+p]の相対コードの度数または絶対コードの根音が異なる場合には、お互いがメジャーコードとマイナーコードの関係にあっても、不協和音になるとは限らないので、類似度マトリックスに基づいて、ポイントが求められる。
【０１６８】
なお、図３０乃至図３２は類似度マトリックスの一例であり、この例に限定されるものではない。例えば、コードの組み合わせに基づいて、与えるポイントをさらに詳細に分類するようにしてもよいし、短調用の類似度マトリックスを、メロディックマイナースケール、ハーモニックマイナースケール、ナチュラルマイナースケールなどの詳細なスケールの分類に基づいて、さらに細かく分類するようにしてもよい。なお、類似度マトリックスの種類が増えたとしても、類似度マトリックスを一度用意すれば、上述した同じ式（２）および（３）により類似度を求めることができる。
【０１６９】
図２９に戻り、ステップＳ５６において、類似度算出部２４１は、類似度が閾値Ｔを超えたかを判定する。類似度が所定の閾値Ｔを超えたと判定された場合、すなわち、参照区間と検索対象区間のコード進行の類似度が高い場合、処理はステップＳ５７に進む。
【０１７０】
ステップＳ５７において、スコア算出部２４２は、スコアを算出する。具体的には、類似度算出部２４１は、算出した類似度をスコア算出部２４２に供給する。スコア算出部２４２は、所定の条件に基づいて類似度に重みを乗じることにより、スコアを算出する。例えば、類似度算出部２４１は、参照曲と検索対象曲の類似度が低いことを示す要素がある場合、例えば、参照曲と検索対象曲のテンポの差が所定の閾値以上だったり、参照曲と検索対象曲のスケールが異なったりする場合、スコアが低くなるように1未満の重みを類似度に乗ずる。
【０１７１】
ステップＳ５８において、スコア算出部２４２は、検索結果を登録する。具体的には、スコア算出部２４２は、スコアが算出された検索対象区間とそのスコアを楽曲ごとに分類して楽曲メタデータ用記憶部２１７に記憶させる。
【０１７２】
一方、ステップＳ５６において、類似度が所定の閾値Ｔを超えていないと判定された場合、すなわち、参照区間と検索対象区間のコード進行の類似度が低い場合、ステップＳ５７およびＳ５８の処理はスキップされ、処理はステップＳ５９に進む。すなわち、検索対象区間のスコアは０とされる。
【０１７３】
ステップＳ５９において、類似度算出部２４１は、変数pの値を１つインクリメントする。
【０１７４】
ステップＳ６０において、類似度算出部２４１は、p+nが配列b[ ]の大きさを超えたかを判定する。p+nが配列b[ ]の大きさｍを超えていないと判定された場合、すなわち、検索対象曲のp番目から最後のビートまでの区間が参照区間のビート数n以上である場合、処理はステップＳ５５に戻る。
【０１７５】
その後、ステップＳ６０において、p+nが配列b[ ]の大きさを超えたと判定されるまで、ステップＳ５５乃至Ｓ６０の処理が繰り返し実行される。すなわち、図３３に示されるように、検索対象区間（b[p]乃至b[p+n-1]の区間）が配列b[ ]の先頭から１ビートずつずらされながら、各検索対象区間について、参照区間（a[0]乃至a[ｎ]の区間）との類似度に基づくスコアが算出され、検索対象曲において、参照区間とコード進行の類似度が高い区間が検索される。
【０１７６】
ステップＳ６０において、p+nの値が配列b[ ]の大きさを超えたと判定された場合、すなわち、検索対象曲のp番目から最後のビートまでの区間が参照区間のビート数n未満になった場合、スコア算出処理は終了する。
【０１７７】
図２８に戻り、ステップＳ２８において、類似度算出部２４１は、nの値を１つデクリメントする。
【０１７８】
ステップＳ２９において、類似度算出部２４１は、nが閾値Ｌ以上であるかを判定する。nが所定の閾値Ｌ以上であると判定された場合、処理はステップＳ２７に戻る。
【０１７９】
その後、ステップＳ２９において、nが閾値Ｌ未満であると判定されるまで、ステップＳ２７乃至Ｓ２９の処理が繰り返し実行される。すなわち、ｎの値が閾値Ｌ未満になるまで、参照区間の長さを１ビートずつ縮めながら、検索対象曲において、参照区間とコード進行の類似度が高い区間の検索が繰り返し実行される。
【０１８０】
一方、ステップＳ２９において、nが閾値Ｌ未満であると判定された場合、処理はステップＳ３０に進む。
【０１８１】
また、ステップＳ２５において、類似度算出部２４１は、検索対象曲が所定の除外条件に該当する場合、ｓ＋１番目の楽曲が検索対象から除外する楽曲であると判定し、ステップＳ２６乃至Ｓ２９の処理はスキップされ、処理はステップＳ３０に進む。なお、検索対象から除外する楽曲の条件としては、例えば、参照曲と同じ楽曲、参照曲と拍子が異なる楽曲、参照曲とのテンポの違いが所定の閾値以上である楽曲などが考えられ、必要に応じてユーザにより設定される。
【０１８２】
ステップＳ３０において、類似度算出部２４１は、sの値を１つインクリメントする。
【０１８３】
ステップＳ３１において、類似度算出部２４１は、sの値が総曲数と等しいかを判定する。sの値が総曲数と等しくないと判定された場合、すなわち、まだ楽曲メタデータ用記憶部２１７にメタデータが記憶されている全ての楽曲について処理されていない場合、処理はステップＳ３２に進む。
【０１８４】
ステップＳ３２において、類似度算出部２４１は、ｎの値を参照ブロックのビート数に戻す。
【０１８５】
その後、処理はステップＳ２４に戻り、ステップＳ３１において、sの値が総曲数と等しいと判定されるまで、ステップＳ２４乃至Ｓ３１の処理が繰り返し実行される。
【０１８６】
一方、ステップＳ３１において、sの値が総曲数と等しいと判定された場合、すなわち、楽曲メタデータ用記憶部２１７にメタデータが記憶されている全ての楽曲について処理が行われた場合、処理はステップＳ３３に進む。
【０１８７】
ステップＳ３３において、表示部２１５は、楽曲をスコア順にソートして表示し、音素材検索処理は終了する。具体的には、表示制御部２３２は、楽曲メタデータ用記憶部２１７から全ての楽曲のスコアを読み出し、楽曲ごとに集計する。表示部２１５は、表示制御部２３２の制御の基に、楽曲リストエリアＡＲｍ内の楽曲の並びを合計スコアが高い順に並び替えて表示する。
【０１８８】
このとき、図３４に示されるように、楽曲展開チャートのコード進行欄において、スコアが所定の閾値以上の区間ＳＥＣ１乃至ＳＥＣ８が強調されて表示される。また、楽曲展開チャートの左下に、対応する楽曲のスコアの合計値が表示される。さらに、絶対コードに基づいてスコアが算出された区間については、相対コードに基づいてスコアが算出された区間と区別するために、例えば、図３５に示されるように、強調されて表示されている区間ＳＥＣ１１内に下線が表示される。
【０１８９】
以上のようにして、大量の楽曲の中から、指定ブロックと重ねて再生するのに好適な音素材、または、指定ブロックにつなげて再生するのに好適な音素材を、実際に耳で確認するなどの作業を行うことなく、簡単に検索することができる。この後、ユーザは、例えば、各候補を実際にトラックに配置して耳で聴いて確認するなどして、絞られた候補の中から自分が表現したい響きを持つ音素材を探すことができる。
【０１９０】
また、上述したように、代理コードの存在を考慮して類似度が算出されるので、参照区間とコード進行が一致していなくても、参照区間と響きが似ている音素材を検索することができる。
【０１９１】
さらに、各トラックの音声ブロックは、後述するように、ビート位置が揃えられて再生されるため、各区間の原曲における再生時間を考慮することなく、ビート単位でコード進行を比較することにより、参照区間と検索対象区間のコード進行の類似度を求めることができる。
【０１９２】
なお、以上の説明では、ビート単位でコード進行を比較する例を示したが、８分音符、１６分音符単位など、さらに比較する精度を上げるようにしてもよい。この場合、メタデータの各コードのサンプル位置に基づいて、８分音符、１６分音符単位などの解像度でコード進行を求めることが可能である。
【０１９３】
図１６に戻り、ステップＳ３において、好適な音素材の検索が要求されていないと判定された場合、ステップＳ４の処理はスキップされ、処理はステップＳ５に進む。
【０１９４】
ステップＳ５において、リミックスパターン生成部２５２は、リミックスパターンの保存が要求されたかを判定する。例えば、ユーザが、リミックスエリアＡＲｒに作成したリミックスパターンを保存したいと思い、操作部２１４を介して、リミックスパターン生成部２５２にリミックスパターンの保存の指令を入力した場合、リミックスパターン生成部２５２は、リミックスパターンの保存が要求されたと判定し、処理はステップＳ６に進む。
【０１９５】
ステップＳ６において、リミックスパターン生成部２５２は、リミックスパターンデータを生成する。具体的には、リミックスパターン生成部２５２は、リミックスエリアＡＲｒにおいて作成されたリミックスパターン、および、リミックスパターンに配置されている音声ブロックの原曲のメタデータに基づいて、図１５を参照して上述したデータ構造を有するリミックスパターンデータを生成する。
【０１９６】
例えば、図３６に示されるように、リミックスエリアＡＲｒのトラックＴＲ１およびＴＲ２に３曲の楽曲から抽出した音素材を配置したリミックスパターンが作成されている場合、図１５のリミックスパターンデータのトラック数には２が設定され、トラックＴＲ１およびＴＲ２に対応するトラックデータがそれぞれ生成される。さらに、トラックＴＲ１のトラックデータのトラック数にトラックＴＲ１に配置されている音声ブロックの数である９が設定され、９個の音声ブロックデータが生成され、トラックＴＲ２のトラックデータのトラック数にトラックＴＲ２に配置されている音声ブロックの数である６が設定され、６個のブロックデータが生成される。そして、各ブロックデータの各項目には、各音声ブロックの原曲のメタデータ、および、各音声ブロックのリミックスライン上の位置などに基づく値が設定される。
【０１９７】
リミックスパターン生成部２５２は、生成したリミックスパターンデータを記録したリミックスパターンファイルを生成し、リミックスパターン用記憶部２１８に記憶させる。
【０１９８】
ステップＳ５において、リミックスパターンの保存が要求されていないと判定された場合、ステップＳ６の処理はスキップされ、処理はステップＳ７に進む。
【０１９９】
ステップＳ７において、表示制御部２３２は、編集処理の終了が要求されたかを判定する。編集処理の終了が要求されていないと判定された場合、処理はステップＳ３に戻り、ステップＳ７において、編集の終了が指令されたと判定されるまで、ステップＳ３乃至Ｓ７の処理が繰り返し実行される。
【０２００】
ステップＳ７において、例えば、ユーザが、操作部２１４を介して、表示制御部２３２に編集処理の終了の指令を入力した場合、表示制御部２３２は、編集処理の終了が要求されたと判定し、リミックス編集処理は終了する。
【０２０１】
このようにして、ユーザは、編集画面を見ながら、各楽曲の所望の部分をリミックスエリアＡＲｒの各トラックの所望の位置に配置することにより、簡単にリミックス曲を作成することができる。なお、ユーザは、リミックス編集を行っている最中に、リミックスライン上に作成されているリミックスパターンに基づいて、後述するリミックス再生を行うことにより、実際にリミックス曲の音を確認することができる。
【０２０２】
次に、図３７のフローチャートを参照して、音楽編集システム１０１により実行されるリミックス再生処理について説明する。なお、この処理は、例えば、ユーザが、操作部２１４を介して、リミックスパターン用記憶部２１８に記憶されているリミックスパターンファイルの中から所望のものを指定し、指定したリミックスパターンファイルに記録されているリミックスパターンデータに基づくリミックス再生の指令を入力したとき開始される。
【０２０３】
ステップＳ１０１において、同期再生制御部２７１および音声ミキシング部２７２は、初期化処理を行う。これにより、同期再生制御部２７１および音声ミキシング部２７２の状態が初期化される。
【０２０４】
ステップＳ１０２において、リミックスパターン読込み部２５１は、ユーザにより指定されたリミックスパターンファイルを読み込む。なお、ユーザによりリミックスパターンファイルが指定されていない場合、例えば、リミックスパターン読込み部２５１が、リミックスパターン用記憶部２１８に記憶されているリミックスパターンファイルの中から、適当なファイルを選択して、読み込むようにしてもよい。
【０２０５】
ステップＳ１０３において、トラック生成部２６４は、必要なトラック数分だけ音声信号生成部２８２を生成する。すなわち、トラック生成部２６４は、読み込まれたリミックスパターンファイルに記録されているリミックスパターンデータに示されるトラック数分だけ音声信号生成部２８２を生成する。
【０２０６】
ステップＳ１０４において、リミックスパターン読込み部２５１は、リミックスパターンをメモリに展開する。例えば、リミックスパターン読込み部２５１は、読み込んだリミックスパターンデータを所定のフォーマットに成形して、RAM１１６に展開する。
【０２０７】
ステップＳ１０５において、リミックス再生制御部２５３は、マスタキーとマスタテンポを設定する。例えば、ユーザは、操作部２１４を介して、マスタキーとマスタテンポの値を設定する。操作部２１４は、設定されたマスタキーおよびマスタテンポの値をリミックス再生制御部２５３に通知する。
【０２０８】
再生速度制御部２６１は、マスタテンポの値をマスタビート生成部２８１に設定する。これにより、マスタビート生成部２８１は、設定されたマスタテンポでマスタビートの生成を開始する。
【０２０９】
音高制御部２６２は、マスタキーの値を各音声信号生成部２８２に設定する。
【０２１０】
なお、マスタキーおよびマスタテンポをユーザが設定する以外にも、例えば、リミックスラインに配置されている音声ブロックの原曲のうちメインとなる楽曲（例えば、ユーザにより指定された楽曲、リミックスラインの１トラック目の最初の音声ブロックの原曲など）のキーおよびテンポをマスタキーおよびマスタテンポとして設定するようにしてもよい。また、例えば、リミックスラインの所定のトラック（例えば、１トラック目）の楽曲ブロックのオリジナルテンポの平均値をマスタテンポとするようにしてもよい。
【０２１１】
リミックスパターン読込み部２５１は、リミックスパターンデータの各ブロックデータのリミックスライン上の開始サンプル位置（RLSs）およびリミックスライン上の終了サンプル位置（RLSe）の値を、マスタテンポと対応する音声ブロックのオリジナルテンポ（BPMo）との比に基づいて計算し書き換える。
【０２１２】
ステップＳ１０６において、リミックス処理部２１２は、リミックス再生制御処理を実行し、リミックス再生処理は終了する。ここで、図３８乃至図４０のフローチャートを参照して、リミックス再生制御処理の詳細について説明する。
【０２１３】
なお、図３８乃至図４０のフローチャートは、１つのトラックに対して行われる処理について説明するものであり、実際には、図３８乃至図４０に示される処理が、リミックスラインのトラックの数だけ並行して実行される。また、図３８乃至図４０の説明において、音声信号生成部２８２は、このフローチャートの説明において処理の対象となるトラックに対応する１つの音声信号生成部を指すものとする。
【０２１４】
ステップＳ１３１において、再生パターン制御部２６３は、Pc.Barの値を-1に設定し、Pc.Beatの値を0に設定し、Fcの値をfalseに設定し、Conの値を-1に設定し、Coff.Barの値を-1に設定し、Coff.Beatの値を-1に設定する。
【０２１５】
Pcは、BarとBeatをメンバに持つ構造体の変数である。マスタビート生成部２８１は、マスタビートを生成する度に、Pc.Beatの値がリミックスラインの拍子数未満である場合、Pc.Barの値を１つインクリメントし、Pc.Beatの値がリミックスラインの拍子数と等しい場合、Pc.Beatの値を１に戻し、Pc.Barの値を１つインクリメントする。すなわち、Pcは、現在のリミックラインの再生位置が何小節目の何拍目かを表す変数である。
【０２１６】
Fcは、音声ブロックの切換えを行うか否かを示すフラグである。Fcの値がtrueに設定されている場合、リミックスラインの再生位置が次の小節に進んだタイミングで、音声ブロックの切換えを行うことを意味し、Fcの値がfalseに設定されている場合、リミックスラインの再生位置が次の小節に進んだタイミングで、音声ブロックの切換えを行わないことを意味する。
【０２１７】
Conは、必要に応じて、音声ブロックの開始点のビート番号が設定される変数である。なお、Conの値が-1に設定されている場合、Conが初期化され、特定の値が設定されていないことを示す。
【０２１８】
Coffは、BarとBeatをメンバに持つ構造体の変数であり、リミックスラインにおける音声ブロックの終了点の直後のビートの位置が設定される。具体的には、Coff.Barには、音声ブロックの終了点の直後のビートの小節番号が設定され、Coff.Beatには、音声ブロックの終了点の直後のビートのビート番号が設定される。なお、Coff.BarおよびCoff.Beatの値が-1にリセットされている場合、Coffが初期化され、特定の値が設定されていないことを示す。
【０２１９】
また、再生パターン制御部２６３は、リミックスラインの拍子をマスタビート生成部２８１に設定する。なお、リミックスラインの拍子は、例えば、ユーザが設定するようにしてもよいし、リミックスラインデータに登録しておくようにしてもよいし、あるいは、リミックスラインの１トラック目の最初の音声ブロックの拍子を設定するようにしてもよい。
【０２２０】
ステップＳ１３２において、再生パターン制御部２６３は、リミックスパターンデータに基づいて、現在の再生位置より２小節後以降に新たな音声ブロックが存在するかを判定する。すなわち、Pc.Bar＋2小節目以降に新たな音声ブロックが存在するかが判定される。現在の再生位置より２小節後以降に新たな音声ブロックが存在すると判定された場合、処理はステップＳ１３３に進む。
【０２２１】
ステップＳ１３３において、再生パターン制御部２６３は、現在の再生位置より２小節後以降において、現在の再生位置から最も近い音声ブロックの情報を取得する。すなわち、現在の再生位置より２小節後以降において、現在の再生位置から最も近い音声ブロックに対応するリミックスパターンデータのブロックデータが取得される。
【０２２２】
ステップＳ１３４において、再生パターン制御部２６３は、情報を取得した音声ブロックのリミックスライン上の開始位置をPnに設定する。Pnは、Pcと同様にBarとBeatをメンバに持つ構造体の変数である。なお、Pn.BarおよびPnBeatの値が-1に設定されている場合、Pnが初期化され、特定の値が設定されていないことを示す。
【０２２３】
再生パターン制御部２６３は、情報を取得した音声ブロックのリミックスライン上の開始小節番号（RLBs）をPn.Barに設定し、情報を取得した音声ブロックの開始点ビートカウントのビート番号（BCs.Beat）をPn.Beatに設定する。
【０２２４】
ステップＳ１３５において、再生速度制御部２６１は、情報を取得した音声ブロックのタイムストレッチ値を求める。具体的には、再生速度制御部２６１は、情報を取得した音声ブロックのタイムストレッチ値Vtを、以下の式（４）に基づいて算出する。
【０２２５】
Vt＝BPMm÷BPMo  ・・・（４）
【０２２６】
すなわち、タイムストレッチ値Vtは、目標とするテンポであるマスタテンポBPMmを音声ブロックのオリジナルのテンポBPMoで割った値となる。
【０２２７】
ステップＳ１３６において、音高制御部２６２は、情報を取得した音声ブロックのピッチシフト値を求める。具体的には、音高制御部２６２は、情報を取得した音声ブロックのピッチシフト値Vpを、以下の式（５）に基づいて算出する。
【０２２８】
【数２】
2008164932.tif 000004
【０２２９】
なお、Dsは、音声ブロックを移調する度数、すなわち、マスタキーと、情報を取得した音声ブロックのキーとの度数の差を表す。また、12√2という定数は、現代の平均律における半音の周波数比である。すなわち、音声ブロックの再生ピッチの制御量であるピッチシフト値Vpは、音声ブロックのキーとマスタキーとの差、および、音声ブロックの再生速度の制御量であるタイムストレッチ値Ｖtに基づいて算出される。
【０２３０】
式（５）において、本来のピッチシフト値（12√2×Ds）にタイムストレッチ値Vtの逆数をかけることで、タイムストレッチにより発生する音の高さの変化を差し引いたピッチシフト値が求められる。従って、情報を取得した音声ブロックを再生する際に、テンポをVt倍にすることにより、音声ブロックの再生音のテンポをマスタテンポに合わせることができ、周波数をVp倍にすることで、音声ブロックの再生音のキーをマスタキーに合わせることができる。
【０２３１】
なお、タイムストレッチおよびピッチシフトの手法は、上述した手法に限定されるものではなく、他の手法を用いるようにしてもよい。
【０２３２】
その後、処理はステップＳ１３８に進む。
【０２３３】
一方、ステップＳ１３２において、現在の再生位置より２小節後以降に新たな音声ブロックが存在しないと判定された場合、処理はステップＳ１３７に進む。
【０２３４】
ステップＳ１３７において、再生パターン制御部２６３は、Pn.Barの値を-1に設定し、Pn.Beatの値の-1を設定する。
【０２３５】
ステップＳ１３８において、再生パターン制御部２６３は、Pcの値を読み込むことにより、現在の再生位置（Pc）を取得する。
【０２３６】
ステップＳ１３９において、再生パターン制御部２６３は、再生停止が要求されたかを判定する。再生停止が要求されていないと判定された場合、処理はステップＳ１４０に進む。
【０２３７】
ステップＳ１４０において、再生パターン制御部２６３は、ビートが進んだかを判定する。再生パターン制御部２６３は、前回再生位置を取得したときからPc.Beatの値が変化していない場合、ビートが進んでいないと判定し、処理はステップＳ１３８に戻る。
【０２３８】
その後、ステップＳ１３９において、再生停止が要求されたと判定されるか、ステップＳ１４０において、ビートが進んだと判定されるまで、ステップＳ１３８乃至Ｓ１４０の処理が繰り返し実行される。
【０２３９】
一方、ステップＳ１３９において、例えば、ユーザが、操作部２１４を介して、再生パターン制御部２６３にリミックス再生の停止の指令を入力した場合、再生パターン制御部２６３は、再生停止が要求されたと判定し、リミックス再生制御処理は終了する。
【０２４０】
また、ステップＳ１４０において、再生パターン制御部２６３は、前回再生位置を取得したときからPc.Beatの値が変化している場合、ビートが進んだと判定し、処理はステップＳ１４１に進む。
【０２４１】
ステップＳ１４１において、再生パターン制御部２６３は、小節が進んだかを判定する。再生パターン制御部２６３は、前回再生位置を取得したときからPc.Barの値が増えた場合、小節が進んだと判定し、処理はステップＳ１４２に進む。
【０２４２】
ステップＳ１４２において、再生パターン制御部２６３は、Pc.Barの値とPn.Bar-1の値とが等しいかを判定する。Pc.Barの値とPn.Bar-1の値とが等しいと判定された場合、すなわち、リミックスラインの再生位置が音声ブロックの切換えを行う小節の１つ前の小節に進んだ場合、処理はステップＳ１４３に進む。
【０２４３】
ステップＳ１４３において、再生速度制御部２６１は、タイムストレッチ値を設定する。具体的には、再生速度制御部２６１は、ステップＳ１３５において求めたタイムストレッチ値を、音声信号生成部２８２内の次に再生する音声ブロックの情報を記憶するエリアであるウエイティングエリアに記憶させる。これにより、次に再生する音声ブロックのタイムストレッチ値が音声信号生成部２８２に設定される。
【０２４４】
ステップＳ１４４において、音高制御部２６２は、ピッチシフト値を設定する。具体的には、音高制御部２６２は、ステップＳ１３６において求めたピッチシフト値を、音声信号生成部２８２内のウエイティングエリアに記憶させる。これにより、次に再生する音声ブロックのピッチシフト値が音声信号生成部２８２に設定される。
【０２４５】
ステップＳ１４５において、再生パターン制御部２６３は、次の音声ブロックの再生時に再生する楽曲データの範囲を設定する。具体的には、再生パターン制御部２６３は、リミックスパターンデータに基づいて、次に再生する音声ブロックの開始点の直前小節頭を示すサンプル位置（SPBs）、および、開始点の直後小節頭を示すサンプル位置（SPBe）の値を、音声信号生成部２８２内のウエイティングエリアに記憶させる。これにより、音声ブロックの開始点を含む小節の頭から終了点の直後に位置する小節の頭までの楽曲データのサンプルの範囲が、次の音声ブロックの再生時に再生する楽曲データの範囲として音声信号生成部２８２に設定される。
【０２４６】
ステップＳ１４６において、再生パターン制御部２６３は、次に再生する音声ブロックの原曲の楽曲データを登録する。具体的には、再生パターン制御部２６３は、リミックスパターンデータに基づいて、次に再生する音声ブロックの原曲の楽曲ID（IDs）を求める。再生パターン制御部２６３は、その楽曲IDに対応する楽曲データを楽曲用記憶部２１９から取得し、その楽曲データに対応するメタデータを楽曲メタデータ用記憶部２１７から取得する。再生パターン制御部２６３は、取得した楽曲データおよびメタデータを音声信号生成部２８２内のウエイティングエリアに記憶させる。
【０２４７】
ステップＳ１４７において、再生パターン制御部２６３は、ConNextにBCs.Beatの値を設定する。具体的には、再生パターン制御部２６３は、リミックスパターンデータに基づいて、ConNextに次に再生する音声ブロックの開始点ビートカウントのビート番号（BCs.Beat）の値を設定する。すなわち、次に再生する音声ブロックが原曲において小節の何拍目から開始されるかを示す値がConNextに設定される。
【０２４８】
ステップＳ１４８において、再生パターン制御部２６３は、BCe.Beatの値が１に等しいかを判定する。再生パターン制御部２６３は、リミックスパターンデータに基づいて、次に再生する音声ブロックの終了点ビートカウントのビート番号（BCe.Beat）の値が１に等しいと判定した場合、すなわわち、次に再生する音声ブロックが原曲において小節の終わりのビートで終了する場合、処理はステップＳ１４９に進む。
【０２４９】
ステップＳ１４９において、再生パターン制御部２６３は、CoffNextBarにRLBe+1の値を設定し、CoffNext.BeatにBCe.Beatの値を設定する。CoffNextは、BarとBeatをメンバに持つ構造体の変数であり、再生パターン制御部２６３は、リミックスパターンデータに基づいて、CoffNextBarに次に再生する音声ブロックのリミックスライン上の終了小節番号（RLBe）＋1の値を設定し、CoffNext.Beatに次に再生する音声ブロックの終了点ビートカウントのビート番号（BCe.Beat）の値を設定する。これにより、CoffNextに、リミックスライン上で次に再生する音声ブロックの終了点の直後のビートが何小節目の何拍目かを示すデータが設定される。その後、処理はステップＳ１５１に進む。
【０２５０】
一方、ステップＳ１４８において、BCe.Beatの値が１に等しくないと判定された場合、すなわち、次に再生する音声ブロックが原曲において小節の途中で終了する場合、処理はステップＳ１５０に進む。
【０２５１】
ステップＳ１５０において、再生パターン制御部２６３は、CoffNextBarにRLBeの値を設定し、CoffNext.BeatにBCe.Beatの値を設定する。再生パターン制御部２６３は、リミックスパターンデータに基づいて、CoffNextBarに次に再生する音声ブロックのリミックスライン上の終了小節番号（RLBe）の値を設定し、CoffNext.Beatに次に再生する音声ブロックの終了点ビートカウントのビート番号（BCe.Beat）の値を設定する。これにより、CoffNextに、リミックスライン上で次に再生する音声ブロックの終了点の直後のビートが何小節目の何拍目かを示すデータが設定される。
【０２５２】
ステップＳ１５１において、再生パターン制御部２６３は、Fcの値をtrueに設定する。
【０２５３】
その後、処理はステップＳ１３２に戻り、ステップＳ１３２以降の処理が実行される。
【０２５４】
一方、ステップＳ１４２において、Pc.Barの値とPn.Bar-1の値とが等しくないと判定された場合、すなわち、リミックスラインの再生位置が音声ブロックの切換えを行う小節の１つ前の小節に進んでいない場合、処理はステップＳ１５２に進む。
【０２５５】
ステップＳ１５２において、再生パターン制御部２６３は、Fcの値がtrueであるかを判定する。Fcの値がtrueであると判定された場合、すなわち、現在のリミックスラインの再生位置の小節で音声ブロックの切換えが行われる場合、処理はステップＳ１５３に進む。
【０２５６】
ステップＳ１５３において、再生パターン制御部２６３は、ConにConNextの値を設定し、Coff.BarにCoffNext.Barの値を設定し、Coff.BeatにCoffNext.Beatの値を設定する。
【０２５７】
ステップＳ１５４において、再生パターン制御部２６３は、Fcの値をfalseに設定する。
【０２５８】
一方、ステップＳ１５２において、Fcの値がtrueでないと判定された場合、すなわち、現在のリミックスラインの再生位置の小節で音声ブロックの切換えが行われない場合、ステップＳ１５３およびＳ１５４の処理はスキップされ、処理はステップＳ１５５に進む。
【０２５９】
また、ステップＳ１４１において、小節が進んでないと判定された場合、ステップＳ１４１およびＳ１５２乃至Ｓ１５４の処理はスキップされ、処理はステップＳ１５５に進む。
【０２６０】
ステップＳ１５５において、再生パターン制御部２６３は、Pc.Beatの値がConの値と等しいかを判定する。Pc.Beatの値がConの値と等しいと判定された場合、すなわち、現在のリミックスラインの再生位置が次に再生する音声ブロックの開始位置である場合、処理はステップＳ１５６に進む。
【０２６１】
ステップＳ１５６において、再生パターン制御部２６３は、ミュートを解除する。具体的には、再生パターン制御部２６３は、音声信号生成部２８２により生成される音声のミュートの解除をエフェクト処理部２９１に指示する。エフェクト処理部２９１は、音声信号生成部２８２により生成される音声の音量を元の状態に戻す。なお、音声が元々ミュートされていない場合、音量はそのまま変更されない。
【０２６２】
ステップＳ１５７において、再生パターン制御部２６３は、Conの値を-1に設定する。その後、処理はステップＳ１６０に進む。
【０２６３】
一方、ステップＳ１５５において、Pc.Beatの値がConの値と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が次に再生する音声ブロックの開始位置でない場合、処理はステップＳ１５７に進む。
【０２６４】
ステップＳ１５７において、再生パターン制御部２６３は、Pc.Beatの値が1であり、かつ、Conの値が-1と等しくないかを判定する。Pc.Beatの値が1であり、かつ、Conの値が-1と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が、音声ブロックの切換えを行う小節の頭であるが、音声ブロックの切換えが小節の途中で行われる場合、処理はステップＳ１５８に進む。
【０２６５】
ステップＳ１５８において、再生パターン制御部２６３は、ミュートを設定する。具体的には、再生パターン制御部２６３は、音声信号生成部２８２により生成される音声のミュートの設定をエフェクト処理部２９１に指示する。エフェクト処理部２９１は、音声信号生成部２８２により生成される音声の音量をミュートする。
【０２６６】
一方、ステップＳ１５８において、Pc.Beatの値が1でない、または、Conの値が1であると判定された場合、すなわち、現在のリミックスラインの再生位置が小節頭でない、または、次に再生する音声ブロックの開始位置が設定されていない場合、ステップＳ１５９の処理はスキップされ、処理はステップＳ１６０に進む。
【０２６７】
ステップＳ１６０において、再生パターン制御部２６３は、Pc.Barの値がCoff.Barの値と等しく、かつ、Pc.Beatの値がCoff.Beatの値と等しいかを判定する。Pc.Barの値がCoff.Barの値と等しく、かつ、Pc.Beatの値がCoff.Beatの値と等しいと判定された場合、すなわち、現在のリミックスラインの再生位置が再生中の音声ブロックの終了位置の直後のビートである場合、処理はステップＳ１６１に進む。
【０２６８】
ステップＳ１６１において、上述したステップＳ１５９の処理と同様に、ミュートが設定される。
【０２６９】
ステップＳ１６２において、再生パターン制御部２６３は、Coff.Barの値を-1に設定し、Coff.Beatの値を-1に設定する。
【０２７０】
その後、処理はステップＳ１３８に戻り、ステップＳ１３８以降の処理が実行される。
【０２７１】
一方、ステップＳ１６０において、Pc.Barの値がCoff.Barの値と等しくないか、または、Pc.Beatの値がCoff.Beatの値と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が再生中の音声ブロックの終了位置の直後のビートでない場合、ステップＳ１６１およびＳ１６２の処理はスキップされ、処理はステップＳ１３８に戻り、ステップＳ１３８以降の処理が実行される。
【０２７２】
次に、図４１のフローチャートを参照して、図３８乃至図４０のリミックス再生制御処理に対応して、音声信号生成部２８２により実行されるトラック再生処理について説明する
【０２７３】
なお、図４１のフローチャートは、１つのトラックに対して行われる処理について説明するものであり、実際には、図４１に示される処理が、リミックスラインのトラックの数だけ並行して実行される。なお、以下、図４１の説明において、音声信号生成部２８２は、このフローチャートの説明において処理の対象となるトラックに対応する１つの音声信号生成部を指すものとする。
【０２７４】
ステップＳ２０１において、音声信号生成部２８２は、小節が進んだかを判定する。音声信号生成部２８２が、マスタビート生成部２８１からの情報に基づいて、小節が進んだと判定した場合、処理はステップＳ２０２に進む。
【０２７５】
ステップＳ２０２において、音声信号生成部２８２は、次に再生する音声ブロックの情報が設定されているかを判定する。音声信号生成部２８２は、ウエイティングエリアに次に再生する音声ブロックの情報が記憶されている場合、次に再生する音声ブロックの情報が設定されていると判定し、処理はステップＳ２０３に進む。
【０２７６】
ステップＳ２０３において、音声信号生成部２８２は、ウエイティングエリアの情報をカレントエリアに移動する。すなわち、音声信号生成部２８２は、ウエイティングエリアに記憶されている次に再生する音声ブロックの情報、タイムストレッチ値Vt、および、ピッチシフト値Vpを、再生中の音声ブロックの情報を記憶するエリアであるカレントエリアにコピーし、ウエイティングエリアの情報を消去する。
【０２７７】
ステップＳ２０４において、音声信号生成部２８２は、次の音声ブロックの原曲の楽曲データの再生を開始する。具体的には、音声信号生成部２８２は、カレントエリアに設定されている、次に再生する音声ブロックの開始点の直前小節頭を示すサンプル位置（SPBs）から、次の音声ブロックの原曲の楽曲データの再生を開始する。
【０２７８】
また、音声信号生成部２８２は、上述した図３９のステップＳ１４３において設定されたタイムストレッチ値Vt、すなわち、ステップＳ２０３において、カレントエリアに設定されたタイムストレッチ値Vtに基づいて、音声ブロックのテンポをマスタテンポに合わせるために、楽曲データの再生速度をVt倍にして再生する。さらに、音声信号生成部２８２は、上述した図３９のステップＳ１４４において設定されたピッチシフト値Vpすなわち、ステップＳ２０３において、カレントエリアに設定されたピッチシフト値Vpに基づいて、音声ブロックのキーをマスタキーに合わせるために、楽曲データの再生音の周波数をVp倍にして出力する。その後、処理はステップＳ２０７に進む。
【０２７９】
これにより、音声ブロックが小節の頭から始まっているか否かに関わらず、リミックスラインの時間軸における音声ブロックの開始点を含む小節の頭と、楽曲データにおける音声ブロックの開始点を含む小節の頭とが同期して再生される。また、音声ブロックのテンポがマスタテンポに合わせられるので、リミックスライン上のビートの位置と音声ブロックのビートの位置とが同期する。さらに、リミックスラインに設定されている拍子と音声ブロックの拍子とが一致する場合には、リミックスライン上の小節の位置と音声ブロックの小節の位置も同期する。
【０２８０】
一方、ステップＳ２０２において、次に再生する音声ブロックの情報が設定されていないと判定された場合、処理はステップＳ２０５に進む。
【０２８１】
ステップＳ２０５において、音声信号生成部２８２は、音声ブロックの終了点を含む小節を最後まで再生したかを判定する。具体的には、音声信号生成部２８２は、カレントエリアに設定されている、再生中の音声ブロックの開始点の直後小節頭を示すサンプル位置（SPBe）まで、楽曲データの再生が行われている場合、音声ブロックの終了点を含む小節を最後まで再生したと判定し、処理はステップＳ２０６に進む。
【０２８２】
ステップＳ２０６において、音声信号生成部２８２は、楽曲データの再生を停止し、処理はステップＳ２０７に進む。これにより、音声ブロックが小節の途中で終了していても、その小節の最後まで楽曲データの再生が行われる。
【０２８３】
一方、ステップＳ２０５において、音声ブロックの終了点を含む小節が最後まで再生されていないと判定された場合、ステップＳ２０６の処理はスキップされ、処理はステップＳ２０７に進む。
【０２８４】
また、ステップＳ２０１において、小節が進んでいないと判定された場合、ステップＳ２０２乃至Ｓ２０６の処理はスキップされ、処理はステップＳ２０７に進む。
【０２８５】
ステップＳ２０７において、上述した図３８のステップＳ１３９の処理と同様に、再生停止が要求されたかが判定され、再生停止が要求されていないと判定された場合、処理はステップ２０１に戻り、ステップＳ２０７において、再生停止が要求されたと判定されるまで、ステップＳ２０１乃至Ｓ２０７の処理が繰り返し実行される。
【０２８６】
一方、ステップＳ２０７において、再生停止が要求されたと判定された場合、トラック再生処理は終了する。
【０２８７】
このように、図４２のトラック２の音声ブロックＢのように、小節の途中から始まり、小節の途中で終わる音声ブロックについても、リミックスライン上の小節の頭に同期して、音声ブロックの開始点を含む小節の頭Ｂｓから楽曲データの再生が開始され、音声トラックの終了点を含む小節の次の小節の頭Ｂｅまで楽曲データが再生される。また、上述したように、音声ブロックＢのテンポはマスタテンポに合わせられるので、リミックスラインのビートの位置、すなわち、マスタビートのビートの位置と音声ブロックＢのビートの位置とが同期して再生される。
【０２８８】
また、上述した図４０のステップＳ１５５乃至Ｓ１６２の処理により、小節頭Ｂｅから音声ブロックの開始点Ｓｓまでの期間、および、音声ブロックの終了点Ｓｅから小節頭Ｂｅまでの期間は、音声ブロックＢの再生音がミュートされるため、実質的に、開始点Ｓｓから終了点Ｓｅまでの期間が音声ブロックＢの再生期間となる。
【０２８９】
以上のようにして、編集画面を見ながら、簡単な操作を行うことにより、手軽に複数の音素材を組み合わせてリミックス曲を作成することができる。また、所望の音素材に重ねたりつなげたりするのに好適な音素材を簡単に見つけることができるので、迅速に完成度の高いリミックス曲を作成することができる。さらに、従来は、各音素材のテンポ、キーおよびビートの位置を合わせるために、深い音楽知識や、波形データを直接編集する専用のツールおよびソフトウェアなどが必要とされ、さらに多大な時間と手間を要していたが、本発明では、設定や調整などを行わずに、各音素材のテンポ、キー、および、ビートの位置が自動的に合わせられるので、簡単に複数の音素材を組み合わせて、完成度が高く聴いていて自然で違和感のないリミックス曲を作成することができる。
【０２９０】
従って、音楽の知識があまりない一般のユーザも、手軽に自分好みのリミックス曲を創作し、楽しむことができる。また、ユーザは、能動的に音楽を創作することにより、受動的に音楽を聴くだけでは得られない楽しみを感じたり、個人の好みにあった音楽の聴き方を創出したり、個人の顕示欲や創作欲を満たしたりすることができる。さらに、従来のカラオケで歌ったり、高度な技巧が要求される楽器演奏を行ったりする以外に、新たな音楽による自己表現の手段を提供することができる。
【０２９１】
また、実際に楽曲データを編集してリミックス曲を作成した場合、楽曲の著作権の問題により、作成したリミックス曲をアーティスト等に無断で他人に配布することはできない。また、配布先のユーザは、従来の楽曲と同様に、リミックス曲を受動的に聴いて楽しむことしかできない。
【０２９２】
一方、本発明の実施の形態において生成されるリミックスパターンデータは、楽曲の著作権の問題とは無関係に他人に配布することができる。また、配布先のユーザは、各音素材の原曲の楽曲データを入手することで、自分が持つ環境で同じリミックス曲を再現することができ、さらに、取得したリミックスパターンデータを再編集し、自分好みにリミックス曲を編集することができる。なお、たとえ自分一人でリミックス曲を楽しむとしても、上述したように、新たな楽曲データが生成されたり、原曲の楽曲データが編集されたりすることはなく、再生時にリアルタイムでリミックス曲が生成される。
【０２９３】
さらに、リミックスパターンデータをインターネットなどで公開して、他の人と共有したり、複数のユーザで共同して１つの作品を作り上げたり、お互いの作品を評価し合ったりすることで、音楽を軸とした新たなコミュニケーションの形態を創造することができる。従って、リミックスパターンデータは、拡張性や互換性などを考慮して、XML（Extensible Markup Language）などの構造記述言語を用いて記述するようにすることが望ましい。
【０２９４】
また、本発明の実施の形態においては、例えば、指定したアルバム内の楽曲、プレイリストなど所定のフォルダに登録されている楽曲などの指定したグループ内の楽曲を、テンポを変更したり、サビなどの指定した部分だけを抽出してリミックス再生することにより、指定した時間内に収まるように再生するタイマーリミックス再生機能を実現することが可能である。従来、通勤時間など限られた時間内では、グループ内の楽曲を途中まで聴くことしかできなかったが、この機能により、限られた時間内でグループ内の楽曲を効率よく完結した形で楽しむことができる。また、終了時間に近づくにつれて、テンポを徐々に遅くしたり、SE（Sound Effect）を重ねたりして、例えば、そろそろ目的地に着くという雰囲気を演出することも可能である。
【０２９５】
なお、以上の説明では、リミックスラインのトラックの数を複数にする例を示したが、本発明の実施の形態においては、例えば、音素材を重ねずにつなげるだけにリミックス方法を限定することにより、トラックの数を１つとすることも可能である。
【０２９６】
また、連結音素材検索において、指定ブロックの前に連結するのに好適な音素材を検索できるようにすることも可能である。この場合、指定ブロックの原曲において指定ブロックの直前にあるメロディブロックが参照ブロックとして設定される。
【０２９７】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２９８】
図４３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２９９】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０３００】
バス５０４には、さらに、入出力インタフェース５０５が接続されている。入出力インタフェース５０５には、キーボード、マウス、マイクロホンなどよりなる入力部５０６、ディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクや不揮発性のメモリなどよりなる記憶部５０８、ネットワークインタフェースなどよりなる通信部５０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５１１を駆動するドライブ５１０が接続されている。
【０３０１】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記憶部５０８に記憶されているプログラムを、入出力インタフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０３０２】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア５１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０３０３】
そして、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インタフェース５０５を介して、記憶部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記憶部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記憶部５０８に、あらかじめインストールしておくことができる。
【０３０４】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３０５】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【０３０６】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３０７】
【図１】従来のリミックス作業の手順の一例を説明するための図である。
【図２】本発明を適用した音楽編集システムの一実施の形態を示すブロック図である。
【図３】リミックスラインの例を示す図である。
【図４】タイムストレッチについて説明するための図である。
【図５】ピッチシフトについて説明するための図である。
【図６】同期再生制御装置の構成の詳細を示す図である。
【図７】音楽編集システムの機能的構成を示すブロック図である。
【図８】ビート情報、コード情報、および、メロディ情報について説明するをための図である。
【図９】相対キーと絶対キーについて説明するための図である。
【図１０】メタデータのデータ構成の例を示す図である。
【図１１】メタデータの具体例を示す図である。
【図１２】ビート情報の表示例を示す図である。
【図１３】コード情報の表示例を示す図である。
【図１４】メロディ情報の表示例を示す図である。
【図１５】リミックスパターンデータのデータ構成の例を示す図である。
【図１６】リミックス編集処理を説明するためのフローチャートである。
【図１７】編集画面の例を示す図である。
【図１８】リミックスエリアのトラックの表示を拡大した図である。
【図１９】楽曲展開チャートを拡大した図である。
【図２０】楽曲展開チャートにおいてメロディブロックを選択した場合の図である。
【図２１】楽曲展開チャートにおいてコードを選択した場合の図である。
【図２２】メロディブロックの強調表示を説明するための図である。
【図２３】コードの強調表示を説明するための図である。
【図２４】リミックス編集の作業を説明するための図である。
【図２５】音声ブロックに含まれる範囲を変更する操作を説明するための図である。
【図２６】重畳音素材検索を行う場合の操作を説明するための図である。
【図２７】連結音素材検索を行う場合の操作を説明するための図である。
【図２８】音素材検索処理を説明するための図である。
【図２９】スコア算出処理を説明するための図である。
【図３０】長調用の類似度マトリックスの例を示す図である。
【図３１】短調用の類似度マトリックスの例を示す図である。
【図３２】スケールが異なる場合の類似度マトリックスの例を示す図である。
【図３３】検索対象区間の移動を示す図である。
【図３４】音素材検索の検索結果の表示例を示す図である。
【図３５】音素材検索の検索結果の他の表示例を示す図である。
【図３６】リミックスパターンの作成例を示す図である。
【図３７】リミックス再生処理を説明するためのフローチャートである。
【図３８】リミックス再生制御処理を説明するためのフローチャートである。
【図３９】リミックス再生制御処理を説明するためのフローチャートである。
【図４０】リミックス再生制御処理を説明するためのフローチャートである。
【図４１】トラック再生処理を説明するためのフローチャートである。
【図４２】音声ブロックを再生する期間を説明するための図である。
【図４３】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０３０８】
１０１  音楽編集システム，  １１１  CPU，  １１２  同期再生装置，  １１４  U/I表示装置，  １１７  記憶装置，  １１８  ネットワーク通信装置，  １３１  同期再生制御装置，  １３２  音声ミキシング装置，  １４１  楽曲用記憶装置，  １４２  楽曲メタデータ用記憶装置，  １４３  リミックスパターン用記憶装置，  １６１  マスタビート生成装置，  １６２  デコーダ，  １６３  タイムストレッチ／ピッチシフト装置，  １７１  エフェクト処理部，  １７２  音量調整装置，  １７３  音声ミックス装置，  ２１１  ユーザインタフェース処理部，  ２１２  リミックス処理部，  ２１３  同期再生部，  ２１５  表示部，  ２１６  ネットワーク通信部，  ２１７  楽曲メタデータ用記憶部，  ２１８  リミックスパターン用記憶部，  ２１９  楽曲用記憶部，  ２３１  音素材検索部，  ２３２  表示制御部，  ２４１  類似度算出部，  ２４２  スコア算出部，  ２５２  リミックスパターン生成部，  ２５３  リミックス再生制御部，  ２６１  再生速度制御部，  ２６２  音高制御部，  ２６３  再生パターン制御部，  ２６４  トラック生成部，  ２７１  同期再生制御部，  ２７２  音声ミキシング部，  ２８１  マスタビート生成部，  ２８２  音声信号生成部，  ２９１  エフェクト処理部，  ２９２  音声ミックス部
【図１】
2008164932.tif 000005
【図２】
2008164932.tif 000006
【図３】
2008164932.tif 000007
【図４】
2008164932.tif 000008
【図５】
2008164932.tif 000009
【図６】
2008164932.tif 000010
【図７】
2008164932.tif 000011
【図８】
2008164932.tif 000012
【図９】
2008164932.tif 000013
【図１０】
2008164932.tif 000014
【図１１】
2008164932.tif 000015
【図１２】
2008164932.tif 000016
【図１３】
2008164932.tif 000017
【図１４】
2008164932.tif 000018
【図１５】
2008164932.tif 000019
【図１６】
2008164932.tif 000020
【図１７】
2008164932.tif 000021
【図１８】
2008164932.tif 000022
【図１９】
2008164932.tif 000023
【図２０】
2008164932.tif 000024
【図２１】
2008164932.tif 000025
【図２２】
2008164932.tif 000026
【図２３】
2008164932.tif 000027
【図２４】
2008164932.tif 000028
【図２５】
2008164932.tif 000029
【図２６】
2008164932.tif 000030
【図２７】
2008164932.tif 000031
【図２８】
2008164932.tif 000032
【図２９】
2008164932.tif 000033
【図３０】
2008164932.tif 000034
【図３１】
2008164932.tif 000035
【図３２】
2008164932.tif 000036
【図３３】
2008164932.tif 000037
【図３４】
2008164932.tif 000038
【図３５】
2008164932.tif 000039
【図３６】
2008164932.tif 000040
【図３７】
2008164932.tif 000041
【図３８】
2008164932.tif 000042
【図３９】
2008164932.tif 000043
【図４０】
2008164932.tif 000044
【図４１】
2008164932.tif 000045
【図４２】
2008164932.tif 000046
【図４３】
2008164932.tif 000047