説明

情報処理装置、楽曲区間抽出方法、及びプログラム

【課題】繋ぎ合わせた際に、より良く調和する楽曲区間を抽出すること。
【解決手段】楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出部と、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出する調和度算出部と、前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出部と、を備え、前記調和度算出部は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、情報処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、楽曲区間抽出方法、及びプログラムに関する。
【背景技術】
【0002】
予め用意しておいた複数の楽曲から気に入った一部の楽曲区間を抽出し、抽出した楽曲区間を繋ぎ合わせる手法が知られている。この手法はリミックスと呼ばれる。クラブイベントなどの場では、複数の楽曲を再生可能な状態で用意しておき、各楽曲の再生タイミングや音量を手動でコントロールしてリミックスを実現している。また、最近では、リミックスを個人的に楽しむ人も増えている。例えば、ジョギングのリズムに合いそうな楽曲をリミックスしてジョギング中に聴くオリジナルの楽曲を作成する人などが増えている。
【0003】
しかし、楽曲の繋ぎ目部分で音楽性やリズム性を失わずにシームレスに楽曲を繋ぎ合わせるには熟練の技術が必要である。そのため、熟練の技術を持たない多くのユーザは、楽曲の繋ぎ目で違和感を感じないようにリミックスされた楽曲を気軽に楽しむことができない。こうした状況に鑑み、シームレスに自動で楽曲を繋ぎ合わせることが可能な装置の研究開発が進められた。その成果の1つが、下記の特許文献1に記載の音楽編集装置である。この音楽編集装置は、リミックスの対象となる楽曲のテンポ及びキーを所定のテンポ及びキーに一致させると共に、小節頭の位置が同期するように再生タイミングを制御する機能を有する。この機能により、シームレスに楽曲を繋ぎ合わせることが可能になる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−164932号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の特許文献1に記載の音楽編集装置は、リミックスする楽曲のジャンルや曲調などに関わらず、譜面上にある情報に基づいてシームレスにリミックスすることが可能な楽曲の候補を出力する。そのため、上記の音楽編集装置から出力される楽曲を無作為に繋ぎ合わせると、例えば、クラシックの楽曲とロックの楽曲とをリミックスすることになってしまったり、悲しい曲調の楽曲と明るい曲調の楽曲とをリミックスすることになってしまったりする。つまり、テンポやキーなどは一致しているものの、繋ぎ目でユーザが違和感を感じるような組み合わせの楽曲が候補として出力されてしまう。もし、繋ぎ目で違和感を感じないようにリミックスを行うには、出力された楽曲の中から、ユーザが意図的に違和感を感じにくい楽曲を選曲して繋ぎ合わせる操作が求められる。
【0006】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、リミックスした際にユーザが違和感を感じ難い楽曲区間の組み合わせを自動的に抽出することが可能な、新規かつ改良された情報処理装置、楽曲区間抽出方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出部と、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出する調和度算出部と、前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出部と、を備え、前記調和度算出部は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、情報処理装置が提供される。
【0008】
また、上記の情報処理装置は、前記基準テンポを設定するテンポ設定部をさらに備えていてもよい。この場合、前記テンポ設定部は、所定の時系列データに基づいて前記基準テンポを変化させる。
【0009】
また、上記の情報処理装置は、ユーザの運動リズムを検出するリズム検出部と、前記基準テンポを設定するテンポ設定部と、をさらに備えていてもよい。この場合、前記テンポ設定部は、前記リズム検出部により検出されたユーザの運動リズムに合うように前記基準テンポを変化させる。
【0010】
また、前記調和度算出部は、予め設定された楽曲のムード、ジャンル、メロディ構成、楽器の種類のうちの1つ又は複数を示すメタデータが共に付与されている楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、ように構成されていてもよい。
【0011】
また、前記調和区間抽出部は、前記楽曲区間抽出部により抽出された区間のうち、端部で歌詞のフレーズが切れていない区間の組を優先的に抽出する、ように構成されていてもよい。
【0012】
また、上記の情報処理装置は、前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲のテンポを前記基準テンポに調整するテンポ調整部と、前記テンポ調整部によりテンポが調整された後、ビートの位置を揃えて前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲を同時に再生する楽曲再生部と、をさらに備えていてもよい。
【0013】
また、前記調和度算出部は、絶対コードのコード進行情報及び相対コードのコード進行情報に基づいて前記楽曲の調和度合いを算出するように構成されていてもよい。さらに、前記調和区間抽出部は、前記相対コードのコード進行情報に基づいて前記調和度算出部により算出された楽曲の調和度合い、又は前記絶対コードのコード進行情報に基づいて前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出するように構成されていてもよい。そして、前記情報処理装置は、前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲のキーを一致させるための転調度数を算出する転調度数算出部をさらに備えていてもよい。この場合、前記楽曲再生部は、前記転調度数算出部により算出された転調度数の分だけ転調した楽曲を再生する。
【0014】
また、前記楽曲再生部は、クロスフェードをかけて前記2つの楽曲を再生する、ように構成されていてもよい。
【0015】
また、前記楽曲再生部は、前記調和度算出部により算出された楽曲の調和度合いが小さいほど前記クロスフェードの時間を短くする、ように構成されていてもよい。
【0016】
また、前記楽曲区間抽出部は、前記基準テンポの1/2のテンポに近いテンポを持つ8ビートの楽曲の区間、及び前記基準テンポの1/2又は1/4のテンポに近いテンポを持つ16ビートの楽曲の区間をさらに抽出する、ように構成されていてもよい。
【0017】
また、上記課題を解決するために、本発明の別の観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出部と、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出する調和度算出部と、前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出部と、を備える、情報処理装置が提供される。
【0018】
また、上記課題を解決するために、本発明の別の観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出ステップと、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出ステップで抽出された区間の組について楽曲の調和度合いを算出する調和度算出ステップと、前記楽曲区間抽出ステップで抽出された区間のうち、前記調和度算出ステップで算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出ステップと、を含み、前記調和度算出ステップでは、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みが付けられる、楽曲区間抽出方法が提供される。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出ステップと、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出ステップで抽出された区間の組について楽曲の調和度合いを算出する調和度算出ステップと、前記楽曲区間抽出ステップで抽出された区間のうち、前記調和度算出ステップで算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出ステップと、を含む、楽曲区間抽出方法が提供される。
【0020】
また、上記課題を解決するために、本発明の別の観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出機能と、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出機能により抽出された区間の組について楽曲の調和度合いを算出する調和度算出機能と、前記楽曲区間抽出機能により抽出された区間のうち、前記調和度算出機能により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出機能と、をコンピュータに実現させるためのプログラムであり、前記調和度算出機能は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、プログラムが提供される。
【0021】
また、上記課題を解決するために、本発明の別の観点によれば、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出機能と、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出機能により抽出された区間の組について楽曲の調和度合いを算出する調和度算出機能と、前記楽曲区間抽出機能により抽出された区間のうち、前記調和度算出機能により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出機能と、をコンピュータに実現させるためのプログラムが提供される。また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【0022】
以上説明したように本発明によれば、リミックスした際にユーザが違和感を感じ難い楽曲区間の組み合わせを自動的に抽出することが可能になる。
【図面の簡単な説明】
【0023】
【図1】本発明の一実施形態に係る音楽区間抽出方法において利用されるメタデータの構成について説明するための説明図である。
【図2】同実施形態に係る音楽再生装置の機能構成について説明するための説明図である。
【図3】同実施形態に係るテンポ調整方法について説明するための説明図である。
【図4】同実施形態に係るテンポ調整方法について説明するための説明図である。
【図5】同実施形態に係る楽曲区間抽出方法について説明するための説明図である。
【図6】同実施形態に係る楽曲区間抽出方法について説明するための説明図である。
【図7】同実施形態に係る対象楽曲区間リストの構成について説明するための説明図である。
【図8】同実施形態に係る調和区間抽出方法について説明するための説明図である。
【図9】同実施形態に係る調和区間リストの構成について説明するための説明図である。
【図10】コード進行の絶対コード表記及び相対コード表記、及び転調について説明するための説明図である。
【図11】同実施形態に係る楽曲再生装置を構成するミックス再生部の詳細な機能構成について説明するための説明図である。
【図12】同実施形態に係るミックス再生方法について説明するための説明図である。
【図13】同実施形態に係るクロスフェード方法について説明するための説明図である。
【図14】同実施形態に係るシーケンス制御の流れについて説明するための説明図である。
【図15】同実施形態に係る調和区間抽出方法において利用される重み付けの例について説明するための説明図である。
【図16】同実施形態に係る調和区間抽出方法において利用される重み付けの例について説明するための説明図である。
【図17】同実施形態に係る調和区間抽出方法において利用される重み付けの例について説明するための説明図である。
【図18】同実施形態に係る調和区間抽出方法において利用される重み付けの例について説明するための説明図である。
【図19】同実施形態に係る楽曲再生装置の機能を実現することが可能な情報処理装置のハードウェア構成について説明するための説明図である。
【発明を実施するための形態】
【0024】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0025】
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。
【0026】
まず、図1を参照しながら、本実施形態に係る音楽区間抽出方法において利用されるメタデータの構成について説明する。次いで、図2を参照しながら、本実施形態に係る楽曲再生装置100の機能構成について説明する。また、図3及び図4を参照しながら、本実施形態に係るテンポ調整方法について説明する。さらに、図5〜図7を参照しながら、本実施形態に係る楽曲区間抽出方法について説明する。
【0027】
次いで、図8〜図10を参照しながら、本実施形態に係る調和区間抽出方法について説明する。次いで、図11を参照しながら、本実施形態に係る楽曲再生装置100を構成するミックス再生部105の詳細な機能構成について説明する。また、図12及び図13を参照しながら、本実施形態に係るミックス再生方法について説明する。次いで、図14を参照しながら、本実施形態に係る楽曲再生装置100の全体的な動作について説明する。
【0028】
次いで、図15〜図18を参照しながら、本実施形態に係る調和区間抽出方法において利用される重み付け値の具体的な設定方法などについて説明する。次いで、図19を参照しながら、本実施形態に係る楽曲再生装置100の機能を実現することが可能な情報処理装置のハードウェア構成について説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0029】
(説明項目)
1:実施形態
1−1:メタデータの構成
1−2:楽曲再生装置100の構成
1−2−1:全体構成
1−2−2:パラメータ設定部102の機能
1−2−3:対象楽曲区間抽出部103の機能
1−2−4:調和区間抽出部104の機能
1−2−5:ミックス再生部105の機能
1−2−6:シーケンス制御部108の機能
2:ハードウェア構成例
3:まとめ
【0030】
<1:実施形態>
本発明の一実施形態について説明する。本実施形態は、パーティを盛り上げたり、ジョギングなどのリズミカルな運動をアシストしたりするための楽曲をリミックスにより自動生成する技術に関する。特に、本実施形態は、リミックスに適した楽曲区間を自動抽出し、音楽性やリズム性を失わずに楽曲をリミックスすることが可能な楽曲生成技術に関する。本実施形態に係る技術を適用することにより、リミックスで生成された楽曲(以下、リミックス楽曲)の中に存在する楽曲区間の継ぎ目部分において再生時にユーザが感じる違和感を低減させることが可能になる。以下、本実施形態に係る技術について、より詳細に説明する。
【0031】
[1−1:メタデータの構成]
まず、図1を参照しながら、本実施形態に係る楽曲生成技術において利用されるメタデータの構成について説明する。図1は、本実施形態に係る楽曲生成技術において利用されるメタデータの構成について説明するための説明図である。このメタデータは、個々の楽曲データに付与されるものである。なお、このメタデータは、手動で楽曲データに付与されるようにしてもよいし、楽曲データの解析結果に基づいて楽曲データに自動で付与されるようにしてもよい。
【0032】
楽曲データからメタデータを自動抽出する技術としては、例えば、特開2007−248895号公報(ビート位置及び小節頭の抽出)、特開2005−275068号公報(音程の抽出)、特開2007−156434号公報(メロディ情報の抽出)、特開2009−092791号公報(音程の抽出)、特開2007−183417号公報(コード進行の抽出)、特開2010−134231号公報(楽器情報の抽出)などに記載の技術が知られている。こうした技術を利用することにより、図1に示すようなメタデータを容易に楽曲データに付与することができる。
【0033】
図1に示すように、メタデータは、例えば、キー・スケール情報、歌詞情報、楽器情報、メロディ情報、コード情報、及びビート情報などを含む。但し、歌詞情報、楽器情報、メロディ情報などの一部の情報が省略される場合もある。また、メタデータには、楽曲のムードや楽曲が属するジャンルなどの情報が含まれていてもよい。
【0034】
キー・スケール情報は、キー及びスケールを示す情報である。例えば、図1において、Zone0と表示された楽曲区間のキー・スケール情報はC majorであり、Zone1と表示された楽曲区間のキー・スケール情報はA minorである。なお、Zone0、Zone1は、その中でそれぞれキー及びスケールが変化しない楽曲区間を示す。また、キー・スケール情報には、キー及びスケールの変化位置を示す情報が含まれる。
【0035】
また、歌詞情報は、歌詞を示すテキストデータである。なお、歌詞情報には、歌詞の文字毎又はセンテンス毎の開始位置及び終了位置を示す情報が含まれる。また、楽器情報は、使われている楽器(又は声)の情報である。例えば、ピアノの音を含む楽曲区間には、ピアノを示す楽器情報(Piano)が付与される。また、声を含む楽曲区間には、声を示す楽器情報(Vocal)が付与される。なお、楽器情報には、楽器毎の発音開始タイミング及び発音終了タイミングを示す情報が含まれる。また、扱うことが可能な楽器の種類としては、ピアノや声の他、ギターやドラムなど、様々な楽器がある。
【0036】
コード情報は、コード進行及び各コードの位置を示す情報である。また、ビート情報は、小節及びビート(拍)の位置を示す情報である。そして、メロディ情報は、メロディ構成を示す情報である。なお、本実施形態においては、ビートを単位として楽曲区間を考える。そのため、楽曲区間の開始位置及び終了位置は、ビート情報に示されたビート位置に一致する。さて、図1の最下段に示した波形は、楽曲データの波形を示している。なお、この楽曲データの波形において、全サンプルと表示された範囲のうち、実際に楽曲データが記録されている範囲は、有効サンプルと表示された範囲である。
【0037】
ここで、ビート情報、コード情報、及びメロディ情報について説明を補足する。
【0038】
(ビート情報について)
ビート情報は、楽曲の各小節の先頭にあるビート(以下、小節頭)及び小節頭以外にあるビートの位置を示している。図1において、楽曲データにおける小節頭の位置は、文字「ビート情報」の左側に示した長い縦線で表現されている。また、小節頭以外のビート位置は、短い縦線で表現されている。なお、図1の例は、4拍子の楽曲に関するメタデータの構成を示している。そのため、この例において、小節頭は、4ビート毎に現れる。このビート情報を用いると、下記の式(1)に基づいて、ある楽曲区間のテンポ(平均BPM(Beat Per Minute))を求めることができる。但し、下記の式(1)において、Bnは楽曲区間内にあるビートの数を示し、Fsは楽曲データのサンプリングレートを示し、Snは楽曲区間内におけるサンプル数を示す。
【0039】
【数1】

