説明

音楽編集装置および方法、並びに、プログラム

【課題】簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成する。
【解決手段】再生速度制御部261は、リミックスパターンデータに示されるオリジナルテンポの値に基づいて、音声ブロックのテンポをマスタテンポに合わせるためのタイムストレッチ値を算出し、音声信号生成部282に設定する。音高制御部262は、リミックスパターンデータに示されるキーとマスタキーとの差およびタイムストレッチ値に基づいて、音声ブロックのキーをマスタキーに合わせるためのピッチシフト値を算出し、音声信号生成部282に設定する。再生パターン制御部263は、リミックスパターンデータに示されるリミックスパターンに従って音声ブロックが再生されるように、楽曲データを再生する位置およびタイミングを制御する。本発明は、音楽編集装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音楽編集装置および方法、並びに、プログラムに関し、特に、複数の音素材を組み合わせてリミックス再生する音楽編集装置および方法、並びに、プログラムに関する。
【背景技術】
【0002】
近年、フラッシュメモリやハードディスクなどのメモリに音楽データを記憶し再生するメモリ型のオーディオ装置が普及し、ユーザは大量の音楽データを持ち歩くことが日常的になった。メモリ型オーディオ装置では、記録メディアを交換することなく大量の曲を連続して再生することができるので、従来のようにアルバム単位で曲を聴くだけではなく、メモリに記憶されている曲をアルバムをまたいでシャッフルして聴いたり、お気に入りの曲だけをプレイリストに登録して聴いたりするなど、手軽に自分の聴きたい曲を聴きたい順番で楽しむことができるようになった。
【0003】
しかし、従来のメモリ型オーディオ装置では、各楽曲を楽曲単位でそのまま再生することしかできず、与えられた音楽コンテンツをそのまま楽しむことしかできない。
【0004】
一方、近年、ディスクジョッキー(DJ)などが、楽曲の全部または一部からなる音素材を他の音素材とつなぎ合わせて、あたかも一つの楽曲を紡ぐように構成し聴かせるリミックス音楽を楽しむ人が増えている。最近では、リミックス音楽に対する需要の高まりとともに、リミックス音楽専用のレーベル会社も存在する。また、近年、リミックスの一手法として、マッシュアップと呼ばれる、複数の音素材を混ぜ合わせることにより、全体として別の曲を再構成する手法が台頭してきている。
【0005】
そこで、最近、パーソナルコンピュータなどを用いて、一般のユーザが楽曲のリミックスを行うことができるようにする技術の開発が進んでいる(例えば、特許文献1参照)。
【0006】
【特許文献1】特開2006−84748号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
図1は、パーソナルコンピュータを用いてリミックス作業を行う場合の手順の一例を示している。まず、所定のサンプリング周波数でサンプリングされたデジタルの楽曲データ11からビートを抽出し、楽曲データ11の所望の範囲を音素材として切り取り、組み合わせる。そして、実際に耳で音を確認しながら、複数の音素材のテンポを合わせるために各音素材の再生速度の調整(タイムストレッチ(時間的伸縮))を行い、キーを合わせるために各音素材の音の高さの調整(ピッチシフト)を行い再生する。
【0008】
このように、リミックス作業には、深い音楽知識が要求され、また、多大な時間と手間を要する。また、作業の難易度が高いため、聴いていて不自然で違和感のある完成度の低い楽曲になることも多い。
【0009】
本発明は、このような状況に鑑みてなされたものであり、簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成できるようにするものである。
【課題を解決するための手段】
【0010】
本発明の一側面の音楽編集装置は、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置において、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段と、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段と、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段とが設けられている。
【0011】
各楽曲のメタデータには、対応する楽曲データにおける前記楽曲の小節の位置を示すビート情報を含ませるようにすることができ、前記リミックスパターンデータには、リミックス再生時の時間軸上において、それぞれの前記音素材が配置されている小節およびビートの位置を示す情報を含ませるようにすることができ、前記再生パターン制御手段には、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭と前記楽曲データにおける前記音素材の開始点を含む小節の頭とが同期するように前記楽曲データを再生する位置およびタイミングを制御させることができる。
【0012】
前記ビート情報には、前記楽曲データにおける前記楽曲のビートの位置を示す情報をさらに含ませるようにすることができ、前記再生パターン制御部には、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭から前記音素材の開始点のビートまで前記楽曲データの再生音の音量をミュートさせることができる。
【0013】
各楽曲のメタデータには、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含ませるようにすることができ、前記コード情報に基づいて、2つの前記音素材のコード進行の類似度を算出する類似度算出手段をさらに設けることができる。
【0014】
前記コード情報に示される各コードは、前記音素材のスケールの主音に対するそのコードの根音の相対位置に基づいて表されるようにすることができる。
【0015】
前記メタデータには、前記楽曲データにおける前記楽曲のビートの位置を示すビート情報をさらに含ませるようにすることができ、前記類似度算出手段には、各コード間の類似度を定義した類似度マトリックスに基づいて、2つの前記音素材のコードをビート単位で比較することにより前記類似度を算出させることができる。
【0016】
前記類似度マトリックスにおいては、2つのコードが一致する場合または代理コードの関係にある場合に、2つのコードが一致せずかつ代理コードの関係でない場合と比較して、コード間の類似度が高く設定されるようにすることができる。
【0017】
前記類似度算出手段には、2つの前記音素材がともに長調または短調である場合、前記音素材のスケールの主音に対する各コードの根音の相対位置に基づいて、前記類似度を算出し、2つの前記音素材のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、前記類似度を算出させることができる。
【0018】
本発明の一側面の音楽編集方法、または、プログラムは、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法、または、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムにおいて、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御するステップを含む。
【0019】
本発明の一側面においては、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングが制御され、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度が制御され、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さが制御される。
【発明の効果】
【0020】
本発明の一側面によれば、各音素材のテンポおよびキーが合わせられる。また、本発明の一側面によれば、簡単に複数の音素材を組み合わせて完成度の高い楽曲を作成することができる。
【発明を実施するための最良の形態】
【0021】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0022】
本発明の一側面の音楽編集装置(例えば、図2の音楽編集システム101)は、第1に、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置であって、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段(例えば、図7の再生パターン制御部263)と、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段(例えば、図7の再生速度制御部261)と、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段(例えば、図7の音高制御部262)とを備える。
【0023】
本発明の一側面の音楽編集装置(例えば、図2の音楽編集システム101)は、第2に、各楽曲のメタデータは、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含み、前記コード情報に基づいて、2つの前記音素材のコード進行の類似度を算出する類似度算出手段(例えば、図7の類似度算出部241)をさらに備える。
【0024】
本発明の一側面の音楽編集装置(例えば、図2の音楽編集システム101)は、第3に、前記類似度に基づいて、指定された前記音素材に重ねて再生するのに好適な前記音素材、または、つなげて再生するのに好適な前記音素材を検索する検索手段(例えば、図7のスコア算出部242)をさらに備える。
【0025】
本発明の一側面の音楽編集方法、または、プログラムは、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法、または、楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムであって、前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し(例えば、図37のステップS132乃至S134およびS137乃至S142、図39のステップS145およびS151、並びに、図40のS155乃至S162)、前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し(例えば、図38のステップS135および図39のステップS143)、前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する(例えば、図38のステップS136および図39のステップS144)を含む。
【0026】
以下、図を参照して、本発明の実施の形態について説明する。
【0027】
図2は、本発明を適用した音楽編集システム101の一実施の形態を示すブロック図である。
【0028】
音楽編集システム101は、複数の音素材を組み合わせて1つの楽曲(以下、リミックス曲と称する)を生成するためのパターン(以下、リミックスパターンと称する)を作成するリミックス編集、および、リミックスパターンに基づいて音素材を組み合わせて再生するリミックス再生を行う装置である。
【0029】
リミックス編集は、複数のトラックにより構成されるリミックスラインの各トラックに音素材を配置することにより行われ、リミックス再生は、各トラックを同じ時間軸に沿って同時に再生し、各トラックの音声を合成することにより行われる。図3は、トラック1乃至トラックjのj本のトラックにより構成されるリミックスラインの例を示している。図3において、横軸は時間軸、すなわち、リミックス再生時の時間軸を示しており、同じトラックに配置された音素材は左から順に再生され、異なるトラックに時間軸方向で同じ位置に配置された複数の音素材は同時に再生される。
【0030】
上述したリミックスパターンは、リミックスライン上に配置されている音素材のパターン、すなわち、時間軸方向およびトラック方向の音素材の組み合わせ、換言すれば、音素材を重ねたり、つなげたりするパターンを示す。さらに換言すれば、リミックスパターンは、各音素材を再生する順序およびタイミングを示す。
【0031】
なお、以下、リミックスラインの各トラックに配置された音素材のことを、特に音声ブロックとも称する。図3においては、ブロックBLK1−1乃至BLKj−kjが音声ブロックに相当する。
【0032】
また、以下、1つの完成された楽曲だけでなく、全部または一部が音素材として使用される効果音や短いフレーズだけを録音した素材(例えば、ループ素材)なども楽曲と呼ぶものとする。
【0033】
また、音楽編集システム101は、リミックス再生を行う場合に、図4に示されるように、テンポが異なる楽曲A乃至Cから抽出された音素材のテンポをリミックスラインの時間軸上のテンポ(以下、マスタテンポと称する)に合わせるように、各音素材の再生速度の調整、すなわち、タイムストレッチを行う。ただし、各音素材のテンポを揃えて再生しても、各音素材のコード進行の組み合わせによっては、不協和音となり、聴感上心地よく感じられない場合がある。そこで、音楽編集システム101は、図5に示されるように、タイムストレッチに加えて、キー(調)が異なる複数の音素材のキーを、ユーザなどにより設定されたキー(以下、マスタキーと称する)に合わせるように、音の高さの調整、すなわち、ピッチシフトを行う。
【0034】
このようにして、音楽編集システム101は、複数の音素材のビートおよびキーが揃えられ、元々1つの楽曲であったかのように聴感上自然で違和感のないリミックス曲を生成する。
【0035】
図2に戻り、音楽編集システム101は、CPU(Central Processing Unit)111、同期再生装置112、ユーザ操作インタフェース(I/F)装置113、ユーザインタフェース(U/I)表示装置114、ROM(Read Only Memory)115、RAM(Read Only Memory)116、記憶装置117、および、ネットワーク通信装置118を含むように構成される。CPU111、同期再生装置112、ユーザ操作I/F装置113、U/I表示装置114、ROM115、RAM116、記憶装置117、および、ネットワーク通信装置118は、バス119を介して、相互に接続されている。
【0036】
CPU111は、所定のプログラムを実行することにより、ユーザ操作I/F装置113を介して入力されるユーザの指令などに基づいて、音楽編集システム101の各部の処理を制御する。
【0037】
同期再生装置112は、CPU111の制御の基に、楽曲用記憶装置141に記憶されている楽曲データの再生処理を行う。同期再生装置112は、同期再生制御装置131、音声ミキシング装置132、デジタル/アナログ変換装置(D/A)133、および、音声出力装置を含む。
【0038】
同期再生制御装置131は、CPU111の制御の基に、リミックスラインの各トラックに対応して、楽曲用記憶装置141に記憶されている楽曲データを並行して再生し、複数系統(トラック)の音声信号を音声ミキシング装置132に供給する。また、同期再生制御装置131は、リミックスラインの時間軸上における楽曲データの再生位置を示す情報をCPU111に供給する。
【0039】
音声ミキシング装置132は、CPU111の制御の基に、同期再生制御装置131からの複数系統の音声信号を合成し、D/A133に供給する。
【0040】
D/A133は、音声ミキシング装置132から供給されるデジタルの音声信号をアナログの音声信号に変換し、音声出力装置134に供給する。
【0041】
音声出力装置134は、D/A133からのアナログ音声信号を増幅し、スピーカやヘッドホンなどの出力装置に出力する。
【0042】
ユーザ操作I/F装置113は、例えば、キー、ボタン、マウス、キーボードなどにより構成され、ユーザからの処理の指令を受け付け、その指令を示す情報を音楽編集システム101の各部に供給する。
【0043】
U/I表示装置114は、例えば、LCD(Liquid Crystal Display)、LED(Light Emitting Diode)などの表示装置により構成される。U/I表示装置114は、CPU111の制御の基に、例えば、リミックス編集時の編集画面、リミックス再生時の再生画面など、音楽編集システム101の操作状況、処理状況などの表示を行う。
【0044】
ROM115は、CPU111により実行される制御プログラムや各種のデータなどを格納している。
【0045】
RAM116は、CPU111のワークエリアなどに使用される。
【0046】
記憶装置117は、楽曲用記憶装置141、楽曲メタデータ用記憶装置142及びリミックスパターン用記憶装置143を含むように構成される。
【0047】
楽曲用記憶装置141は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置または記録装置により構成され、各楽曲の楽曲データが記憶される。例えば、楽曲データは、所定のサンプリング周波数でサンプリングされたPCM(Pulse Code Modulation)方式のデジタルの音声データとされ、必要に応じて、所定の方式に基づいて圧縮された状態で記憶される。
【0048】
楽曲メタデータ用記憶装置142は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置または記録装置により構成され、各楽曲のメタデータが記憶される。なお、メタデータの詳細については、図8乃至図14を参照して後述する。
【0049】
なお、同じ楽曲に対応する楽曲データとメタデータとは、例えば、各楽曲を一意に識別する楽曲IDなどを用いて、相互に関連づけられる。または、楽曲データがMP3(MPEG Audio Layer-3)などのフォーマットである場合、ID3タグとしてフリンジデータ(メタデータ)を同一ファイルに格納するようにしてもよい。
【0050】
リミックスパターン用記憶装置143は、例えば、フラッシュメモリ、ハードディスクなどの記憶装置により構成され、リミックスラインにおける音素材の組み合わせおよび各音素材に関する情報を含むリミックスパターンデータが記録されたリミックスパターンファイルが記憶される。なお、リミックスパターンデータの詳細については、図15を参照して後述する。
【0051】
なお、楽曲用記憶装置141、楽曲メタデータ用記憶装置142、および、リミックスパターン用記憶装置143をそれぞれ異なる記憶装置により構成するようにしてもよいし、3種類の記憶装置のうちに2つまたは全てを1つの記憶装置により構成するようにしてもよい。
【0052】
ネットワーク通信装置118は、インターネット102などのネットワークを介して、他の装置と通信を行い、各種のデータの送受信を行う。例えば、ネットワーク通信装置118は、インターネット102に接続されているサーバや他のユーザのシステムから、楽曲データ、楽曲データのメタデータ、リミックスパターンファイルをダウンロードしたり、インターネット102に接続されているサーバや他のシステムに、音楽編集システム101を用いてユーザが作成したリミックスパターンファイルを送信したりする。
【0053】
図6は、同期再生装置112の同期再生制御装置131および音声ミキシング装置の詳細な構成を示すブロック図である。
【0054】
同期再生制御装置131は、マスタビート生成装置161、デコーダ162−1乃至162−j、および、タイムストレッチ/ピッチシフト装置163−1乃至163−jを含むように構成される。さらに、音声ミキシング装置132は、エフェクト処理部171−1乃至171−j、音量調整装置172−1乃至172−j、および、音声ミックス装置173を含むように構成される。
【0055】
デコーダ162−1乃至162−j、タイムストレッチ/ピッチシフト装置163−1乃至163−j、エフェクト処理部171−1乃至171−j、および、音量調整装置172−1乃至172−jは、それぞれ1つずつが組になって、1つのトラックに対応する処理を行う。例えば、デコーダ162−1、タイムストレッチ/ピッチシフト装置163−1、エフェクト処理部171−1、音量調整装置172−1が1組になって、1つのトラックに対応する処理を行う。従って、図6の同期再生装置112は、j系統(トラック)の楽曲データ(音素材)を同時に再生し、合成することが可能な構成となる。
【0056】
なお、以下、デコーダ162−1乃至162−jを個々に区別する必要がない場合、単に、デコーダ162と称し、タイムストレッチ/ピッチシフト装置163−1乃至163−jを個々に区別する必要がない場合、単に、タイムストレッチ/ピッチシフト装置163と称し、エフェクト処理部171−1乃至171−jを個々に区別する必要がない場合、単に、エフェクト処理部171と称し、音量調整装置172−1乃至172−jを個々に区別する必要がない場合、単に、音量調整装置172と称する。
【0057】
マスタビート生成装置161は、ユーザなどにより設定されたマスタテンポに基づくクロック信号であるマスタビートを生成し、同期再生装置112の各部に供給する。また、マスタビート生成装置161は、ユーザなどにより設定されたリミックスラインの拍子に基づいて、リミックスラインにおける小節の頭のタイミングに合わせたクロック信号であるバー信号を生成し、同期再生装置112の各部に供給する。例えば、リミックスラインの拍子が4拍子に設定されている場合、マスタビート生成装置161は、マスタビートを4クロック(4ビート)出力するたびに、バー信号を1つ出力する。また、マスタビート生成装置161は、現在のリミックスラインの再生位置が何小節目の何拍目であるかを示す情報をCPU111に供給する。
【0058】
デコーダ162およびタイムストレッチ/ピッチシフト装置163は、それぞれ1つずつが組になって、1つの音声信号生成部を構成し、CPU111の制御の基に、各楽曲のメタデータを用いて、マスタビートおよびバー信号により示される、リミックスライン上の時間軸における小節およびビートの位置に合わせて、楽曲用記憶装置141に記憶されている楽曲データの再生を行う。
【0059】
デコーダ162−1乃至162−jは、CPU111の制御の基に、それぞれ個別に、楽曲用記憶装置141から楽曲データを取得し、各楽曲のメタデータを用いて、MP3(MPEG Audio Layer-3)やATRAC(Adaptive Transform Acoustic Coding)など所定の方式で圧縮されている楽曲データをデコードし、PCM方式の音声信号として、タイムストレッチ/ピッチシフト装置163−1乃至163−jに供給する。
【0060】
タイムストレッチ/ピッチシフト装置163−1乃至163−jは、CPU111の制御の基に、それぞれ個別に、デコーダ162−1乃至162−jからの音声信号に対してタイムストレッチおよびピッチシフトの処理を施して、音声信号の再生速度および音の高さを変化させ、エフェクト処理部171−1乃至171−jに供給する。
【0061】
エフェクト処理部171−1乃至171−jは、CPU111の制御の基に、それぞれ個別に、タイムストレッチ/ピッチシフト装置163−1乃至163−jからの音声信号に対して、ローパスフィルタ、ハイパスフィルター、バンドパスフィルタ、ボーカルキャンセラ、リバーブ、ディレイ、ディストーション、マキシマイザなどのエフェクト処理を施し、音量調整装置172−1乃至172−jに供給する。
【0062】
音量調整装置172は、CPU111の制御の基に、それぞれ個別に、エフェクト処理部171−1乃至171−jからの音声信号の音量を個別に調整し、音声ミックス装置173に供給する。
【0063】
音声ミックス装置173は、音量調整装置172−1乃至172−jからの音声信号を合成し、D/A133に供給する。
【0064】
なお、同期再生装置112の一部または全部の機能をソフトウェアにより実現するようにしてもよい。
【0065】
図7は、音楽編集システム101の機能的構成の例を示すブロック図である。機能的観点から見て、音楽編集システム101は、ユーザインタフェース処理部211、リミックス処理部212、同期再生部213、操作部214、表示部215、ネットワーク通信部216、楽曲メタデータ用記憶部217、リミックスパターン用記憶部218、および、楽曲用記憶部219を含むように構成される。
【0066】
ユーザインタフェース処理部211は、CPU111が所定の制御プログラムを実行することにより実現され、音楽編集システム101のユーザインタフェースに関わる処理を行う。ユーザインタフェース処理部211は、音素材検索部231および表示制御部232を含むように構成される。
【0067】
音素材検索部231は、図28および図29などを参照して後述するように、指定された音素材に重ねて再生するのに好適な音素材、または、指定された音素材につなげて再生するのに好適な音素材を検索する。音素材検索部231は、類似度算出部241およびスコア算出部242を含むように構成される。
【0068】
類似度算出部241は、図28および図29などを参照して後述するように、各楽曲のメタデータに基づいて、2つの音素材のコード進行の類似度を算出し、算出した類似度を示す情報をスコア算出部242に供給する。
【0069】
スコア算出部242は、図28および図29などを参照して後述するように、類似度算出部241により算出された類似度に基づいて、指定された音素材に重ねて再生するのに好適な音素材、または、指定された音素材につなげて再生するのに好適な音素材を検索し、検索した音素材について、適合する度合いを示すスコアを算出する。スコア算出部242は、検索した音素材、および、スコアを示す情報を楽曲メタデータ用記憶部217に記憶させる。
【0070】
リミックス処理部212は、CPU111が所定の制御プログラムを実行することにより実現され、リミックス編集およびリミックス再生に関わる処理を行う。リミックス処理部212は、リミックスパターン読込み部251、リミックスパターン生成部252、および、リミックス再生制御部253を含むように構成される。
【0071】
リミックスパターン読込み部251は、リミックスパターン用記憶部218からリミックスパターンファイルを読み込み、読み込んだリミックスパターンデータを所定のフォーマットに成形してRAM116に展開する。
【0072】
リミックスパターン生成部252は、図16などを参照して後述するように、ユーザがリミックス編集を行うことにより生成したリミックスパターン、および、各楽曲のメタデータに基づいて、リミックスパターンデータを生成し、リミックスパターン用記憶部218に記憶させる。
【0073】
リミックス再生制御部253は、各楽曲のメタデータおよびリミックスパターンデータに基づいて、リミックスパターンデータに示されるリミックスパターンに基づいてリミックス再生が行われるように同期再生部213をリアルタイムに制御する。リミックス再生制御部253は、再生速度制御部261、音高制御部262、再生パターン制御部263、および、トラック生成部264を含む。
【0074】
再生速度制御部261は、図38乃至図40などを参照して後述するように、リミックスパターンデータに基づいて、各音素材の抽出元のオリジナルの楽曲(以下、原曲と称する)におけるテンポであるオリジナルテンポに基づいて、音素材のテンポをマスタテンポに合わせるように、音声信号生成部282−1乃至282−jによる音素材の再生速度を制御する。
【0075】
音高制御部262は、図38乃至図40などを参照して後述するように、リミックスパターンデータに基づいて、各音素材の原曲におけるキーであるオリジナルキーとマスタキーとの差、および、再生速度制御部261による再生速度の制御量に基づいて、音素材のキーをマスタキーに合わせるように、音声信号生成部282−1乃至282−jによる音素材の再生音の高さを制御する。
【0076】
再生パターン制御部263は、図37乃至図40などを参照して後述するように、各楽曲のメタデータおよびリミックスパターンデータに基づいて、リミックスパターンデータに示されるリミックスパターンに従って各音素材が再生されるように、音声信号生成部282−1乃至282−jに楽曲データおよびメタデータを供給し、音声信号生成部282−1乃至282−jによる各音素材の原曲の楽曲データの再生位置および再生するタイミングを制御する。
【0077】
トラック生成部264は、リミックス再生において用いられるトラックの数だけ、音声信号生成部282を生成する。具体的には、例えば、トラック生成部264は、リミックス再生において用いられるトラックの数だけ、デコーダ162およびタイムストレッチ/ピッチシフト装置163の処理を開始させる。
【0078】
同期再生部213は、図2の同期再生装置112により実現され、同期再生制御部271、音声ミキシング部272、および、音声出力部273を含むように構成される。同期再生制御部271は、図2の同期再生制御装置131により実現され、マスタビート生成部281、および、音声信号生成部282−1乃至282−jを含むように構成される。マスタビート生成部281は、図6のマスタビート生成装置161により実現され、音声信号生成部282−1乃至282−jは、それぞれ、図6のデコーダ162−1乃至162−jおよびタイムストレッチ/ピッチシフト装置163−1乃至163−jにより実現される。音声ミキシング部272は、図2の音声ミキシング装置132により実現され、エフェクト処理部291および音声ミックス部292を含むように構成される。エフェクト処理部291は、図6のエフェクト処理部171−1乃至171−jおよび音量調整装置172−1乃至172−jにより実現され、音声ミックス部292は、図6の音声ミックス装置173により実現される。音声出力部273は、図2のD/A133および音声出力装置134により実現される。
【0079】
操作部214、表示部215、および、ネットワーク通信部216、楽曲メタデータ用記憶部217、リミックスパターン用記憶部218、および、楽曲用記憶部219は、それぞれ、図2のユーザ操作I/F装置113、U/I表示装置114、ネットワーク通信装置118、楽曲メタデータ用記憶装置142、リミックスパターン用記憶装置143、および、楽曲用記憶装置141により実現される。
【0080】
なお、以下、音楽編集システム101の処理について説明する場合、図7に示されるブロック図に基づいて説明する。
【0081】
次に、図8乃至図14を参照して、メタデータの詳細について説明する。メタデータは、楽曲の特徴、楽曲データと楽曲の構成の対応関係などを示すデータであり、ビート情報、コード情報、および、メロディ情報を含む。ここで、図8を参照して、ビート情報、コード情報、および、メロディ情報について説明する。なお、図8の下部の波形は、楽曲データの波形を示しており、全サンプルで示される範囲のうち、有効サンプルで示される範囲が、実際に楽曲のデータが記録されている範囲である。
【0082】
ビート情報は、楽曲データにおける小節およびビート(拍)の位置を示す。より具体的には、ビート情報は、楽曲の各小節の頭のビート(以下、小節頭とも称する)、および、その他の各小節の途中のビートの楽曲データにおけるサンプル位置などを示す。図8において、楽曲データにおける小節頭の位置は、「ビート情報」の文字の左側に示される縦の長い線により示され、小節頭以外のビートの位置は縦の短い線により示されている。なお、図8は、4拍子の楽曲の例を示しており、4ビートごとに小節頭が現れている。
【0083】
このビート情報により、小節頭および各ビートの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間を小節またはビート単位で指定することができる。また、ビート情報を用いて、以下の式(1)に基づいて、楽曲データの任意の区間内の平均のテンポである平均BPM(Beat Per Minute)を求めることができる。
【0084】
平均BPM=Bn×Fs÷Sn×60 ・・・(1)
【0085】
なお、式(1)において、Bnは区間内のビート数を示し、Fsは楽曲データのサンプリングレートを示し、Snは区間内のサンプル数を示す。
【0086】
コード情報は、楽曲のコード進行を示すとともに、楽曲データにおける各コードの位置を示す。より具体的には、コード情報は、図8に示されるように、楽曲に現れるコードの種類、および、各コードの楽曲データにおけるサンプル位置などを示す。このコード情報により、各コードの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間をコード単位で指定することができる。また、コード情報とビート情報に基づいて、楽曲における各コードの位置をビート単位で特定することができる。
【0087】
なお、コード情報に示されるコードの種類は、コードネームではなく、楽曲のスケールの主音に対するそのコードの根音の相対位置に基づいて表される。具体的には、各コードは、コードネームの根音の音名の部分が、スケールの主音とコードの根音との相対位置である音度に基づいて、例えば、I、I♯(もしくはII♭)、II、II♯(もしくはIII♭)、III、III♯(もしくはIV♭)、IV、IV♯(もしくはV♭)、V、V♯(もしくはVI♭)、VI、VI♯(もしくはVII♭)、VII、VII♯(もしくはI♭)の数字(と、必要に応じて♯または♭)に置き換えられて表現される。
【0088】
例えば、コードネームによりコードの種類を表現した場合、図9の上側の主音(keynote)がCであるハ長調におけるC、F、G、Amのコード進行と、下側の主音がEであるホ長調におけるE、A、B、C♯mのコード進行が、キーを合わせた場合に類似しているか否かが分かりにくい。
【0089】
一方、スケールの主音とコードの根音との相対位置に基づいてコードの種類を表現した場合、2つのコード進行は、同じI、IV、V、VImと表される。従って、上側の各コードの音程を半音4つ分ずつ上げてホ長調に移調した場合、または、下側の各コードの音程を半音4つ分ずつ下げてハ長調に移調した場合に、コード進行が一致することが分かりやすくなる。換言すれば、調性が異なる音素材の間のコード進行の関係が明確になり、キーを変化させた場合に、2つの音素材のコード進行が類似するか否かが明確になる。従って、コンピュータなどの処理において、キーを変化させた場合の2つの音素材の間のコード進行の類似度が求めやすくなる。
【0090】
なお、以下、コードネームで表現されたコードと、スケールの主音に対するコードの根音の相対位置に基づいて表現されたコードとを区別するために、前者を絶対コード、後者を相対コードとも称する。また、以下、コードの種類を絶対コードで表現することを絶対表現すると称し、相対コードで表現することを相対表現するという。さらに、以下、相対コードにおいて、スケールの主音に対するコードの根音の相対位置を示す、数字と必要に応じて♯または♭が付加される値を、度数と称する。
【0091】
メロディ情報は、楽曲のメロディ展開を示すとともに、楽曲を構成する各メロディの要素(以下、メロディブロックと称する)の楽曲データにおける位置を示す。より具体的には、メロディ情報は、図8に示されるように、イントロ(Intro)、Aメロディ(以下、Aメロと称する)(Verse A)、Bメロディ(以下、Bメロと称する)(Verse B)、サビ(Chorus)、間奏(Interlude)、ソロ(Solo)、エンディング(Outro)などの楽曲に現れるメロディブロックの種類、および、各メロディブロックの楽曲データにおけるサンプル位置などを示す。このメロディ情報により、各メロディブロックの楽曲データにおける位置をサンプル単位で特定することができ、楽曲データの任意の区間をメロディブロック単位で指定することができる。また、メロディ情報とビート情報に基づいて、楽曲における各メロディブロックの位置をビート単位で特定することができる。
【0092】
図10は、メタデータのデータ構造の一例を示し、図11は、メタデータの具体的な例を示している。図11に示される例において、メタデータは、小節/ビート番号、属性、および、サンプル位置を含む。
【0093】
小節/ビート番号には、楽曲におけるビートの位置を示す値が設定される。例えば、n小節目のm拍目のビートの場合、小節/ビート番号には、nとmの値が設定される。例えば、図11に示される例において、1行目が1小節目の1拍目のデータとなり、いちばん下の行が2小節目の2拍目のデータとなる。なお、nは1以上の整数とされ、mは、k拍子の楽曲である場合、1乃至kの範囲内の整数とされる。
【0094】
属性には、ビート情報、メロディ情報、コード情報などの属性の種類と、その種類の属性に関する詳細なデータが設定される。例えば、属性がコード情報を示す場合、属性の種類がコード情報であることを示す数値、および、サンプル位置に示される位置におけるコードの種類を示す数値が設定される。
【0095】
サンプル位置には、そのメタデータが対応する楽曲データのサンプル単位の位置が設定される。
【0096】
なお、メロディ情報については、各メロディブロックの開始位置のみがメタデータに登録され、コード情報については、各コードの開始位置のみがメタデータに登録される。なお、各ビートに対するメロディブロックの種類およびコードの種類に関する情報をメタデータに登録するようにしてもよい。
【0097】
また、以上に説明した情報以外に、サンプリング周波数、量子化ビット数など時間軸で変化しない情報が楽曲全体の情報としてメタデータに登録される。さらに、楽曲のキーおよびスケールの情報もまた、メタデータに登録される。なお、キーおよびスケール、または、拍子が楽曲の途中で変わる場合には、変化するサンプル位置、および、キーおよびスケール、または、拍子の種類を示す情報がメタデータに登録される。
【0098】
図12乃至図14は、メタデータの表示例を示した図である。
【0099】
図12はビート情報を表示した場合の例を示しており、各小節頭の位置を示す線BH1乃至BH4、および、小節頭以外のビートの位置を示す線BM1乃至BM12が、楽曲データの波形WV11に重畳されて表示されている。また、小節頭の位置と他のビートの位置とを区別できるように、線BH1乃至BH4の方が、線BM1乃至BM12より長くなっている。
【0100】
図13はコード情報を表示した場合の例を示しており、各コードの開始位置を示すフラグCD1乃至CD8が、楽曲データの波形WV21に重畳されて表示されている。各フラグの上側には、各コードの相対コードの種類が表示され、下側には、キー、スケールおよび相対コードの度数から求めた各コードの絶対コードの種類が表示される。
【0101】
図14はメロディ情報を表示した場合の例を示しており、各メロディブロックの開始位置を示すフラグML1乃至ML4が、楽曲データの波形WV31に重畳されて表示されている。各フラグには、メロディブロックの種類を示す文字または記号が表示される。フラグML1はAメロの開始位置を示し、フラグML2はBメロの開始位置を示し、フラグML3およびML4はサビの開始位置を示す。
【0102】
次に、図15を参照して、リミックスパターンデータの詳細について説明する。
【0103】
図15は、リミックスパターンデータのデータ構造の一例を示している。リミックスパターンデータは、使用するトラックの数を示すトラック数、および、トラック数分のトラックデータを含む。また、各トラックデータは、各トラックに含まれる音声ブロックの数を示すブロック数、および、ブロック数分のブロックデータを含む。さらに、各ブロックデータは、楽曲ID(IDs)、音声ブロックのオリジナルテンポ(BPMo)、音声ブロックの拍子(Bt)、音声ブロックのキーとスケール(ks)、音声ブロックの楽曲データにおける開始/終了サンプル位置(SPs/SPe)、開始点ビートカウント(BCs)、終了点ビートカウント(BCe)、開始点の直前小節頭を示すサンプル位置(SPBs)、開始点の直後小節頭を示すサンプル位置(SPBe)、リミックスライン上の開始サンプル位置(RLSs)、リミックスライン上の終了サンプル位置(RLSe)、リミックスライン上の開始小節番号(RLBs)、および、リミックスライン上の終了小節番号(RLBe)を含む。
【0104】
IDsは、音声ブロックの抽出元の楽曲、すなわち、原曲を一意に特定するためのIDである。
【0105】
BPMoは、原曲における音声ブロック内の平均のBPM(Beat Per Minute)を示す。
【0106】
Btは、原曲における音声ブロック内の拍子を示す。例えば、4/4(4分の4拍子)や3/4(4分の3拍子)などの情報が設定される。
【0107】
ksは、原曲における音声ブロック内のキーおよびスケールを示す。例えば、ハ長調、イ短調などの情報が設定される。この情報を用いて、音声ブロック内の相対コードを絶対コードに変換することができる。
【0108】
SPsは、原曲の楽曲データにおける音声ブロックの開始点のサンプル位置を示し、SPeは、原曲の楽曲データにおける音声ブロックの終了点のサンプル位置を示す。
【0109】
BCsは、原曲における音声ブロックの開始点のビートの位置を示す。すなわち、BCsは、音声ブロックが原曲の何小節目の何拍目から始まるかを示す。BCsは、例えば、BarとBeatをメンバに持つ構造体の変数とされ、BCs.Barには、原曲における音声ブロックの開始点の小節番号、BCs.Beatには、原曲における音声ブロックの開始点のビート番号が設定される。
【0110】
BCeは、原曲における音声ブロックの終了点の直後のビートの位置を示す。すなわち、BCeは、次の音声ブロックが原曲の何小節目の何拍目から始まるかを示す。従って、BCsにより示されるビートからBCeにより示されるビートの直前のビートまでが、この音声ブロックの原曲における範囲となる。BCeは、例えば、BarとBeatをメンバに持つ構造体の変数とされ、BCe.Barには、原曲における音声ブロックの終了点の直後のビートの小節番号、BCe.Beatには、原曲における音声ブロックの終了点の直後のビートのビート番号が設定される。
【0111】
SPBsは、原曲において音声ブロックの開始点を含む小節の頭の、楽曲データにおけるサンプル位置を示す。例えば、BCs.Barの値が1に設定されている場合、すなわち、音声ブロックが小節の頭から始まる場合、SPBsには、BCs.BarおよびBCs.Beatで示されるビートのサンプル位置が設定され、BCs.Barの値が2に設定されている場合、すなわち、音声ブロックが小節の2拍目始まる場合、SPBsには、BCs.Barで示される小節の1拍目のビートのサンプル位置が設定される。
【0112】
SPBeは、原曲において音声ブロックの終了点の直後に位置する小節の頭の、楽曲データにおけるサンプル位置を示す。すなわち、音声ブロックの終了点を含む小節の次の小節の頭のサンプル位置が設定される。
【0113】
RLSsは、リミックスライン上において音声ブロックが開始されるサンプルの位置を示す。なお、RLSsには、リミックスライン上の各音声ブロックをマスタテンポに合わせてタイムストレッチした後のサンプル位置が設定される。
【0114】
RLSeは、リミックスライン上において音声ブロックが終了するサンプルの位置を示す。なお、RLSeには、リミックスライン上の各音声ブロックをマスタテンポに合わせてタイムストレッチした後のサンプル位置が設定される。
【0115】
RLBsは、リミックスライン上において音声ブロックが開始される小節の小節番号を示す。
【0116】
RLBeは、リミックスライン上において音声ブロックが終了する小節の小節番号を示す。
【0117】
次に、図16乃至図42を参照して、音楽編集システム101の処理について説明する。
【0118】
まず、図16のフローチャートを参照して、音楽編集システム101により実行されるリミックス編集処理について説明する。なお、この処理は、例えば、ユーザが、操作部214を介して、リミックス編集処理の開始の指令を入力したとき開始される。
【0119】
ステップS1において、表示部215は、表示制御部232の制御の基に、編集画面を表示する。
【0120】
図17は、リミックス編集を行うための編集画面の一例を示している。図17のウインドウ401の最上段には、ウインドウ401の操作を行うためのボタンなどの他に、リストボックス411乃至415、ボタン416乃至421、および、テキストボックス422,423が表示されている。
【0121】
リストボックス411乃至415は、後述するように、メロディブロックまたはコードの検索時に検索条件を指定するために用いられる。ボタン416は、リストボックス411乃至415の内容をリセットするために用いられる。
【0122】
ボタン417乃至ボタン419は、楽曲リストエリアARm内の楽曲展開チャートMC1乃至MC3の表示サイズを拡大したり、縮小したり、元に戻したりするために用いられる。
【0123】
ボタン420は、リミックスエリアARrに表示されているリミックスラインに基づいて、リミックス再生を行うために用いられ、ボタン421は、リミックス再生を停止するために用いられる。
【0124】
テキストボックス422は、リミックスラインのマスタテンポの設定値を入力するために用いられる。
【0125】
テキストボックス423は、リミックスラインのマスタキーの設定値を入力するために用いられる。
【0126】
また、ウインドウ401には、リミックスエリアARrおよび楽曲リストエリアARmの2つのエリアが設けられる。
【0127】
リミックスエリアARrは、リミックス編集の作業を行うためのエリアであり、リミックスラインが視覚的に表示される。具体的には、リミックスラインに含まれるトラックが、縦方向に並べて表示される。各トラックの横軸は時間軸方向を示しており、右側に行くほど時間が経過する。
【0128】
図17は、リミックスラインが2本のトラックにより構成される場合の例を示しており、トラックTR1およびトラックTR2の2本のトラックがリミックスエリアARr内に表示されている。なお、トラック数が多くて、リミックスエリアARr内に全てのトラックを1度に表示できない場合、リミックスエリアARr内の表示をスクロールさせることにより、全てのトラックを表示させることができる。
【0129】
図18は、図17のリミックスエリアARr内の枠F1により囲まれた領域を拡大した図である。各トラックには、トラックに配置されている音声ブロックが左から右に時系列に並べて表示される。各音声ブロック内には、各音声ブロックの原曲の楽曲名、および、各音声ブロックのメロディブロックの種類が表示される。また、各音声ブロックはメロディブロックの種類に応じて色分けして表示される(なお、図18においては、メロディブロックの種類ごとにブロック内のパターンが分類されて示されている)。
【0130】
各音声ブロックの横幅は、各音声ブロックに含まれるビート数に応じた長さに設定される。すなわち、原曲における再生時間が異なる音声ブロックでも、音声ブロック内のビート数(拍数)が同じ場合には、同じ幅で表示される。これにより、各音声ブロックのオリジナルテンポが異なっていても、マスタテンポに合わせて再生した場合の各音声ブロックの時間軸方向の位置関係を明確に把握することができる。また、一番下のトラックの下部には、リミックスラインにおける小節の位置を示す目盛りSCbが表示される。
【0131】
また、目盛りSCbの下には、現在のリミックスラインの再生位置を示すポインタ424(図17)が表示される。
【0132】
楽曲リストエリアARmには、メタデータが付与された各楽曲に関する情報の一覧が表示される。楽曲リストエリアARmには、各楽曲に対応する楽曲エリアが縦方向に並べられて配置される。図17では、楽曲エリアAS1乃至AS3の3つの楽曲エリアが表示されている。なお、楽曲数が多くて、全ての楽曲に対応する楽曲エリアを楽曲リストエリアARm内に1度に表示できない場合、楽曲リストエリアARm内の表示をスクロールさせることにより、全ての楽曲に対応する楽曲エリアを表示させることができる。
【0133】
各楽曲エリアには、例えば、楽曲名、アーティスト名、平均テンポ(BPM)、小節数、キーとスケールなど、対応する楽曲に関する情報が表示される。また、各楽曲エリアには、楽曲のメロディ展開およびコード進行を示す楽曲展開チャートが表示される。図17では、楽曲エリアAS1内に楽曲展開チャートMC1が表示され、楽曲エリアAS2内に楽曲展開チャートMC2が表示され、楽曲エリアAS3内に楽曲展開チャートMC3が表示されている。楽曲展開チャートの横軸は時間軸方向を示しており、右側に行くほど時間が経過する。
【0134】
図19は、楽曲展開チャートの一部を拡大して示した図である。楽曲展開チャートの上段のメロディブロック欄CLmには、対応する楽曲のメタデータに基づいて、楽曲を構成するメロディブロックが出現する順に左から右に時系列に並べて表示される。メロディブロック欄CLmの各ブロックは、内部にメロディブロックの種類が示され、メロディブロックの種類に応じて色分けして表示される(なお、図19においては、メロディブロックの種類ごとにブロック内のパターンが分類されて示されている)。また、メロディブロック欄CLmの各ブロックの横幅は、各メロディブロックに含まれるビート数に応じた長さに設定される。
【0135】
楽曲展開チャートの下段のコード進行欄CLcには、対応する楽曲のメタデータに基づいて、楽曲を構成するコードが出現する順に左から右に時系列に並べて表示される。コード進行欄CLcの各ブロックは、内部に相対コードの種類、および、相対コードと各音声ブロックのキーにより求められる絶対コードの種類が表示される。また、コード進行欄CLcの各ブロックは、相対コードの種類に応じて色分けして表示される(なお、図19においては、相対コードの種類ごとにブロック内のパターンが分類されて示されている)。また、コード進行欄CLcの各ブロックの横幅は、各コードの区間内のビート数に応じた長さに設定される。
【0136】
また、図20に示されるように、ユーザは、メロディブロック欄CLmの所望のブロックをカーソルCSにより選択したり、図21に示されるように、コード進行欄CLcの所望のブロックをカーソルCSにより選択することができる。
【0137】
さらに、図22に示されるように、リストボックス411を用いて所望のメロディブロックの種類を指定することにより、楽曲展開チャートにおいて、指定した種類のメロディブロックに対応するブロックが強調して表示される。なお、図22においては、メロディブロックの種類としてChorus(サビ)が指定されており、音楽展開チャートMC11乃至MC13において、メロディブロックの種類がChorusであるブロックが強調されて表示されている。
【0138】
さらに、図23に示されるように、リストボックス412乃至415を用いて所望の相対コードを指定することにより、楽曲展開チャートにおいて、指定した種類の相対コードに対応するブロックが強調して表示される。例えば、図23においては、相対コードの種類としてIm7が指定されており、音楽展開チャートMC21乃至MC23において、コードの種類がIm7であるブロックが強調されて表示されている。
【0139】
なお、図22の音楽展開チャートMC11乃至MC13、および、図23の音楽展開チャートMC21乃至MC23においては、図19など同様に、メロディブロックおよび相対コードの種類に応じて、各ブロックが色分けして表示されるが、図22および図23においては、強調されたブロックを明確に示すために、ブロック内のパターンを分類せずに示している。
【0140】
また、検索されたブロックを強調する方法は、特に所定の方法に限定されるものではなく、例えば、検索されたブロックの色を濃くまたは明るく表示したり、検索されたブロック以外のブロックの色を薄くまたは暗く表示したり、検索されたブロックの色を変更したり、検索されたブロックを枠線で囲ったりするなどの方法を用いることができる。さらに、AND条件やOR条件などを用いて、複数の種類のメロディブロックまたはコードを組み合わせて検索できるようにしてもよい。
【0141】
このように、メタデータの情報を用いることにより、簡単に楽曲データをメロディブロックまたはコード単位で扱うことができる。従って、実際に耳で聞いたり、所定のアルゴリズムにより楽曲データの波形を分析して検索する従来の方法と比較して、より簡単かつ正確に、所望のコードやメロディブロックに対応する楽曲データの範囲を検索することができる。
【0142】
図16に戻り、ステップS2において、音楽編集システム101は、リミックス編集に対応した処理を開始する。具体的には、ユーザは、表示部215に表示された編集画面を見ながら、操作部214を操作して、各楽曲の所望の部分を選択して、リミックスラインの各トラックの所望の位置に配置する。表示制御部215は、操作部214からの情報に基づいて、ユーザの操作に応じて編集画面の表示内容を更新する。
【0143】
例えば、図24に示されるように、ユーザは、楽曲展開チャートMC31およびMC32の上段のメロディブロック欄の中から所望のメロディブロックを音素材として選択し、リミックスエリアARr内のトラックTR1およびTR2の所望の位置に配置することができる。なお、トラックTR1およびTR2に配置された音声ブロックの中には、音声ブロックに対応するメロディブロックの種類、および、音声ブロックの原曲の楽曲名が表示される。また、図25に示されるように、ユーザは、トラックに配置した音声ブロックに含まれる範囲を狭めたり、広げたりすることができる。
【0144】
図16に戻り、ステップS3において、類似度算出部241は、好適な音素材の検索が要求されたかを判定する。例えば、図26に示されるように、ユーザが、操作部214を介して、トラックTR1に配置されている音声ブロックBK1を指定し、音声ブロックBK1と時間軸方向で同じ位置にあるトラックTR2の区間RMD1を指定し、指定した区間(以下、検索区間と称する)に好適な音素材の検索を指令し、類似度算出部241が、操作部214からその指令を取得した場合、好適な音素材の検索が要求されたと判定し、処理はステップS4に進む。この場合、後述するように、音声ブロックBK1と同時に再生した場合に、音声ブロックBK1と違和感なく自然に調和する響きを持つ音素材の検索(以下、重畳音素材検索と称する)が行われる。
【0145】
また、例えば、図27に示されるように、ユーザが、操作部214を介して、トラックTR1に配置されている音声ブロックBK1を指定し、音声ブロックBK1の直後の区間RMD11を指定し、指定した検索区間に好適な音素材の検索を指令し、類似度算出部241が、操作部214からその指令を取得した場合、好適な音素材の検索が要求されたと判定し、処理はステップS4に進む。この場合、後述するように、音声ブロックBK1に続けて再生した場合に、違和感なく自然に響くコード進行を持つ音素材の検索(以下、連結音素材検索と称する)が行われる。
【0146】
なお、以下、ステップS3において、指定された音声ブロックBK1のことを指定ブロックと称する。
【0147】
図16に戻り、ステップS4において、ユーザインタフェース処理部211は、音素材検索処理を実行する。ここで、図28のフローチャートを参照して、音素材検索処理の詳細について説明する。
【0148】
ステップS21において、類似度算出部241は、参照ブロックのビート数nを求める。具体的には、重畳音素材検索を行う場合、類似度算出部241は、指定ブロックを参照ブロックとして、参照ブロックの原曲(以下、参照曲と称する)のメタデータを楽曲メタデータ用記憶部217から取得し、取得したメタデータに基づいて、参照ブロックのビート数nを求める。また、連結音素材検索を行う場合、類似度算出部241は、指定ブロックの原曲において指定ブロックの直後にあるメロディブロックを参照ブロックとし、参照曲のメタデータを楽曲メタデータ用記憶部217から取得し、取得したメタデータに基づいて、参照ブロックのビート数nを求める。
【0149】
ステップS22において、類似度算出部241は、参照ブロックの相対コードをビート粒度の配列a[ ]に展開する。具体的には、類似度算出部241は、参照曲のメタデータに基づいて、参照ブロックの各ビートにおける相対コードを求め、長さnの配列a[ ]に代入する。すなわち、a[0]には、参照ブロックの先頭のビートにおける相対コードが代入され、a[1]には、2番目のビートにおける相対コードが代入され、以下同様にして、a[n-1]には、最後のn番目のビートにおける相対コードが代入される。
【0150】
ステップS23において、類似度算出部241は、変数sに0を代入する。
【0151】
ステップS24において、類似度算出部241は、楽曲メタデータ用記憶部217から、s+1番目の楽曲(以下、検索対象曲と称する)のメタデータを取得する。
【0152】
ステップS25において、類似度算出部241は、s+1番目の楽曲が検索対象から除外する楽曲であるかを判定する。類似度算出部241は、s+1番目の楽曲、すなわち、検索対象曲が所定の除外条件に該当しない場合、s+1番目の楽曲が検索対象から除外する楽曲でないと判定し、処理はステップS26に進む。
【0153】
ステップS26において、類似度算出部241は、s+1番目の楽曲の相対コードをビート粒度の配列b[ ]に展開する。具体的には、類似度算出部241は、s+1番目の楽曲、すなわち、検索対象曲のメタデータに基づいて、検索対象曲の各ビートに対応する相対コードを求め、配列b[ ]に代入する。すなわち、検索対象曲のビート数をmとした場合、b[0]には、検索対象曲の先頭のビートに対応する相対コードが代入され、b[1]には、2番目のビートに対応する相対コードが代入され、以下同様にして、b[m-1]には、最後のm番目のビートに対応する相対コードが代入される。
【0154】
ステップS27において、音素材検索部231は、スコア算出処理を実行する。ここで、図29のフローチャートを参照して、スコア算出処理の詳細について説明する。
【0155】
ステップS51において、類似度算出部241は、変数pに0を代入する。
【0156】
ステップS52において、類似度算出部241は、スケールが同じであるかを判定する。ここで、参照区間とは、配列a[ ]の要素a[0]乃至a[n-1]の区間をいい、検索対象区間とは、配列b[ ]の要素b[p]乃至b[p+n-1]の区間をいう。類似度算出部241は、参照曲および検索対象曲のメタデータに基づいて、参照区間と検索対象区間の一方が長調(Major)で、もう一方が短調(Minor)である場合、2つの楽曲のスケールが同じでないと判定し、処理はステップS53に進む。
【0157】
ステップS53において、類似度算出部241は、配列a[ ]の値を絶対コードに変換する。
【0158】
ステップS54において、類似度算出部241は、配列b[ ]の値を絶対コードに変換する。
【0159】
一方、ステップS52において、類似度算出部241は、参照区間と検索対象区間がともに長調(Major)または短調(Minor)である場合、2つの曲のスケールが同じであると判定し、ステップS53およびS54の処理はスキップされ、処理はステップS55に進む。
【0160】
ステップS55において、類似度算出部241は、参照区間と検索対象区間の類似度を求める。類似度算出部241は、以下の式(2)および(3)に基づいて、参照区間と検索対象区間の類似度Rabを求める。
【0161】
【数1】

