(57)【要約】【課題】  本発明は、楽曲データから正確にテンポを抽出することができ、テンポ抽出の精度が高いテンポ抽出装置およびテンポ抽出方法を提供することを課題とする。【解決手段】  ＦＦＴ演算部３は、データ解析開始点をシフトしながら前記楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出すると共に、平均パワー算出部４によって複数のパワースペクトルにおけるそれぞれの平均パワーを算出することで作成された平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出し、テンポ決定部８は、ゆらぎ情報と、近似直線算出部６によって算出されたゆらぎ情報の近似直線と差分に基づいてテンポの周期を決定する。【選択図】        図１
2006194953.tif 000002
【特許請求の範囲】
【請求項１】
楽曲データからテンポを抽出するテンポ抽出装置であって、
データ解析開始点をシフトしながら前記楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出するパワースペクトル算出手段と、
該ＦＦＴ演算部手段によって算出された複数のパワースペクトルにおけるそれぞれの平均パワーを算出して平均パワーの時系列データを作成する平均パワー算出手段と、
該平均パワー算出手段によって算出された前記平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出するゆらぎ情報算出手段と、
該ゆらぎ情報算出手段によって算出された前記ゆらぎ情報の近似直線を算出する近似直線算出手段と、
該近似直線算出手段によって算出された前記近似直線と前記ゆらぎ情報算出手段によって算出された前記ゆらぎ情報との差分を差分情報として算出する差分算出手段と、
該差分算出手段によって算出された前記差分情報に基づいてテンポの周期を決定するテンポ決定手段とを具備することを特徴とするテンポ抽出装置。
【請求項２】
前記テンポ決定手段は、予め定められた範囲内でテンポの周期を決定することを特徴とする請求項１記載のテンポ抽出装置。
【請求項３】
前記パワースペクトル算出手段によって高速フーリエ変換処理を行う前記フレーム長は、前記テンポ決定手段によって決定されるテンポの周期の最小値よりも短い値に設定されていることを特徴とする請求項２記載のテンポ抽出装置。
【請求項４】
前記ゆらぎ情報算出手段によって算出される前記ゆらぎ情報の周波数分解能は、前記テンポ決定手段によって決定されるテンポの周期の最小値よりも短い値に設定されていることを特徴とする請求項２又は３記載のテンポ抽出装置。
【請求項５】
楽曲データからテンポを抽出するテンポ抽出方法であって、
データ解析開始点をシフトしながら前記楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出し、
該算出した複数のパワースペクトルにおけるそれぞれの平均パワーを算出して平均パワーの時系列データを作成し、
該算出した前記平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出し、
該算出した前記ゆらぎ情報の近似直線を算出し、
該算出した前記近似直線と前記ゆらぎ情報との差分を差分情報として算出し、
該算出した前記差分情報に基づいてテンポの周期を決定することを特徴とするテンポ抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲データからテンポを抽出するテンポ抽出装置およびテンポ抽出方法に関し、特に楽曲データに高速フーリエ変換を施すことで算出されるゆらぎ情報に基づいてテンポを抽出するテンポ抽出装置およびテンポ抽出方法に関する。
【背景技術】
【０００２】
近年、ＨＤＤ等の大容量の記憶手段が開発され、大容量の記憶手段に大量の楽曲データを記憶させることができるようになっている。大容量の記憶手段に記憶されている大量の楽曲データの検索は、アーティスト名や曲名、その他のキーワード等の書誌データを用いて行うのが一般的であるが、書誌データで検索した場合には、楽曲が持っている情感を考慮することができないため、楽曲データから特徴データを抽出し、特徴データに基づいた検索を行うことができるようにすることで、楽曲が持っている情感を考慮した検索を可能にすることが提案されている。
【０００３】
楽曲データから抽出する特徴データの１つとして、楽曲が有するテンポがあり、従来のテンポ抽出方法としては、Ａ／Ｄ変換装置によりディジタル化された音楽信号に対して、処理フレーム毎にパワーおよびその微分値を算出し、次に、その微分値の自己相関関数の極大値を求めることにより小節時間長を算出し、この小節時間長と拍子数とからテンポを求めるようにしていた（例えば、特許文献１参照）。
【０００４】
しかしながら、楽曲に楽器が多く含まれている場合や、リズムが複雑に刻まれている場合等には、本来の倍や半分の間隔で相関が極大値となる場合が少なくなく、従来技術のように相関が極大値となる小節時間長に基づいてテンポを求める場合には、誤ったテンポが抽出されてしまい、テンポ抽出の精度が悪くなってしまうという問題点があった。
【特許文献１】特開平５−２７７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は斯かる問題点に鑑みてなされたものであり、その目的とするところは、楽曲データから正確にテンポを抽出することができ、テンポ抽出の精度が高いテンポ抽出装置およびテンポ抽出方法を提供する点にある。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決すべく、以下に掲げる構成とした。
請求項１記載の発明の要旨は、楽曲データからテンポを抽出するテンポ抽出装置であって、データ解析開始点をシフトしながら前記楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出するパワースペクトル算出手段と、該ＦＦＴ演算部手段によって算出された複数のパワースペクトルにおけるそれぞれの平均パワーを算出して平均パワーの時系列データを作成する平均パワー算出手段と、該平均パワー算出手段によって算出された前記平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出するゆらぎ情報算出手段と、該ゆらぎ情報算出手段によって算出された前記ゆらぎ情報の近似直線を算出する近似直線算出手段と、該近似直線算出手段によって算出された前記近似直線と前記ゆらぎ情報算出手段によって算出された前記ゆらぎ情報との差分を差分情報として算出する差分算出手段と、該差分算出手段によって算出された前記差分情報に基づいてテンポの周期を決定するテンポ決定手段とを具備することを特徴とするテンポ抽出装置に存する。
また請求項２記載の発明の要旨は、前記テンポ決定手段は、予め定められた範囲内でテンポの周期を決定することを特徴とする請求項１記載のテンポ抽出装置に存する。
また請求項３記載の発明の要旨は、前記パワースペクトル算出手段によって高速フーリエ変換処理を行う前記フレーム長は、前記テンポ決定手段によって決定されるテンポの周期の最小値よりも短い値に設定されていることを特徴とする請求項２記載のテンポ抽出装置に存する。
また請求項４記載の発明の要旨は、前記ゆらぎ情報算出手段によって算出される前記ゆらぎ情報の周波数分解能は、前記テンポ決定手段によって決定されるテンポの周期の最小値よりも短い値に設定されていることを特徴とする請求項２又は３記載のテンポ抽出装置に存する。
また請求項５記載の発明の要旨は、楽曲データからテンポを抽出するテンポ抽出方法であって、データ解析開始点をシフトしながら前記楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出し、該算出した複数のパワースペクトルにおけるそれぞれの平均パワーを算出して平均パワーの時系列データを作成し、該算出した前記平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出し、該算出した前記ゆらぎ情報の近似直線を算出し、該算出した前記近似直線と前記ゆらぎ情報との差分を差分情報として算出し、該算出した前記差分情報に基づいてテンポの周期を決定することを特徴とするテンポ抽出方法に存する。
【発明の効果】
【０００７】
本発明のテンポ抽出装置およびテンポ抽出方法は、データ解析開始点をシフトしながら楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出すると共に、複数のパワースペクトルにおけるそれぞれの平均パワーを算出することで平均パワーの時系列データを作成し、さらに、平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出し、その近似直線との差分に基づいてテンポの周期を決定するように構成することにより、楽曲に楽器が多く含まれている場合や、リズムが複雑に刻まれている場合にも、楽曲データから正確にテンポを抽出することができ、テンポ抽出の精度が高いという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【０００９】
図１は、本発明に係るテンポ抽出装置の実施の形態の構成を示すブロック図である。
【００１０】
本実施の形態は、プログラム制御によって動作する情報処理装置であり、図１を参照すると、ＣＤプレーヤ等の楽曲再生装置によって再生された楽曲データや、インターネット等のネットワークを介して配信された楽曲データの入力を受け付ける楽曲データ入力部１と、楽曲データ入力部１に入力された楽曲データをダウンサンプリングするダウンサンプリング部２と、ＦＦＴ（高速フーリエ変換）処理によって、所定フレーム毎のパワースペクトルを算出すると共に、ゆらぎ情報を算出するＦＦＴ演算部３と、ＦＦＴ演算部３によって算出された所定フレーム毎のパワースペクトルの平均パワーを算出する平均パワー算出部４と、平均パワー算出部４によって算出された平均パワーを時系列データとして記憶する平均パワー記憶部５と、ＦＦＴ演算部３によって算出されたゆらぎ情報の近似直線を算出する近似直線算出部６と、ＦＦＴ演算部３によって算出されたゆらぎ情報と近似直線算出部６によって算出された近似直線との差分を算出する差分算出部７と、差分算出部７によって算出された差分情報に基づいてテンポの周期を決定するテンポ決定部８と、テンポ決定部８によって決定されたテンポを出力するテンポ出力部９とからなる。
【００１１】
次に、本実施の形態の動作について図２乃至図６を参照して詳細に説明する。
図２は、本発明に係るテンポ抽出装置の実施の形態におけるテンポ抽出動作を説明するためのフローチャートであり、図３は、図１に示す楽曲データ入力部に入力される楽曲データ例を示す図であり、図４は、図３に示す楽曲データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図であり、図５は、図１に示す平均パワー記憶部に記憶される平均パワーの時系列データ例を示す図であり、図６は、図５に示す平均パワーの時系列データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図である。
【００１２】
楽曲データ入力部１には、ＣＤプレーヤ等の楽曲再生装置やインターネット等のネットワークから楽曲データが入力されると（ステップＡ１）、ダウンサンプリング部２は、高速化を目的とし、楽曲データ入力部１に入力された楽曲データを４４．１ｋＨｚから２２．０５ｋＨｚにダウンサンプリングする（ステップＡ２）。
【００１３】
図３には、ダウンサンプリング部２によってダウンサンプリングされた楽曲データが示されており、ＦＦＴ演算部３は、楽曲データの予め定められたデータ解析開始点（楽曲の先頭から３０ｓ）から一定のフレーム長に対してのＦＦＴ処理を行い、パワースペクトルを算出する（ステップＡ３）。なお、本実施の形態では、楽曲におけるテンポの周期が０．３〜１ｓの範囲にあることを想定しており、サンプリング周期が２２．０５ｋＨｚである楽曲データに対して１０２４ポイントのＦＦＴ処理を行うように構成した。すなわち、ＦＦＴ処理を行うフレーム長を、１０２４／２２．０５ｋＨｚ≒４６ｍｓとし、想定した楽曲におけるテンポの周期の最小値よりも短い値としている。
【００１４】
図４には、ＦＦＴ演算部３によって算出されたパワースペクトルが示されており、平均パワー算出部４は、ＦＦＴ演算部３によって算出されたパワースペクトルの内の０〜２００Ｈｚの周波数帯域を積分して平均パワーを算出し（ステップＡ４）、算出した平均パワーを平均パワー記憶部５に記憶させる。
【００１５】
ＦＦＴ演算部３および平均パワー算出部４は、ステップＡ３〜ステップＡ４の処理動作を行ったフレーム個数が予め定められた設定値（２０４８）に達したか否かを判断し（ステップＡ５）、ステップＡ３〜ステップＡ４の処理動作を行ったフレーム個数が予め定められた設定値に達していない場合には、データ解析開始点をシフトしながら（ステップＡ６）、ステップＡ３〜ステップＡ４の処理動作を繰り返す。これにより、ステップＡ３〜ステップＡ４の処理動作は、予め定められたフレーム個数の設定値分行われることになり、平均パワー記憶部５には、図５に示すような平均パワーの時系列データが記憶されることになる。なお、本実施の形態では、解析時間長を６０ｓとし、データ解析開始点を６０ｓ＊２２．０５ｋＨｚ／２０４８≒６４６ポイントずつシフトしながらＦＦＴ処理を行い、２０４８ポイント、６０ｓの平均パワーの時系列データを作成するように構成した。
【００１６】
ステップＡ３〜ステップＡ４の処理動作を行ったフレーム個数が予め定められた設定値に達した場合には、ＦＦＴ演算部３は、平均パワー記憶部５に記憶された平均パワーの時系列データに対してＦＦＴ処理を行い、図６に示すようなゆらぎ情報を算出する（ステップＡ７）。なお、本実施の形態では、平均パワー記憶部５に記憶された平均パワーの時系列データに対して２０４８ポイントのＦＦＴ処理を行うように構成した。従って、ゆらぎ情報の周波数分解能は、（２０４８／６０ｓ）／２０４８≒０．０１６となる。
【００１７】
近似直線算出部６は、最小２乗法等によって、ＦＦＴ演算部３によって算出されたゆらぎ情報の近似直線を算出し（ステップＡ８）、差分算出部７は、ＦＦＴ演算部３によって算出されたゆらぎ情報と近似直線算出部６によって算出された近似直線との差分を差分情報として算出する（ステップＡ９）。
【００１８】
テンポ決定部８は、予め定められたロジックに基づいて差分算出部７によって算出された差分情報を解析することで、テンポの周期を決定し（ステップＡ１０）、テンポ決定部８によって決定されたテンポは、テンポ出力部９から出力される。
【００１９】
次に、テンポ決定部８におけるテンポ決定動作について図７を参照して詳細に説明する。
図７は、図１に示すテンポ決定部におけるテンポ決定動作を説明するためのフローチャートである。
【００２０】
テンポ決定部８は、差分算出部７によって算出された差分情報を解析することで、まず、周期０．３〜２ｓにおいて近似直線と１．２５ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と１．２５ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＢ１）、近似直線と１．２５ｄＢ以上離れている周波数成分がある場合には、近似直線と１．２５ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＢ２）。
【００２１】
次に、テンポ決定部８は、候補Ａが１ｓ以上か否かを判断し（ステップＢ３）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＢ４）、候補Ａが１ｓ以上でない場合には、候補Ａをテンポの周期として決定する（ステップＢ５）。
【００２２】
ステップＢ１で近似直線と１．２５ｄＢ以上離れている周波数成分がない場合には、テンポ決定部８は、周期０．３〜２ｓにおいて近似直線と０．７ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と０．７ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＢ６）、近似直線と０．７ｄＢ以上離れている周波数成分がある場合には、近似直線と０．７ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＢ７）。
【００２３】
次に、テンポ決定部８は、候補Ａが１ｓ以上か否かを判断し（ステップＢ８）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＢ９）、候補Ａが１ｓ以上でない場合には、候補Ａが０．６ｓ以上か否かを判断する（ステップＢ１０）。候補Ａが０．６ｓ以上である場合には、候補Ａ以外に近似直線と０．７Ｂ以上離れている周波数成分が２つ以上あるか否かを判断し（ステップＢ１１）、候補Ａ以外に近似直線と０．７Ｂ以上離れている周波数成分が２つ以上ある場合には、候補Ａ／２をテンポの周期として決定する（ステップＢ９）。ステップＢ１０で候補Ａが０．６ｓ以上でない場合と、ステップＢ１１で候補Ａ以外に近似直線と０．７ｄＢ以上離れている周波数成分が２つ以上ない場合には、候補Ａをテンポの周期として決定する（ステップＢ１２）。
【００２４】
ステップＢ１１で近似直線と０．７ｄＢ以上離れている周波数成分がない場合には、テンポ決定部８は、周期０．３〜２ｓにおいて近似直線と０．６ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と０．６ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＢ１３）、近似直線と０．６ｄＢ以上離れている周波数成分がある場合には、近似直線と０．６ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＢ７）。
【００２５】
次に、テンポ決定部８は、候補Ａが１ｓ以上か否かを判断し（ステップＢ８）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＢ９）、候補Ａが１ｓ以上でない場合には、候補Ａが０．６ｓ以上か否かを判断する（ステップＢ１０）。候補Ａが０．６ｓ以上である場合には、候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上あるか否かを判断し（ステップＢ１１）、候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上ある場合には、候補Ａ／２をテンポの周期として決定し（ステップＢ９）、ステップＢ１０で候補Ａが０．６ｓ以上でない場合と、ステップＢ１１で候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上ない場合には、候補Ａをテンポの周期として決定する（ステップＢ１２）。
【００２６】
ステップＢ１３で近似直線と０．６ｄＢ以上離れている周波数成分がない場合には、テンポ決定部８は、周期３〜４ｓにおいて近似直線と０．６ｄＢ以上離れている成分があるか否か、すなわち周波数１／３〜１／４Ｈｚの範囲内に近似直線と０．６ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＢ１４）、近似直線と０．６ｄＢ以上離れている周波数成分がある場合には、近似直線と０．６ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとし（ステップＢ１５）、候補Ａ／４をテンポの周期として決定する（ステップＢ１６）。
【００２７】
ステップＢ１４で近似直線と０．６ｄＢ以上離れている周波数成分がない場合には、テンポ決定部８は、周期０．１〜０．３ｓにおいて近似直線と０．７ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．１〜１／０．３Ｈｚの範囲内に近似直線と０．７ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＢ１７）、近似直線と０．７ｄＢ以上離れている周波数成分がある場合には、１ｓをテンポの周期として決定すると共に（ステップＢ１８）、近似直線と０．７ｄＢ以上離れている周波数成分がない場合には、０．３ｓをテンポの周期として決定する（ステップＢ１９）。
【００２８】
なお、本実施の形態では、テンポの周期を抽出するように構成したが、一般にテンポを表す単位として用いられているＢＰＭ（beat per minutes)に換算するようにしても良く、さらにテンポの周期を一定の加工方法で加工するようにしても良い。
【００２９】
以上説明したように、本実施の形態によれば、データ解析開始点をシフトしながら楽曲データの予め定められたフレーム長に対して高速フーリエ変換処理を行って複数のパワースペクトルを算出すると共に、複数のパワースペクトルにおけるそれぞれの平均パワーを算出することで平均パワーの時系列データを作成し、さらに、平均パワーの時系列データに対して高速フーリエ変換処理を行ってゆらぎ情報を算出し、その近似直線との差分に基づいてテンポの周期を決定するように構成することにより、楽曲に楽器が多く含まれている場合や、リズムが複雑に刻まれている場合にも、楽曲データから正確にテンポを抽出することができ、テンポ抽出の精度が高いという効果を奏する。
【００３０】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るテンポ抽出装置の実施の形態の構成を示すブロック図である。
【図２】本発明に係るテンポ抽出装置の実施の形態におけるテンポ抽出動作を説明するためのフローチャートである。
【図３】図１に示す楽曲データ入力部に入力される楽曲データ例を示す図である。
【図４】図３に示す楽曲データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図である。
【図５】図１に示す平均パワー記憶部に記憶される平均パワーの時系列データ例を示す図である。
【図６】図５に示す平均パワーの時系列データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図である。
【図７】図１に示すテンポ決定部におけるテンポ決定動作を説明するためのフローチャートである。
【符号の説明】
【００３２】
１  楽曲データ入力部
２  ダウンサンプリング部
３  ＦＦＴ演算部
４  平均パワー算出部
５  平均パワー記憶部
６  近似直線算出部
７  差分算出部
８  テンポ決定部
９  テンポ出力部
【図１】
2006194953.tif 000003
【図２】
2006194953.tif 000004
【図３】
2006194953.tif 000005
【図４】
2006194953.tif 000006
【図５】
2006194953.tif 000007
【図６】
2006194953.tif 000008
【図７】
2006194953.tif 000009