【0040】
(コード情報について)
コード情報は、楽曲に現れるコードの種類及び各コードに対応する楽曲区間を示している。このコード情報を参照することにより、あるコードに対応する楽曲区間を容易に抽出することが可能になる。また、コード情報とビート情報とを組み合わせて用いることにより、ビート位置を基準に、あるコードに対応する楽曲区間を抽出することが可能になる。なお、コード情報は、コードネームにより表記(以下、絶対コード表記)されていてもよいし、図1に示すように、スケールの主音に対するコードの根音の相対位置により表記(以下、相対コード表記)されていてもよい。
【0041】
相対コード表記の場合、各コードは、スケールの主音とコードの根音との相対位置を示す音度に基づいて、例えば、I、I♯(又はII♭)、II、II♯(又はIII♭)、III、III♯(又はIV♭)、IV、IV♯(又はV♭)、V、V♯(又はVI♭)、VI、 VI♯(又はVII♭)、VII、VII♯(又はI♭)のように表現される。一方、絶対コード表記の場合、各コードは、C、Eなどのコードネームにより表現される。なお、絶対コード表記でC、F、G、Amと表現される第1のコード進行と、E、A、B、C♯mと表現される第2のコード進行とは、相対コード表記にすると、同じI、IV、V、VImと表現することができる。
【0042】
つまり、第1のコード進行はハ長調であるが、このコード進行を構成する各コードの音程を半音4度上げてホ長調に転調すると、第2のコード進行に一致する(図10を参照)。同様に、第2のコード進行はホ長調であるが、このコード進行を構成する各コードの音程を半音4度下げてハ長調に転調すると、第1のコード進行に一致する。このようなコード進行間の関係は、相対コード表記にすれば一目瞭然である。こうした理由から、コード進行に基づいて楽曲間の関係を解析したりする場合には、図1に示すように、コード進行を相対コード表記にしておく方がより好ましい。そこで、以下では、コード情報が相対コード表記により表現されているものとして説明を進める。
【0043】
(メロディ情報について)
メロディ情報は、楽曲を構成する各メロディの要素(以下、メロディブロック)に対応する楽曲区間を示している。例えば、メロディブロックには、イントロ(Intro)、Aメロディ(Verse A)、Bメロディ(Verse B)、サビ(Chorus)、間奏(Interlude)、ソロ(Solo)、エンディング(Outro)などの種類がある。図1に示すように、メロディ情報は、メロディブロックの種類及び各メロディブロックに対応する楽曲区間の情報を含んでいる。そのため、メロディ情報を参照すると、あるメロディブロックに対応する楽曲区間を容易に抽出することが可能になる。
【0044】
以上、楽曲データに付与されるメタデータの構成について説明した。また、メタデータに含まれるビート情報、コード情報、及びメロディ情報について詳細に説明した。
【0045】
[1−2:楽曲再生装置100の構成]
次に、上記のメタデータを利用してシームレスに複数の楽曲をリミックスすることが可能な楽曲再生装置100の構成について説明する。この楽曲再生装置100は、複数の楽曲からリミックスに適した楽曲区間を抽出し、抽出した楽曲区間をシームレスに繋ぎ合わせてリミックス楽曲を再生するものである。
【0046】
(1−2−1:全体構成)
まず、図2を参照しながら、本実施形態に係る楽曲再生装置100の全体構成について説明する。図2は、本実施形態に係る楽曲再生装置100の機能構成について説明するための説明図である。
【0047】
図2に示すように、楽曲再生装置100は、記憶装置101と、パラメータ設定部102と、対象楽曲区間抽出部103と、調和区間抽出部104と、ミックス再生部105と、スピーカ106と、出力部107(ユーザインターフェース)と、シーケンス制御部108と、入力部109(ユーザインターフェース)と、加速度センサ110とにより構成される。但し、記憶装置101は、楽曲再生装置100の外部に設けられていてもよい。この場合、記憶装置101は、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、その他の通信回線、又は接続ケーブルなどを介して楽曲再生装置100に接続される。
【0048】
記憶装置101には、テンポシーケンスデータD1、メタデータD2、及び楽曲データD3が格納されている。テンポシーケンスデータD1は、最終的にスピーカ106から出力されるリミックス楽曲のテンポ(以下、指定テンポ)が記載された時系列データである。特に、テンポシーケンスデータD1は、リミックス楽曲の再生時間に応じて所定のパターンで指定テンポを変化させるために利用される(図4を参照)。なお、所定のパターンで指定テンポを変化させない場合には、記憶装置101にテンポシーケンスデータD1を格納しておかなくてもよい。但し、以下では、テンポシーケンスデータD1が記憶装置101に格納されているものとして説明を進める。
【0049】
メタデータD2は、その構成について図1を参照しながら既に説明したメタデータである。メタデータD2は、楽曲データD3に付与されたものである。また、メタデータD2は、楽曲データD3を構成する楽曲区間の属性を示すものである。なお、以下では、図1に示すように、メタデータD2に、キー・スケール情報、歌詞情報、楽器情報、メロディ情報、コード情報、及びビート情報が含まれているものとして説明を進める。
【0050】
さて、パラメータ設定部102は、ユーザにより入力部109を介して入力された情報、加速度センサ110により検出されたユーザの動きを示す情報、又はテンポシーケンスデータD1に記載された時系列データに基づいて指定テンポを設定する。また、パラメータ設定部102は、ユーザにより入力部109を介して入力された情報に基づいてリミックス楽曲の再生時間長を設定する。なお、入力部109は、キーボード、キーパッド、マウス、タッチパネル、グラフィカルユーザインターフェースなど、ユーザが情報を入力するための入力手段である。また、加速度センサ110は、ユーザの動きに応じて生じる加速度を検出するためのセンサである。
【0051】
パラメータ設定部102により設定された指定テンポ及び再生時間長は、対象楽曲区間抽出部103に入力される。指定テンポ及び再生時間長が入力されると、対象楽曲区間抽出部103は、入力された指定テンポを持つリミックス楽曲を生成するのに適した楽曲区間(以下、対象楽曲区間)を抽出する。このとき、対象楽曲区間抽出部103は、記憶装置101に格納されたメタデータD2を読み出し、読み出したメタデータD2に基づいて対象楽曲区間を抽出する。例えば、対象楽曲区間抽出部103は、メタデータD2に含まれるビート情報を参照し、指定テンポに近いテンポ(例えば、指定テンポ±10%の範囲など)を持つ楽曲区間を対象楽曲区間として抽出する。対象楽曲区間抽出部103により抽出された対象楽曲区間の情報は、調和区間抽出部104に入力される。
【0052】
対象楽曲区間の情報が入力されると、調和区間抽出部104は、ユーザの選択、ランダムな選択、又は所定のアルゴリズムに基づく選択により、入力された対象楽曲区間の中から1つの対象楽曲区間を選択する。次いで、調和区間抽出部104は、選択した対象楽曲区間(以下、着目区間)のコード進行と調和する他の対象楽曲区間を抽出する。但し、ここで抽出される他の対象楽曲区間は、その対象楽曲区間の先端にある所定長の区間と、着目区間の終端にある所定長の区間との間で調和するものであればよい。なお、ここで言う所定長の区間とは、リミックス楽曲として再生する際に同時に再生される区間である。
【0053】
また、調和区間抽出部104は、抽出した対象楽曲区間を新たな着目区間に設定し、新たな着目区間のコード進行と調和する他の対象楽曲区間を抽出する。さらに、調和区間抽出部104は、着目区間の設定及び他の対象楽曲区間の抽出を繰り返し実行する。このようにして調和区間抽出部104により抽出された対象楽曲区間の組は、ミックス再生部105に入力される。対象楽曲区間の組が入力されると、ミックス再生部105は、記憶装置101に格納された楽曲データD3を読み出し、入力された対象楽曲区間の組に対応する楽曲データD3を再生する。例えば、ミックス再生部105は、楽曲データD3に対応する音声信号をスピーカ106に入力し、スピーカ106を介して音声を出力する。
【0054】
また、ミックス再生部105は、スピーカ106を介して出力される音声に応じて変化する映像を表示するための映像信号などを出力部107を介して出力してもよい。さらに、ミックス再生部105は、楽曲データD3に対応する音声信号を出力部107を介して出力してもよい。出力部107は、例えば、表示装置、又は外部機器(例えば、イヤホン、ヘッドホン、音楽プレーヤ、音響機器など)を接続するための入出力端子などである。また、シーケンス制御部108は、パラメータ設定部102、対象楽曲区間抽出部103、調和区間抽出部104、ミックス再生部105の動作を制御する制御手段である。
【0055】
以上、本実施形態に係る楽曲再生装置100の全体構成について簡単に説明した。以下では、本実施形態に係る楽曲再生装置100の主要部であるパラメータ設定部102、対象楽曲区間抽出部103、調和区間抽出部104、ミックス再生部105、及びシーケンス制御部108の機能及び動作について、より詳細に説明する。
【0056】
(1−2−2:パラメータ設定部102の機能)
まず、パラメータ設定部102の機能について詳細に説明する。先に説明した通り、パラメータ設定部102は、指定テンポ及び再生時間長を設定する手段である。なお、パラメータ設定部102により設定された指定テンポは、リミックス楽曲のテンポとなる。また、パラメータ設定部102により設定された指定テンポは、リミックス楽曲に含める楽曲区間を抽出する際に利用される。そして、パラメータ設定部102により設定された再生時間長は、楽曲区間を繋ぎ合わせて構成されるリミックス楽曲の再生時間長となる。
【0057】
上記の指定テンポは、入力部109を介して入力されたテンポの情報を利用する方法、加速度センサ110により検出された加速度の情報を利用する方法、又は記憶装置101に格納されたテンポシーケンスデータD1を利用する方法などにより決定される。例えば、入力部109を介してテンポの情報(テンポの値や範囲など)が入力された場合、パラメータ設定部102は、入力されたテンポの情報に基づいて指定テンポを設定する。
【0058】
また、加速度センサ110により検出された加速度の情報を利用する場合、パラメータ設定部102は、加速度センサ110から入力された加速度の情報をテンポの情報(テンポの値や範囲など)に変換し、そのテンポの情報に基づいて指定テンポを設定する。加速度センサ110は、ユーザが行うジョギングや歩行のテンポを反映した加速度の時系列データを出力することができる。そのため、この時系列データを解析し、加速度変化の周期などを抽出することにより、ユーザが行った運動のテンポを検出することができる。
【0059】
また、テンポシーケンスデータD1を利用する場合、パラメータ設定部102は、記憶装置101に格納されたテンポシーケンスデータD1を読み出し、テンポシーケンスデータD1に示されている再生時間に応じたテンポを指定テンポに設定する。テンポシーケンスデータD1は、図4(横軸は再生時間)に破線で示した曲線のような再生時間に応じて変化する時系列データである。この場合、パラメータ設定部102により設定される指定テンポは、再生時間の経過とともに変化する時系列データとなる。
【0060】
このようにしてパラメータ設定部102により設定された指定テンポは、リミックス楽曲のテンポとして利用される。具体的には、図3(横軸は再生時間)に示すように、リミックス楽曲を構成する楽曲区間(図3の例では曲A及び曲B)のテンポ調整に利用される。図3の場合、曲Aのテンポは指定テンポよりも小さいため、曲Aは、指定テンポまでテンポアップされる。一方、曲Bのテンポは指定テンポよりも大きいため、曲Bは、指定テンポまでテンポダウンされる。指定テンポが再生時間に応じて変化しない場合、リミックス楽曲を構成する各楽曲区間のテンポは図3のように調整される。
【0061】
一方、再生時間に応じて指定テンポが変化する場合(図4の例はテンポシーケンスデータD1を利用する場合)、リミックス楽曲を構成する各楽曲区間のテンポは図4のように調整される。図4の例では、リミックス楽曲を構成する各楽曲区間(図4の例では曲A、曲B、曲C)で異なるテンポをスムーズに繋ぐために区間a、区間b、区間cにおいて指定テンポがスロープ状に設定されている。つまり、区間a、区間b、区間cは、再生時間の経過に伴って徐々にテンポを上げたり下げたりする区間である。なお、テンポ変化が急峻過ぎるとリミックス楽曲の再生時に違和感を与えてしまうため、区間a、区間b、区間cの長さを十分に確保し、スロープの傾きを制限することが好ましい。
【0062】
さて、図3の例と同様、曲A、曲B、曲Bは、再生時間に応じた指定テンポに合うようにテンポアップ又はテンポダウンされる。区間a、区間b、区間cにおいても同様である。例えば、区間aの各再生時刻では、曲Aが指定テンポまでテンポアップされ、曲Bが指定テンポまでテンポダウンされて、曲Aのテンポと曲Bのテンポとが同じ指定テンポに調整される。同様に、区間cにおいては曲Bと曲Cとがテンポアップ又はテンポダウンされて同じ指定テンポに調整される。このようなテンポ調整の結果、例えば、区間aにおいては曲Aと曲Bとが同じテンポで再生され、区間cにおいては曲Bと曲Cとが同じテンポで再生される。
【0063】
テンポの調整は各楽曲区間の再生速度を変えることにより実現される。また、複数の楽曲区間が同時に再生される区間(図4の例では区間a及び区間c)においては、同時に再生される楽曲区間のビート位置や小節頭などが揃えられる。そのため、複数の楽曲区間が同時に再生される区間aや区間cにおいて、複数の楽曲区間のテンポ(速度)とビート(位相)が同期して再生される。なお、図4の例における区間bでは、曲Bのテンポが指定テンポに合わせて徐々に早くなるようにテンポ調整が行われる。
【0064】
このように、時間経過に応じてリミックス楽曲のテンポを変化させることができると、運動プログラムに合ったリミックス楽曲を作成することが可能になる。例えば、最初はゆっくりのテンポにし、徐々にテンポを上げていき、後半で最高速度のテンポにし、その後、クールダウンのために徐々にテンポを下げていくという運動プログラムに合ったリミックス楽曲を作成することが可能になる。逆に言えば、予め作成した運動プログラムに対応するテンポシーケンスデータD1を用意しておき、このテンポシーケンスデータD1に基づいて再生されるリミックス楽曲を聴きながら運動することで、効果的な運動プログラムをこなすことが可能になる。
【0065】
以上、パラメータ設定部102の機能及び動作について説明した。また、ここでは指定テンポに基づくテンポ調整方法についても紹介した。なお、後述するように、指定テンポは、リミックス楽曲のテンポとして利用されるだけでなく、リミックス楽曲を構成する楽曲区間の抽出にも利用される。
【0066】
(1−2−3:対象楽曲区間抽出部103の機能)
次に、対象楽曲区間抽出部103の機能及び動作について説明する。先に説明した通り、対象楽曲区間抽出部103は、パラメータ設定部102により設定された指定テンポに基づき、記憶装置101に格納されたメタデータD2を利用して、指定テンポに適合する楽曲区間(対象楽曲区間)を抽出する手段である。例えば、対象楽曲区間抽出部103は、メタデータD2に含まれるビート情報に基づき、図6に示すように、指定テンポを基準に数%程度の範囲(以下、指定テンポ範囲)に含まれるテンポを持つ楽曲区間を抽出する。図6には、指定テンポ範囲が140±10BPM(Beat Per Minute)の楽曲区間を楽曲1〜楽曲4の中から抽出する方法が示されている。
【0067】
先に説明したように、リミックス楽曲を構成する各楽曲区間のテンポは、指定テンポに調整される。そのため、リミックス楽曲に含める楽曲区間のテンポが指定テンポから乖離していると、その楽曲区間は、原曲と大きく異なるテンポで再生されてしまう。その結果、ユーザは、リミックス楽曲に大きな違和感を感じることになる。そこで、対象楽曲区間抽出部103は、図5に示すように、指定テンポを基準に数%程度の範囲に含まれるテンポを持つ楽曲区間を抽出する。但し、指定テンポ範囲が狭すぎると、その指定テンポ範囲に含まれるテンポを持つ楽曲区間が抽出されない可能性がある。そのため、指定テンポ範囲は、指定テンポの±10%程度などに設定されていることが好ましい。
【0068】
また、1つの楽曲の中でテンポが変化することもある(例えば、図6の楽曲2や楽曲3を参照)。そのため、対象楽曲区間抽出部103は、個々の楽曲の中で、ビート単位で楽曲区間を変えながら指定テンポ範囲に適合する楽曲区間を走査する。なお、楽曲区間の先端及び終端はビート位置に一致させる。但し、メタデータD2に小節頭の位置を示す情報が含まれている場合には、楽曲区間の先端及び終端の位置を小節頭に一致させる方が好ましい。このようにすると、最終的に得られるリミックス楽曲の曲調がより自然なものとなる。
【0069】
さて、対象楽曲区間を抽出すると、対象楽曲区間抽出部103は、抽出した対象楽曲区間、その対象楽曲区間を含む楽曲のID(以下、楽曲ID)、及びその対象楽曲区間の原曲が持つテンポ(以下、オリジナルテンポ)などの情報をリスト形式で保持する。例えば、対象楽曲区間、楽曲ID、及びオリジナルテンポなどの情報は、図7に示すような対象楽曲区間リストとして保持される。図7に示すように、対象楽曲区間リストには、例えば、インデックス、楽曲ID(曲ID)、対象楽曲区間(開始位置及び終了位置)、オリジナルテンポ(区間テンポ)、及びビート感などが記録される。なお、ビート感とは、対象楽曲区間を含む楽曲のビート数(4ビート、8ビート、16ビートなど)を示す情報である。
【0070】
聴覚上、8ビートの楽曲は実際のテンポとして感じられるだけでなく、実際のテンポの2倍のテンポとしても感じられることが知られている。同様に、16ビートの楽曲は、聴覚上、実際のテンポの2倍又は4倍のテンポとしても感じられることが知られている。そこで、対象楽曲区間抽出部103は、楽曲のビート感を考慮して対象楽曲区間を抽出する。例えば、8ビートの楽曲について、対象楽曲区間抽出部103は、実際のテンポの2倍のテンポが指定テンポ範囲に含まれる楽曲区間(図6の楽曲4)を抽出する。同様に、16ビートの楽曲について、対象楽曲区間抽出部103は、実際のテンポの2倍又は4倍のテンポが指定テンポ範囲に含まれる楽曲区間を抽出する。なお、楽曲のビート感が8ビート又は16ビートなどの場合、図7に示すように、対象楽曲区間リストにオリジナルテンポの2倍又は4倍のテンポを記録しておいてもよい。
【0071】
一般に、テンポは、1分間に何回のビートを刻むかを示すBPMという単位で表現される。但し、ここでは、聴覚上で感じられるテンポを考え、下記の式(2)で表現されるテンポ(以下、ビート間BPM)を単位として利用する。この表現を用いると、オリジナルテンポが80BPMの8ビートの楽曲は、ビート間BPMが160BPMの楽曲と表現される。対象楽曲区間抽出部103は、指定テンポ範囲と、オリジナルテンポ及びビート間BPMとを比較し、指定テンポ範囲にオリジナルテンポ又はビート間BPMが含まれる楽曲区間を抽出する。なお、ビート感は、各楽曲に予め付与されているものとする。例えば、メタデータD2に含まれるビート情報の中にビート感を示す情報が含まれていてもよい。
【0072】
【数2】

