(57)【要約】【課題】、複数の楽曲を素片単位で連結して新たな楽曲を生成する際に、各素片のつなぎ目で無音が生じたり、楽曲全体に亘ってのリズムが不自然になったりすることを回避する。【解決手段】複数の楽曲のうち演奏対象として指定された主楽曲の各素片の波形を表す楽音データを、他の楽曲の各素片の楽音データのうち主楽曲の素片と音楽的な特徴量が類似する素片の楽音データで置き換える際に、時間軸圧伸処理を施して時間長の調整を行いつつその置き換えを行う。時間軸圧伸のための手段として低音質高速な第１手段と高音質低速な第２手段とを用意し、楽曲の再生開始当初は、第１手段により時間軸圧伸を施した楽音データで置き換え、その後、第２手段により時間軸圧伸を施した楽音データによる置きかえに切り換える。【選択図】図４
2010113277.tif 000002
【特許請求の範囲】
【請求項１】
楽曲を区分した各素片の波形を示す楽音データを記憶する記憶手段と、
再生すべき素片を指定する情報と再生時における素片の時間長とを指定する情報とを含む再生指示を生成する再生指示生成手段と、
前記再生指示により指定された素片の楽音データを前記記憶手段から読み出す読出手段と、
前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための第１の時間軸圧伸処理を施す第１の時間軸圧伸処理手段と、
前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための時間軸圧伸処理であって、前記第１の時間軸圧伸処理よりも演算量が多く、処理速度が遅い第２の時間軸圧伸処理を施す第２の時間軸圧伸処理手段と、
前記再生指示に応じて、前記第１の時間軸圧伸処理の結果得られる楽音データを出力し、その後、前記第１の時間軸圧伸処理の結果得られる楽音データの代わりに、前記第２の時間軸圧伸処理の結果得られる楽音データを出力するデータ出力手段と、
を有することを特徴とする楽曲処理装置。
【請求項２】
前記再生指示手段は、再生すべき素片を連ねて得られる楽曲の再生テンポを指定させ、再生時における各素片の時間長を当該再生テンポに応じた一定の時間長とすることを特徴とする請求項１に記載の楽曲処理装置。
【請求項３】
前記再生指示生成手段は、再生すべき素片の各々について再生時における当該素片の時間長を指定することを特徴とする請求項１に記載の楽曲処理装置。
【請求項４】
前記読出手段は、前記再生指示に応じて前記記憶手段から読み出す楽音データの各々に、その楽音データの表す素片内でフェードアウトするエンベロープを付与する一方、当該楽音データが他の楽音データに後続して出力される場合には、当該楽音データの表す素片の手前からフェードインするエンベロープを付与することを特徴とする請求項１から３の何れか１に記載の楽曲処理装置。
【請求項５】
コンピュータ装置を、
楽曲を区分した各素片の波形を示す楽音データを記憶する記憶手段と、
再生すべき素片を指定する情報と再生時における素片の時間長とを指定する情報とを含む再生指示を生成する再生指示生成手段と、
前記再生指示により指定された素片の楽音データを前記記憶手段から読み出す読出手段と、
前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための第１の時間軸圧伸処理を施す第１の時間軸圧伸処理手段と、
前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための時間軸圧伸処理であって、前記第１の時間軸圧伸処理よりも演算量が多く、処理速度が遅い第２の時間軸圧伸処理を施す第２の時間軸圧伸処理手段と、
前記再生指示に応じて、前記第１の時間軸圧伸処理の結果得られる楽音データを出力し、その後、前記第１の時間軸圧伸処理の結果得られる楽音データの代わりに、前記第２の時間軸圧伸処理の結果得られる楽音データを出力するデータ出力手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の楽曲の各々に含まれる素片を連結して新たな楽曲を生成する技術に関する。
【背景技術】
【０００２】
例えばディスクジョッキ（ＤＪ）は、複数の楽曲を途切れなく連結しながら次々に再生する。特許文献１には、このような楽曲再生を実現する技術が開示されている。同文献の技術においては、楽曲を拍に同期した時点で複数の区間（以下、素片）に区分し、それら各素片を音楽的な特徴量が類似する他の素片（例えば、他の楽曲の素片）で置き換えて再生することにより、複数の楽曲から違和感のない新たな楽曲を生成し再生することを実現している。
【特許文献１】特開２００８−１２９１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、一つの楽曲においても、その楽曲を構成する各素片ＳＭｉの時間長は必ずしも一定ではなく、また、素片ＳＭｉと置き換えて再生される素片ＳＳｉの時間長が素片ＳＭｉの時間長と一致するとは限らない。このため、特許文献１で開示された技術には、以下のような問題が生じ得る。すなわち、図６（Ａ）に示すように、素片ＳＭｉに比較して素片ＳＳｉの時間長が短い場合には、各素片ＳＳｉのつなぎ目が無音状態となってしまい、音がブツブツと途切れて聴こえてしまうといった問題がある。逆に、素片ＳＭｉに比較して素片ＳＳｉの時間長が長い場合には、その超過部分に応じて素片ＳＳｉの末尾の部分が再生されず、図６（Ｂ）に示すように素片ＳSｉの中央に拍点がある場合に、各拍点の再生間隔がずれてしまい再生される楽曲全体に亘ってのリズムにずれが生じてしまうといった問題がある。
本発明は、上記課題に鑑みて為されたものであり、複数の楽曲を素片単位で連結して新たな楽曲を生成する際に、各素片のつなぎ目で無音が生じたり、楽曲全体に亘ってのリズムが不自然になったりすることを回避する技術を提供することを目的としている。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明は、楽曲を区分した各素片の波形を示す楽音データを記憶する記憶手段と、再生すべき素片を指定する情報と再生時における素片の時間長とを指定する情報とを含む再生指示を生成する再生指示生成手段と、前記再生指示により指定された素片の楽音データを前記記憶手段から読み出す読出手段と、前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための第１の時間軸圧伸処理を施す第１の時間軸圧伸処理手段と、前記再生指示に応じて前記記憶手段から読み出された楽音データに対し、前記再生指示により指定された時間長の素片とするための時間軸圧伸処理であって、前記第１の時間軸圧伸処理よりも演算量が多く、処理速度が遅い第２の時間軸圧伸処理を施す第２の時間軸圧伸処理手段と、前記再生指示に応じて、前記第１の時間軸圧伸処理の結果得られる楽音データを出力し、その後、前記第１の時間軸圧伸処理の結果得られる楽音データの代わりに、前記第２の時間軸圧伸処理の結果得られる楽音データを出力するデータ出力手段とを有する楽曲処理装置、およびコンピュータ装置を上記各手段として機能させることを特徴とするプログラムを提供する。
【０００５】
このような楽曲処理装置およびプログラムによれば、再生指示に応じて記憶手段から読み出される楽音データに対して第１または第２の時間軸圧伸処理を施す処理が実行され、その処理結果が出力される。このため、各素片のつなぎ目で無音が生じたり、リズムが不自然になることが回避される。さらに、本発明では、はじめのうちは第１の時間軸圧伸処理による時間長の調整が行われ、その後、第２の時間軸圧伸処理による時間長の調整に切り換えられる。このため、第１の時間軸圧伸処理として、処理速度は速いもののその処理後の楽音データの音質では劣る処理（例えば、時間領域での時間軸圧伸処理）を採用し、第２の時間軸圧伸処理として、処理速度は遅いもののその処理後の楽音データの音質では優る処理（例えば、フェーズボコーダなどスペクトル領域での時間軸圧伸処理）を採用すれば、前者のみを採用した場合に比較して音質の高い楽曲を生成することができ、また、後者のみを採用した場合に比較してリアルタイム処理が可能になるといった効果を奏する。
【０００６】
ここで、再生指示より指定される素片の再生時の時間長を指定する態様としては種々のものが考えられる。第１に、再生すべき素片を連ねて得られる楽曲の再生テンポを利用者に指定させ、再生時における各素片の時間長を当該再生テンポに応じた一定の時間長とする態様である。第２に、再生すべき素片の各々について再生時における当該素片の時間長を指定する態様である。
【０００７】
より好ましい態様においては、前記楽曲処理装置は、前記主楽曲に含まれる各素片と置き換えられる他の楽曲の素片の楽音データの各々に、その楽音データの表す素片内でフェードアウトするエンベロープを付与する一方、当該楽音データが他の楽音データに後続して出力される場合には、当該楽音データの表す素片の手前からフェードインするエンベロープを付与して出力することを特徴とする。このような態様によれば、前後の素片との境界を跨いでフェードインおよびフェードアウトするエンベロープを付与した場合に比較して、不要な拍点が顕在化することがなく、楽曲全体に亘ってのリズムが不自然になることが回避される。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について図面を参照しつつ説明する。
（Ａ：第１実施形態）
図１は、本発明の第１実施形態に係る楽曲処理装置１００の構成を示すブロック図である。本形態の楽曲処理装置１００は、複数の楽曲のうちから利用者により指定された一つの楽曲（以下「主楽曲」という）を、これら複数の楽曲のうちの他のもの（以下「副楽曲」という）を利用して加工し、このようにして生成される新たな楽曲を繰り返し再生する装置である。図１に示すように、この楽曲処理装置１００は、制御装置１０、記憶装置２０、出力装置３０、入力装置４０および表示装置５０を具備するコンピュータ（例えばパーソナルコンピュータ）によって実現される。
【０００９】
制御装置１０は、プログラムの実行によって楽曲処理装置１００の各部を制御する演算処理装置（ＣＰＵ）と、この演算処理の実行過程で各種データが各々蓄積される複数のキャッシュメモリとを含んでいる。記憶装置２０は、制御装置１０が実行するプログラムや制御装置１０が処理する各種のデータを記憶する。例えば半導体記憶装置や磁気記憶装置や光ディスク装置が記憶装置２０として好適である。図１に示すように、記憶装置２０は、複数の楽曲の各々について楽曲データを記憶する。本実施形態では、入力装置４０に対する操作によって、上記複数の楽曲のうちから再生対象となる主楽曲が指定され、その主楽曲から再生対象のループが画定される。なお、上記複数の楽曲のうちの主楽曲として指定されなかったもの全てを副楽曲としても良いし、これら主楽曲として指定されなかた楽曲のうちの幾つかを副楽曲として利用者に指定させても良い。
【００１０】
図２は、楽曲とループの関係を示す概念図である。１つの楽曲は多数の小節に区分される。図２に示すように、ループは１つの楽曲の複数の小節からなる区間であり、例えば楽曲の特徴的な部分（いわゆるサビの部分など）がループとして好適である。このループは、入力装置４０の操作によって利用者が主楽曲中にループの始点および終点を指定することで画定される。なお、本実施形態では、主楽曲の一部を再生対象のループとして利用者に指定させたが、主楽曲全体を再生対象のループとしても勿論良い。また、主楽曲のうち所定の条件を満たす区間を制御装置１０がループとして自動的に画定する構成としても勿論良い。
【００１１】
図２に示すように、各小節は１つまたは複数の拍（ビート）を単位として複数の区間（以下「素片」という）Ｓに区分される。本形態における素片Ｓは１つの拍に相当する区間である。したがって、例えば２拍子の楽曲であれば１つの小節を２等分した各区間が素片Ｓに相当し、３拍子の楽曲であれば１つの小節を３等分した各区間が素片Ｓに相当する。なお、素片Ｓは、１つの拍を複数に区分した区間（すなわち１／２拍や１／４拍に相当する区間）であってもよい。
【００１２】
図１に示すように、１つの楽曲に対応した楽曲データは、当該楽曲に属する複数の素片Ｓの各々について素片データＤＳとその楽曲における各素片Ｓの再生タイミングを示すシーケンスデータＴＣ（例えば、素片Ｓを一意に示す識別子と楽曲の先頭を時刻の基準点とした場合におけるその素片Ｓの再生時刻を示すデータとの配列）とを含む。例えば、４拍子の楽曲のうち３個の小節がループとして指定された場合には、当該ループの楽曲データは１２個（＝３小節×４拍分）の素片データＤＳを含む。１つの素片Ｓに対応した素片データＤＳは、当該素片Ｓの音波形を示すサンプリングデータ列（以下、楽音データ）Ａと当該素片Ｓの音楽的な性質を特徴付ける数値（以下「特徴量」という）Ｆとを含む。本形態における素片データＤＳの特徴量Ｆは、楽音のエネルギ（強度），振幅スペクトルのセントロイド，スペクトルの強度が最大となる周波数，ＭＦＣＣ（Mel-Frequency Cepstrum Coefficient）などＮ種類（Ｎは自然数）の数値を含む。
【００１３】
制御装置１０は、再生対象として画定されたループを構成する素片ＳＭｉ（ｉ＝１、２・・・:ｉ＝１はループの先頭に位置する素片）の楽音データＡＭｉを、複数の副楽曲の素片のうち素片ＳＭｉと音楽的な特徴が類似した素片ＳＳｉの楽音データＡＳｉに置き換え、利用者により指定された再生テンポに応じた時間間隔で出力装置３０へ順次出力する。ただし、制御装置１０は、単に楽音データＡＭｉを楽音データＡＳｉで置き換えて出力するのではなく、素片ＳＳｉの時間長を利用者により指定された再生テンポに応じた長さに調整したうえで上記置き換えを行う点に特徴がある。これにより、各素片ＳＳｉの切れ目で無音になったり、リズムのずれが生じたりすることが回避されるのである。そして、出力装置３０は、制御装置１０から出力される楽音データＡＳｉに基づいて放音する。例えば、出力装置３０は、楽音データＡＳｉからアナログの信号を生成するＤ／Ａ変換器と、Ｄ／Ａ変換器が出力する信号を増幅する増幅器と、増幅器が出力する信号に応じた音波を出力する放音機器（スピーカやヘッドホン）とを含む。
【００１４】
入力装置４０は、利用者が操作する複数の操作子を含む機器（例えばマウスやキーボード）である。利用者は、入力装置４０を適宜に操作することで、主楽曲およびループを指定すること、その再生テンポや再生時の音量などを指定すること、および再生時に素片の時間長を調整するか否かを指示することができる。表示装置５０は、例えば液晶ディスプレイであり、制御装置１０による制御のもと上記各種操作の実行を促す画像を表示する。
【００１５】
次に、制御装置１０の具体的な機能について説明する。図１に示すように、制御装置１０は、記憶装置２０に格納されたプログラムを実行することで複数の機能体（再生指示生成部１２，素片読出部１４，第１時間軸圧伸部１６ａ，第２時間軸圧伸部１６ｂ、データ出力部１８）として機能する。各機能体による具体的な処理の内容は以下の通りである。
【００１６】
再生指示生成部１２は、再生対象として指定されたループを示す情報および指定された再生テンポに応じて、再生するべき素片を示す情報と再生時における素片の時間長とを含む再生指示を生成する。本実施形態では、再生指示生成部１２は、まず、複数の副楽曲の各々に含まれる素片のうち再生対象のループを構成する各素片ＳＭｉと音楽的な特徴が最も類似する素片を、その素片ＳＭｉと置き換えて再生する素片ＳＳｉとして特定する。より詳細に説明すると、再生指示生成部１２は、再生対象として指定されたループにおける各素片ＳＭｉの配列の順番で記憶装置２０からその素片ＳＭｉの特徴量ＦＭｉを順次読み出し、１つの素片ＳＭｉの特徴量ＦＭｉについて、総ての副楽曲における各素片Ｓの特徴量Ｆとの類否指標値Ｒを算定する。この類否指標値Ｒとしては、例えば、特徴量Ｆに含まれるＮ種類の数値を軸とするＮ次元空間に特徴量ＦＭｉと特徴量Ｆの各々に対応した座標を設定したときの各座標間の距離（ユークリッド距離など）の逆数を用いることが考えられる。このようにして算定される類否指標値Ｒを用いた場合、類否指標値Ｒが大きい（すなわち特徴量ＦＭｉと特徴量Ｆとが近い）ほど音楽的な特徴が類似する。したがって、再生指示生成部１２は、素片ＳＭｉの各々に対して、最も大きな類否指標値Ｒが算定される素片を素片ＳＳｉとして特定する。
【００１７】
次いで、再生指示生成部１２は、上記のようにして特定した素片ＳＳｉの各々について、利用者により指定された再生テンポで再生する際の時間長を算出する。ここで、再生テンポに基づいて各素片ＳＳｉの時間長を算定する態様としては以下の２つの態様が考えられる。第１に、各素片ＳＳｉの時間長を再生テンポに応じた一定の時間長とする態様である。具体的には、再生テンポとして１分当たりの拍数をＢＰＭと指定された場合、素片ＳＳｉの再生時の時間長を６０／ＢＰＭとする態様である。なお、一拍あたりＳＰＢ個の素片がある場合（１つの素片が１／２拍や１／４拍に対応する場合など）には、再生時の素片ＳＳｉの時間長を６０／（ＢＰＭ×ＳＰＢ）とすれば良い。これに対して、第２の態様は、素片ＳＳｉの時間長を、再生対象として指定されたループを上記再生テンポで再生する場合における各素片ＳＭｉの時間長となるように定める態様である。例えば、上記再生対象のループを含む主楽曲の録音時のテンポがＢＰＭ０であり、かつ、素片ＳＭｉの時間長がＴＳＭｉである場合、再生時の素片ＳＳｉの時間長をＴＳＭｉ×ＢＰＭ０／ＢＰＭとするのである。
【００１８】
そして、再生指示生成部１２は、上記のようにして特定した各素片ＳＳｉを指定する情報（例えば、記憶装置２０における素片ＳＳｉの記憶位置を示すアドレスなどその素片ＳＳｉを一意に示す識別子）とその素片ＳＳｉを再生する際の時間長を指定する情報とを含む再生指示を生成し、素片読出部１４に与える。
【００１９】
素片読出部１４は、再生指示生成部１２によって生成された再生指示にしたがって素片ＳＳｉの波形を示す楽音データＡＳｉを記憶装置２０から順次読出す。このようにして読み出される楽音データＡＳｉを、利用者により指定された再生テンポに応じた出力タイミングで出力装置３０へ順次出力したとしたならば、再生対象として指定されたループの各素片ＳＭｉを素片ＳＳｉで置き換えた楽曲が上記再生テンポで再生されるのである。なお、本実施形態では、再生対象のループを構成する各素片ＳＭｉと最も類似した特徴量を有する素片を再生指示生成部１２に特定させ、その素片の識別子を再生するべき素片を示す情報として用いたが、素片ＳＭｉの特徴量ＦＭｉを、再生するべき素片を示す情報として用い、この特徴量ＦＭｉと最も類似する特徴量を有する素片を読み出す処理を素片読出部１４に実行させても良い。ただし、このような態様においては、再生指示生成部１２における再生指示の生成の際には、再生するべき素片が一意に特定されないため、再生時の各素片の時間長を算定する態様としては前述した第１の態様を採用しなければならない。
【００２０】
第１時間軸圧伸部１６ａと第２時間軸圧伸部１６ｂは、何れも、素片読出部１４により記憶装置２０から順次読み出される楽音データＡＳｉ（ｉ＝１，２・・・）に時間軸圧伸処理を施し、素片ＳＳｉの再生時の時間長が再生指示にて指定された時間長となるように時間長の調整を行う。より詳細に説明すると、第１時間軸圧伸部１６ａは、以下の要領で時間長の調整を行う。すなわち、楽音データＡＳｉを構成する各サンプリングデータについて自己相関値を算出するなどして素片ＳＳｉにて周期的に表れる波形を特定し、この波形単位で時間長の伸張または圧縮を行う。例えば、素片ＳＳｉの時間長の伸張を行う場合には、第１時間軸圧伸部１６ａは、再生指示にて指定された時間長とその素片ＳＳｉについての時間軸圧伸処理前の時間長との比（以下、圧伸比率）に応じた分だけ上記波形が繰り返されるように楽音データＡＳｉにサンプリングデータ列の追加や削除を行う。
【００２１】
一方、第２時間軸圧伸部１６ｂは、フェーズボコーダなどを利用したスペクトル領域でのデータ処理により時間長の調整を行う。例えば、素片ＳＳｉの時間長の伸張を行う場合には、楽音データＡＳｉを素片ＳＳｉを構成するフレーム単位に分割し、各フレームにＦＦＴを施してそのフレームのスペクトル分布を求め、圧伸比率に応じた分だけスペクトル分布の内挿を施した後に逆ＦＦＴを施すことで、その素片ＳＳｉの時間長を伸長する。このように第１時間軸圧伸部１６ａによる時間軸圧伸処理は、ＦＦＴおよび逆ＦＦＴを含まないため、第２時間軸圧伸部１６ｂにおけるものに比較して演算量が少なく高速であるといった長所があるものの、波形単位でのサンプルの追加等であるため、高音質な処理結果を望めないといった短所がある。以下、本実施形態では、第１時間軸圧伸部１６ａが実行する時間軸圧伸処理を「リアルタイム時間軸圧伸処理」と呼び、第２時間軸圧伸部１６ｂが実行する時間軸圧伸処理を「オフライン時間軸圧伸処理」と呼ぶ。
【００２２】
データ出力部１８は、素片読出部１４によって読み出された楽音データＡＳｉ（或いは、その楽音データＡＳｉに時間軸圧伸処理を施して得られる楽音データ）を出力装置３０へ出力する。図３は、制御装置１０の動作モードの遷移を示す図である。図３に示すように、制御装置１０の動作モードには、ノーマルモード、リアルタイム処理モード、切り換え準備モードおよびオフライン処理モードの４つがある。以下、これら４つの動作モードの各々にて制御装置１０が実行する処理の内容について説明する。
【００２３】
（Ａ−１：ノーマルモードにおける処理）
このモードは、時間長の調整を行うことなく、楽音データＡＭｉを楽音データＡＳｉで置き換えて出力するモードである。本実施形態では、入力装置４０に対する操作によりループの繰り返し再生が指示されると、制御装置１０は、再生指示生成部１２による再生指示の生成を行い、このモードの処理を開始する。図４（Ａ）は、ノーマルモードにおける処理の流れを示すフロー図である。図４（Ａ）に示すように、このモードにおいては、まず、再生指示の示す素片の楽音データが素片読出部１４によって順次記憶装置２０から読み出され、複数のキャッシュメモリのうちの１つ（以下、第１のキャッシュメモリ）に書き込む処理（図４（Ａ）：ステップＳＡ１００）が実行される。ここで、記憶装置２０から読み出した楽音データＡＳｉを上記第１のキャッシュメモリに蓄積するのは、一般に記憶装置２０のデータ読み出し速度は低速であるため、一度記憶装置２０から読み出された楽音データＡＳｉがループの繰り返し再生を行う過程で再度記憶装置２０から読み出されるとすると、楽曲のリアルタイム再生に支障が生じる虞があるからである。
【００２４】
ステップＳＡ１１０で実行される加工処理では、入力装置４０に対する操作に応じて音量の調整やイコライジング、所定の周波数を上回る周波数成分を遮断するなどの各種音響処理が楽音データＡＳｉに施される。このようにして加工処理が施された楽音データは、第１時間軸圧伸部１６ａや第２時間軸圧伸部１６ｂによる時間軸圧伸処理を施されることなく、データ出力部１８によって再生テンポに応じた時間間隔で出力装置３０へ順次出力される（ステップＳＡ１２０）。
【００２５】
以上説明したように、このノーマルモードの処理においては、楽音データＡＳｉに対して時間長の調整は施されないため、素片ＳＳｉの時間長は必ずしも再生テンポに応じた長さとなっていない。このため、各素片ＳＳｉのつなぎ目で無音が生じたり、ループ全体に亘ってのリズムが不自然になるといった不具合が生じ得る。このような不具合が生じた場合、楽曲処理装置１００の利用者は、入力装置４０を操作して素片の時間長調整の実行を指示することができる。このようにして時間長調整の実行を指示されると、図３に示すように、制御装置１０は、その動作モードをリアルタイム処理モードへと切り換える。
【００２６】
（Ａ−２：リアルタイム処理モードにおける動作）
このモードは、第１のキャッシュメモリに読み出された楽音データＡＳｉに対してリアルタイム時間軸圧伸処理（図４では、リアルタイム圧伸処理と表記）を施しつつ出力するモードである。図４（Ｂ）は、リアルタイム処理モードにおける処理の流れを示すフロー図である。図４（Ｂ）と図４（Ａ）とを比較すれば明らかように、リアルタイム処理モードにおいては、加工処理（ステップＳＡ１１０）が施された楽音データに対して第１時間軸圧伸部１６ａによる時間軸圧伸処理（すなわち、リアルタイム圧伸処理：ステップＳＡ１１５）を施した後に出力（ステップＳＡ１２０）する点がノーマルモードにおける処理と異なる。
【００２７】
リアルタイム処理モードにて出力装置３０へ出力される楽音データＡＳｉには、その時間長を再生指示の示す時間長とする時間軸圧伸処理が施されている。このため、各素片ＳＳｉのつなぎ目で無音が生じたり、ループ全体に亘ってのリズムが不自然になることはない。しかしながら、リアルタイム時間軸圧伸処理は、処理速度が高速であるものの、高音質な処理結果は得られない。このため、楽曲処理装置１００の利用者は、リアルタイム処理モードにて再生される楽曲の音質に不満を抱く場合がある。このような場合、本実施形態では、入力装置４０に対する操作により、リアルタイム時間軸圧伸処理からオフライン時間軸圧伸処理へと切り換えることを指示することができる。そして、このような指示が為される、制御装置１０は、図３に示すように、その動作モードを切り換え準備モードへと切り換える。
【００２８】
（Ａ−３：切り換え準備モードにおける動作）
このモードは、楽音データＡＳｉに対する時間軸圧伸処理をリアルタイム時間軸圧伸処理からオフライン時間軸圧伸処理へ切り換える準備を行う動作モードである。本実施形態において、リアルタイム時間軸圧伸処理からオフライン時間軸圧伸処理へ即座に切り換えるのではなく、このような切り換え準備モードを経由する理由は、以下の通りである。すなわち、オフライン時間軸圧伸処理は、リアルタイム時間軸圧伸処理に比較して高音質な処理結果が得られるものの、演算量が多く、その処理速度が低速であるため、リアルタイム時間軸圧伸処理から即座にオフライン時間軸圧伸処理へ切り換えてしまうと、オフライン時間軸圧伸処理が間に合わず、楽曲のリアルタイム再生に支障が生じる虞があるからである。
【００２９】
図４（Ｃ）は、切り換え準備モードにおける処理の流れを示すフロー図である。この切り換え準備モードにおいては、記憶装置２０から第１のキャッシュメモリへ読み出した楽音データＡＳｉに対して加工処理（ステップＳＡ１１０）およびリアルタイム時間軸圧伸処理（ステップＳＡ１１５）を施して出力（ステップＳＡ１２０）する点では、前述したリアルタイム処理モードにおける動作と同一である。しかし、この切り換え準備モードにおいては、これらの処理と並列に、素片読出部１４によって記憶装置２０から順次読み出される楽音データＡＳｉ（ｉ＝１、２・・・）に対してオフライン時間軸圧伸処理（図４では、オフライン圧伸処理と表記）を施し、その処理結果を上記第１のキャッシュメモリとは異なる第２のキャッシュメモリへ蓄積する（ステップＳＡ２００）点が前述したリアルタイム処理モードにおける処理と異なる。そして、制御装置１０は、上記第２のキャッシュメモリに充分な数の楽音データ（すなわち、オフライン時間軸圧伸処理済みの楽音データＡＳｉ）が蓄積されたことを契機として、その動作モードをオフライン処理モードへ切り換える（図３参照）。ここで、第２のキャッシュメモリに蓄積されている楽音データの個数が幾つになったときに、充分な数の楽音データが蓄積されたと判定するのかについては種々の態様が考えられる。例えば、再生指示の示す全ての素片ＳＳｉに対応する楽音データＡＳｉが第２のキャッシュメモリに蓄積された場合に充分な数に達したと判定する態様や、第２時間軸圧伸部１６ｂによる処理を開始してから所定時間が経過した場合に、第２のキャッシュメモリに充分な個数の楽音データが蓄積されたと判定する態様などが考えられる。
【００３０】
（Ａ−４：オフライン処理モードにおける動作）
図４（Ｄ）は、オフライン処理モードにおける処理の流れを示すフロー図である。このモードにおいては、切り換え準備モードにて第２のキャッシュメモリに蓄積された楽音データＡＳｉ（すなわち、第２時間軸圧伸部１６ｂによる時間軸圧伸処理が施された楽音データＡＳｉ）を順次読出し、前述した加工処理（ステップＳＡ１１０）を施して出力する処理が実行される。例えば、切り換え準備モードからオフライン処理モードへ切り換える直前に、リアルタイム時間軸圧伸処理を施して出力した楽音データが楽音データＡＳｍである場合には、このオフライン処理モードにおいては楽音データＡＳｍ＋１から順にキャッシュメモリから読み出して出力する処理が実行される。前述したように、オフライン時間軸圧伸処理により時間軸圧伸を施した場合には、リアルタイム時間軸圧伸処理による場合に比較して音質が向上する。
【００３１】
以降、オフライン処理モードでの動作中に入力装置４０に対する操作によりノーマルモード或いはリアルタイム処理モードへの切り換えが指示されると、制御装置１０は、図３にて二点鎖線或いは一点鎖線で示すように、当該指示されたモードに動作モードを切り換える。すなわち、ノーマルモードへの切り換えを指示された場合には、図４（Ａ）に示す処理を実行し、リアルタイム処理モードへの切り換えを指示された場合には、図４（Ｂ）に示す処理を実行する。なお、本実施形態では、素片の時間長調整の実行を指示された場合には、まず、リアルタイム処理モードに動作モードを切り換え、その後、オフライン処理への切り換えを指示されたことを契機として、切り換え準備モードを経てオフライン処理モードへ動作モードを切り換えた。しかし、時間長調整の実行を指示された場合に、動作モードを切り換え準備モードへ切り換え、その後、第２のキャッシュに充分な数の楽音データが蓄積されたことを契機として動作モードをオフライン処理モードへ切り換えるようにしても勿論良い。
【００３２】
以上に説明したように、本第１実施形態においては、主楽曲を構成する各素片ＳＭｉが、複数の副楽曲のうち音楽的な特徴が類似する素片ＳＳｉに置換される。したがって、利用者が各楽曲の類似性や調和性について熟知していない場合であっても、主楽曲の曲調を損なうことなく聴感上において自然な楽曲を生成することが可能である。また、本第１実施形態では、各楽曲が拍に同期した時点で素片に区分されるとともに、時間軸圧伸処理の実行が指示された後は副楽曲の素片ＳＳｉが再生テンポに応じた時間長（或いは、その再生テンポで主楽曲を再生する際の各素片ＳＭｉの時間長）に調整されたうえで上記置き換えが行われる。このため、各素片ＳＳｉのつなぎ目で無音が生じたり、リズムが不自然になったりするといった不具合が生じることはない。さらに、本実施形態では、リアルタイム時間軸圧伸処理とオフライン時間軸圧伸処理を上記のように切り換えて実行するようにしたため、リアルタイム時間軸圧伸処理のみで時間軸圧伸を行う場合に比較して、高い音質の楽曲が得られ、また、オフライン時間軸圧伸処理のみで時間軸圧伸を行う場合に比較して、時間軸圧伸処理の実行を指示してからその効果が表れるまでの応答時間を短くすることができる。
【００３３】
（Ｂ：第２実施形態）
上述した第１実施形態では、主楽曲の各素片ＳＭｉの楽音データＡＭｉを、複数の副楽曲の素片のうち素片ＳＭｉとの類似度が最も高い素片ＳＳｉの楽音データＡＳｉに適宜時間軸圧伸を施しつつ置き換えて出力した。しかしながら、このようにして順次出力される楽音データ列ＡＳｉ、ＡＳｉ＋１、ＡＳｉ＋２・・・の各々は、同一の副楽曲にて互いに隣り合っていた素片に対応する楽音データであるとは限らず、素片ＳＳｉ、ＳＳｉ＋１、ＳＳｉ＋２の各々のつなぎ目で音が急変するなどの不具合が起こり得る。
【００３４】
このような不具合を回避するために、図５（Ａ）に示すように、各素片にその一つ手前の素片との境界を跨いでフェードインする一方、後続の素片との境界を跨いでフェードアウトするエンベロープを付与し、クロスフェードにより各素片のつなぎ目を滑らかにすることが考えられる。このようなエンベロープの付与は、素片読出部１４に以下の処理を行わせることで実現することができる。例えば、再生指示の示す素片ＳＳｉが、ある副楽曲の先頭からｎ番目の素片Ｓｎである場合、その素片Ｓｎの波形を表す楽音データＡｎとともに、その副楽曲にて素片Ｓｎの一つ手前に位置する素片Ｓｎ−１の波形を示す楽音データＡｎ−１と、その副楽曲にて素片Ｓｎに後続する素片Ｓｎ＋１の音波形を表す楽音データＡｎ＋１とを読み出す処理を素片読出部１４に実行させる。そして、これら３つの楽音データに含まれる各サンプルに対して図５（Ｂ）に示す窓関数を乗算し、その乗算結果を上記素片ＳＳｉの波形を示す楽音データＡＳｉとして出力する処理を素片読出部１４に実行させるのである。
【００３５】
しかし、本実施形態における各素片は、楽曲を拍に同期した時点で区分することにより得られるものであるため、図５（Ａ）に示すようなエンベロープの付与を行うと、以下のような問題が生じ得る。すなわち、楽曲を拍に同期した時点で区分して得られる素片Ｓｎ−１、Ｓｎ、Ｓｎ＋１・・・の各々には、図５（Ｂ）に示すように、その冒頭部分に拍に対応したアタック（例えば、打楽器音のアタック）が含まれている。このため、図５（Ｂ）に示す窓関数の乗算により各素片にその前後の素片との境界を跨いでフェードイン、フェードアウトするエンベロープを付与すると、そのフェードアウト部分には後続の素片の冒頭に位置するアタックが含まれることとなる。このようなアタック部分の音が再生されると、各素片の切れ目でリズムに乱れが生じてしまう。
【００３６】
そこで、本実施形態では、図５（Ｃ）に示すように素片内にてフェードアウトするエンベロープを付与するとともに、素片の手前（図５（Ｃ）では、ＥＡＯ秒手前）からその素片の冒頭まででフェードインするエンベロープを付与することとした。このような態様によれば、各素片ＳＳｉのつなぎ目が滑らかになり、そのつなぎ目で音が急変するといった不具合が回避されるとともに、各素片の末尾に不要なアタックが含まれることが回避され、ループ全体に亘ってのリズムに乱れが生じないといった効果を奏する。なお、ループの先頭に位置する素片に対応する楽音データＡＳｉには、フェードイン部を設ける必要がないことは言うまでもない。また、時間軸圧伸の比率がａ倍であり、かつ、ピッチ比をｂ倍としてループの再生を行う場合には、各素片に対応する楽音データＡＳｉを本来の再生開始タイミング（エンベロープの付与や時間軸圧伸を行わず、ピッチ比を１倍で再生する場合の再生タイミング）に対して（ａ×ＥＡＯ）／ｂ［秒］だけ早くその再生を開始する必要がある。
【００３７】
（Ｃ：他の実施形態）
以上、本発明の第１および第２実施形態について説明したが、これらの実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した各実施形態では、オフライン処理の実行を指示されてからそのオフライン処理が完了するまでの間は、リアルタイム時間軸圧伸処理を施した楽音データＡＳｉで楽音データＡＭｉを置換し、そのオフライン処理が完了した時点でオフライン時間軸圧伸処理を施した楽音データＡＳｉによる置き換えに切り換えた。しかし、オフライン処理が完了した時点からの経過時点に応じて混合比ＲＲを０から１まで次第に大きくしつつ、リアルタイム時間軸圧伸処理を施した楽音データＡＳｉとオフライン時間軸圧伸処理を施した楽音データＡＳｉとを１−ＲＲ：ＲＲの比率でミキシングし、そのミキシング結果で楽音データＡＭｉを置き換えるようにしても良い。このような態様によれば、リアルタイム時間軸圧伸処理とオフライン時間軸圧伸処理の変わり目を目立たなくすることができる、といった効果を奏する。
【００３８】
（２）上述した各実施形態では、時間軸圧伸処理を施しつつ、主楽曲を構成する各素片ＳＭｉの楽音データＡＭｉをその素片ＳＭｉの特徴量ＦＭｉとの類似度が最も高い特徴量の素片ＳＳｉの楽音データＡＭｉで置き換えたが、両特徴量から算出される類否指標値Ｒが所定の閾値を超えていない場合には、上記置き換えを行わず、楽音データＡＭｉをそのまま出力するようにしても勿論良い。また、素片ＳＭｉの特徴量ＦＭｉとの類似度が最も低い特徴量の素片の楽音データで置き換えても勿論良い。このような態様によれば、主楽曲とは曲調が全く異なる新たな楽曲を生成することが可能になる。
【００３９】
（３）上述した実施形態では、記憶装置２０に記憶されている複数の楽曲のうちの１つを主楽曲とし、この主楽曲から画定されるループ（或いは、主楽曲全体）の各素片を他の楽曲の素片で置き換えて新たな楽曲を生成した。このような態様においては、主楽曲の各素片の特徴量が、再生するべき素片を示す情報の役割を果たすのである。しかし、新たな楽曲の構成要素となる素片（すなわち、再生するべき素片）を利用者に指定させ、これらの素片の各々を時間長の調整を施しつつ利用者により指定された再生テンポで再生する態様であっても勿論良い。このような態様においては、各素片の音波形を示す楽音データのみを記憶装置２０に記憶させておけば良い。
【００４０】
（４）上述した各実施形態では、制御装置１０がプログラムを実行することで、時間軸圧伸処理を施しつつ、主楽曲を構成する各素片ＳＭｉの楽音データＡＭｉをその素片ＳＭｉの特徴量ＦＭｉとの類似度が最も高い特徴量の素片ＳＳｉの楽音データＡＭｉに置き換えることが実現される構成を例示した。しかし、楽曲処理装置１００は、図１の制御装置１０と同様の処理を実行するＤＳＰなどのハードウェア（電子回路）によっても実現しても勿論良い。また、図１に示す各機能体（再生指示生成部１２、素片読出部１４、第１時間軸圧伸部１６ａ、第２時間軸圧伸部１６ｂおよびデータ出力部１８）として制御装置１０を機能させるプログラムを、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only memory）などのコンピュータ装置読取可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウロードにより配布しても良い。
【図面の簡単な説明】
【００４１】
【図１】この発明の第１実施形態に係る楽曲処理装置１００の構成を示す図である。
【図２】楽曲とループ、および素片の関係を示す概念図である。
【図３】楽曲処理装置１００の４つの動作モードのモード間遷移を説明するための図である。
【図４】上記各動作モードにおける処理の流れを説明するための図である。
【図５】第２実施形態における素片と楽音データとの対応関係を説明するための図である。
【図６】複数の楽曲の各素片を連結して新たな楽曲を生成する従来技術の問題点を説明するための図である。
【符号の説明】
【００４２】
１００…楽曲処理装置、１０…制御装置、２０…記憶装置、３０…出力装置、４０…入力装置、５０…表示装置、Ｓ…素片（ＳＭｉ：主楽曲の素片／ＳＳｉ：副楽曲の素片）、Ａ…楽音データ（ＡＭｉ：主楽曲の楽音データ／ＡＳｉ：副楽曲の楽音データ）、Ｆ…特徴量（ＦＭｉ：主楽曲の素片の特徴量／ＦＳｉ：副楽曲の素片の特徴量）、Ｒ…類否指標値。
【図１】
2010113277.tif 000003
【図２】
2010113277.tif 000004
【図３】
2010113277.tif 000005
【図４】
2010113277.tif 000006
【図５】
2010113277.tif 000007
【図６】
2010113277.tif 000008