【0162】
なお、式(3)のMatrixR[x][y]は、各コード間の類似度を定義した所定の類似度マトリックスのx行y列目の要素の値を示している。類似度マトリックスとは、各コード間の類似度を定義したマトリックスであり、マトリックスの各欄に各コード間の類似度に基づくポイントが設定されている。ここで、類似度マトリックスの例をいくつか示す。
【0163】
図30は、参照区間と検索対象区間がともに長調である場合に用いられる類似度マトリックスの例を示している。なお、図30の類似度マトリックスの行番号および列番号は、相対コードの度数により示される。従って、要素a[i]と要素b[i+p]の相対コードの度数が同じ場合に、最も高い10ポイントが与えられる。また、互いに似た響きをする代理コードの存在を考慮して、要素a[i]と要素b[i+p]の相対コードが代理コードの関係にある場合、すなわち、一方が相対コードに対して他方がその代理コードである場合、より厳密に言えば、要素a[i]と要素b[i+p]の相対コードが、参照区間と検索対象区間のキーを合わせた場合に代理コードの関係にあるとき、5ポイントが与えられる。例えば、要素a[i]の相対コードの度数がI、要素b[i+p]の相対コードの度数がIIIである場合に5ポイントが与えられる。それ以外の場合(マトリックスの空欄に相当する)には、0ポイントとなる。
【0164】
図31は、参照区間と検索対象区間がともに短調である場合に用いられる類似度マトリックスの例を示している。なお、図31の類似度マトリックスの行番号および列番号は、図31の類似度マトリックスと同様に、相対コードの度数により示される。図31の類似度マトリックスにおいても、図30の類似度マトリックスと同様に、要素a[i]と要素b[i+p]の相対コードの度数が同じ場合に、最も高い10ポイントが与えられ、要素a[i]と要素b[i+p]の相対コードが代理コードの関係にある場合、5ポイントが与えられ、それ以外の場合(マトリックスの空欄に相当する)には、0ポイントとなる。ただし、長調と短調では代理コードが異なるため、図30と図31とでは異なるマトリックスとなっている。
【0165】
図32は、参照区間と検索対象区間のスケールが異なる場合に用いられる類似度マトリックスの例を示している。図32の類似度マトリックスの行番号および列番号は、絶対コードの根音の音名により示される。図32の類似度マトリックスにおいては、要素a[i]と要素b[i+p]の絶対コードの根音が同じ場合に10ポイントが与えられ、それ以外の場合(マトリックスの空欄に相当する)には、0ポイントとなる。このように、参照区間と検索対象区間のスケールが異なる場合、絶対コードに基づいて類似度が求められる。これは、参照区間と検索対象区間のスケールが異なる場合、スケールの違いにより、相対コードの種類が同じでも、絶対コードに変換するとコードの種類は異なってしまう一方、相対コードの種類が異なっていても、絶対コードに変換するとコードの種類が同じになる場合があるからである。
【0166】
このように、参照区間と検索対象区間がともに長調または短調である場合、各区間のスケールの主音に対する各コードの根音の相対位置に基づいて、類似度が算出され、2つの区間のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、類似度が算出される。
【0167】
なお、式(3)に示されるように、参照区間と検索対象区間のスケールが同じ場合、要素a[i]と要素b[i+p]の相対コードの度数が同じで、お互いがメジャーコードとマイナーコードの関係にあるとき、または、参照区間と検索対象区間のスケールが異なる場合、要素a[i]と要素b[i+p]の絶対コードの根音が同じで、お互いがメジャーコードとマイナーコードの関係にあるとき、ポイントは0に設定される。これは、例えば、相対コードで同じIの和音だとしても一方がI, もう一方がImだとすると、前者は第3音が根音から長3度上の音となり、後者は第3音が根音から短3度上の音となる。この2つの音は半音1つ分だけずれているので、この2つのコードを同時に鳴らした場合、不協和音に聴こえてしまうためである。なお、要素a[i]と要素b[i+p]の相対コードの度数または絶対コードの根音が異なる場合には、お互いがメジャーコードとマイナーコードの関係にあっても、不協和音になるとは限らないので、類似度マトリックスに基づいて、ポイントが求められる。
【0168】
なお、図30乃至図32は類似度マトリックスの一例であり、この例に限定されるものではない。例えば、コードの組み合わせに基づいて、与えるポイントをさらに詳細に分類するようにしてもよいし、短調用の類似度マトリックスを、メロディックマイナースケール、ハーモニックマイナースケール、ナチュラルマイナースケールなどの詳細なスケールの分類に基づいて、さらに細かく分類するようにしてもよい。なお、類似度マトリックスの種類が増えたとしても、類似度マトリックスを一度用意すれば、上述した同じ式(2)および(3)により類似度を求めることができる。
【0169】
図29に戻り、ステップS56において、類似度算出部241は、類似度が閾値Tを超えたかを判定する。類似度が所定の閾値Tを超えたと判定された場合、すなわち、参照区間と検索対象区間のコード進行の類似度が高い場合、処理はステップS57に進む。
【0170】
ステップS57において、スコア算出部242は、スコアを算出する。具体的には、類似度算出部241は、算出した類似度をスコア算出部242に供給する。スコア算出部242は、所定の条件に基づいて類似度に重みを乗じることにより、スコアを算出する。例えば、類似度算出部241は、参照曲と検索対象曲の類似度が低いことを示す要素がある場合、例えば、参照曲と検索対象曲のテンポの差が所定の閾値以上だったり、参照曲と検索対象曲のスケールが異なったりする場合、スコアが低くなるように1未満の重みを類似度に乗ずる。
【0171】
ステップS58において、スコア算出部242は、検索結果を登録する。具体的には、スコア算出部242は、スコアが算出された検索対象区間とそのスコアを楽曲ごとに分類して楽曲メタデータ用記憶部217に記憶させる。
【0172】
一方、ステップS56において、類似度が所定の閾値Tを超えていないと判定された場合、すなわち、参照区間と検索対象区間のコード進行の類似度が低い場合、ステップS57およびS58の処理はスキップされ、処理はステップS59に進む。すなわち、検索対象区間のスコアは0とされる。
【0173】
ステップS59において、類似度算出部241は、変数pの値を1つインクリメントする。
【0174】
ステップS60において、類似度算出部241は、p+nが配列b[ ]の大きさを超えたかを判定する。p+nが配列b[ ]の大きさmを超えていないと判定された場合、すなわち、検索対象曲のp番目から最後のビートまでの区間が参照区間のビート数n以上である場合、処理はステップS55に戻る。
【0175】
その後、ステップS60において、p+nが配列b[ ]の大きさを超えたと判定されるまで、ステップS55乃至S60の処理が繰り返し実行される。すなわち、図33に示されるように、検索対象区間(b[p]乃至b[p+n-1]の区間)が配列b[ ]の先頭から1ビートずつずらされながら、各検索対象区間について、参照区間(a[0]乃至a[n]の区間)との類似度に基づくスコアが算出され、検索対象曲において、参照区間とコード進行の類似度が高い区間が検索される。
【0176】
ステップS60において、p+nの値が配列b[ ]の大きさを超えたと判定された場合、すなわち、検索対象曲のp番目から最後のビートまでの区間が参照区間のビート数n未満になった場合、スコア算出処理は終了する。
【0177】
図28に戻り、ステップS28において、類似度算出部241は、nの値を1つデクリメントする。
【0178】
ステップS29において、類似度算出部241は、nが閾値L以上であるかを判定する。nが所定の閾値L以上であると判定された場合、処理はステップS27に戻る。
【0179】
その後、ステップS29において、nが閾値L未満であると判定されるまで、ステップS27乃至S29の処理が繰り返し実行される。すなわち、nの値が閾値L未満になるまで、参照区間の長さを1ビートずつ縮めながら、検索対象曲において、参照区間とコード進行の類似度が高い区間の検索が繰り返し実行される。
【0180】
一方、ステップS29において、nが閾値L未満であると判定された場合、処理はステップS30に進む。
【0181】
また、ステップS25において、類似度算出部241は、検索対象曲が所定の除外条件に該当する場合、s+1番目の楽曲が検索対象から除外する楽曲であると判定し、ステップS26乃至S29の処理はスキップされ、処理はステップS30に進む。なお、検索対象から除外する楽曲の条件としては、例えば、参照曲と同じ楽曲、参照曲と拍子が異なる楽曲、参照曲とのテンポの違いが所定の閾値以上である楽曲などが考えられ、必要に応じてユーザにより設定される。
【0182】
ステップS30において、類似度算出部241は、sの値を1つインクリメントする。
【0183】
ステップS31において、類似度算出部241は、sの値が総曲数と等しいかを判定する。sの値が総曲数と等しくないと判定された場合、すなわち、まだ楽曲メタデータ用記憶部217にメタデータが記憶されている全ての楽曲について処理されていない場合、処理はステップS32に進む。
【0184】
ステップS32において、類似度算出部241は、nの値を参照ブロックのビート数に戻す。
【0185】
その後、処理はステップS24に戻り、ステップS31において、sの値が総曲数と等しいと判定されるまで、ステップS24乃至S31の処理が繰り返し実行される。
【0186】
一方、ステップS31において、sの値が総曲数と等しいと判定された場合、すなわち、楽曲メタデータ用記憶部217にメタデータが記憶されている全ての楽曲について処理が行われた場合、処理はステップS33に進む。
【0187】
ステップS33において、表示部215は、楽曲をスコア順にソートして表示し、音素材検索処理は終了する。具体的には、表示制御部232は、楽曲メタデータ用記憶部217から全ての楽曲のスコアを読み出し、楽曲ごとに集計する。表示部215は、表示制御部232の制御の基に、楽曲リストエリアARm内の楽曲の並びを合計スコアが高い順に並び替えて表示する。
【0188】
このとき、図34に示されるように、楽曲展開チャートのコード進行欄において、スコアが所定の閾値以上の区間SEC1乃至SEC8が強調されて表示される。また、楽曲展開チャートの左下に、対応する楽曲のスコアの合計値が表示される。さらに、絶対コードに基づいてスコアが算出された区間については、相対コードに基づいてスコアが算出された区間と区別するために、例えば、図35に示されるように、強調されて表示されている区間SEC11内に下線が表示される。
【0189】
以上のようにして、大量の楽曲の中から、指定ブロックと重ねて再生するのに好適な音素材、または、指定ブロックにつなげて再生するのに好適な音素材を、実際に耳で確認するなどの作業を行うことなく、簡単に検索することができる。この後、ユーザは、例えば、各候補を実際にトラックに配置して耳で聴いて確認するなどして、絞られた候補の中から自分が表現したい響きを持つ音素材を探すことができる。
【0190】
また、上述したように、代理コードの存在を考慮して類似度が算出されるので、参照区間とコード進行が一致していなくても、参照区間と響きが似ている音素材を検索することができる。
【0191】
さらに、各トラックの音声ブロックは、後述するように、ビート位置が揃えられて再生されるため、各区間の原曲における再生時間を考慮することなく、ビート単位でコード進行を比較することにより、参照区間と検索対象区間のコード進行の類似度を求めることができる。
【0192】
なお、以上の説明では、ビート単位でコード進行を比較する例を示したが、8分音符、16分音符単位など、さらに比較する精度を上げるようにしてもよい。この場合、メタデータの各コードのサンプル位置に基づいて、8分音符、16分音符単位などの解像度でコード進行を求めることが可能である。
【0193】
図16に戻り、ステップS3において、好適な音素材の検索が要求されていないと判定された場合、ステップS4の処理はスキップされ、処理はステップS5に進む。
【0194】
ステップS5において、リミックスパターン生成部252は、リミックスパターンの保存が要求されたかを判定する。例えば、ユーザが、リミックスエリアARrに作成したリミックスパターンを保存したいと思い、操作部214を介して、リミックスパターン生成部252にリミックスパターンの保存の指令を入力した場合、リミックスパターン生成部252は、リミックスパターンの保存が要求されたと判定し、処理はステップS6に進む。
【0195】
ステップS6において、リミックスパターン生成部252は、リミックスパターンデータを生成する。具体的には、リミックスパターン生成部252は、リミックスエリアARrにおいて作成されたリミックスパターン、および、リミックスパターンに配置されている音声ブロックの原曲のメタデータに基づいて、図15を参照して上述したデータ構造を有するリミックスパターンデータを生成する。
【0196】
例えば、図36に示されるように、リミックスエリアARrのトラックTR1およびTR2に3曲の楽曲から抽出した音素材を配置したリミックスパターンが作成されている場合、図15のリミックスパターンデータのトラック数には2が設定され、トラックTR1およびTR2に対応するトラックデータがそれぞれ生成される。さらに、トラックTR1のトラックデータのトラック数にトラックTR1に配置されている音声ブロックの数である9が設定され、9個の音声ブロックデータが生成され、トラックTR2のトラックデータのトラック数にトラックTR2に配置されている音声ブロックの数である6が設定され、6個のブロックデータが生成される。そして、各ブロックデータの各項目には、各音声ブロックの原曲のメタデータ、および、各音声ブロックのリミックスライン上の位置などに基づく値が設定される。
【0197】
リミックスパターン生成部252は、生成したリミックスパターンデータを記録したリミックスパターンファイルを生成し、リミックスパターン用記憶部218に記憶させる。
【0198】
ステップS5において、リミックスパターンの保存が要求されていないと判定された場合、ステップS6の処理はスキップされ、処理はステップS7に進む。
【0199】
ステップS7において、表示制御部232は、編集処理の終了が要求されたかを判定する。編集処理の終了が要求されていないと判定された場合、処理はステップS3に戻り、ステップS7において、編集の終了が指令されたと判定されるまで、ステップS3乃至S7の処理が繰り返し実行される。
【0200】
ステップS7において、例えば、ユーザが、操作部214を介して、表示制御部232に編集処理の終了の指令を入力した場合、表示制御部232は、編集処理の終了が要求されたと判定し、リミックス編集処理は終了する。
【0201】
このようにして、ユーザは、編集画面を見ながら、各楽曲の所望の部分をリミックスエリアARrの各トラックの所望の位置に配置することにより、簡単にリミックス曲を作成することができる。なお、ユーザは、リミックス編集を行っている最中に、リミックスライン上に作成されているリミックスパターンに基づいて、後述するリミックス再生を行うことにより、実際にリミックス曲の音を確認することができる。
【0202】
次に、図37のフローチャートを参照して、音楽編集システム101により実行されるリミックス再生処理について説明する。なお、この処理は、例えば、ユーザが、操作部214を介して、リミックスパターン用記憶部218に記憶されているリミックスパターンファイルの中から所望のものを指定し、指定したリミックスパターンファイルに記録されているリミックスパターンデータに基づくリミックス再生の指令を入力したとき開始される。
【0203】
ステップS101において、同期再生制御部271および音声ミキシング部272は、初期化処理を行う。これにより、同期再生制御部271および音声ミキシング部272の状態が初期化される。
【0204】
ステップS102において、リミックスパターン読込み部251は、ユーザにより指定されたリミックスパターンファイルを読み込む。なお、ユーザによりリミックスパターンファイルが指定されていない場合、例えば、リミックスパターン読込み部251が、リミックスパターン用記憶部218に記憶されているリミックスパターンファイルの中から、適当なファイルを選択して、読み込むようにしてもよい。
【0205】
ステップS103において、トラック生成部264は、必要なトラック数分だけ音声信号生成部282を生成する。すなわち、トラック生成部264は、読み込まれたリミックスパターンファイルに記録されているリミックスパターンデータに示されるトラック数分だけ音声信号生成部282を生成する。
【0206】
ステップS104において、リミックスパターン読込み部251は、リミックスパターンをメモリに展開する。例えば、リミックスパターン読込み部251は、読み込んだリミックスパターンデータを所定のフォーマットに成形して、RAM116に展開する。
【0207】
ステップS105において、リミックス再生制御部253は、マスタキーとマスタテンポを設定する。例えば、ユーザは、操作部214を介して、マスタキーとマスタテンポの値を設定する。操作部214は、設定されたマスタキーおよびマスタテンポの値をリミックス再生制御部253に通知する。
【0208】
再生速度制御部261は、マスタテンポの値をマスタビート生成部281に設定する。これにより、マスタビート生成部281は、設定されたマスタテンポでマスタビートの生成を開始する。
【0209】
音高制御部262は、マスタキーの値を各音声信号生成部282に設定する。
【0210】
なお、マスタキーおよびマスタテンポをユーザが設定する以外にも、例えば、リミックスラインに配置されている音声ブロックの原曲のうちメインとなる楽曲(例えば、ユーザにより指定された楽曲、リミックスラインの1トラック目の最初の音声ブロックの原曲など)のキーおよびテンポをマスタキーおよびマスタテンポとして設定するようにしてもよい。また、例えば、リミックスラインの所定のトラック(例えば、1トラック目)の楽曲ブロックのオリジナルテンポの平均値をマスタテンポとするようにしてもよい。
【0211】
リミックスパターン読込み部251は、リミックスパターンデータの各ブロックデータのリミックスライン上の開始サンプル位置(RLSs)およびリミックスライン上の終了サンプル位置(RLSe)の値を、マスタテンポと対応する音声ブロックのオリジナルテンポ(BPMo)との比に基づいて計算し書き換える。
【0212】
ステップS106において、リミックス処理部212は、リミックス再生制御処理を実行し、リミックス再生処理は終了する。ここで、図38乃至図40のフローチャートを参照して、リミックス再生制御処理の詳細について説明する。
【0213】
なお、図38乃至図40のフローチャートは、1つのトラックに対して行われる処理について説明するものであり、実際には、図38乃至図40に示される処理が、リミックスラインのトラックの数だけ並行して実行される。また、図38乃至図40の説明において、音声信号生成部282は、このフローチャートの説明において処理の対象となるトラックに対応する1つの音声信号生成部を指すものとする。
【0214】
ステップS131において、再生パターン制御部263は、Pc.Barの値を-1に設定し、Pc.Beatの値を0に設定し、Fcの値をfalseに設定し、Conの値を-1に設定し、Coff.Barの値を-1に設定し、Coff.Beatの値を-1に設定する。
【0215】
Pcは、BarとBeatをメンバに持つ構造体の変数である。マスタビート生成部281は、マスタビートを生成する度に、Pc.Beatの値がリミックスラインの拍子数未満である場合、Pc.Barの値を1つインクリメントし、Pc.Beatの値がリミックスラインの拍子数と等しい場合、Pc.Beatの値を1に戻し、Pc.Barの値を1つインクリメントする。すなわち、Pcは、現在のリミックラインの再生位置が何小節目の何拍目かを表す変数である。
【0216】
Fcは、音声ブロックの切換えを行うか否かを示すフラグである。Fcの値がtrueに設定されている場合、リミックスラインの再生位置が次の小節に進んだタイミングで、音声ブロックの切換えを行うことを意味し、Fcの値がfalseに設定されている場合、リミックスラインの再生位置が次の小節に進んだタイミングで、音声ブロックの切換えを行わないことを意味する。
【0217】
Conは、必要に応じて、音声ブロックの開始点のビート番号が設定される変数である。なお、Conの値が-1に設定されている場合、Conが初期化され、特定の値が設定されていないことを示す。
【0218】
Coffは、BarとBeatをメンバに持つ構造体の変数であり、リミックスラインにおける音声ブロックの終了点の直後のビートの位置が設定される。具体的には、Coff.Barには、音声ブロックの終了点の直後のビートの小節番号が設定され、Coff.Beatには、音声ブロックの終了点の直後のビートのビート番号が設定される。なお、Coff.BarおよびCoff.Beatの値が-1にリセットされている場合、Coffが初期化され、特定の値が設定されていないことを示す。
【0219】
また、再生パターン制御部263は、リミックスラインの拍子をマスタビート生成部281に設定する。なお、リミックスラインの拍子は、例えば、ユーザが設定するようにしてもよいし、リミックスラインデータに登録しておくようにしてもよいし、あるいは、リミックスラインの1トラック目の最初の音声ブロックの拍子を設定するようにしてもよい。
【0220】
ステップS132において、再生パターン制御部263は、リミックスパターンデータに基づいて、現在の再生位置より2小節後以降に新たな音声ブロックが存在するかを判定する。すなわち、Pc.Bar+2小節目以降に新たな音声ブロックが存在するかが判定される。現在の再生位置より2小節後以降に新たな音声ブロックが存在すると判定された場合、処理はステップS133に進む。
【0221】
ステップS133において、再生パターン制御部263は、現在の再生位置より2小節後以降において、現在の再生位置から最も近い音声ブロックの情報を取得する。すなわち、現在の再生位置より2小節後以降において、現在の再生位置から最も近い音声ブロックに対応するリミックスパターンデータのブロックデータが取得される。
【0222】
ステップS134において、再生パターン制御部263は、情報を取得した音声ブロックのリミックスライン上の開始位置をPnに設定する。Pnは、Pcと同様にBarとBeatをメンバに持つ構造体の変数である。なお、Pn.BarおよびPnBeatの値が-1に設定されている場合、Pnが初期化され、特定の値が設定されていないことを示す。
【0223】
再生パターン制御部263は、情報を取得した音声ブロックのリミックスライン上の開始小節番号(RLBs)をPn.Barに設定し、情報を取得した音声ブロックの開始点ビートカウントのビート番号(BCs.Beat)をPn.Beatに設定する。
【0224】
ステップS135において、再生速度制御部261は、情報を取得した音声ブロックのタイムストレッチ値を求める。具体的には、再生速度制御部261は、情報を取得した音声ブロックのタイムストレッチ値Vtを、以下の式(4)に基づいて算出する。
【0225】
Vt=BPMm÷BPMo ・・・(4)
【0226】
すなわち、タイムストレッチ値Vtは、目標とするテンポであるマスタテンポBPMmを音声ブロックのオリジナルのテンポBPMoで割った値となる。
【0227】
ステップS136において、音高制御部262は、情報を取得した音声ブロックのピッチシフト値を求める。具体的には、音高制御部262は、情報を取得した音声ブロックのピッチシフト値Vpを、以下の式(5)に基づいて算出する。
【0228】
【数2】