【0073】
このように、対象楽曲区間抽出部103は、記憶装置101に格納されたメタデータD2を読み出し、メタデータD2に含まれるビート情報に基づいて各楽曲区間のオリジナルテンポ及びビート間BPMを算出する。次いで、対象楽曲区間抽出部103は、指定テンポ範囲にオリジナルテンポ又はビート間BPMが含まれる楽曲区間を対象楽曲区間として抽出する。次いで、対象楽曲区間抽出部103は、抽出した対象楽曲区間について、図7に示すような対象楽曲区間リストを生成する。このようにして対象楽曲区間抽出部103により生成された対象楽曲区間リストの情報は、調和区間抽出部104に入力される。
【0074】
以上、対象楽曲区間抽出部103の機能及び動作について説明した。上記の通り、対象楽曲区間抽出部103により、パラメータ設定部102により設定された指定テンポに適合する楽曲区間が対象楽曲区間として抽出される。
【0075】
(1−2−4:調和区間抽出部104の機能)
次に、調和区間抽出部104の機能及び動作について説明する。先に説明した通り、調和区間抽出部104は、対象楽曲区間抽出部103により抽出された対象楽曲区間の中から、リミックス楽曲を構成するのに適した楽曲区間を抽出する手段である。特に、調和区間抽出部104は、記憶装置101に格納されたメタデータD2に含まれるコード情報に基づき、コード進行が調和する対象楽曲区間の組み合わせを抽出する。
【0076】
まず、調和区間抽出部104は、対象楽曲区間リストの中から、リミックス楽曲として最初に再生されるべき対象楽曲区間(着目区間)を選択する。このとき、調和区間抽出部104は、対象楽曲区間リストの内容をユーザに提示し、入力部109を介してユーザが指定した対象楽曲区間を着目区間として選択してもよい。また、調和区間抽出部104は、所定のアルゴリズムに基づいて抽出された対象楽曲区間を着目区間として選択してもよい。そして、調和区間抽出部104は、ランダムに対象楽曲区間を抽出し、抽出した対象楽曲区間を着目区間として選択してもよい。
【0077】
着目区間を選択した調和区間抽出部104は、図8に示す処理フローを実行し、着目区間に繋ぎ合わせてリミックス楽曲を構成するのに適した対象楽曲区間を抽出する。このとき、調和区間抽出部104は、着目区間の終端付近に位置する一部区間とコード進行が調和する対象楽曲区間の一部区間(以下、調和区間)を抽出する。ここで、図8を参照しながら、調和区間抽出部104による調和区間の抽出処理について具体的に説明する。
【0078】
なお、調和区間は、着目区間の終端付近に位置する一部区間と同時に再生される部分である。また、図8の例では、両区間がクロスフェードする形で同時に再生されることを想定している。さらに、図8の例では、調和区間が小節単位で選択されることにしている。もちろん、本実施形態に係る調和区間抽出部104の処理フローはこれに限定されない。例えば、クロスフェードしない形で上記の両区間を同時に再生する場合も同様の処理フローにて調和区間を抽出することができる。また、調和区間をビート単位で選択する場合も同様の処理フローにて調和区間を抽出することができる。
【0079】
図8に示すように、まず、調和区間抽出部104は、適当な値に閾値Tを初期化する(S101)。この閾値Tは、着目区間と、抽出された調和区間との間の調和度合いを評価するためのパラメータである。特に、この閾値Tは、最終的に抽出される調和区間が、着目区間との間に有すべき調和度合いの最低値を表す。閾値Tを初期化すると、調和区間抽出部104は、クロスフェードする小節数BarXを所定の最大数BARmaxにより初期化する(S102)。次いで、調和区間抽出部104は、着目区間の終端からBarX小節分を後述する調和度計算の対象区間R0に設定する(S103)。なお、調和度とは、ある楽曲区間のコード進行と他の楽曲区間のコード進行との間の調和度合い(類似度)を表すパラメータである。
【0080】
調和度計算の対象区間R0を設定すると、調和区間抽出部104は、対象楽曲区間リストの中から、未使用の区間Rを1つ抽出する(S104)。なお、未使用の区間情報Rとは、対象楽曲区間リストに含まれる対象楽曲区間の中で、調和区間として利用可能な楽曲区間を含むか否かの評価が行われていないものを言う。また、対象楽曲区間リストには、使用/未使用を示す使用フラグが記述されていてもよい。ステップS104において未使用の区間Rを抽出した調和区間抽出部104は、全ての対象楽曲区間を使用したか否かを判定する(S105)。全ての対象楽曲区間を使用した場合、調和区間抽出部104は、処理をステップS109に進める。一方、全ての対象楽曲区間を使用していない場合、調和区間抽出部104は、処理をステップS106に進める。
【0081】
ステップS106に処理を進めた場合、調和区間抽出部104は、未使用の区間RにおけるBarX小節長の一部区間と、調和度計算の対象区間R0との間の調和度を算出する。このとき、調和区間抽出部104は、BarX小節長の一部区間を未使用の区間R内で移動させながら、対象区間R0との間の調和度を算出する。そして、調和区間抽出部104は、算出した調和度の中で最大の調和度に対応するBarX小節長の一部区間を調和区間として抽出する(S106)。調和区間を抽出した調和区間抽出部104は、処理をステップS107に進め、抽出した調和区間に対応する調和度(以下、最大調和度)が閾値Tを超えているか否かを判定する(S107)。
【0082】
最大調和度が閾値Tを超えている場合、調和区間抽出部104は、処理をステップS108に進める。一方、最大調和度が閾値Tを超えていない場合、調和区間抽出部104は、処理をステップS104に進める。また、ステップS107における判定処理の後、調和区間抽出部104は、区間Rの使用を示す使用フラグを対象楽曲区間リストに記述する。処理をステップS108に進めた場合、調和区間抽出部104は、抽出した調和区間の情報をリスト形式で保持する(S106)。例えば、調和区間抽出部104は、図9に示すような調和区間リストに調和区間の情報を追加する。そして、調和区間抽出部104は、処理をステップS104に進める。
【0083】
このようにして、調和区間抽出部104は、全ての対象楽曲区間を使用するまでステップS104〜S108の処理を繰り返し実行する。そして、全ての対象楽曲区間を使用した場合、ステップS105において調和区間抽出部104は、処理をステップS109に進める。処理をステップS109に進めた調和区間抽出部104は、調和区間リストに調和区間の情報が存在するか否かを判定する(S109)。調和区間リストに調和区間の情報が存在する場合、調和区間抽出部104は、一連の処理を終了する。一方、調和区間リストに調和区間の情報が存在しない場合、調和区間抽出部104は、処理をステップS110に進める。
【0084】
処理をステップS110に進めた場合、調和区間抽出部104は、BarXをデクリメントし、対象楽曲区間リストに記述された使用フラグを未使用にする(S110)。そして、調和区間抽出部104は、BarX>0であるか否かを判定する(S111)。BarX>0である場合、調和区間抽出部104は、処理をステップS104に進める。一方、BarX>0でない場合、調和区間抽出部104は、一連の処理を終了する。この場合、調和区間リストに調和区間の情報が全く追加されなかったことになる。つまり、着目区間に対してクロスフェード再生を行うための適切な調和区間が見つからなかったということになる。
【0085】
調和区間リストに調和区間が全く追加されなかった場合、閾値Tを小さくして再度ステップS102以降の処理を実行するように処理フローを構成してもよい。また、調和区間リストに調和区間が全く追加されなかった場合、着目区間を選びなおして再度ステップS101以降の処理を実行するように処理フローを構成してもよい。
【0086】
ここで、調和度の算出方法について説明を補足する。調和度(コード進行の類似度)の算出は、特開2008−164932号公報などに記載の方法を適用することにより実現可能である。この方法は、2つの楽曲区間が持つコード進行を比較し、コード進行が類似する楽曲区間の組み合わせに高い類似度(本実施形態における調和度に相当)を対応付けるというものである。この方法においては、キーの異なる楽曲区間同士を比較する際に、転調してコード進行が合う可能性も考慮する。例えば、図10に示すように、キーがC(ト長調)の楽曲におけるコード進行C、F、G、Emは、キーE(ホ長調)の楽曲におけるコード進行E、G#、B、G#mと相対的なコードの上下度数が同じである。
【0087】
つまり、キーCの楽曲のキーを半音4度上に転調すると、キーEの楽曲と同じ絶対音で構成されたコード進行になる。この場合、ビートを揃えて両楽曲を同時に再生すれば、不協和音が発生しない。このように、転調により調和度が高まる場合がある。そこで、調和区間抽出部104は、調和度を高めるために転調を行った場合に、その転調度数を調和区間抽出リストに追加する。図9に示すように、調和区間リストには、インデックス、対応する対象楽曲区間リストのインデックス、調和区間の範囲(開始位置及び終了位置)、調和度、転調度数、及び重み付け係数などの情報が記録される。
【0088】
図9は、Bar=4の場合に抽出された調和区間の情報が記述されている。この例では、調和度の最大値が1.0である。なお、調和区間抽出リストに含まれる重み付け係数とは、調和度以外の要素を調和区間の選択に反映させるための係数である。例えば、特定のジャンルや特定の楽曲などが使われている楽曲を優先的に抽出できるようにしたり、楽曲区間の切れ目が歌詞の途中にかからない部分を優先的に抽出できるようにしたりするために利用される。例えば、着目区間と同じジャンルの調和区間に対し、より大きな重み付け係数が設定される。同様に、着目区間と同じムードを持った調和区間に対し、より大きな重み付け係数が設定される。
【0089】
以上、調和区間抽出部104の機能及び動作について説明した。上記のように、調和区間抽出部104は、対象楽曲区間の中から、着目区間の一部区間に適合する対象楽曲区間の一部区間を調和区間として抽出する。このとき、調和区間抽出部104は、コード進行が着目区間の一部区間に類似した調和区間を抽出し、抽出した調和区間の情報により調和区間リストを生成する。そして、このようにして生成された調和区間リストは、ミックス再生部105に入力される。
【0090】
(1−2−5:ミックス再生部105の機能)
次に、ミックス再生部105の機能及び動作について説明する。ミックス再生部105は、2つの楽曲区間をミックスして再生するための手段である。まず、ミックス再生部105は、調和区間抽出部104により生成された調和区間リストを参照し、各調和区間の調和度と重み付け係数との積を算出する。次いで、ミックス再生部105は、算出した積の中で最も値の大きい調和区間を選択する。次いで、ミックス再生部105は、着目区間の終端からBarX小節分の区間と、選択した調和区間とをミックスして再生する。
【0091】
2つの楽曲区間(着目区間と調和区間)をミックスして再生するために、ミックス再生部105は、図11に示すような機能構成を有する。図11に示すように、ミックス再生部105は、2つのデコーダ1051、1054と、2つのタイムストレッチ部1052、1055と、2つのピッチシフト部1053、1056と、ミキシング部1057とにより構成される。なお、楽曲データD3が非圧縮音声の場合には、デコーダ1051、1054を省略することができる。
【0092】
デコーダ1051は、着目区間に対応する楽曲データD3をデコードする手段である。また、タイムストレッチ部1052は、着目区間に対応する楽曲データD3のテンポを指定テンポに一致させる手段である。そして、ピッチシフト部1053は、着目区間に対応する楽曲データD3のキーを変更する手段である。
【0093】
まず、デコーダ1051により記憶装置101に格納された楽曲データD3の中から着目区間に対応する楽曲データD3が読み出される。次いで、デコーダ1051は、読み出した楽曲データD3をデコードする。デコーダ1051によりデコードされた楽曲データD3は、タイムストレッチ部1052に入力される。デコードされた楽曲データD3が入力されると、タイムストレッチ部1052は、入力された楽曲データD3のテンポを指定テンポに一致させる。テンポを指定テンポに調整された楽曲データD3は、ピッチシフト部1053に入力される。指定テンポを持つ楽曲データD3が入力されると、ピッチシフト部1053は、入力された楽曲データD3のキーを必要に応じて変更する。ピッチシフト部1053により必要に応じてキーが変更された楽曲データD3は、ミキシング部1057に入力される。
【0094】
デコーダ1054は、調和区間に対応する楽曲データD3をデコードする手段である。また、タイムストレッチ部1055は、調和区間に対応する楽曲データD3のテンポを指定テンポに一致させる手段である。そして、ピッチシフト部1056は、調和区間に対応する楽曲データD3のキーを変更する手段である。
【0095】
まず、デコーダ1054により記憶装置101に格納された楽曲データD3の中から調和区間に対応する楽曲データD3が読み出される。次いで、デコーダ1054は、読み出した楽曲データD3をデコードする。デコーダ1054によりデコードされた楽曲データD3は、タイムストレッチ部1055に入力される。デコードされた楽曲データD3が入力されると、タイムストレッチ部1055は、入力された楽曲データD3のテンポを指定テンポに一致させる。
【0096】
テンポを指定テンポに調整された楽曲データD3は、ピッチシフト部1056に入力される。指定テンポを持つ楽曲データD3が入力されると、ピッチシフト部1056は、入力された楽曲データD3のキーを必要に応じて変更する。このとき、ピッチシフト部1056は、調和区間リストに記載された転調度に基づいて楽曲データD3のキーを変更する。ピッチシフト部1056により必要に応じてキーが変更された楽曲データD3は、ミキシング部1057に入力される。
【0097】
着目区間に対応する楽曲データD3と、調和区間に対応する楽曲データD3とが入力されると、ミキシング部1057は、ビートを同期させて2つの楽曲データD3をミックスし、スピーカ106(又は出力部107)に入力される音声信号を生成する。上記の通り、2つの楽曲データD3はテンポが一致しているため、ビートを同期させることにより、同時に再生してもテンポ上の違和感が生じなくなる。
【0098】
ここで、図12を参照しながら、対象楽曲区間リストのインデックス0に対応する対象楽曲区間を着目区間R0とし、この着目区間R0に対し、調和区間リストのインデックス1に対応する調和区間をミックスする方法について、より具体的に考えてみたい。図9の例では、調和区間リストのインデックス1(調和区間ID=1)に対応する対象楽曲区間リストのインデックス(対象区間ID)は3である。このことから、図7を参照すると、調和区間ID=1の調和区間に対応する楽曲IDが3であることが分かる。また、図9に示した調和区間リストを参照すると、調和区間ID=1の調和区間は、7小節目から10小節目までの区間であることが分かる。
【0099】
つまり、この例では、着目区間R0の終端からBarX小節分の区間(図12の例ではBarX=4)と、調和区間ID=1の調和区間とがミックスされることになる。このとき、タイムストレッチ部1052、1055は、ミックスの対象となる各区間に対応する楽曲データD3のテンポが指定テンポに合うように速度調整を行う。なお、速度調整に利用される再生速度の倍率は(指定テンポ/オリジナルテンポ)となる。また、調和区間リストにおいてミックスの対象となる調和区間の転調度数が0以外に設定されている場合、その転調度数分だけ調和区間に対応する楽曲データD3の音程が上下に調整される。
【0100】
また、ミキシング部1057は、着目区間に対応する楽曲データD3と、調和区間に対応する楽曲データD3とをミックスする際、図13に示すようにクロスフェードをかけてもよい。つまり、着目区間と調和区間とが重なる部分において、再生時間の経過と共に着目区間に対応する楽曲データD3の音量を低減させ、一方で調和区間に対応する楽曲データD3の音量を増加させる。このようなクロスフェードをかけることにより、着目区間に対応する楽曲データD3から調和区間に対応する楽曲データD3へと自然に移行することが可能になる。
【0101】
なお、図13の例では、ミックスする区間の全体にクロスフェードをかける方法を示したが、ミックスする区間の調和度に応じてクロスフェードをかける時間を短くしてもよい。例えば、調和度が低い場合、2つの楽曲データD3をミックスする区間において不協和音が発生する可能性がある。そのため、調和度が低い場合には、あまり長いクロスフェードをかけないようにする方が好ましい。逆に、調和度が高い場合には、ミックスする区間全体にクロスフェードをかけても不協和音が発生する可能性は低い。そこで、ミキシング部1057は、調和度が高い場合にクロスフェードをかける区間を長くし、調和度が低い場合にクロスフェードをかける期間を短くする。
【0102】
また、ミキシング部1057は、ミックスする区間において繋ぎ用のフレーズを利用してもよい。繋ぎ用のフレーズとは、例えば、楽曲データD3に含まれる楽器音の一部(例えば、ドラム音など)だけで構成された音声データである。このように、繋ぎ用のフレーズを利用すると、ミックスする区間が短い場合や調和度が低い場合であっても、繋ぎ目部分でユーザに与える違和感を軽減させることが可能になる。
【0103】
以上、ミックス再生部105の機能及び動作について説明した。上記のように、ミックス再生部105は、着目区間の一部及び調和区間をミックスして再生することができる。また、ミックス再生部105は、ミックスして再生する区間のテンポを指定テンポに揃えたり、両区間のビートを同期させたり、調和区間に必要な転調を施したりする。このような処理を行うことにより、ミックスされた区間が再生された際に、ユーザが感じる違和感を取り除くことが可能になる。
【0104】
(1−2−6:シーケンス制御部108の機能)
次に、シーケンス制御部108の機能及び動作について説明する。先に説明した通り、シーケンス制御部108は、パラメータ設定部102、対象楽曲区間抽出部103、調和区間抽出部104、及びミックス再生部105の動作を制御する手段である。調和区間抽出部104及びミックス再生部105に関する上記の説明においては、1つの着目区間と1つの調和区間とをミックスする方法について述べた。しかし、実際には、この方法を繰り返し用いることにより、複数の区間がシームレスに繋ぎ合わされたリミックス楽曲の音声信号が生成される。このような繰り返し制御など、楽曲再生装置100の動作を制御するのがシーケンス制御部108の役割である。
【0105】
ここで、図14を参照しながら、シーケンス制御部108による制御の流れについて説明する。図14は、シーケンス制御部108による制御の流れを示す説明図である。なお、図14の例は、記憶装置101にテンポシーケンスデータD1を格納しておき、このテンポシーケンスデータD1を利用してリミックス楽曲を再生する方法に関する。
【0106】
図14に示すように、まず、シーケンス制御部108は、パラメータ設定部102を制御して、記憶装置101からテンポシーケンスデータD1を読み込ませる(S121)。次いで、シーケンス制御部108は、パラメータ設定部102を制御して、テンポシーケンスデータD1から指定テンポを取り出させる(S122)。次いで、シーケンス制御部108あ、対象楽曲区間抽出部103を制御して、指定テンポに適合する対象楽曲区間を抽出させる(S123)。次いで、シーケンス制御部108は、調和区間抽出部104を制御して、対象楽曲区間の中から注目区間を選択させる(S124)。
【0107】
次いで、シーケンス制御部108は、ミックス再生部105を制御して、着目区間を再生させる(S125)。次いで、シーケンス制御部108は、調和区間抽出部104を制御して、再生中の着目区間と調和する調和区間を抽出する(S125)。次いで、シーケンス制御部108は、着目区間の再生位置が調和区間とミックスすべき区間の開始点(以下、ミックス開始位置)まで到達したか否かを判定する(S127)。再生位置がミックス開始位置まで到達した場合、シーケンス制御部108は、処理をステップS128に進める。一方、再生位置がミックス開始位置まで到達していない場合、シーケンス制御部108は、処理をステップS131に進める。
【0108】
処理をステップS128に進めた場合、シーケンス制御部108は、ミックス再生部105を制御して、着目区間と調和区間とをミックス再生させる(S128)。次いで、シーケンス制御部108は、パラメータ設定部102を制御して、調和区間を含む対象楽曲区間の終端における再生時間に対応する指定テンポをテンポシーケンスデータD1から読み込ませる(S129)。次いで、シーケンス制御部108は、対象楽曲区間抽出部103を制御して、ステップS129で読み込ませた指定テンポに適合する対象楽曲区間を抽出させる(S130)。対象楽曲区間の抽出が完了すると、シーケンス制御部108は、処理をステップS126に進める。
【0109】
ステップS127において処理をステップS131に進めた場合、シーケンス制御部108は、再生終了時間に到達したか否かを判定する(S131)。再生終了時間に到達した場合、シーケンス制御部108は、処理をステップS132に進める。一方、再生終了時間に到達していない場合、シーケンス制御部108は、処理をステップS127に進める。処理をステップS132に進めた場合、シーケンス制御部108は、ミックス再生部105を制御して再生処理を停止させ(S132)、一連の処理を終了する。
【0110】
以上、シーケンス制御部108の機能及び動作について説明した。上記の通り、シーケンス制御部108は、パラメータ設定部102、対象楽曲区間抽出部103、調和区間抽出部104、ミックス再生部105を制御して、対象楽曲区間の抽出、着目区間に調和する調和区間の抽出、着目区間と調和区間とのミックス再生などの処理を実行する。
【0111】
(時系列変化する指定テンポに関する補足説明)
先に説明したように、本実施形態に係る楽曲再生装置100は、リミックス楽曲のテンポを再生時間に応じて変化させることができる。例えば、テンポシーケンスデータD1に基づいてパラメータ設定部102が再生時間に応じた指定テンポを設定し、設定された指定テンポでミックス再生部105が楽曲区間を再生する。加速度センサ110による検出結果に応じて時間的に変化する指定テンポをパラメータ設定部102が設定する場合も同様に、その指定テンポでミックス再生部105が楽曲区間を再生する。このような構成にすることで、例えば、運動プログラムに合わせたテンポで楽曲をミックス再生したり、ユーザの動きにリアルタイムに合わせたテンポで楽曲をミックス再生したりすることが可能になる。
【0112】
但し、指定テンポの時間的な変化は、単に最終的に再生される楽曲のテンポを変化させるだけではない。先に説明したように、本実施形態においては、対象楽曲区間を抽出する際に指定テンポを利用している。そのため、指定テンポが変化すると、抽出される対象楽曲区間が変化する。つまり、指定テンポが速い場合にはオリジナルテンポが速い楽曲の楽曲区間が抽出され、指定テンポが遅い場合にはオリジナルテンポが遅い楽曲の楽曲区間が抽出されるようになる。例えば、リズミカルな運動をしているときには、オリジナルテンポが速いノリの良い楽曲が再生されるため、ユーザの気分をより高揚させることができる。一方、クールダウンのために、ゆっくりした運動をしているときには、オリジナルテンポが遅い落ち着いた曲調の楽曲が再生されるため、ユーザの気分をよりリラックスさせることができる。
【0113】
このように、本実施形態に係る楽曲再生装置100は、指定テンポの変化が対象楽曲区間の抽出傾向に影響を与える仕組みを有する。そのため、単に同じ曲調の楽曲を速く再生したり遅く再生したりするのとは異なり、速い再生に適した楽曲、遅い再生に適した楽曲がユーザの状況に応じて適切に再生されるようになる。
【0114】
(重み付け係数に関する補足説明:概要)
上記の通り、対象楽曲区間抽出部103は、指定テンポに基づいて対象楽曲区間を抽出する。そのため、同じ指定テンポに基づいて抽出された対象楽曲区間であっても、互いにジャンルが異なる対象楽曲区間の組み合わせが抽出されたり、互いにムードが異なる対象楽曲区間の組み合わせが抽出されたりすることがある。また、ボーカルを含む楽曲の場合、対象楽曲区間の先端で歌詞のフレーズが途切れてしまうことがある。そのため、指定テンポが一致していても、ジャンルやムードなどが異なる対象楽曲区間を繋ぎ合わせると、繋ぎ目部分でユーザに違和感を与えてしまう。また、歌詞のフレーズが区間の端部で途切れた対象楽曲区間を繋ぎ合わせると、繋ぎ目部分で意味の分からないフレーズが発せされ、ユーザに違和感を与えてしまう。
【0115】
そこで、本実施形態においては、ミックスする区間同士で互いに同じジャンルや同じムードとなるように調和区間の抽出方法に工夫を加えている。具体的には、メタデータD2に含まれる情報などを利用し、着目区間に対応するジャンルやムードの楽曲区間を調和区間として抽出するように調和区間抽出部104を構成する。例えば、着目区間と同じ所定種類のメタデータD2(ジャンル、ムード、楽器の種類、メロディの種類など)を持つ調和区間の重み付け係数を大きな値に設定したり、歌詞のフレーズが区間の端部で途切れている調和区間の重み付け係数を小さな値に設定したりする。調和区間抽出部104は、コード進行の調和度合い(類似度)を示す調和度と重み付け係数との積を用いて調和区間を抽出する。そのため、重み付け係数が大きい調和区間が抽出されやすくなる。
【0116】
その結果、ジャンルやムードなどの大きく異なる楽曲区間が繋ぎ合わされたり、歌詞のフレーズが途切れた楽曲区間が繋ぎ合わされたりすることが少なくなり、繋ぎ目部分でユーザに与える違和感をより低減させることが可能になる。例えば、クラシックの楽曲とロックの楽曲とが繋ぎ合わされるといったことが少なくなる。また、意味の分からない発声から楽曲が始まったりすることが少なくなる。
【0117】
(重み付け係数に関する補足説明1:メロディ構造の種類に応じた重み付けの例)
ここで、図15を参照しながら、メタデータD2に含まれるメロディ情報に応じた重み付け係数の設定方法について説明する。図15は、メロディ構造の種類に応じた重み付け係数の設定方法について説明するための説明図である。
【0118】
図15には、メロディの種類と、各メロディの種類に対応する重み付け係数とが記載されている。メロディの種類としては、例えば、イントロ、Aメロ、Bメロ、サビ、大サビ、ソロ、ブリッジ、エンディングなどがある。なお、大サビは、サビの中で最も盛り上がるサビを意味し、通常は楽曲の最後に登場するサビを表す。メロディの種類は、メロディ情報としてメタデータD2に含まれている。そのため、図15に示すようなメロディの種類と重み付け係数とを対応付ける情報が用意されていれば、メタデータD2に基づいて容易に重み付け係数を設定することができる。この情報は、例えば、記憶装置101に予め格納しておいてもよい。
【0119】
なお、調和区間が複数のメロディの種類にまたがる場合、最も時間的に長いメロディの種類を代表として利用するようにしてもよいし、最も重み付け係数の大きいものを代表として利用するようにしてもよい。但し、ここで示した重み付け係数の設定方法は一例であり、楽曲再生装置100のシステム要件やユーザ操作に応じて重み付け係数の設定を調整できるようにしてもよい。また、リミックス楽曲の前半ではあまりサビを含まないように重み付けを行い、後半はサビを多く含むように重み付けを行うなど、時間的に重み付け係数が変化するように設定してもよい。
【0120】
(重み付け係数に関する補足説明2:楽器の種類に応じた重み付けの例)
次に、図16を参照しながら、メタデータD2に含まれる楽器情報に応じた重み付け係数の設定方法について説明する。図16は、楽器情報の種類に応じた重み付け係数の設定方法について説明するための説明図である。
【0121】
図16には、楽器の種類と、各楽器の種類に対応する重み付け係数とが記載されている。楽器の種類としては、例えば、男性ボーカル、女性ボーカル、ピアノ、ギター、ドラム、ベース、ストリングス、管楽器などがある。なお、ストリングスは、バイオリンやチェロなどの弦楽器を意味する。楽器の種類は、楽器情報としてメタデータD2に含まれている。そのため、図16に示すような楽器の種類と重み付け係数とを対応付ける情報が用意されていれば、メタデータD2に基づいて容易に重み付け係数を設定することができる。この情報は、例えば、記憶装置101に予め格納しておいてもよい。
【0122】
さて、楽器の場合、メロディの種類とは異なり排他的ではない。つまり、複数の楽器が同時に鳴っていることが多い。そのため、調和区間抽出部104は、例えば、鳴っている全ての楽器の種類に対応する重み付け係数を乗算して、調和区間の抽出に利用する重み係数を算出する。そして、調和区間抽出部104は、算出した重み係数に基づいて調和区間を抽出する。なお、ここで示した重み付け係数の設定方法は一例であり、楽曲再生装置100のシステム要件やユーザ操作に応じて重み付け係数の設定を調整できるようにしてもよい。例えば、リミックス楽曲の前半はピアノ主体になるように重み付け係数を調整し、後半はギターが主体となるように重み付け係数を調整するなど、時間的に重み付け係数が変化するように設定してもよい。
【0123】
(重み付け係数に関する補足説明3:歌詞の位置に応じた重み付けの例)
次に、図17及び図18を参照しながら、メタデータD2に含まれる歌詞情報に応じた重み付け係数の設定方法について説明する。図17及び図18は、歌詞の位置に応じた重み付け係数の設定方法について説明するための説明図である。
【0124】
ボーカルが含まれる楽曲の場合、調和区間の繋ぎ目が歌詞の途中にくると、歌詞の言葉が途切れてしまう。そのため、調和区間の開始位置及び終了位置と歌詞の位置との関係を考慮して、歌詞が途中で途切れるような調和区間に対しては重み付け係数を小さく設定する。例えば、図17の例では、調和区間Aの開始位置及び終了位置で歌詞が途切れている。また、調和区間Bの終了位置で歌詞が途切れている。一方、調和区間Cについては開始位置及び終了位置において歌詞が途切れていない。
【0125】
歌詞の途切れが1カ所ある場合に重み付け係数を0.8とし、歌詞の途切れが2カ所ある場合に重み付け係数を0.64(=0.8×0.8)とし、歌詞の途切れがない場合に重み付け係数を1.0とすると、図18に示すように重み付け係数が設定される。なお、ここで示した重み付け係数の設定方法は一例であり、楽曲再生装置100のシステム要件やユーザ操作に応じて重み付け係数の設定を調整できるようにしてもよい。
【0126】
(重み付け係数に関する補足説明4:楽曲のムードに応じた重み付けの例)
次に、楽曲のムードに応じた重み付け係数の設定方法について説明する。なお、楽曲のムードを示す数値やラベル(例えば、「ハッピー」や「癒し」など)は、メタデータD2に含めておいてもよい。また、楽曲のムードを数値やラベルで表現した場合には、楽曲のムード間の距離や類似度を予め表にしておき、その距離が離れているほど、或いは、その類似度が小さいほど重み付け係数が小さくなるように重み付け係数と楽曲のムードとの間の関係を設定しておいてもよい。
【0127】
例えば、ユーザがリミックス楽曲のムードを設定した場合、設定されたムードと各楽曲のムードとの距離を比較し、同じムードであれば重み付け係数を1.0に設定し、異なるムードであればムードの違い(ムード間の距離)が大きくなるほど0.0に近づくように重み付け係数を設定する。
【0128】
また、楽曲のムードが1つの代表値(数値)やラベルにより表現されず、複数のパラメータ値の集合(ベクトル)として表現される場合、2つのベクトルの類似度を求め、完全に一致する場合の重み付け係数が1.0になり、完全に不一致の場合の重み付け係数が0.0になるように正規化された重み付け係数を設定する。なお、2つのベクトルの類似度を求める方法としては、例えば、ベクトル空間モデルやコサイン類似度などを利用する方法がある。
【0129】
(重み付け係数に関する補足説明5:楽曲のジャンルに応じた重み付けの例)
次に、楽曲のジャンルに応じた重み付け係数の設定方法について説明する。通常、1つの楽曲に1つのジャンルが対応付けられる。そのため、各楽曲には、それぞれジャンルを示すラベルが1つ付与される。そこで、重み付け係数を設定する際には、用意された全てのジャンルに関してジャンル間の距離(類似度)を予め設定しておき、目的のジャンルと、調和区間に対応する楽曲のジャンルとの距離に基づいて重み付け係数を設定する。例えば、ジャンル間の距離が大きい場合に重み付け係数が小さくなるように設定する。
【0130】
以上、重み付け係数の設定方法について具体例を紹介した。上記の重み付け係数に関する補足説明1〜5において説明した重み付けの設定方法は、それぞれ単独で利用することもできるが、組み合わせて利用することもできる。この場合、各方法を用いて得られる重み付け係数を乗算し、その乗算結果を調和区間の抽出に用いればよい。このように、調和区間抽出部104は、メタデータD2を利用して各調和区間の調和度に様々な重み付けを行うことができる。そして、このような重み付けを行うことにより、調和区間の開始位置や終了位置で歌詞が途切れたり、メロディの種類、楽器の種類、ムード、ジャンルなどの異なる調和区間が繋ぎ合わされたりすることが少なくなり、繋ぎ目部分で違和感を感じることの少ないリミックス楽曲が得られるようになる。
【0131】
以上、本実施形態に係る楽曲再生装置100の構成について説明した。この構成を適用することにより、よりシームレスにリミックスされたリミックス楽曲を再生することが可能になる。また、楽曲の繋ぎ目部分でユーザに与える違和感をより低減させることが可能になる。
【0132】
<2:ハードウェア構成例>
上記の楽曲再生装置100が有する各構成要素の機能は、例えば、図19に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図19に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0133】
図19に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0134】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0135】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0136】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0137】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0138】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0139】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0140】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0141】
<3:まとめ>
最後に、本発明の実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。
【0142】
上記の情報処理装置の機能構成は、例えば、次のように表現することができる。当該情報処理装置は、次のような楽曲区間抽出部と、調和度算出部と、調和区間抽出部により構成される。上記の楽曲区間抽出部は、楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出するものである。なお、上記の楽曲区間抽出部は、1つの楽曲の中から複数の区間を抽出してもよい。ここで抽出される楽曲は基準テンポに近いテンポを持つ。そのため、ここで抽出された楽曲を基準テンポで再生しても、楽曲の曲調が大きく変化することがなく、楽曲を聴くユーザにほとんど違和感を与えずに済む。
【0143】
また、上記の調和度算出部は、楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出するものである。絶対コードのコード進行が一致する2つの楽曲をミックスして再生した場合、コード進行が一致しているため、ミックス再生しても不協和音が発生しない。また、相対コードのコード進行が一致する2つの楽曲をミックスして再生する場合、キーが一致するように一方の楽曲を転調して再生すれば、ミックス再生しても不協和音が発生しない。さらに、一方の楽曲のコード進行が他方の楽曲の代理コードになっている場合、これら2つの楽曲をミックスして再生しても、不協和音が発生することは少ない。また、基準テンポを時系列で変化させても、各時刻における基準テンポに適した楽曲の区間が自動抽出される。つまり、基準テンポを変化させた際に、単純にリミックス楽曲のテンポが変化するだけでなく、抽出される楽曲自体が変化する。
【0144】
そこで、上記の調和度算出部は、ミックス再生しても不協和音が発生し難い2つの楽曲を抽出するために、コード進行情報を利用して楽曲間の調和度合いの評価値を算出する。特に、上記の調和度算出部は、ビートを最小単位として楽曲から切り出された区間を対象に、楽曲間(区間同士)の調和度合いの評価値を算出する。この構成により、上記の情報処理装置は、楽曲の区間を単位として楽曲間の調和度合いを定量的に評価することが可能になる。そこで、上記の調和区間抽出部は、上記の調和度算出部により算出された調和度合いの評価値を参照し、前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する。
【0145】
上記の調和区間抽出部により抽出された区間の組は、ミックス再生しても不協和音が発生しにくい楽曲区間の組み合わせである。また、この2つの楽曲区間は、基準テンポで再生してもユーザに違和感を与えない楽曲の区間である。従って、これらの楽曲区間のテンポを基準テンポに調整し、ビート位置を揃えてミックス再生した場合に、各楽曲の曲調が大きく変化せず、また、テンポが均一で不協和音もほとんど発生しない理想的なミックス再生が実現される。なお、前記調和度算出部は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付けてもよい。このような構成にすると、極端に曲調やジャンルなどが異なる楽曲の区間がミックス再生されるのを防ぐことができる。また、ユーザが所定の関係を指定することにより、ユーザの好みに合った楽曲だけをミックスすることが可能になる。
【0146】
(備考)
上記の対象楽曲区間抽出部103は、楽曲区間抽出部の一例である。上記の調和区間抽出部104は、調和度算出部及び調和区間抽出部の一例である。上記のパラメータ設定部102は、テンポ設定部の一例である。上記の加速度センサ110は、リズム検出部の一例である。上記のミックス再生部105は、テンポ調整部及び楽曲再生部の一例である。上記の調和区間抽出部104は、転調度数算出部の一例である。
【0147】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0148】
100 楽曲再生装置
101 記憶装置
102 パラメータ設定部
103 対象楽曲区間抽出部
104 調和区間抽出部
105 ミックス再生部
106 スピーカ
107 出力部
108 シーケンス制御部
109 入力部
110 加速度センサ
1051、1054 デコーダ
1052、1055 タイムストレッチ部
1053、1056 ピッチシフト部
1057 ミキシング部

