(57)【要約】  テンポ検出装置１００は、楽曲データのエンベロープを検出するエンベロープ検出手段１と、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段２と、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出手段３と、を有することを特徴とする。
2009125489.tif 000002
【特許請求の範囲】
【請求項１】
楽曲データのエンベロープを検出するエンベロープ検出手段と、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段と、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出手段と、
を有することを特徴とするテンポ検出装置。
【請求項２】
前記エンベロープ検出手段は、
楽曲データの少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出手段と、
前記楽曲データ抽出手段で抽出されたそれぞれの周波数帯域の成分を重みづけして加算する加算手段と、
重みづけして加算された楽曲データのエンベロープを生成するエンベロープ生成手段と、
を有することを特徴とする請求項１記載のテンポ検出装置。
【請求項３】
前記エンベロープ検出手段は、
少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出手段と、
前記楽曲データ抽出手段で抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成手段と、
前記エンベロープ生成手段で生成されたそれぞれのエンベロープを重みづけして加算する加算手段と、
を有することを特徴とする請求項１記載のテンポ検出装置。
【請求項４】
前記エンベロープ生成手段は、
ＬＰＦ（Low Pass Filter）を用いてエンベロープを生成することを特徴とする請求項２又は３記載のテンポ検出装置。
【請求項５】
前記楽曲データ抽出手段は、
抽出したそれぞれの周波数帯域の成分に対して、信号レベルの絶対値をとることを特徴とする請求項２乃至４のいずれか１項に記載のテンポ検出装置。
【請求項６】
前記周波数成分検出手段は、
検出されたエンベロープのＤＣ成分を除去するＤＣ成分除去手段と、
ＤＣ成分を除去されたエンベロープに対して離散フーリエ変換処理を行って、周波数スペクトルを生成するＦＦＴ手段と、
を有することを特徴とする請求項１乃至５のいずれか１項に記載のテンポ検出装置。
【請求項７】
前記周波数成分検出手段は、
検出されたエンベロープにＤＣ成分を除去する窓関数をかけて離散フーリエ変換処理を行い、周波数スペクトルを生成するＦＦＴ手段と、を有することを特徴とする請求項１乃至５のいずれか１項に記載のテンポ検出装置。
【請求項８】
前記テンポ検出手段は、
予め定めた周波数領域を所定の間隔ごとにサーチしてそれぞれの周波数地点におけるスコアを予め定められた演算方法に基づいて算出するスコア算出手段と、
算出したそれぞれの周波数地点のスコアのうち最大値となった周波数地点の周波数をテンポとして決定するテンポ手段と、
を有することを特徴とする請求項１乃至７のいずれか１項に記載のテンポ検出装置。
【請求項９】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアに、当該周波数の２Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第２のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項８記載のテンポ検出装置。
【請求項１０】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアまたは当該周波数地点におけるスコアに、当該周波数の３Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第３のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項８又は９記載のテンポ検出装置。
【請求項１１】
楽曲データのテンポを検出するテンポ検出プログラムであって、
楽曲データのエンベロープを検出するエンベロープ検出ステップと、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、
をコンピュータに実行させることを特徴とするテンポ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲のテンポを検出するテンポ検出装置及びテンポ検出プログラムに関する。
【背景技術】
【０００２】
昨今では、大容量の記憶手段（例えば、ハードディスクなど）に大量の楽曲データを記憶させ、記憶された大量の楽曲データの中から所望の楽曲データを検索し、音楽を再生するという方法が普及している。このような楽曲データの検索においては、アーティスト名や曲名などの書誌データを検索条件として検索する他、楽曲が有する情感（例えば、「明るい曲」、「静かな曲」など）を検索条件にして検索することも可能となっている。これは、楽曲データから楽曲の特徴量を検出し、検出した特徴量と楽曲が有する情感を結びつけて楽曲データを検索するものである。【０００３】
楽曲が有する情感と結びつく特徴量の一つにテンポがある。テンポは楽曲の特徴を表す重要なパラメータであるため、従来から様々な検出方法が提案されている。【０００４】
例えば、特許文献１には、音楽信号の所定の周波数成分の振幅のピーク間隔を計測することによって、テンポを検出する技術が開示されている。【０００５】
また、例えば、特許文献２には、所定の間隔で音楽信号のレベル変化の相関を求め、最も相関関数が高くなる時間間隔を探索することによって、テンポを検出する技術が開示されている。【０００６】
また、上述した特許文献１や特許文献２に示すように、音楽信号を時間領域で分析してテンポを検出する方法のほか、音楽信号を周波数領域で分析してテンポを検出する方法も開示されている。【０００７】
例えば、特許文献３には、微小区間の音楽信号の波形を高速フーリエ変換して平均パワーを求め、その平均パワーの時系列データをさらに高速フーリエ変換してパワースペクトルを算出し、算出したパワースペクトルとパワースペクトルの近似直線の差分に基づいてテンポを検出する技術が開示されている。【０００８】
【特許文献１】特開平８−２０１５４２号公報
【特許文献２】特開平５−２７７５１号公報
【特許文献３】特開２００６−１９４９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した特許文献１のように、音楽信号の所定の周波数成分の振幅のピーク間隔を計測することによって、テンポを検出する方法は、処理が非常に簡単であるが、ビートの弱い楽曲や不規則な信号が含まれている楽曲では、誤検出が多く、正確にテンポを検出することができないという問題がある。すなわち、この検出方法は、ダンスミュージックなどのビートの強い楽曲では有効であるが、ポップスなどのビートの弱い楽曲では正確なテンポ検出が難しいという問題がある。【００１０】
また、特許文献２のように、相関関数を用いてテンポを検出する方法は、正確にテンポを検出することは可能であるが、高精度にテンポを検出するには、非常に大きな演算量が必要であり、製品に実装することは難しいという問題がある。【００１１】
また、特許文献３のように、高速フーリエ変換を多用して音楽信号を周波数領域で分析し、テンポを検出する方法も、非常に大きな演算量が必要であり、製品に実装することは難しいという問題がある。【００１２】
また、いずれの方法も楽曲の拍子については考慮されておらず、例えば、4/4拍子か3/4拍子か6/8拍子かといった判断を行うことが困難である。【００１３】
本発明は、上記の事情を鑑みてなされたものであり、その課題の一例としては、楽曲の種類によらず、高精度にテンポを検出することができるとともに、高精度検出のための負荷が少なく実装に耐え得るテンポ検出装置及びテンポ検出プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記の課題を達成するため、請求項１に記載の発明は、楽曲データのエンベロープを検出するエンベロープ検出手段と、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段と、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出手段と、を有するテンポ検出装置である。【００１５】
また、請求項１１に記載の発明は、楽曲データのテンポを検出するテンポ検出プログラムであって、楽曲データのエンベロープを検出するエンベロープ検出ステップと、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、をコンピュータに実行させる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るテンポ検出装置の概略構成図である。
【図２】本発明の実施の形態に係るテンポ検出装置に入力された音楽信号の波形の一例を示す図である。
【図３】本発明の実施の形態に係るテンポ検出装置において抽出された高域成分の波形の一例を示す図である。
【図４】本発明の実施の形態に係るテンポ検出装置において抽出された低域成分の波形の一例を示す図である。
【図５】図３に示す信号に対して絶対値をとった後の波形を示す図である。
【図６】図４に示す信号に対して絶対値をとった後の波形を示す図である。
【図７】図５に示す信号と図６に示す信号を合成した信号の波形を示す図である。
【図８】図７に示す信号のエンベロープをとった後、ＤＣ成分を除去した信号の波形である。
【図９】図８に示す信号をＦＦＴ積算して得られた周波数スペクトルを示す図である。
【図１０】図９の０〜６Ｈｚ部分を拡大した周波数スペクトルを示す図である。
【図１１】本発明の実施の形態に係るテンポ検出装置のエンベロープ検出手段の変形例の構成を示す図である。
【符号の説明】
【００１７】
１，４  エンベロープ検出手段
２  周波数成分検出手段
３  テンポ検出手段
１１  フィルタ部
１２，４１  前処理部
１３，４２  エンベロープ生成部
２１  ＤＣカット部
２２  ＦＦＴ演算部
３１  スコア算出部
３２  テンポ決定部
４３  後処理部
１００  テンポ検出装置
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を用いて説明する。【００１９】
図１は、本発明の実施の形態に係るテンポ検出装置１００の概略構成及びテンポ検出処理の流れを示す図である。テンポ検出装置１００は、楽曲のリズムからテンポ（ＢＰＭ；Beat Per Minute）を検出する装置であり、楽曲のエンベロープ（時間的な振幅の包絡線）を検出するエンベロープ検出手段１と、検出したエンベロープの周波数成分を検出する周波数成分検出手段２と、検出したエンベロープの周波数成分からピーク周波数を解析して、楽曲のテンポを検出するテンポ検出手段３と、を備えている。【００２０】
本実施の形態のテンポ検出装置１００におけるテンポ検出方法は、楽曲のリズムには時間的な繰り返し構造があるので、楽曲のエンベロープをとることにより、この時間的な繰り返し構造を取得し、取得した時間的な繰り返し構造をフーリエ変換することにより、楽曲のエンベロープの周波数スペクトルを算出し、算出した周波数スペクトルのピーク周波数に基づいて楽曲のテンポを検出する方法である。すなわち、本実施の形態のテンポ検出装置１００におけるテンポ検出方法は、楽曲データを周波数領域で解析してテンポを検出する方法である。【００２１】
エンベロープ検出手段１は、詳しくは、フィルタ部１１と、前処理部１２と、エンベロープ生成部１３と、を具備する構成である。【００２２】
フィルタ部１１は、入力される音楽信号の所定の周波数領域の成分を抽出する機能を有している。本実施の形態では、フィルタ部１１は、２つのフィルタ、具体的には、入力される音楽信号の低域成分を抽出するＬＰＦ（Low Pass Filter）１１ａと、高域成分を抽出するＨＰＦ（High Pass Filter）１１ｂにより構成されており、ＬＰＦ１１ａのカットオフ周波数を２００Ｈｚ、ＨＰＦ１１ｂのカットオフ周波数を２ｋＨｚとしている。勿論、カットオフ周波数の値は一例であり、この値に限定されない。また、楽曲のリズムは、低域と高域に多く含まれることが多いので、本実施の形態のフィルタ部１１は、低域成分を抽出するＬＰＦ１１ａと高域成分を抽出するＨＰＦ１１ｂを備える構成としてが、これ以外の構成でもよく、例えば、３つ以上の周波数領域の成分を抽出するようなフィルタ部１１であってもよい。また、複数の周波数領域の成分を抽出するのではなく、１つの周波数領域の成分を抽出するようなフィルタ部１１であってもよい。【００２３】
図２に、入力された音楽信号の波形、図３に、ＬＰＦ１１ａにより抽出された低域成分の波形、図４に、ＨＰＦ１１ｂにより抽出された高域成分の波形の一例を示す。【００２４】
前処理部１２は、フィルタ部１１により抽出された低域成分及び高域成分の音楽信号の絶対値を計算し、絶対値を計算した低域成分及び高域成分の音楽信号をそれぞれ重み付けして、加算する機能を有している。ここで、低域成分の音楽信号と高域成分の音楽信号を加算して混合するのは、低音楽器と高音楽器で４分音符周期を刻む楽曲もあるため、このような楽曲のリズムにも対応させるためである。【００２５】
図５に、抽出された低域成分の音楽信号に対して絶対値を計算した後の波形、図６に、抽出された高域成分の音楽信号に対して絶対値を計算した後の波形を示す。【００２６】
本実施の形態では、絶対値を計算した低域成分の音楽信号と、絶対値を計算した高域成分の音楽信号の重みづけ比率を２：１にして音楽信号のレベルを加算している。なお、本実施の形態では、低域成分を重視したため、低域成分と高域成分の重みづけ比率を２：１としたが、重みづけ比率はこれに限定されない。【００２７】
図７に、絶対値を計算した低域成分の音楽信号と、絶対値を計算した高域成分の音楽信号を重みづけして加算した音楽信号の波形を示す。【００２８】
エンベロープ生成部１３は、前処理部１２により生成された音楽信号のエンベロープを生成する機能を有している。具体的には、エンベロープ生成部１３は、ＬＰＦ１３ａを用いて、絶対値を計算した低域成分の音楽信号と、絶対値を計算した高域成分の音楽信号を重みづけして加算した音楽信号のエンベロープを生成するようになっている。【００２９】
本実施の形態では、ＬＰＦ１３ａのカットオフ周波数を１０Ｈｚとしているが、勿論、一例であって、カットオフ周波数はこの値に限定されない。また、ＬＰＦ１３ａを用いてエンベロープを生成する方法以外のエンベロープ生成方法によりエンベロープを生成するようにしてもよい。例えば、前処理部１２により生成された音楽信号の極大点を連ねてエンベロープを生成するようにしてもよい。【００３０】
なお、本実施の形態のエンベロープ検出手段１は、低域成分の信号と高域成分の信号を重みづけ加算してから、エンベロープを生成するように構成したが、これ以外の構成を採用してもよい。例えば、図１１に示すようなエンベロープ検出手段４としてもよい。エンベロープ検出手段４は、フィルタ部１１と、前処理部４１と、エンベロープ生成部４２と、後処理部４３と、を具備する構成であって、絶対値を計算した低域成分の音楽信号と、絶対値を計算した高域成分の音楽信号に対して、それぞれエンベロープを生成した後、生成された各エンベロープを重みづけ加算するようになっている。このように、低域成分の音楽信号に対するエンベロープと、高域成分の音楽信号に対するエンベロープとを生成した後に、重みづけ加算して、１つのエンベロープを生成するようにしてもよい。【００３１】
周波数成分検出手段２は、詳しくは、ＤＣカット部２１と、ＦＦＴ演算部２２と、を具備する構成である。【００３２】
ＤＣカット部２１は、エンベロープ生成部１３で生成されたエンベロープのＤＣ成分を除去する機能を有している。具体的には、ＤＣカット部２１は、カットオフ周波数が低いＨＰＦ２１ａを用いて、低域の信号を除去している。ＤＣ成分を除去するのは、ＤＣ成分があると後述するＦＦＴ処理を施すことによって、低域の周波数が強調され、テンポを誤検出するおそれがあるからである。なお、本実施の形態では、ＨＰＦ２１ａのカットオフ周波数を０．５Ｈｚとしているが、一例であって、ＨＰＦ２１ａのカットオフ周波数はこの値に限定されない。【００３３】
図８にエンベロープを生成した後にＤＣカットを行った音楽信号の波形を示す。【００３４】
ＦＦＴ演算部２２は、ＤＣ成分をカットされたエンベロープ波形を高速フーリエ変換（ＦＦＴ；Fast Fourier Transform）処理を行って、周波数スペクトルを算出する機能を有している。具体的には、ＦＦＴ演算部２２は、サンプリング周波数を５０Ｈｚ、ＦＦＴポイントを１０２４ポイントとして、ＦＦＴ処理を行っている。すなわち、ＦＦＴ処理を行うフレーム長を約２０．５秒（≒１０２４／５０）とし、１０２４ポイントたまるごとに（２０．５秒ごとに）、ＦＦＴを行って絶対値を積算するようにしている。なお、本実施の形態では、ＦＦＴポイントを１０２４ポイントとしてＦＦＴ処理を積算するように構成したが、楽曲１曲分すべてをＦＦＴ処理するように構成してもよい。すなわち、本実施の形態においては、音楽信号のエンベロープ波形に対して低い帯域のサンプリング周波数でＦＦＴ処理を行うので、演算量を少なくすることができる。そのため、楽曲１曲すべてをＦＦＴ処理したとしても、ＦＦＴ処理を多用することにならないので、装置に負荷をかけることがない。【００３５】
図９にＦＦＴ処理後のスペクトラムの一例を示す。【００３６】
また、本実施の形態の周波数成分検出手段２では、ＤＣ成分を除去した後、ＦＦＴ処理を施すように構成したが、周波数成分検出手段２の構成はこれに限定されるものではなく、他の構成を採用してもよい。例えば、ＦＦＴ処理後にＤＣ成分を除去するようにしてもよく、ＦＦＴ処理を行うときに所定の窓関数をかけて重みづけをし、低域周波数成分を除去するようにしてもよい。【００３７】
テンポ検出手段３は、詳しくは、スコア算出部３１と、テンポ決定部３２と、を具備する構成である。【００３８】
スコア算出部３１は、ＦＦＴ演算部２２によって得られたスペクトラムを解析する機能を有している。より詳しくは、想定される楽曲のテンポが１〜３Ｈｚと想定されることから、スコア算出部３１は、当該周波数領域を周波数分解能に従ってサーチして、スコアを算出するようになっている。本実施の形態では、サーチポイント（サーチ周波数）の振幅スペクトルの値だけでなく、２倍の周波数及び１／２倍の周波数の振幅スペクトルの値も重みづけてしてスコアを算出するようになっている。具体的には、サーチポイント（×１周波数）の振幅スペクトルの値の重みを１、サーチポイントの２倍の周波数の振幅スペクトルの値の重みを０．５、サーチポイントの１／２倍の周波数の振幅スペクトルの値の重みを０．５として、３つの値を加算してスコアを算出している。これにより、本実施の形態におけるスコア算出は、ＦＦＴ演算部２２によって得られたスペクトラムのピークを考慮するとともに、他の４拍子系（２分音符、８分音符）も考慮したスコア算出となっている。【００３９】
図１０に図９の０〜６Ｈｚ部分を拡大したスペクトラムを示す。なお、図１０では横軸の単位はＢＰＭ（＝Ｈｚ×６０）である。例えば、図１０に示すように、１４０ＢＰＭ（ピークＰ１付近）をサーチポイントとしているときは、１４０ＢＰＭにおける振幅スペクトルの値に、２８０ＢＰＭ（ピークＰ３付近）における振幅スペクトルの値及び７０ＢＰＭ（ピークＰ２付近）における振幅スペクトルの値を加味して、１４０ＢＰＭにおけるスコアを算出する。【００４０】
なお、本実施の形態では、サーチポイントの周波数の２倍及び１／２倍の周波数を加味して加算するスコア算出方法としたが、さらに、サーチポイントの周波数の４倍、８倍、…、１／４倍、１／８倍、…を加味して加算するスコア算出方法としてもよい。すなわち、４拍子系の音符を考慮したスコア算出方法としては、サーチポイントの振幅スペクトルの値のほか、サーチポイントの２Ｎ、１／２Ｎ（Ｎは自然数）倍の周波数の振幅スペクトルの値を考慮した算出方法としてもよい。さらには、４拍子系の音符に加えて、または代えて、３拍子系の音符を考慮したスコア算出方法としてもよい。すなわち、サーチポイントの３Ｎ、１／３Ｎ（Ｎは自然数）倍の周波数の振幅スペクトルの値を考慮した算出方法としてもよい。【００４１】
テンポ決定部３２は、スコア算出部３１により算出されたスコアのうち、スコアが最大となった周波数をテンポ周波数と決定し、決定したテンポ周波数を６０倍することによってＢＰＭを算出するようになっている。【００４２】
次に、図１を用いて、本実施の形態に係るテンポ検出装置１００の動作について説明する。【００４３】
まず、テンポ検出装置１００は、ＬＰＦ１１ａにより、入力された音楽信号の低域成分を抽出するとともに（ステップＳ１０２）、ＨＰＦ１１ｂにより、入力された音楽信号の高域成分を抽出する（ステップＳ１０４）。【００４４】
次いで、テンポ検出装置１００は、抽出された低域成分の音楽信号の絶対値を計算するとともに（ステップＳ１０６）、抽出された高域成分の音楽信号の絶対値を計算して（ステップＳ１０８）、絶対値計算された低域成分の音楽信号及び高域成分の音楽信号のそれぞれを重み付けして加算する（ステップＳ１１０）。【００４５】
次いで、テンポ検出装置１００は、ＬＰＦ１３ａを用いて、加算された音楽信号のエンベロープを生成する（ステップＳ１１２）。【００４６】
次いで、テンポ検出装置１００は、ＨＰＦ２１ａを用いて、生成されたエンベロープのＤＣ成分を除去し（ステップＳ２０２）、ＤＣ成分を除去されたエンベロープに対してＦＦＴ積算を行う（ステップＳ２０４）。この結果、テンポ検出装置１００は、音楽信号の周波数スペクトルを得ることができる。【００４７】
次いで、テンポ検出装置１００は、得られた周波数スペクトルの所定の周波数領域の波形データから、４拍子系を考慮したスコアを算出し（ステップＳ３０２）、算出したスコアの中で最大のスコアとなった周波数をテンポと決定し、決定した周波数をＢＰＭに換算する（ステップＳ３０４）。【００４８】
なお、図１１に示したエンベロープ検出手段４を用いてエンベロープを生成する場合には、上述したステップＳ１０２〜Ｓ１０８の処理の後に、抽出された低域成分の音楽信号の絶対値、及び抽出された高域成分の音楽信号の絶対値それぞれに対して、エンベロープを生成し（ステップＳ１２２，Ｓ１２４）、生成したそれぞれのエンベロープを重み付け加算して（ステップＳ１２６）、エンベロープを生成する。【００４９】
以上述べたように、本実施の形態に係るテンポ検出装置１００によれば、楽曲データのエンベロープを検出するエンベロープ検出手段１と、検出されたエンベロープに対して、高速フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段２と、検出した周波数スペクトルの特徴に基づいて、テンポを検出するテンポ検出手段３と、を有するので、楽曲の種類によらず、高精度にテンポを検出することができる。【００５０】
すなわち、本実施の形態に係るテンポ検出装置１００によれば、音楽信号の低域成分と高域成分をそれぞれ抽出し、抽出したそれぞれの周波数成分の音楽信号を重みづけ加算して、エンベロープを生成し、生成したエンベロープの周波数スペクトルを生成した後に、４拍子系を考慮したスコア算出方法を用いて、テンポを検出するので、ポップスのようなビートの弱い楽曲であっても正確にテンポを検出することができる。【００５１】
また、本実施の形態に係るテンポ検出装置１００によれば、エンベロープの周波数スペクトルを生成するに際して、高速フーリエ変換処理の負荷が小さいので、実装適用が可能である。【００５２】
この結果、本実施の形態に係るテンポ検出装置１００を、フィーリングによる再生機能を有するＡＶシステムに組み込めば、フィーリング（例えば、明るい、ノリがいい、静かななど）に適合した音楽を的確かつ迅速に選曲することができる。【００５３】
なお、上記実施の形態のテンポ検出装置１００の動作は、テンポ検出装置１００に格納された制御プログラムを実行することにより実現される。そして、この制御プログラムは、テンポ検出装置１００に記憶される他、携行可能なフラッシュメモリ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのＡＶ機器やコンピュータが読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。【００５４】
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。
【図１】
2009125489.tif 000003
【図２】
2009125489.tif 000004
【図３】
2009125489.tif 000005
【図４】
2009125489.tif 000006
【図５】
2009125489.tif 000007
【図６】
2009125489.tif 000008
【図７】
2009125489.tif 000009
【図８】
2009125489.tif 000010
【図９】
2009125489.tif 000011
【図１０】
2009125489.tif 000012
【図１１】
2009125489.tif 000013
【手続補正書】
【提出日】平成21年12月1日(2009.12.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
楽曲データのエンベロープを検出するエンベロープ検出手段と、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段と、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出手段と、
を有し、
前記エンベロープ検出手段は、
少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出手段と、
前記楽曲データ抽出手段で抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成手段と、
前記エンベロープ生成手段で生成されたそれぞれのエンベロープを重みづけして加算する加算手段と、
を有することを特徴とするテンポ検出装置。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
前記エンベロープ生成手段は、
ＬＰＦ（Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）を用いてエンベロープを生成することを特徴とする請求項１記載のテンポ検出装置。
【請求項５】
前記楽曲データ抽出手段は、
抽出したそれぞれの周波数帯域の成分に対して、信号レベルの絶対値をとることを特徴とする請求項１又は４記載のテンポ検出装置。
【請求項６】
前記周波数成分検出手段は、
検出されたエンベロープのＤＣ成分を除去するＤＣ成分除去手段と、
ＤＣ成分を除去されたエンベロープに対して離散フーリエ変換処理を行って、周波数スペクトルを生成するＦＦＴ手段と、
を有することを特徴とする請求項１、４、５のいずれか１項に記載のテンポ検出装置。
【請求項７】
（削除）
【請求項８】
前記テンポ検出手段は、
予め定めた周波数領域を所定の間隔ごとにサーチしてそれぞれの周波数地点におけるスコアを予め定められた演算方法に基づいて算出するスコア算出手段と、
算出したそれぞれの周波数地点のスコアのうち最大値となった周波数地点の周波数をテンポとして決定するテンポ手段と、
を有することを特徴とする請求項１、４、５、６のいずれか１項に記載のテンポ検出装置。
【請求項９】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアに、当該周波数の２Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第２のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項８記載のテンポ検出装置。
【請求項１０】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアまたは当該周波数地点におけるスコアに、当該周波数の３Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第３のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項８又は９記載のテンポ検出装置。
【請求項１１】
楽曲データのテンポを検出するテンポ検出プログラムであって、
楽曲データのエンベロープを検出するエンベロープ検出ステップと、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、
をコンピュータに実行させ、
前記エンベロープ検出ステップは、
少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出ステップと、
前記楽曲データ抽出ステップで抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成ステップと、
前記エンベロープ生成ステップで生成されたそれぞれのエンベロープを重みづけして加算する加算ステップと、
を有することを特徴とするテンポ検出プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
［０００８］
特許文献１：特開平８−２０１５４２号公報
特許文献２：特開平５−２７７５１号公報
特許文献３：特開２００６−１９４９５３号公報
発明の開示
課題が解決しようとする課題
［０００９］
しかしながら、上述した特許文献１のように、音楽信号の所定の周波数成分の振幅のピーク間隔を計測することによって、テンポを検出する方法は、処理が非常に簡単であるが、ビートの弱い楽曲や不規則な信号が含まれている楽曲では、誤検出が多く、正確にテンポを検出することができないという問題がある。すなわち、この検出方法は、ダンスミュージックなどのビートの強い楽曲では有効であるが、ポップスなどのビートの弱い楽曲では正確なテンポ検出が難しいという問題がある。
［００１０］
また、特許文献２のように、相関関数を用いてテンポを検出する方法は、正確にテンポを検出することは可能であるが、高精度にテンポを検出するには、非常に大きな演算量が必要であり、製品に実装することは難しいという問題がある。
［００１１］
また、特許文献３のように、高速フーリエ変換を多用して音楽信号を周波数領域で分析し、テンポを検出する方法も、非常に大きな演算量が必要であり、製品に実装することは難しいという問題がある。
［００１２］
また、いずれの方法も楽曲の拍子については考慮されておらず、例えば、４／４拍子か３／４拍子か６／８拍子かといった判断を行うことが困難である。
［００１３］
本発明は、上記の事情を鑑みてなされたものであり、その課題の一例としては、楽曲の種類によらず、高精度にテンポを検出することができるとともに、高精度検出のための負荷が少なく実装に耐え得るテンポ検出装置及びテンポ検出プログラムを提供することにある。
課題を解決するための手段
［００１４］
上記の課題を達成するため、請求項１に記載の発明は、楽曲データのエンベロープを検出するエンベロープ検出手段と、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段と、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
手段と、を有し、前記エンベロープ検出手段は、少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出手段と、前記楽曲データ抽出手段で抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成手段と、前記エンベロープ生成手段で生成されたそれぞれのエンベロープを重みづけして加算する加算手段と、を有するテンポ検出装置である。
［００１５］
また、請求項１１に記載の発明は、楽曲データのテンポを検出するテンポ検出プログラムであって、楽曲データのエンベロープを検出するエンベロープ検出ステップと、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、をコンピュータに実行させ、前記エンベロープ検出ステップは、少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出ステップと、前記楽曲データ抽出ステップで抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成ステップと、前記エンベロープ生成ステップで生成されたそれぞれのエンベロープを重みづけして加算する加算ステップと、を有する。
図面の簡単な説明
［００１６］
［図１］本発明の実施の形態に係るテンポ検出装置の概略構成図である。
［図２］本発明の実施の形態に係るテンポ検出装置に入力された音楽信号の波形の一例を示す図である。
［図３］本発明の実施の形態に係るテンポ検出装置において抽出された高域成分の波形の一例を示す図である。
［図４］本発明の実施の形態に係るテンポ検出装置において抽出された低域成分の波形の一例を示す図である。
［図５］図３に示す信号に対して絶対値をとった後の波形を示す図である。
［図６］図４に示す信号に対して絶対値をとった後の波形を示す図である。
［図７］図５に示す信号と図６に示す信号を合成した信号の波形を示す図である。
［図８］図７に示す信号のエンベロープをとった後、ＤＣ成分を除去した信号の波形である。
［図９］図８に示す信号をＦＦＴ積算して得られた周波数スペクトルを示す図である。
［図１０］図９の０〜６Ｈｚ部分を拡大した周波数スペクトルを示す図である。
［図１１］本発明の実施の形態に係るテンポ検出装置のエンベロープ検出手段の変形例の構成を示す図である。
符号の説明
［００１７］
１，４  エンベロープ検出手段
２  周波数成分検出手段
３  テンポ検出手段
【手続補正書】
【提出日】平成22年10月1日(2010.10.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、請求項８に記載の発明は、楽曲データのテンポを検出するテンポ検出プログラムであって、楽曲データのエンベロープを検出するエンベロープ検出ステップと、検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、をコンピュータに実行させ、前記エンベロープ検出ステップは、少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出ステップと、前記楽曲データ抽出ステップで抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成ステップと、前記エンベロープ生成ステップで生成されたそれぞれのエンベロープを重みづけして加算する加算ステップと、を有する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
楽曲データのエンベロープを検出するエンベロープ検出手段と、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出手段と、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出手段と、
を有し、
前記エンベロープ検出手段は、
少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出手段と、
前記楽曲データ抽出手段で抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成手段と、
前記エンベロープ生成手段で生成されたそれぞれのエンベロープを重みづけして加算する加算手段と、
を有することを特徴とするテンポ検出装置。
【請求項２】
前記エンベロープ生成手段は、
ＬＰＦ（Low Pass Filter）を用いてエンベロープを生成することを特徴とする請求項１記載のテンポ検出装置。
【請求項３】
前記楽曲データ抽出手段は、
抽出したそれぞれの周波数帯域の成分に対して、信号レベルの絶対値をとることを特徴とする請求項１又は２記載のテンポ検出装置。
【請求項４】
前記周波数成分検出手段は、
検出されたエンベロープのＤＣ成分を除去するＤＣ成分除去手段と、
ＤＣ成分を除去されたエンベロープに対して離散フーリエ変換処理を行って、周波数スペクトルを生成するＦＦＴ手段と、
を有することを特徴とする請求項１乃至３のいずれか１項に記載のテンポ検出装置。
【請求項５】
前記テンポ検出手段は、
予め定めた周波数領域を所定の間隔ごとにサーチしてそれぞれの周波数地点におけるスコアを予め定められた演算方法に基づいて算出するスコア算出手段と、
算出したそれぞれの周波数地点のスコアのうち最大値となった周波数地点の周波数をテンポとして決定するテンポ手段と、
を有することを特徴とする請求項１乃至４のいずれか１項に記載のテンポ検出装置。
【請求項６】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアに、当該周波数の２Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第２のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項５記載のテンポ検出装置。
【請求項７】
前記スコア算出手段は、
当該周波数地点における振幅レベルである第１のスコアまたは当該周波数地点におけるスコアに、当該周波数の３Ｎ（Ｎは正負の整数であって、設定されるＮの個数は少なくとも１つ以上）倍の周波数地点における振幅レベルである第３のスコアを重みづけして加算したスコアを当該周波数地点におけるスコアとすることを特徴とする請求項５又は６記載のテンポ検出装置。
【請求項８】
楽曲データのテンポを検出するテンポ検出プログラムであって、
楽曲データのエンベロープを検出するエンベロープ検出ステップと、
検出されたエンベロープに対して、離散フーリエ変換処理を行って、周波数スペクトルを検出する周波数成分検出ステップと、
検出した周波数スペクトルの特徴に基づいて、楽曲データのテンポを検出するテンポ検出ステップと、
をコンピュータに実行させ、
前記エンベロープ検出ステップは、
少なくとも２つ以上の周波数帯域の成分を抽出する楽曲データ抽出ステップと、
前記楽曲データ抽出ステップで抽出されたそれぞれの周波数帯域の成分の楽曲データのエンベロープをそれぞれ生成するエンベロープ生成ステップと、
前記エンベロープ生成ステップで生成されたそれぞれのエンベロープを重みづけして加算する加算ステップと、
を有することを特徴とするテンポ検出プログラム。
【国際調査報告】
2009125489.tif 000014
2009125489.tif 000015
2009125489.tif 000016
2009125489.tif 000017
2009125489.tif 000018
2009125489.tif 000019
2009125489.tif 000020
2009125489.tif 000021