【0229】
なお、Dsは、音声ブロックを移調する度数、すなわち、マスタキーと、情報を取得した音声ブロックのキーとの度数の差を表す。また、12√2という定数は、現代の平均律における半音の周波数比である。すなわち、音声ブロックの再生ピッチの制御量であるピッチシフト値Vpは、音声ブロックのキーとマスタキーとの差、および、音声ブロックの再生速度の制御量であるタイムストレッチ値Vtに基づいて算出される。
【0230】
式(5)において、本来のピッチシフト値(12√2×Ds)にタイムストレッチ値Vtの逆数をかけることで、タイムストレッチにより発生する音の高さの変化を差し引いたピッチシフト値が求められる。従って、情報を取得した音声ブロックを再生する際に、テンポをVt倍にすることにより、音声ブロックの再生音のテンポをマスタテンポに合わせることができ、周波数をVp倍にすることで、音声ブロックの再生音のキーをマスタキーに合わせることができる。
【0231】
なお、タイムストレッチおよびピッチシフトの手法は、上述した手法に限定されるものではなく、他の手法を用いるようにしてもよい。
【0232】
その後、処理はステップS138に進む。
【0233】
一方、ステップS132において、現在の再生位置より2小節後以降に新たな音声ブロックが存在しないと判定された場合、処理はステップS137に進む。
【0234】
ステップS137において、再生パターン制御部263は、Pn.Barの値を-1に設定し、Pn.Beatの値の-1を設定する。
【0235】
ステップS138において、再生パターン制御部263は、Pcの値を読み込むことにより、現在の再生位置(Pc)を取得する。
【0236】
ステップS139において、再生パターン制御部263は、再生停止が要求されたかを判定する。再生停止が要求されていないと判定された場合、処理はステップS140に進む。
【0237】
ステップS140において、再生パターン制御部263は、ビートが進んだかを判定する。再生パターン制御部263は、前回再生位置を取得したときからPc.Beatの値が変化していない場合、ビートが進んでいないと判定し、処理はステップS138に戻る。
【0238】
その後、ステップS139において、再生停止が要求されたと判定されるか、ステップS140において、ビートが進んだと判定されるまで、ステップS138乃至S140の処理が繰り返し実行される。
【0239】
一方、ステップS139において、例えば、ユーザが、操作部214を介して、再生パターン制御部263にリミックス再生の停止の指令を入力した場合、再生パターン制御部263は、再生停止が要求されたと判定し、リミックス再生制御処理は終了する。
【0240】
また、ステップS140において、再生パターン制御部263は、前回再生位置を取得したときからPc.Beatの値が変化している場合、ビートが進んだと判定し、処理はステップS141に進む。
【0241】
ステップS141において、再生パターン制御部263は、小節が進んだかを判定する。再生パターン制御部263は、前回再生位置を取得したときからPc.Barの値が増えた場合、小節が進んだと判定し、処理はステップS142に進む。
【0242】
ステップS142において、再生パターン制御部263は、Pc.Barの値とPn.Bar-1の値とが等しいかを判定する。Pc.Barの値とPn.Bar-1の値とが等しいと判定された場合、すなわち、リミックスラインの再生位置が音声ブロックの切換えを行う小節の1つ前の小節に進んだ場合、処理はステップS143に進む。
【0243】
ステップS143において、再生速度制御部261は、タイムストレッチ値を設定する。具体的には、再生速度制御部261は、ステップS135において求めたタイムストレッチ値を、音声信号生成部282内の次に再生する音声ブロックの情報を記憶するエリアであるウエイティングエリアに記憶させる。これにより、次に再生する音声ブロックのタイムストレッチ値が音声信号生成部282に設定される。
【0244】
ステップS144において、音高制御部262は、ピッチシフト値を設定する。具体的には、音高制御部262は、ステップS136において求めたピッチシフト値を、音声信号生成部282内のウエイティングエリアに記憶させる。これにより、次に再生する音声ブロックのピッチシフト値が音声信号生成部282に設定される。
【0245】
ステップS145において、再生パターン制御部263は、次の音声ブロックの再生時に再生する楽曲データの範囲を設定する。具体的には、再生パターン制御部263は、リミックスパターンデータに基づいて、次に再生する音声ブロックの開始点の直前小節頭を示すサンプル位置(SPBs)、および、開始点の直後小節頭を示すサンプル位置(SPBe)の値を、音声信号生成部282内のウエイティングエリアに記憶させる。これにより、音声ブロックの開始点を含む小節の頭から終了点の直後に位置する小節の頭までの楽曲データのサンプルの範囲が、次の音声ブロックの再生時に再生する楽曲データの範囲として音声信号生成部282に設定される。
【0246】
ステップS146において、再生パターン制御部263は、次に再生する音声ブロックの原曲の楽曲データを登録する。具体的には、再生パターン制御部263は、リミックスパターンデータに基づいて、次に再生する音声ブロックの原曲の楽曲ID(IDs)を求める。再生パターン制御部263は、その楽曲IDに対応する楽曲データを楽曲用記憶部219から取得し、その楽曲データに対応するメタデータを楽曲メタデータ用記憶部217から取得する。再生パターン制御部263は、取得した楽曲データおよびメタデータを音声信号生成部282内のウエイティングエリアに記憶させる。
【0247】
ステップS147において、再生パターン制御部263は、ConNextにBCs.Beatの値を設定する。具体的には、再生パターン制御部263は、リミックスパターンデータに基づいて、ConNextに次に再生する音声ブロックの開始点ビートカウントのビート番号(BCs.Beat)の値を設定する。すなわち、次に再生する音声ブロックが原曲において小節の何拍目から開始されるかを示す値がConNextに設定される。
【0248】
ステップS148において、再生パターン制御部263は、BCe.Beatの値が1に等しいかを判定する。再生パターン制御部263は、リミックスパターンデータに基づいて、次に再生する音声ブロックの終了点ビートカウントのビート番号(BCe.Beat)の値が1に等しいと判定した場合、すなわわち、次に再生する音声ブロックが原曲において小節の終わりのビートで終了する場合、処理はステップS149に進む。
【0249】
ステップS149において、再生パターン制御部263は、CoffNextBarにRLBe+1の値を設定し、CoffNext.BeatにBCe.Beatの値を設定する。CoffNextは、BarとBeatをメンバに持つ構造体の変数であり、再生パターン制御部263は、リミックスパターンデータに基づいて、CoffNextBarに次に再生する音声ブロックのリミックスライン上の終了小節番号(RLBe)+1の値を設定し、CoffNext.Beatに次に再生する音声ブロックの終了点ビートカウントのビート番号(BCe.Beat)の値を設定する。これにより、CoffNextに、リミックスライン上で次に再生する音声ブロックの終了点の直後のビートが何小節目の何拍目かを示すデータが設定される。その後、処理はステップS151に進む。
【0250】
一方、ステップS148において、BCe.Beatの値が1に等しくないと判定された場合、すなわち、次に再生する音声ブロックが原曲において小節の途中で終了する場合、処理はステップS150に進む。
【0251】
ステップS150において、再生パターン制御部263は、CoffNextBarにRLBeの値を設定し、CoffNext.BeatにBCe.Beatの値を設定する。再生パターン制御部263は、リミックスパターンデータに基づいて、CoffNextBarに次に再生する音声ブロックのリミックスライン上の終了小節番号(RLBe)の値を設定し、CoffNext.Beatに次に再生する音声ブロックの終了点ビートカウントのビート番号(BCe.Beat)の値を設定する。これにより、CoffNextに、リミックスライン上で次に再生する音声ブロックの終了点の直後のビートが何小節目の何拍目かを示すデータが設定される。
【0252】
ステップS151において、再生パターン制御部263は、Fcの値をtrueに設定する。
【0253】
その後、処理はステップS132に戻り、ステップS132以降の処理が実行される。
【0254】
一方、ステップS142において、Pc.Barの値とPn.Bar-1の値とが等しくないと判定された場合、すなわち、リミックスラインの再生位置が音声ブロックの切換えを行う小節の1つ前の小節に進んでいない場合、処理はステップS152に進む。
【0255】
ステップS152において、再生パターン制御部263は、Fcの値がtrueであるかを判定する。Fcの値がtrueであると判定された場合、すなわち、現在のリミックスラインの再生位置の小節で音声ブロックの切換えが行われる場合、処理はステップS153に進む。
【0256】
ステップS153において、再生パターン制御部263は、ConにConNextの値を設定し、Coff.BarにCoffNext.Barの値を設定し、Coff.BeatにCoffNext.Beatの値を設定する。
【0257】
ステップS154において、再生パターン制御部263は、Fcの値をfalseに設定する。
【0258】
一方、ステップS152において、Fcの値がtrueでないと判定された場合、すなわち、現在のリミックスラインの再生位置の小節で音声ブロックの切換えが行われない場合、ステップS153およびS154の処理はスキップされ、処理はステップS155に進む。
【0259】
また、ステップS141において、小節が進んでないと判定された場合、ステップS141およびS152乃至S154の処理はスキップされ、処理はステップS155に進む。
【0260】
ステップS155において、再生パターン制御部263は、Pc.Beatの値がConの値と等しいかを判定する。Pc.Beatの値がConの値と等しいと判定された場合、すなわち、現在のリミックスラインの再生位置が次に再生する音声ブロックの開始位置である場合、処理はステップS156に進む。
【0261】
ステップS156において、再生パターン制御部263は、ミュートを解除する。具体的には、再生パターン制御部263は、音声信号生成部282により生成される音声のミュートの解除をエフェクト処理部291に指示する。エフェクト処理部291は、音声信号生成部282により生成される音声の音量を元の状態に戻す。なお、音声が元々ミュートされていない場合、音量はそのまま変更されない。
【0262】
ステップS157において、再生パターン制御部263は、Conの値を-1に設定する。その後、処理はステップS160に進む。
【0263】
一方、ステップS155において、Pc.Beatの値がConの値と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が次に再生する音声ブロックの開始位置でない場合、処理はステップS157に進む。
【0264】
ステップS157において、再生パターン制御部263は、Pc.Beatの値が1であり、かつ、Conの値が-1と等しくないかを判定する。Pc.Beatの値が1であり、かつ、Conの値が-1と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が、音声ブロックの切換えを行う小節の頭であるが、音声ブロックの切換えが小節の途中で行われる場合、処理はステップS158に進む。
【0265】
ステップS158において、再生パターン制御部263は、ミュートを設定する。具体的には、再生パターン制御部263は、音声信号生成部282により生成される音声のミュートの設定をエフェクト処理部291に指示する。エフェクト処理部291は、音声信号生成部282により生成される音声の音量をミュートする。
【0266】
一方、ステップS158において、Pc.Beatの値が1でない、または、Conの値が1であると判定された場合、すなわち、現在のリミックスラインの再生位置が小節頭でない、または、次に再生する音声ブロックの開始位置が設定されていない場合、ステップS159の処理はスキップされ、処理はステップS160に進む。
【0267】
ステップS160において、再生パターン制御部263は、Pc.Barの値がCoff.Barの値と等しく、かつ、Pc.Beatの値がCoff.Beatの値と等しいかを判定する。Pc.Barの値がCoff.Barの値と等しく、かつ、Pc.Beatの値がCoff.Beatの値と等しいと判定された場合、すなわち、現在のリミックスラインの再生位置が再生中の音声ブロックの終了位置の直後のビートである場合、処理はステップS161に進む。
【0268】
ステップS161において、上述したステップS159の処理と同様に、ミュートが設定される。
【0269】
ステップS162において、再生パターン制御部263は、Coff.Barの値を-1に設定し、Coff.Beatの値を-1に設定する。
【0270】
その後、処理はステップS138に戻り、ステップS138以降の処理が実行される。
【0271】
一方、ステップS160において、Pc.Barの値がCoff.Barの値と等しくないか、または、Pc.Beatの値がCoff.Beatの値と等しくないと判定された場合、すなわち、現在のリミックスラインの再生位置が再生中の音声ブロックの終了位置の直後のビートでない場合、ステップS161およびS162の処理はスキップされ、処理はステップS138に戻り、ステップS138以降の処理が実行される。
【0272】
次に、図41のフローチャートを参照して、図38乃至図40のリミックス再生制御処理に対応して、音声信号生成部282により実行されるトラック再生処理について説明する
【0273】
なお、図41のフローチャートは、1つのトラックに対して行われる処理について説明するものであり、実際には、図41に示される処理が、リミックスラインのトラックの数だけ並行して実行される。なお、以下、図41の説明において、音声信号生成部282は、このフローチャートの説明において処理の対象となるトラックに対応する1つの音声信号生成部を指すものとする。
【0274】
ステップS201において、音声信号生成部282は、小節が進んだかを判定する。音声信号生成部282が、マスタビート生成部281からの情報に基づいて、小節が進んだと判定した場合、処理はステップS202に進む。
【0275】
ステップS202において、音声信号生成部282は、次に再生する音声ブロックの情報が設定されているかを判定する。音声信号生成部282は、ウエイティングエリアに次に再生する音声ブロックの情報が記憶されている場合、次に再生する音声ブロックの情報が設定されていると判定し、処理はステップS203に進む。
【0276】
ステップS203において、音声信号生成部282は、ウエイティングエリアの情報をカレントエリアに移動する。すなわち、音声信号生成部282は、ウエイティングエリアに記憶されている次に再生する音声ブロックの情報、タイムストレッチ値Vt、および、ピッチシフト値Vpを、再生中の音声ブロックの情報を記憶するエリアであるカレントエリアにコピーし、ウエイティングエリアの情報を消去する。
【0277】
ステップS204において、音声信号生成部282は、次の音声ブロックの原曲の楽曲データの再生を開始する。具体的には、音声信号生成部282は、カレントエリアに設定されている、次に再生する音声ブロックの開始点の直前小節頭を示すサンプル位置(SPBs)から、次の音声ブロックの原曲の楽曲データの再生を開始する。
【0278】
また、音声信号生成部282は、上述した図39のステップS143において設定されたタイムストレッチ値Vt、すなわち、ステップS203において、カレントエリアに設定されたタイムストレッチ値Vtに基づいて、音声ブロックのテンポをマスタテンポに合わせるために、楽曲データの再生速度をVt倍にして再生する。さらに、音声信号生成部282は、上述した図39のステップS144において設定されたピッチシフト値Vpすなわち、ステップS203において、カレントエリアに設定されたピッチシフト値Vpに基づいて、音声ブロックのキーをマスタキーに合わせるために、楽曲データの再生音の周波数をVp倍にして出力する。その後、処理はステップS207に進む。
【0279】
これにより、音声ブロックが小節の頭から始まっているか否かに関わらず、リミックスラインの時間軸における音声ブロックの開始点を含む小節の頭と、楽曲データにおける音声ブロックの開始点を含む小節の頭とが同期して再生される。また、音声ブロックのテンポがマスタテンポに合わせられるので、リミックスライン上のビートの位置と音声ブロックのビートの位置とが同期する。さらに、リミックスラインに設定されている拍子と音声ブロックの拍子とが一致する場合には、リミックスライン上の小節の位置と音声ブロックの小節の位置も同期する。
【0280】
一方、ステップS202において、次に再生する音声ブロックの情報が設定されていないと判定された場合、処理はステップS205に進む。
【0281】
ステップS205において、音声信号生成部282は、音声ブロックの終了点を含む小節を最後まで再生したかを判定する。具体的には、音声信号生成部282は、カレントエリアに設定されている、再生中の音声ブロックの開始点の直後小節頭を示すサンプル位置(SPBe)まで、楽曲データの再生が行われている場合、音声ブロックの終了点を含む小節を最後まで再生したと判定し、処理はステップS206に進む。
【0282】
ステップS206において、音声信号生成部282は、楽曲データの再生を停止し、処理はステップS207に進む。これにより、音声ブロックが小節の途中で終了していても、その小節の最後まで楽曲データの再生が行われる。
【0283】
一方、ステップS205において、音声ブロックの終了点を含む小節が最後まで再生されていないと判定された場合、ステップS206の処理はスキップされ、処理はステップS207に進む。
【0284】
また、ステップS201において、小節が進んでいないと判定された場合、ステップS202乃至S206の処理はスキップされ、処理はステップS207に進む。
【0285】
ステップS207において、上述した図38のステップS139の処理と同様に、再生停止が要求されたかが判定され、再生停止が要求されていないと判定された場合、処理はステップ201に戻り、ステップS207において、再生停止が要求されたと判定されるまで、ステップS201乃至S207の処理が繰り返し実行される。
【0286】
一方、ステップS207において、再生停止が要求されたと判定された場合、トラック再生処理は終了する。
【0287】
このように、図42のトラック2の音声ブロックBのように、小節の途中から始まり、小節の途中で終わる音声ブロックについても、リミックスライン上の小節の頭に同期して、音声ブロックの開始点を含む小節の頭Bsから楽曲データの再生が開始され、音声トラックの終了点を含む小節の次の小節の頭Beまで楽曲データが再生される。また、上述したように、音声ブロックBのテンポはマスタテンポに合わせられるので、リミックスラインのビートの位置、すなわち、マスタビートのビートの位置と音声ブロックBのビートの位置とが同期して再生される。
【0288】
また、上述した図40のステップS155乃至S162の処理により、小節頭Beから音声ブロックの開始点Ssまでの期間、および、音声ブロックの終了点Seから小節頭Beまでの期間は、音声ブロックBの再生音がミュートされるため、実質的に、開始点Ssから終了点Seまでの期間が音声ブロックBの再生期間となる。
【0289】
以上のようにして、編集画面を見ながら、簡単な操作を行うことにより、手軽に複数の音素材を組み合わせてリミックス曲を作成することができる。また、所望の音素材に重ねたりつなげたりするのに好適な音素材を簡単に見つけることができるので、迅速に完成度の高いリミックス曲を作成することができる。さらに、従来は、各音素材のテンポ、キーおよびビートの位置を合わせるために、深い音楽知識や、波形データを直接編集する専用のツールおよびソフトウェアなどが必要とされ、さらに多大な時間と手間を要していたが、本発明では、設定や調整などを行わずに、各音素材のテンポ、キー、および、ビートの位置が自動的に合わせられるので、簡単に複数の音素材を組み合わせて、完成度が高く聴いていて自然で違和感のないリミックス曲を作成することができる。
【0290】
従って、音楽の知識があまりない一般のユーザも、手軽に自分好みのリミックス曲を創作し、楽しむことができる。また、ユーザは、能動的に音楽を創作することにより、受動的に音楽を聴くだけでは得られない楽しみを感じたり、個人の好みにあった音楽の聴き方を創出したり、個人の顕示欲や創作欲を満たしたりすることができる。さらに、従来のカラオケで歌ったり、高度な技巧が要求される楽器演奏を行ったりする以外に、新たな音楽による自己表現の手段を提供することができる。
【0291】
また、実際に楽曲データを編集してリミックス曲を作成した場合、楽曲の著作権の問題により、作成したリミックス曲をアーティスト等に無断で他人に配布することはできない。また、配布先のユーザは、従来の楽曲と同様に、リミックス曲を受動的に聴いて楽しむことしかできない。
【0292】
一方、本発明の実施の形態において生成されるリミックスパターンデータは、楽曲の著作権の問題とは無関係に他人に配布することができる。また、配布先のユーザは、各音素材の原曲の楽曲データを入手することで、自分が持つ環境で同じリミックス曲を再現することができ、さらに、取得したリミックスパターンデータを再編集し、自分好みにリミックス曲を編集することができる。なお、たとえ自分一人でリミックス曲を楽しむとしても、上述したように、新たな楽曲データが生成されたり、原曲の楽曲データが編集されたりすることはなく、再生時にリアルタイムでリミックス曲が生成される。
【0293】
さらに、リミックスパターンデータをインターネットなどで公開して、他の人と共有したり、複数のユーザで共同して1つの作品を作り上げたり、お互いの作品を評価し合ったりすることで、音楽を軸とした新たなコミュニケーションの形態を創造することができる。従って、リミックスパターンデータは、拡張性や互換性などを考慮して、XML(Extensible Markup Language)などの構造記述言語を用いて記述するようにすることが望ましい。
【0294】
また、本発明の実施の形態においては、例えば、指定したアルバム内の楽曲、プレイリストなど所定のフォルダに登録されている楽曲などの指定したグループ内の楽曲を、テンポを変更したり、サビなどの指定した部分だけを抽出してリミックス再生することにより、指定した時間内に収まるように再生するタイマーリミックス再生機能を実現することが可能である。従来、通勤時間など限られた時間内では、グループ内の楽曲を途中まで聴くことしかできなかったが、この機能により、限られた時間内でグループ内の楽曲を効率よく完結した形で楽しむことができる。また、終了時間に近づくにつれて、テンポを徐々に遅くしたり、SE(Sound Effect)を重ねたりして、例えば、そろそろ目的地に着くという雰囲気を演出することも可能である。
【0295】
なお、以上の説明では、リミックスラインのトラックの数を複数にする例を示したが、本発明の実施の形態においては、例えば、音素材を重ねずにつなげるだけにリミックス方法を限定することにより、トラックの数を1つとすることも可能である。
【0296】
また、連結音素材検索において、指定ブロックの前に連結するのに好適な音素材を検索できるようにすることも可能である。この場合、指定ブロックの原曲において指定ブロックの直前にあるメロディブロックが参照ブロックとして設定される。
【0297】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0298】
図43は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0299】
コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
【0300】
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、キーボード、マウス、マイクロホンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記憶部508、ネットワークインタフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。
【0301】
以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
【0302】
コンピュータ(CPU501)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア511に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0303】
そして、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
【0304】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0305】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【0306】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0307】
【図1】従来のリミックス作業の手順の一例を説明するための図である。
【図2】本発明を適用した音楽編集システムの一実施の形態を示すブロック図である。
【図3】リミックスラインの例を示す図である。
【図4】タイムストレッチについて説明するための図である。
【図5】ピッチシフトについて説明するための図である。
【図6】同期再生制御装置の構成の詳細を示す図である。
【図7】音楽編集システムの機能的構成を示すブロック図である。
【図8】ビート情報、コード情報、および、メロディ情報について説明するをための図である。
【図9】相対キーと絶対キーについて説明するための図である。
【図10】メタデータのデータ構成の例を示す図である。
【図11】メタデータの具体例を示す図である。
【図12】ビート情報の表示例を示す図である。
【図13】コード情報の表示例を示す図である。
【図14】メロディ情報の表示例を示す図である。
【図15】リミックスパターンデータのデータ構成の例を示す図である。
【図16】リミックス編集処理を説明するためのフローチャートである。
【図17】編集画面の例を示す図である。
【図18】リミックスエリアのトラックの表示を拡大した図である。
【図19】楽曲展開チャートを拡大した図である。
【図20】楽曲展開チャートにおいてメロディブロックを選択した場合の図である。
【図21】楽曲展開チャートにおいてコードを選択した場合の図である。
【図22】メロディブロックの強調表示を説明するための図である。
【図23】コードの強調表示を説明するための図である。
【図24】リミックス編集の作業を説明するための図である。
【図25】音声ブロックに含まれる範囲を変更する操作を説明するための図である。
【図26】重畳音素材検索を行う場合の操作を説明するための図である。
【図27】連結音素材検索を行う場合の操作を説明するための図である。
【図28】音素材検索処理を説明するための図である。
【図29】スコア算出処理を説明するための図である。
【図30】長調用の類似度マトリックスの例を示す図である。
【図31】短調用の類似度マトリックスの例を示す図である。
【図32】スケールが異なる場合の類似度マトリックスの例を示す図である。
【図33】検索対象区間の移動を示す図である。
【図34】音素材検索の検索結果の表示例を示す図である。
【図35】音素材検索の検索結果の他の表示例を示す図である。
【図36】リミックスパターンの作成例を示す図である。
【図37】リミックス再生処理を説明するためのフローチャートである。
【図38】リミックス再生制御処理を説明するためのフローチャートである。
【図39】リミックス再生制御処理を説明するためのフローチャートである。
【図40】リミックス再生制御処理を説明するためのフローチャートである。
【図41】トラック再生処理を説明するためのフローチャートである。
【図42】音声ブロックを再生する期間を説明するための図である。
【図43】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【0308】
101 音楽編集システム, 111 CPU, 112 同期再生装置, 114 U/I表示装置, 117 記憶装置, 118 ネットワーク通信装置, 131 同期再生制御装置, 132 音声ミキシング装置, 141 楽曲用記憶装置, 142 楽曲メタデータ用記憶装置, 143 リミックスパターン用記憶装置, 161 マスタビート生成装置, 162 デコーダ, 163 タイムストレッチ/ピッチシフト装置, 171 エフェクト処理部, 172 音量調整装置, 173 音声ミックス装置, 211 ユーザインタフェース処理部, 212 リミックス処理部, 213 同期再生部, 215 表示部, 216 ネットワーク通信部, 217 楽曲メタデータ用記憶部, 218 リミックスパターン用記憶部, 219 楽曲用記憶部, 231 音素材検索部, 232 表示制御部, 241 類似度算出部, 242 スコア算出部, 252 リミックスパターン生成部, 253 リミックス再生制御部, 261 再生速度制御部, 262 音高制御部, 263 再生パターン制御部, 264 トラック生成部, 271 同期再生制御部, 272 音声ミキシング部, 281 マスタビート生成部, 282 音声信号生成部, 291 エフェクト処理部, 292 音声ミックス部