【特許請求の範囲】
【請求項1】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出部と、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出する調和度算出部と、
前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出部と、
を備え、
前記調和度算出部は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、
情報処理装置。
【請求項2】
前記基準テンポを設定するテンポ設定部をさらに備え、
前記テンポ設定部は、所定の時系列データに基づいて前記基準テンポを変化させる、
請求項1に記載の情報処理装置。
【請求項3】
ユーザの運動リズムを検出するリズム検出部と、
前記基準テンポを設定するテンポ設定部と、
をさらに備え、
前記テンポ設定部は、前記リズム検出部により検出されたユーザの運動リズムに合うように前記基準テンポを変化させる、
請求項1に記載の情報処理装置。
【請求項4】
前記調和度算出部は、予め設定された楽曲のムード、ジャンル、メロディ構成、楽器の種類のうちの1つ又は複数を示すメタデータが共に付与されている楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、
請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記調和区間抽出部は、前記楽曲区間抽出部により抽出された区間のうち、端部で歌詞のフレーズが切れていない区間の組を優先的に抽出する、
請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項6】
前記楽曲区間抽出部は、前記基準テンポの1/2のテンポに近いテンポを持つ8ビートの楽曲の区間、及び前記基準テンポの1/2又は1/4のテンポに近いテンポを持つ16ビートの楽曲の区間をさらに抽出する、
請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項7】
前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲のテンポを前記基準テンポに調整するテンポ調整部と、
前記テンポ調整部によりテンポが調整された後、ビートの位置を揃えて前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲を同時に再生する楽曲再生部と、
をさらに備える、
請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項8】
前記調和度算出部は、絶対コードのコード進行情報及び相対コードのコード進行情報に基づいて前記楽曲の調和度合いを算出し、
前記調和区間抽出部は、前記相対コードのコード進行情報に基づいて前記調和度算出部により算出された楽曲の調和度合い、又は前記絶対コードのコード進行情報に基づいて前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出し、
前記情報処理装置は、前記調和区間抽出部により抽出された区間の組に対応する2つの楽曲のキーを一致させるための転調度数を算出する転調度数算出部をさらに備え、
前記楽曲再生部は、前記転調度数算出部により算出された転調度数の分だけ転調した楽曲を再生する、
請求項6に記載の情報処理装置。
【請求項9】
前記楽曲再生部は、クロスフェードをかけて前記2つの楽曲を再生する、
請求項6に記載の情報処理装置。
【請求項10】
前記楽曲再生部は、前記調和度算出部により算出された楽曲の調和度合いが小さいほど前記クロスフェードの時間を短くする、
請求項8に記載の情報処理装置。
【請求項11】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出部と、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出部により抽出された区間の組について楽曲の調和度合いを算出する調和度算出部と、
前記楽曲区間抽出部により抽出された区間のうち、前記調和度算出部により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出部と、
を備える、
情報処理装置。
【請求項12】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出ステップと、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出ステップで抽出された区間の組について楽曲の調和度合いを算出する調和度算出ステップと、
前記楽曲区間抽出ステップで抽出された区間のうち、前記調和度算出ステップで算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出ステップと、
を含み、
前記調和度算出ステップでは、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みが付けられる、
楽曲区間抽出方法。
【請求項13】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出ステップと、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出ステップで抽出された区間の組について楽曲の調和度合いを算出する調和度算出ステップと、
前記楽曲区間抽出ステップで抽出された区間のうち、前記調和度算出ステップで算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出ステップと、
を含む、
楽曲区間抽出方法。
【請求項14】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、予め設定された基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出機能と、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出機能により抽出された区間の組について楽曲の調和度合いを算出する調和度算出機能と、
前記楽曲区間抽出機能により抽出された区間のうち、前記調和度算出機能により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出機能と、
をコンピュータに実現させるためのプログラムであり、
前記調和度算出機能は、所定の関係を有する楽曲間で大きな値となるように前記楽曲の調和度合いに重みを付ける、
プログラム。
【請求項15】
楽曲を構成する各区間のテンポを示すテンポ情報に基づき、時間的に変化する所定の基準テンポに近いテンポを持つ楽曲の区間を抽出する楽曲区間抽出機能と、
楽曲を構成する各区間のコード進行を示すコード進行情報に基づき、前記楽曲区間抽出機能により抽出された区間の組について楽曲の調和度合いを算出する調和度算出機能と、
前記楽曲区間抽出機能により抽出された区間のうち、前記調和度算出機能により算出された楽曲の調和度合いが大きい区間の組を抽出する調和区間抽出機能と、
をコンピュータに実現させるためのプログラム。

【図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


【公開番号】特開2012−103603(P2012−103603A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−253914(P2010−253914)
【出願日】平成22年11月12日(2010.11.12)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】