(57)【特許請求の範囲】
【請求項１】
第１の楽曲データにおいて、編集対象となる第１の演奏部分のコード進行を取得するコード進行取得手段と、
第２の楽曲データにおいて、前記コード進行取得手段により取得された前記コード進行に類似するコード進行となる第２の演奏部分を特定する類似部分特定手段と、
前記第１の楽曲データにおいて、前記第１の演奏部分を前記第２の演奏部分に入れ替える入替手段と
を備えることを特徴とする楽曲編集装置。
【請求項２】
前記類似部分特定手段は、前記第１の楽曲データ又は前記第２の楽曲データのうち、いずれか一方におけるコード進行に要する時間長を、他方におけるコード進行に要する時間長に一致させて前記第２の演奏部分を特定する
ことを特徴とする請求項１記載の楽曲編集装置。
【請求項３】
前記類似部分特定手段は、前記第１の楽曲データ又は前記第２の楽曲データのうち、いずれか一方の調を他方の調に移調して前記第２の演奏部分を特定する
ことを特徴とする請求項１又は２記載の楽曲編集装置。
【請求項４】
前記類似部分特定手段は、前記第１の演奏部分のコード進行に含まれるコードの代理コードを用いて前記第２の演奏部分を特定する
ことを特徴とする請求項１〜３のいずれかに記載の楽曲編集装置。
【請求項５】
前記類似部分特定手段による前記コード進行の類似範囲を指定する類似範囲指定手段を備える
ことを特徴とする請求項１〜４のいずれかに記載の楽曲編集装置。
【請求項６】
前記第１の演奏部分及び前記第２の演奏部分は楽曲を構成する各パートにおける演奏部分である
ことを特徴とする請求項１〜５のいずれかに記載の楽曲編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は楽曲データを編集する技術に関する。
【背景技術】
【０００２】
特許文献１には、ビデオデータとオーディオデータとからなる演奏コンテンツデータをボーカル、キーボード、ベース、ドラムスなどのパート単位で組み合わせることで、マルチパートの楽曲データを生成する仕組みが開示されている。この特許文献１に記載の仕組みにおいては、ユーザは各楽曲を構成するパート毎に用意されたオーディオデータ群のうち、所望するものを選択するようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−３１８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、楽曲にはコード進行という概念がある。例えばヨハン・パッヘルベルが作曲したカノンという楽曲は、D-A-Bm-F#m-G-D-G-Aというコード進行をベースとしている。これは一般にカノン進行と呼ばれており、非常に心地よい響きで安定感のあるコード進行として知られている。楽曲が異なっていてもコード進行が同じであれば、聴き手に対して同じような曲調の印象を与えるから、カノン進行は現代でも多くの楽曲で用いられている。
【０００５】
本発明の目的は、楽曲のコード進行を考慮して楽曲データを編集することが可能な仕組みを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、第１の楽曲データにおいて、編集対象となる第１の演奏部分のコード進行を取得するコード進行取得手段と、第２の楽曲データにおいて、前記コード進行取得手段により取得された前記コード進行に類似するコード進行となる第２の演奏部分を特定する類似部分特定手段と、前記第１の楽曲データにおいて、前記第１の演奏部分を前記第２の演奏部分に入れ替える入替手段とを備えることを特徴とする楽曲編集装置を提供する。
【０００７】
前記類似部分特定手段は、前記第１の楽曲データ又は前記第２の楽曲データのうち、いずれか一方におけるコード進行に要する時間長を、他方におけるコード進行に要する時間長に一致させて前記第２の演奏部分を特定するようにしてもよい。
【０００８】
前記類似部分特定手段は、前記第１の楽曲データ又は前記第２の楽曲データのうち、いずれか一方の調を他方の調に移調して前記第２の演奏部分を特定するようにしてもよい。
【０００９】
前記類似部分特定手段は、前記第１の演奏部分のコード進行に含まれるコードの代理コードを用いて前記第２の演奏部分を特定するようにしてもよい。
【００１０】
前記類似部分特定手段による前記コード進行の類似範囲を指定する類似範囲指定手段を備えるようにしてもよい。
【００１１】
前記第１の演奏部分及び前記第２の演奏部分は楽曲を構成する各パートにおける演奏部分であってもよい。
【発明の効果】
【００１２】
本発明によれば、楽曲のコード進行を考慮して楽曲データを編集することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るシステム全体の構成を示すブロック図である。
【図２】サーバ装置及びクライアント装置のハードウェア構成を示すブロック図である。
【図３】サーバ装置の機能構成を示すブロック図である。
【図４（Ａ）】ソングデータのデータ構造を示す図である。
【図４（Ｂ）】パズルデータのデータ構造を示す図である。
【図５】サーバ装置の動作を示すフローチャートである。
【図６】システムの動作の説明図である。
【図７】コード進行の類似度判定を説明する概念図である。
【図８】コード進行の類似度判定を説明する概念図である。
【発明を実施するための最良の形態】
【００１４】
［構成］
図１は、本実施形態に係るシステムの全体構成を示すブロック図である。このシステムは、クライアント装置１と、サーバ装置２と、これらを通信可能に接続するネットワーク３とを備えている。クライアント装置１及びサーバ装置２は互いに通信可能なコンピュータである。クライアント装置１は例えばスマートホン、タブレット又はパーソナルコンピュータなどであり、ユーザによって操作される。このクライアント装置１は１つであってもよいし、複数であってもよい。ネットワーク３は、例えば移動体通信網やインターネットであり、有線区間又は無線区間を含んでいる。クライアント装置１は、楽曲データを生成してネットワーク３経由でサーバ装置２にアップロードして登録したり、サーバ装置２からネットワーク３経由で楽曲データをダウンロードして再生したりする。サーバ装置２は、クライアント装置１からの指示に応じて楽曲データの編集等を行う楽曲編集装置である。
【００１５】
１つの楽曲データは、互いに同期して再生されるパート単位のオーディオデータを複数含む。ここでいうパートとは、例えばボーカル、キーボード、ギター、ベース、ドラムスなどの演奏手段のことを言う。本実施形態に係る楽曲データには、ソングデータとパズルデータという２種類がある。ソングデータとは、サーバ装置２に最初に登録されたときの、１つの楽曲を構成するオーディオデータの集合である。これに対し、パズルデータとは、ソングデータにおいて少なくとも１つのオーディオデータが最初の登録時から入れ替えられたものである。つまり、本実施形態においては、ソングデータに含まれるオーディオデータを、あたかもパズルを組み替えるかのように、他のオーディオデータに変更することができる。例えばユーザ自らが或る楽曲について演奏したギターのオーディオデータを、そのユーザよりもギターが上手な他のユーザが同じ楽曲について演奏したギターのオーディオデータに入れ替えるというようにして、オーディオデータを自由に入れ替えられる。この入替は、１つのパート全体での入替も可能であるし、そのパートの一部の時間区間である演奏部分の入替も可能である。これにより、ユーザの誰でもが好みのオーディオデータを組み合わせて簡単に楽曲を作成、編集することが可能となる。
【００１６】
さらに、本実施形態では、例えば或る第１の楽曲についてのギターのオーディオデータを、第１の楽曲とは異なる第２の楽曲について演奏したギターのオーディオデータに入れ替えることも可能である。ただしこのとき、これら第１の楽曲及び第２の楽曲のコード進行の類似度が判定され、所定の類似度となる演奏部分に相当するオーディオデータが入れ替えられる。例えば、ヨハン・パッヘルベルが作曲したカノンという楽曲において、D-A-Bm-F#m-G-D-G-A というコード進行（カノン進行）の演奏部分のオーディオデータが、他の楽曲において類似するカノン進行が採用されている演奏部分のオーディオデータに入れ替えられるといった具合である。楽曲が異なっていてもコード進行が同じであれば、聴き手に対して同じような曲調の印象を与える。従って、類似するコード進行を採用するオーディオデータどうしの入替を行うことで、聴き手の印象を一定に維持したまま異なる楽曲の演奏部分を繋げて再生することができる。これにより、ジャンル等が全く異なる楽曲なのに時系列で組み合わせて再生するとそれほど違和感がないなどという驚きや意外性、気づきなど、従来の製品やサービスには無い面白さを聴き手に提供することが可能となる。
【００１７】
図２は、クライアント装置１及びサーバ装置２のハードウェア構成を示すブロック図である。クライアント装置１は、制御部１１と、通信部１２と、記憶部１３と、ＵＩ（User Interface）部１４と、入出力Ｉ／Ｆ１５とを少なくとも備えている。制御部１１は、演算処理装置としてのＣＰＵ（Central Processing Unit）と、メモリとしてのＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）とを含む。ＣＰＵは、ＲＯＭ又は記憶部１３に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、クライアント装置１の各部を制御する。通信部１２は、例えば通信Ｉ／Ｏや通信回路などを含み、ネットワーク３を介してサーバ装置２と通信を行う。記憶部１３は、例えばフラッシュメモリやハードディスク等の記憶装置であり、制御部１１により実行されるプログラムなどを記憶している。ＵＩ部１４は、例えば画像を表示する液晶ディスプレイなどの表示部と、ユーザの操作を受け付けるためのキーやタッチスクリーンなどの操作部とを備えている。入出力Ｉ／Ｆ１５は、外部装置とデータを遣り取りする手段であり、例えば外部装置としての録音機器から入力されるオーディオデータが入力される。
【００１８】
サーバ装置２は、制御部２０１と、記憶部２０２と、通信部２０３とを少なくとも備えている。制御部２０１は、演算処理装置としてのＣＰＵと、メモリとしてのＲＯＭ及びＲＡＭとを含む。ＣＰＵは、ＲＯＭ又は記憶部２０２に記憶されたプログラムを、ＲＡＭに読み出して実行することにより、サーバ装置２の各部を制御する。記憶部２０２は、例えばハードディスク等の大容量の記憶装置であり、制御部２０１により実行されるプログラムのほか、前述したソングデータ及びパズルデータや、コード進行の類似度判定アルゴリズムなどを記憶している。通信部２０３は、例えば通信Ｉ／Ｏや通信回路などを含み、ネットワーク３を介してクライアント装置１と通信を行う。
【００１９】
図３は、サーバ装置２の機能構成を示すブロック図である。制御部２０１が、記憶部２０２及び通信部２０３と協働することにより、コード進行取得部２１と、類似部分特定部２２と、類似部分提示部２３と、入替部２４とを実現する。コード進行取得部２１は、ユーザが少なくとも一部の演奏部分を入れ替えようとする楽曲データ（第１の楽曲データという）において、ユーザが編集（入替）対象として指定する演奏部分（第１の演奏部分という）のコード進行を取得する。より具体的には、コード進行取得部２１は、第１の楽曲データについてコード進行が予め記憶部２０２に登録されている場合には、そのコード進行を取得する。第１の楽曲データについてコード進行が登録されていない場合は、コード進行取得部２１は、第１の楽曲データを解析してコード進行を取得する。
【００２０】
類似部分特定部２２は、第１の楽曲データとは異なる楽曲データ（第２の楽曲データという）において、第１の演奏部分のコード進行に類似するコード進行である第２の演奏部分を特定する。楽曲間におけるコード進行の類似度判定は、周知の類似度算出アルゴリズムを用いて第１の楽曲データ及び第２の楽曲データの各演奏部分のコード進行の類似度を算出し、その類似度が、類似範囲として予め決められた条件に合致するか否か（例えば類似度を意味する値が閾値以上であるか否か）に基づいて行えばよい。
【００２１】
類似部分提示部２３は、類似部分特定部２２により特定された、コード進行が類似する第２の演奏部分をユーザに提示する。具体的には、類似部分提示部２３は、第２の楽曲データにおいて第１の楽曲データに類似するコード進行の第２の演奏部分について、その楽曲名や楽譜を表示することを指示する表示指示をクライアント装置１に送信したり、その第２の演奏部分を再生することを指示する再生指示をクライアント装置１に送信する。
【００２２】
入替部２４は、第１の楽曲データにおいて、編集（入替）対象である第１の演奏部分を、これに類似するコード進行の第２の演奏部分に入れ替える。つまり、入替部２４は、第１の楽曲データにおいて第１の演奏部分に相当するオーディオデータを、第２の演奏部分に相当するオーディオデータで上書きして記憶部２０２に記憶させる。
【００２３】
ここで、図４（Ａ）は、ソングデータのデータ構造を示す図である。ソングデータは、楽曲を構成するパート単位のオーディオデータ群を含む。このオーディオデータ群は、サーバ装置２に登録されたときのソングデータに含まれる高音質オーディオデータと、その高音質オーディオデータよりもデータサイズの小さい低音質オーディオデータとを含む。低音質オーディオデータは、高音質オーディオデータに対してデータの間引きや圧縮などの処理によりデータ量が減らされ、いわゆる音質が落とされたオーディオデータである。さらに、ソングデータは、そのソングデータの属性データ（ソング属性データという）及び各オーディオデータの属性データ（オーディオ属性データという）を含む。
【００２４】
ソング属性データは、楽曲名、ソングデータを識別するためのソングＩＤ、ソングデータの所有者に関するソング所有者情報、ソングデータを構成するオーディオデータのファイル名のリストである構成オーディオデータ名、ソングを構成するパート名のリストである構成パート情報、及び付属情報を含む。付属情報は、ソング所有者以外のユーザから寄せられた評価やコメントのほか、任意の分類語（例えば音楽ジャンル、演奏のレベル）のように、ソングデータを検索するための用語（キーワード）を含む。
【００２５】
オーディオ属性データは、オーディオデータを識別するためのオーディオデータ名、そのオーディオデータが示す演奏音の演奏者に関する演奏者情報、オーディオデータがどのパートに対応するものであるかを示すパート情報、及び付属情報を含む。付属情報は、オーディオデータのユーザから寄せられた評価やコメントのほか、任意の分類語（例えば音楽ジャンル、演奏のレベル）のように、オーディオデータを検索するための用語（キーワード）を含む。オーディオデータのコード進行が予め分かっている場合には、コード進行を示すコード進行データがこの付属情報に含まれている。また、オーディオデータを解析してコード進行を求めた場合には、コード進行データがこの付属情報に含まれる。高音質オーディオデータと、その高音質オーディオデータに基づいて生成された低音質オーディオデータとで、オーディオ属性データの内容は共通である。
【００２６】
ソングデータに含まれるオーディオデータは他のオーディオデータに変更することができるように、各々のオーディオデータ及び当該オーディオデータの属性を表すオーディオ属性データは、これとは異なるオーディオデータ及び当該オーディオデータの属性を表すオーディオ属性データに書き換え可能となっている。そして、オーディオデータ及びオーディオ属性データが書き換えられた場合に、書き換え後のオーディオデータ及びオーディオ属性データに応じて、当該ソングデータの属性を表すソング属性データが書き換えられる。
【００２７】
［動作］
［ソングデータの登録］
次に、図５を参照しながら、ユーザがソングデータをサーバ装置２に登録するときのサーバ装置２とクライアント装置１の動作について説明する。ユーザはクライアント装置１を用いてサーバ装置２のサービスにログインし、クライアント装置１において楽曲の演奏音を録音する。この録音処理において、クライアント装置１は、例えば内臓の録音機能を用いて演奏音を録音してもよいし、入出力Ｉ／Ｆ１５に接続された外部装置としての録音装置によって演奏音を録音させてこれを取り込んでもよい。この録音はパート毎に行われ、パート単位でオーディオデータが生成される。録音が終了すると、録音した複数のパート単位のオーディオデータからなるソングデータのアップロードを指示する。このとき、ユーザは、ソング属性データ及びオーディオ属性データを入力する。ユーザは、ソングデータについて予めコード進行が分かっている場合には、コード進行データをオーディオ属性データの付属情報として入力する。ソング属性データ及びオーディオ属性データのうち少なくとも一部（例えばソングＩＤやオーディオデータ名など）については、クライアント装置１の制御部１１又はサーバ装置２の制御部２０１が自動で生成してもよい。
【００２８】
クライアント装置１の制御部１１は、オーディオデータ、ソング属性データ及びオーディオ属性データを含むソングデータをサーバ装置２に送信する。サーバ装置２の制御部２０１はソングデータを通信部２０３によって受信すると（ステップＳ１１）、記憶部２０２に記憶させる（ステップＳ１２）
【００２９】
次に、制御部２０１は、受信したソングデータに含まれるオーディオデータ（つまり高音質オーディオデータ）に基づいて間引き等の手法を用いてデータサイズの小さい低音質オーディオデータデータを生成する（ステップＳ１３）。そして、制御部２０１は、生成した低音質オーディオデータを、同じ楽曲のソングデータに含まれる高音質オーディオデータと対応付けて記憶部２０２に記憶させる（ステップＳ１４）。
【００３０】
次に、制御部２０１は、オーディオ属性データの付属情報としてコード進行データが存在しない場合には、受信したソングデータに含まれる各オーディオデータを解析してコード進行を求める（ステップＳ１５）。そして、制御部２０１は、求めたコード進行を示すコード進行データを、各オーディオ属性データの付属情報として記憶部２０２に記憶させる（ステップＳ１６）。これにより、図４（Ａ）に示すような構造のソングデータが記憶部２０２に記憶された状態となる。
【００３１】
［パズルデータの生成］
次に、図６を参照しながら、ユーザがソングデータに含まれるオーディオデータを入れ替えてパズルデータを作成するときの動作について説明する。ユーザがクライアント装置１を用いて所定の操作を行うと（ステップＳ１００）、サーバ装置２の制御部２０１はソングデータの楽曲名の一覧をクライアント装置１に送信する（ステップＳ１０１）。サーバ装置２の記憶部２０２には、様々な楽曲名のソングデータが複数記憶されており、制御部２０１は、これらのソングデータ群の楽曲名の一覧を生成してクライアント装置１に送信する。クライアント装置１の制御部１１は、楽曲名の一覧をＵＩ部１４に表示させた後、ユーザが所望の楽曲の楽曲名を指定すると、その楽曲名をサーバ装置２に通知する（ステップＳ１０２）。サーバ装置２の制御部２０１は、この通知に基づいて、ユーザが指定した楽曲名を特定する（ステップＳ１０３）。
【００３２】
制御部２０１は、特定した楽曲名がソング属性データに含まれるソングデータ群を記憶部２０２から抽出し、そのソングデータ群の各ソング属性データの一覧を生成してクライアント装置１に送信する（ステップＳ１０４）。クライアント装置１の制御部１１は、ソング属性データの一覧をＵＩ部１４に表示させる。ユーザは、ソング属性データの一覧を見ることで、所望するソングデータとして自身の希望に合ったものを選定することができる。クライアント装置１の制御部１１は、ユーザが所望のソングデータのソング属性データを指定すると、そのソングデータのソングＩＤをサーバ装置２に通知する（ステップＳ１０５）。サーバ装置２の制御部２０１は、この通知に基づいて、ユーザが指定したソングデータを特定する（ステップＳ１０６）。
【００３３】
さらに、ユーザがクライアント装置１において、そのソングデータにおいて入替を希望するパートのうち、全部または一部の時間区間である演奏部分（第１の演奏部分）を編集対象として指定する。この指定は、例えばギターパートの演奏開始時点から数えて第２０小節から第２５小節までというように、パート及び小節単位で行うことができる。クライアント装置１の制御部１１は、指定されたパートの第１の演奏部分をサーバ装置２に通知する（ステップＳ１０７）。
【００３４】
サーバ装置２の制御部２０１は、この通知に基づいて、編集対象となる第１の演奏部分を特定する。そして、制御部２０１（コード進行取得部２１）は、特定した第１の演奏部分のコード進行を取得する（ステップＳ１０８）。制御部２０１は、記憶部２０２にオーディオ属性データの付属情報として記憶されている各演奏部分に対応するコード進行データから、特定した第１の演奏部分に対応するコード進行データを読み出す。
【００３５】
次に、制御部２０１（類似部分特定部２２）は、記憶部２０２に記憶されている様々な楽曲名のソングデータ群のうち、ステップＳ１０６においてユーザが指定したソングデータ（第１の楽曲データ）以外のソングデータ（第２の楽曲データ）群において、ステップＳ１０８において取得したコード進行に類似するコード進行となる第２の演奏部分を特定する（ステップＳ１０９）。ただし、制御部２０１（類似部分特定部２２）は、同一の楽曲名で複数のソングデータが記憶されている場合には、ステップＳ１０６でユーザが指定したソングデータ（第１の楽曲データ）の楽曲名とは異なる楽曲名のソングデータ（第２の楽曲データ）群において、第２の演奏部分を特定する。このとき特定される第２の演奏部分のパートは、ステップＳ１０７においてユーザにより編集対象として指定された第１の演奏部分のパートと同じである。例えばステップＳ１０７においてユーザにより編集対象として指定された第１の演奏部分のパートがギターパートであれば、このステップＳ１０９において特定される第２の演奏部分のパートもギターパートである。つまり、楽器の種類は同じである。
【００３６】
ステップＳ１０９の類似判定において、制御部２０１は、第１の楽曲データ又は第２の楽曲データのうち、いずれか一方におけるコード進行に要する時間長を、他方におけるコード進行に要する時間長に一致させて、コード進行が類似する第２の演奏部分を特定する。コード進行に要する時間長とは、楽曲において決められたテンポでその楽曲を再生するときに、対象となるコード進行の演奏部分を演奏するのに要する時間である。この処理について図７を用いて説明する。
【００３７】
図７の例では、第１の演奏部分のコード進行と第２の演奏部分のコード進行はいずれも、D-A-Bm-F#m-G-D-G-Aでというように同じような順序でコードが進行しているが、これらのコード進行に要する時間長が異なっており、第２の楽曲データにおけるコード進行に要する時間長のほうが長い。この場合、制御部２０１は、第２の楽曲データにおけるコード進行に要する時間長を、第１の楽曲データにおけるコード進行に要する時間長に一致させる。図７の場合には、制御部２０１は第２の楽曲データにおけるコード進行に要する時間長を縮めて両者を一致させてから、コード進行の類比判断を行う。また、図７の例とは逆に、第２の楽曲データにおけるコード進行に要する時間長が、第１の楽曲データにおけるコード進行に要する時間長よりも短い場合には、第２の楽曲データにおけるコード進行に要する時間長を伸ばして両者を一致させる。さらに、これらの場合、時間長の伸縮量の上限を決めておき、その上限を超えて伸縮させなければ両者が一致しないような場合には、制御部２０１は、両者の類似度が低い又は両者は類似しないと判断してもよい。
【００３８】
また、制御部２０１は、第１の楽曲データ又は第２の楽曲データのうちいずれか一方の調を他方の調に移調して、コード進行が類似する第２の演奏部分を特定する。この処理について図８を用いて説明する。
【００３９】
図８の例では、第１の演奏部分のコード進行が主音をCとしたG-D-C-Gであり、第２の演奏部分のコード進行が主音をGとしたD-A-G-Dである。この場合、制御部２０１は、第２の演奏部分におけるコード進行の主音を、第１の演奏部分におけるコード進行の主音に一致させるべく、第２の演奏部分におけるコードを主音Gから主音Cへと移調させてから、コード進行の類比判断を行う。この場合、第１の演奏部分のコード進行と第２の演奏部分のコード進行は一致（類似）する。なお、移調時の主音変更量の上限を決めておき、その上限を超えて移調させなければ両者が一致しないような場合には、制御部２０１は、両者の類似度が低い又は両者は類似しないと判断してもよい。
【００４０】
制御部２０１は、このような時間長及び移調の調整を経てコード進行を比較する。制御部２０１は、例えば各コード進行のトニックコード、ドミナントコード、サブドミナントコードを特定し、これらトニックコード、ドミナントコード、サブドミナントコードとこれら以外のコードとの差を数値化して、その数値をコード進行間で比べるなどの手法が考えられる。そして、制御部２０１は、上記のような処理を経て求めた類似度が閾値以上の演奏部分や、類似度が高いものから数えて所定数に至るまでの演奏部分を、第２の演奏部分として特定する。
【００４１】
図６に戻り、制御部２０１は、ステップＳ１０９にて特定した第２の演奏部分を含むオーディオデータのオーディオ属性データを記憶部２０２から抽出し、そのオーディオ属性データの一覧を生成してクライアント装置１に送信する（ステップＳ１１０）。クライアント装置１の制御部１１は、オーディオ属性データの一覧をＵＩ部１４に表示させる。ユーザは、オーディオ属性データの一覧を見ることで、所望するオーディオデータとして自身の希望に合ったものを選定することができる。ユーザが所望のオーディオ属性データに対応する低音質オーディオデータの試聴を指示すると、クライアント装置１の制御部１１は、その低音質オーディオデータをサーバ装置２に要求する（ステップＳ１１１）。サーバ装置２の制御部２０１は、要求された低音質オーディオデータのうち、第２の演奏部分に相当するデータを記憶部２０２から読み出して（ステップＳ１１２）、これをステップＳ１０６で特定したソングデータ（第１の楽曲データ）の低音質オーディオデータとセットで、クライアント装置１に送信する（ステップＳ１１３）。
【００４２】
クライアント装置１の制御部１１は、受信したオーディオデータに基づく再生を行う（ステップＳ１１４）。この再生においては、まず、ソングデータ（第１の楽曲データ）において編集対象となる第１の演奏部分よりも時間的に前の低音質オーディオデータが再生される。続いて編集対象となる第１の演奏部分に差し掛かると、ソングデータ（第１の楽曲データ）に代えて、第２の楽曲データの第２の演奏部分に相当する低音質オーディオデータが再生される。そして、第２の演奏部分に相当する低音質オーディオデータの再生が終わると、それ以降は、第１の演奏部分より時間的に後のソングデータ（第１の楽曲データ）の低音質オーディオデータの再生がなされる。なお、上記の説明は、編集対象となる第１の演奏部分が楽曲の途中である場合の再生であったが、編集対象となる第１の演奏部分が楽曲の最初である場合には、最初の第１の演奏部分において、ソングデータ（第１の楽曲データ）に代えて、第２の楽曲データの第２の演奏部分に相当する低音質オーディオデータが再生され、それ以降は、第１の演奏部分より時間的に後のソングデータ（第１の楽曲データ）の低音質オーディオデータの再生がなされる。また、編集対象となる第１の演奏部分が楽曲の最後である場合には、最後の第１の演奏部分において、ソングデータ（第１の楽曲データ）に代えて、第２の楽曲データの第２の演奏部分に相当する低音質オーディオデータが再生されて、楽曲の再生が終了する。このように、ソングデータ（第１の楽曲データ）において編集対象となる第１の演奏部分のみを第２の演奏部分に入れ替えて連続再生することで、聴き手となるユーザは、ソングデータ（第１の楽曲データ）において第２の演奏部分がどのような印象となるかを感じることができる。
【００４３】
そして、試聴したユーザがオーディオデータの入替を指示する操作を行うと（ステップＳ１１５；ＹＥＳ）、クライアント装置１の制御部１１は、その旨の要求をサーバ装置２に通知する（ステップＳ１１６）。サーバ装置２の制御部２０１は、この要求によって指定された、第２の演奏部分に相当する低音質オーディオデータに対応する高音質オーディオデータを記憶部２０２から読み出して（ステップＳ１１７）、クライアント装置１に送信する（ステップＳ１１８）。
【００４４】
クライアント装置１の制御部１１は、受信した高音質オーディオデータを再生する。この再生は、受信した高音質オーディオデータのみの再生であってもよいし、同じ楽曲の他のパートと同期したいわゆるミキシング再生であってもよいし、また、ステップＳ１１４のような再生であってもよい。そして、この高音質オーディオデータを採用しようと考えたユーザがサーバ装置２のサービスにログインしてパズルデータの登録を指示する操作を行うと（ステップＳ１１９；ＹＥＳ）、クライアント装置１の制御部１１は、その旨をサーバ装置２に通知する（ステップＳ１２０）。サーバ装置２の制御部２０１は、この通知に応じて、ステップＳ１０７において特定したソングデータにおいて、ステップＳ１０９にて特定した第１の演奏部分に対応する高音質オーディオデータ及び低音質オーディオデータを、第２の演奏部分に対応する高音質オーディオデータ及び低音質オーディオデータに入れ替え、これを新規のパズルデータとして記憶する（ステップＳ１２１）。このとき新規のパズルデータとして扱われるから、クライアント装置１の制御部１１又はサーバ装置２の制御部２０１が、パズルＩＤ等を自動で生成するようにしてもよい。パズル属性データに含まれるソングＩＤは、当初のソングデータのソングＩＤが用いられる。また、ユーザは、ソング属性データ及びオーディオ属性データのうち少なくとも一部を書き換えるよう指示してもよい。これにより、図４（Ｂ）に示すような構造のパズルデータが記憶部２０２に記憶された状態となる。
【００４５】
なお、図６は、楽曲データのうちソングデータに含まれるオーディオデータを入れ替える例であったが、パズルデータに含まれるオーディオデータを入れ替えるようにしてもよい。また、入れ替えるオーディオデータとして既にサーバ装置２に登録されているオーディオデータを利用するだけではなく、その都度、ユーザが録音して生成したオーディオデータを用いてもよい。
【００４６】
以上説明した実施形態によれば、コード進行が類似する演奏部分を入れ替えるという楽曲編集が可能となる。このように類似するコード進行を採用するオーディオデータどうしの入替を行うことで、聴き手の印象を一定に維持したまま異なる楽曲の演奏部分を繋げて再生することができる。これにより、ジャンル等が全く異なる楽曲なのに時系列で組み合わせて再生するとそれほど違和感がないなどという驚きや意外性、気づきなど、従来の製品やサービスには無い面白さを聴き手に提供することが可能となる。また、データサイズの大きい高音質オーディオデータをサーバ装置２からクライアント装置１に頻繁に送信するとネットワークの負荷が大きくなるが、本実施形態によれば、データサイズの小さい低音質オーディオデータを試聴用に用意しているので、ネットワークの負荷を抑えられる。
【００４７】
［変形例］
上述した実施形態は次のような変形が可能である。また、以下の変形例を互いに組み合わせて実施してもよい。
【００４８】
［変形例１］
楽曲間におけるコード進行の類似度判定は、算出した類似度が類似範囲として予め決められた条件（例えば類似度が閾値以上など）に合致するか否かに基づいて行っていたが、この類似範囲をユーザが指定するようにしてもよい。具体的には、サーバ装置２の制御部２０１（類似範囲指定部）は、クライアント装置１に対して、類似度１００％〜０％というような類似範囲からユーザが任意の類似範囲を選択し得る画面データを送信し、この画面においてユーザが所望する類似範囲を選択すると、選択された類似範囲がクライアント装置１からサーバ装置２に通知される。サーバ装置２の制御部２０１（類似部分特定部２２）は、指定された類似範囲に適合する第２の演奏部分を特定する。
【００４９】
［変形例２］
類似部分特定部２２は、第１の演奏部分のコード進行に含まれるコードの代理コードを用いて第２の演奏部分を特定するようにしてもよい。
例えば、類似部分特定部２２は、第１の演奏部分のコード進行において少なくとも１以上のコードをそのコードの代理コードに置き換えたものと一致するようなコード進行の演奏部分を、第２の演奏部分として特定する。例えばコードCの代理コードはコードAmとコードEmであるから、類似部分特定部２２は、第１の演奏部分（例えばコード進行G-D-C-G）に含まれるコードCがAm又はEmに置き換えられているようなコード進行（G-D-Am-G又はG-D-Em-G）となる演奏部分を、第２の演奏部分として特定する。
また、上記とは別の方法として、類似部分特定部２２は、第１の演奏部分のコード進行に含まれる少なくとも１以上のコードを代理コードに置き換えたものを基準として、その置き換え後のコード進行との類似度が閾値以上の演奏部分を第２の演奏部分として特定する。例えば、類似部分特定部２２は、第１の演奏部分（例えばコード進行G-D-C-G）に含まれるコードCをコードAm又はコードEmに置き換えたコード進行（G-D-Am-G又はG-D-Em-G）に対して、実施形態と同様の類似度算出アルゴリズムを用いて、類似度が閾値以上のコード進行となる第２の演奏部分を特定する。
【００５０】
［変形例３］
図６のステップＳ１０７において編集対象として指定された第１の演奏部分のパートと、ステップＳ１０９において特定された第２の演奏部分のパートは同じである必要はなく、これらのパートは異なっていてもよい。また、これらのパートを同じにするか否かをユーザが指定するようにしてもよい。
【００５１】
［変形例４］
本発明は、例えばサーバ装置２のような楽曲編集装置のほか、サーバ装置２が行う楽曲編集方法や、サーバ装置２によって実行されるプログラムとして実施されてもよい。本発明に係る楽曲編集方法は、第１の楽曲データにおいて、編集対象となる第１の演奏部分のコード進行を取得するコード進行取得ステップと、第２の楽曲データにおいて、前記コード進行取得ステップにより取得された前記コード進行に類似するコード進行となる第２の演奏部分を特定する類似部分特定ステップと、前記第１の楽曲データにおいて、前記第１の演奏部分を前記第２の演奏部分に入れ替える入替ステップとを備える。また、サーバ装置２の制御部２０１によって実行されるプログラムは、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）−ＲＯＭ、ＤＶＤ（Digital Versatile Disk）、ＲＡＭなどの記録媒体に記憶した状態で提供し得る。また、インターネットのようなネットワーク経由でサーバ装置２にダウンロードさせることも可能である。
また、本発明に係る楽曲編集装置を１台のコンピュータで実現してもよいし、複数のコンピュータが処理を分担し互いに連携することによって実現してもよい。
【符号の説明】
【００５２】
１…クライアント装置、２…サーバ装置、３…ネットワーク、１１…制御部、１２…通信部、１３…記憶部、１４…ＵＩ部、１５…入出力Ｉ／Ｆ、２０１…制御部、２０２…記憶部、２０３…通信部、２１…コード進行取得部、２２…類似部分特定部、２３…類似部分提示部、２４…入替部。
【図１】
0006648586.tif 000002
【図２】
0006648586.tif 000003
【図３】
0006648586.tif 000004
【図４（Ａ）】
0006648586.tif 000005
【図４（Ｂ）】
0006648586.tif 000006
【図５】
0006648586.tif 000007
【図６】
0006648586.tif 000008
【図７】
0006648586.tif 000009
【図８】
0006648586.tif 000010