【特許請求の範囲】
【請求項1】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集装置において、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御する再生パターン制御手段と、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御する再生速度制御手段と、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する音高制御手段と
を含む音楽編集装置。
【請求項2】
各楽曲のメタデータは、対応する楽曲データにおける前記楽曲の小節の位置を示すビート情報を含み、
前記リミックスパターンデータは、リミックス再生時の時間軸上において、それぞれの前記音素材が配置されている小節およびビートの位置を示す情報を含み、
前記再生パターン制御手段は、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭と前記楽曲データにおける前記音素材の開始点を含む小節の頭とが同期するように前記楽曲データを再生する位置およびタイミングを制御する
請求項1に記載の音楽編集装置。
【請求項3】
前記ビート情報は、前記楽曲データにおける前記楽曲のビートの位置を示す情報をさらに含み、
前記再生パターン制御部は、前記ビート情報および前記リミックスパターンデータに基づいて、前記時間軸における前記音素材の開始点を含む小節の頭から前記音素材の開始点のビートまで前記楽曲データの再生音の音量をミュートさせる
請求項2に記載の音楽編集装置。
【請求項4】
各楽曲のメタデータは、前記楽曲のコード進行および対応する楽曲データにおける各コードの位置を示すコード情報を含み、
前記コード情報に基づいて、2つの前記音素材のコード進行の類似度を算出する類似度算出手段を
さらに含む請求項1に記載の音楽編集装置。
【請求項5】
前記類似度に基づいて、指定された前記音素材に重ねて再生するのに好適な前記音素材、または、つなげて再生するのに好適な前記音素材を検索する検索手段を
さらに含む請求項4に記載の音楽編集装置。
【請求項6】
前記コード情報に示される各コードは、前記音素材のスケールの主音に対するそのコードの根音の相対位置に基づいて表される
請求項4に記載の音楽編集装置。
【請求項7】
前記メタデータは、前記楽曲データにおける前記楽曲のビートの位置を示すビート情報をさらに含み、
前記類似度算出手段は、各コード間の類似度を定義した類似度マトリックスに基づいて、2つの前記音素材のコードをビート単位で比較することにより前記類似度を算出する
請求項4に記載の音楽編集装置。
【請求項8】
前記類似度マトリックスにおいては、2つのコードが一致する場合または代理コードの関係にある場合に、2つのコードが一致せずかつ代理コードの関係でない場合と比較して、コード間の類似度が高く設定される
請求項7に記載の音楽編集装置。
【請求項9】
前記類似度算出手段は、2つの前記音素材がともに長調または短調である場合、前記音素材のスケールの主音に対する各コードの根音の相対位置に基づいて、前記類似度を算出し、2つの前記音素材のうち一方が長調でもう一方が短調である場合、各コードの実際の音の高さに基づいて、前記類似度を算出する
請求項4に記載の音楽編集装置。
【請求項10】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集方法において、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する
ステップを含む音楽編集方法。
【請求項11】
楽曲の一部または全部からなる複数の音素材を組み合わせてリミックス再生する音楽編集処理をコンピュータに実行させるプログラムにおいて、
前記音素材の組み合わせおよび前記音素材に関する情報を含むリミックスパターンデータに基づいて、前記リミックスパターンデータに示される組み合わせで前記音素材が再生されるように前記音素材の原曲の楽曲データを再生する位置およびタイミングを制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるテンポであるオリジナルテンポの値に基づいて、前記音素材のテンポを所定のマスタテンポに合わせるように前記音素材の再生速度を制御し、
前記リミックスパターンデータに示される前記音素材の原曲におけるキーであるオリジナルキーと所定のマスタキーとの差および前記再生速度の制御量に基づいて、前記音素材のキーを前記マスタキーに合わせるように前記音素材の音の高さを制御する
ステップを含むプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate


【公開番号】特開2008−164932(P2008−164932A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−354334(P2006−354334)
【出願日】平成18年12月28日(2006.12.28)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】