(57)【特許請求の範囲】
【請求項１】
オーディオ信号を処理する信号処理装置において、
前記オーディオ信号のレベルの推移を表すレベル信号を生成する生成手段と、
前記生成手段により生成された前記レベル信号を周波数分析する周波数分析手段と、
前記周波数分析手段による周波数分析の分析結果に基づいて前記オーディオ信号のテンポを求め、前記オーディオ信号に基づいて前記オーディオ信号の前記テンポ以外の特徴量を求める特徴量算出手段と、
前記テンポを前記特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定手段と
を備え、
前記特徴量算出手段は、前記オーディオ信号のスピード感を、前記特徴量として求める
ことを特徴とする信号処理装置。
【請求項２】
前記特徴量算出手段はまた、前記分析結果に基づいて前記オーディオ信号のテンポの揺らぎを求める
ことを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記周波数分析手段による周波数分析の分析結果の統計処理を行う統計処理手段
をさらに備え、
前記特徴量算出手段は、前記統計処理手段により統計処理された前記分析結果に基づいて、前記テンポを求める
ことを特徴とする請求項１に記載の信号処理装置。
【請求項４】
前記周波数分析手段による周波数分析の分析結果である前記レベル信号の各周波数成分に対して、倍音の関係となる周波数成分を加算し、その加算値を、前記レベル信号の各周波数成分として出力する周波数成分処理手段をさらに備え、
前記特徴量算出手段は、前記周波数成分処理手段が出力する前記各周波数成分に基づいて、前記テンポを求める
ことを特徴とする請求項１に記載の信号処理装置。
【請求項５】
オーディオ信号を処理する信号処理装置の信号処理方法において、
前記オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、
前記生成ステップの処理により生成された前記レベル信号を周波数分析する周波数分析ステップと、
前記周波数分析ステップの処理による周波数分析の分析結果に基づいて前記オーディオ信号のテンポを求め、前記オーディオ信号に基づいて前記オーディオ信号の前記テンポ以外の特徴量を求める特徴量算出ステップと、
前記テンポを前記特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップと
を含み、
前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める
ことを特徴とする信号処理方法。
【請求項６】
オーディオ信号の処理をコンピュータに行わせるプログラムにおいて、
前記オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、
前記生成ステップの処理により生成された前記レベル信号を周波数分析する周波数分析ステップと、
前記周波数分析ステップの処理による周波数分析の分析結果に基づいて前記オーディオ信号のテンポを求め、前記オーディオ信号に基づいて前記オーディオ信号の前記テンポ以外の特徴量を求める特徴量算出ステップと、
前記テンポを前記特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップと
を含み、
前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める
処理をコンピュータに行わせることを特徴とするプログラム。
【請求項７】
オーディオ信号の処理をコンピュータに行わせるプログラムが記録されている記録媒体において、
前記オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、
前記生成ステップの処理により生成された前記レベル信号を周波数分析する周波数分析ステップと、
前記周波数分析ステップの処理による周波数分析の分析結果に基づいて前記オーディオ信号のテンポを求め、前記オーディオ信号に基づいて前記オーディオ信号の前記テンポ以外の特徴量を求める特徴量算出ステップと、
前記テンポを前記特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップと
を含み、
前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める
処理をコンピュータに行わせることを特徴とするプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置および信号処理方法、プログラム、並びに記録媒体に関し、特に、テンポ等のオーディオ信号の特徴量を精度良く検出することができるようにする信号処理装置および信号処理方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
例えば、楽曲などのオーディオ信号のテンポを検出する方法としては、オーディオ信号の発音開始時刻の自己相関関数のピーク部分とレベルを観察することにより、発音時刻の周期性を解析し、その解析結果から１分間の４分音符の数であるテンポを検出する方法が知られている(特に、特許文献１参照)。
【０００３】
【特許文献１】特開２００２−１１６７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、自己相関関数において、８分音符に相当する部分にピークが出現する場合、上述したような自己相関関数のピーク部分の発音時刻の周期性からテンポを検出する方法では、１分間の４分音符の数ではなく、８分音符の数がテンポとして検出されることがある。例えば、テンポ６０（１分間の４分音符の数が６０個）の音楽も、１分間のピークの数、即ち、８分音符の数は１２０個であるとして、テンポ１２０が検出されることがある。従って、テンポを正確に検出することが困難であった。
【０００５】
また、ある短時間のオーディオ信号を対象に、いわば瞬間的なテンポの検出を行うアルゴリズムは多数存在するが、楽曲全体のテンポを検出することは困難であった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、テンポ等のオーディオ信号の特徴量を精度良く検出することができるようにするものである。
【課題を解決するための手段】
【０００７】
本発明の信号処理装置は、オーディオ信号のレベルの推移を表すレベル信号を生成する生成手段と、生成手段により生成されたレベル信号を周波数分析する周波数分析手段と、周波数分析手段による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出手段と、テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定手段とを備え、前記特徴量算出手段は、前記オーディオ信号のスピード感を、前記特徴量として求めることを特徴とする。
【００１０】
特徴量算出手段にはまた、分析結果に基づいてオーディオ信号のテンポの揺らぎを求めさせることができる。
【００１２】
信号処理装置には、周波数分析手段による周波数分析の分析結果の統計処理を行う統計処理手段をさらに設けることができ、特徴量算出手段には、統計処理手段により統計処理された分析結果に基づいて、テンポを求めさせることができる。
【００１３】
信号処理装置には、周波数分析手段による周波数分析の分析結果であるレベル信号の各周波数成分に対して、倍音の関係となる周波数成分を加算し、その加算値を、レベル信号の各周波数成分として出力する周波数成分処理手段をさらに設けることができ、特徴量算出手段には、周波数成分処理手段が出力する各周波数成分に基づいて、テンポを求めさせることができる。
【００１４】
本発明の信号処理方法は、オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、生成ステップの処理により生成されたレベル信号を周波数分析する周波数分析ステップと、周波数分析ステップの処理による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出ステップと、テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップとを含み、前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求めることを特徴とする。
【００１５】
本発明のプログラムは、オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、生成ステップの処理により生成されたレベル信号を周波数分析する周波数分析ステップと、周波数分析ステップの処理による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出ステップと、テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップとを含み、前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める処理をコンピュータに行わせることを特徴とする。
【００１６】
本発明の記録媒体に記録されているプログラムは、オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップと、生成ステップの処理により生成されたレベル信号を周波数分析する周波数分析ステップと、周波数分析ステップの処理による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出ステップと、テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップとを含み、前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める処理をコンピュータに行わせることを特徴とする。
【００１７】
本発明の情報処理装置および情報処理方法、並びにプログラムおよび記録媒体に記録されているプログラムにおいては、オーディオ信号のレベルの推移を表すレベル信号を生成し、そのレベル信号を周波数分析する。そして、その周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のスピード感を特徴量として求め、テンポを特徴量に基づいて補正することにより、最終的なテンポを決定する。
【発明の効果】
【００１８】
本発明によれば、テンポ等の音楽の特徴量を精度良く検出することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載の信号処理装置は、
オーディオ信号を処理する信号処理装置(例えば、図１の特徴量検出装置１)において、
オーディオ信号のレベルの推移を表すレベル信号を生成する生成手段(例えば、図１のレベル計算部２１)と、
生成手段により生成されたレベル信号を周波数分析する周波数分析手段(例えば、図１の周波数分析部２２)と、
周波数分析手段による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出手段(例えば、図１の特徴抽出部２３)と、
テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定手段と
を備え、
前記特徴量算出手段は、前記オーディオ信号のスピード感を、前記特徴量として求める
ことを特徴とする。
【００２２】
請求項４に記載の信号処理装置は、
周波数分析手段による周波数分析の分析結果の統計処理を行う統計処理手段（例えば、図２の統計処理部４９）をさらに備え、
特徴量算出手段は、統計処理手段により統計処理された分析結果に基づいて、テンポを求める
ことを特徴とする。
【００２３】
請求項５に記載の信号処理装置は、
周波数分析手段による周波数分析の分析結果であるレベル信号の各周波数成分に対して、倍音の関係となる周波数成分を加算し、その加算値を、レベル信号の各周波数成分として出力する周波数成分処理手段(例えば、図２の周波数成分処理部４８)をさらに備え、
特徴量算出手段は、周波数成分処理手段が出力する周波数成分に基づいて、テンポを求める
ことを特徴とする。
【００２４】
請求項５に記載の信号処理方法は、
オーディオ信号を処理する信号処理装置の信号処理方法において、
オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップ(例えば、図５のステップＳ１２)と、
生成ステップの処理により生成されたレベル信号を周波数分析する周波数分析ステップ(例えば、図５のステップＳ１３)と、
周波数分析ステップの処理による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出ステップ(例えば、図５のステップＳ１４およびＳ１５)と、
テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップと
を含み、
前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める
ことを特徴とする。
【００２５】
請求項６に記載のプログラムおよび請求項７に記載の記録媒体に記録されているプログラムは、
オーディオ信号の処理をコンピュータに行わせるプログラムにおいて、
オーディオ信号のレベルの推移を表すレベル信号を生成する生成ステップ（例えば、図５のステップＳ１２）と、
生成ステップの処理により生成されたレベル信号を周波数分析する周波数分析ステップ（例えば図５のステップＳ１３）と、
周波数分析ステップの処理による周波数分析の分析結果に基づいてオーディオ信号のテンポを求め、オーディオ信号に基づいてオーディオ信号のテンポ以外の特徴量を求める特徴量算出ステップ(例えば、図５のステップＳ１４およびＳ１５)と、
テンポを特徴量に基づいて補正することにより、最終的なテンポを決定するテンポ決定ステップと
を含み、
前記特徴量算出ステップの処理では、前記オーディオ信号のスピード感を、前記特徴量として求める
処理をコンピュータに行わせることを特徴とする。
【００２６】
以下に、本発明の実施の形態を説明する。
【００２７】
図１は、本発明を適用した特徴量検出装置の一実施の形態の構成例を示すブロック図である。
【００２８】
図１の特徴量検出装置１には、例えば、ＣＤ（Compact Disc）などから再生された楽曲のデジタル信号であるオーディオ信号が供給され、特徴量検出装置１は、そのオーディオ信号の特徴量としての、例えば、テンポｔ、スピード感Ｓ、およびテンポ揺れＷを検出し、出力する。なお、図１において、特徴量検出装置１に供給されるオーディオ信号は、ステレオ信号となっている。
【００２９】
特徴量検出装置１は、加算器２０、レベル計算部２１、周波数分析部２２、および特徴抽出部２３から構成される。
【００３０】
加算器２０には、楽曲の左チャンネルのオーディオ信号と右チャンネルのオーディオ信号が供給される。加算器２０は、左チャンネルと右チャンネルのオーディオ信号を加算し、レベル計算部２１に供給する。
【００３１】
レベル計算部２１は、加算器２０から供給されるオーディオ信号のレベルの推移を表すレベル信号を生成し、周波数分析部２２に供給する。
【００３２】
周波数分析部２２は、レベル計算部２１から供給されるオーディオ信号のレベルの推移を表すレベル信号を周波数分析し、その分析結果として、レベル信号の各周波数の周波数成分Ａを出力する。そして、周波数分析部２２は、その周波数成分Ａを特徴抽出部２３に供給する。
【００３３】
特徴抽出部２３は、テンポ算出部３１、スピード感検出部３２、テンポ補正部３３、およびテンポ揺れ検出部３４から構成される。
【００３４】
テンポ算出部３１は、周波数分析部２２から供給されるレベル信号の周波数成分Ａに基づいて、オーディオ信号のテンポ（特徴量）ｔを出力し、テンポ補正部３３に供給する。
【００３５】
スピード感検出部３２は、周波数分析部２２から供給されるレベル信号の周波数成分Ａに基づいて、オーディオ信号のスピード感Ｓを検出し、テンポ補正部３３に供給するとともに、オーディオ信号の特徴量の１つとして、外部に出力する。
【００３６】
テンポ補正部３３は、テンポ算出部３１から供給されるテンポｔを、スピード感検出部３２から供給されるスピード感Ｓに基づき、必要に応じて補正（修正）し、オーディオ信号の特徴量の１つとして、外部に出力する。
【００３７】
テンポ揺れ検出部３４は、周波数分析部２２から供給されるレベル信号の周波数成分Ａに基づいて、オーディオ信号のテンポの揺らぎであるテンポ揺れＷを検出し、オーディオ信号の特徴量の１つとして、外部に出力する。
【００３８】
以上のように構成される特徴量検出装置１では、楽曲の左チャンネルと右チャンネルのオーディオ信号が加算器２０を介して、レベル計算部２１に供給され、レベル計算部２１が、そのオーディオ信号をレベル信号に変換する。そして、周波数分析部２２が、そのレベル信号の周波数成分Ａを検出し、その周波数成分Ａに基づいて、テンポ算出部３１がテンポｔを演算するとともに、スピード感検出部３２がスピード感Ｓを検出する。テンポ補正部３３は、テンポｔを、スピード感Ｓに基づき、必要に応じて補正し、出力する。また、テンポ揺れ検出部３４は、周波数成分Ａに基づいて、テンポ揺れＷを検出し、出力する。
【００３９】
図２は、図１のレベル計算部２１と周波数分析部２２の詳細構成例を示している。
【００４０】
レベル計算部２１は、ＥＱ（Equalize）処理部４１およびレベル信号生成部４２から構成され、周波数分析部２２は、デシメーションフィルタ部４３、ダウンサンプリング部４４、ＥＱ処理部４５、窓処理部４６、周波数変換部４７、周波数成分処理部４８、および統計処理部４９から構成されている。
【００４１】
ＥＱ処理部４１には、加算器２０からオーディオ信号が供給される。ＥＱ処理部４１は、そのオーディオ信号に対してフィルタ処理を行う。例えば、ＥＱ処理部４１は、例えば、HPF(High Pass Filter)を構成しており、テンポｔの抽出に適していないオーディオ信号の低域成分を除去し、テンポｔの抽出に適した周波数成分のオーディオ信号を、レベル信号生成部４２に供給する。なお、ＥＱ処理部４１のフィルタ処理で用いられるフィルタの係数は、特に限定されるものではない。
【００４２】
レベル信号生成部４２は、例えば、ＥＱ処理部４１から供給されるオーディオ信号のレベルの推移を表すレベル信号を生成し、周波数分析部２２（のデシメーションフィルタ部４３）に供給する。なお、レベル信号としては、例えば、オーディオ信号の絶対値や、パワー(２乗)、絶対値またはパワーの移動平均(値)、レベルメータでのレベル表示に用いられている値などを採用することができる。ここで、レベルメータでのレベル表示に用いられている値をレベル信号として採用した場合、オーディオ信号の各サンプル点の絶対値が、そのサンプル点におけるレベル信号とされる。但し、いまレベル信号を出力しようとしているサンプル点のオーディオ信号の絶対値が、直前のサンプル点のレベル信号より小さい場合には、その直前のサンプル点のレベル信号に、0.0以上1.0未満のリリース係数Ｒ(0.0≦R<1.0)を乗算した値が、いま出力しようとしているサンプル点におけるレベル信号とされる。
【００４３】
デシメーションフィルタ部４３は、後段のダウンサンプリング部４４でダウンサンプリングを行うために、レベル信号生成部４２から供給されるレベル信号の高周波数成分を除去し、ダウンサンプリング部４４に供給する。
【００４４】
ダウンサンプリング部４４は、デシメーションフィルタ部４３から供給されるレベル信号のダウンサンプリングを行う。ここで、テンポｔを検出するためには、レベル信号の数百Hz程度の成分があれば十分である。そこで、ダウンサンプリング部４４は、レベル信号のサンプルを間引くことにより、そのサンプリング周波数を、172Hzにダウンサンプリングする。ダウンサンプリング後のレベル信号は、ＥＱ処理部４５に供給される。ここで、ダウンサンプリング部４４によるダウンサンプリングにより、その後の処理の負荷(演算量)を軽減することができる。
【００４５】
ＥＱ処理部４５は、ダウンサンプリング部４４から供給されるレベル信号をフィルタ処理することにより、その低周波数成分(例えば、ＤＣ成分とテンポ５０（１分間の４分音符の数が５０個）に対応する周波数以下の成分)と、高周波数成分（テンポ４００（１分間の４分音符の数が４００個）に対応する周波数以上の成分）とを除去する。即ち、ＥＱ処理部４５は、テンポｔの抽出に適していない低周波数成分と高周波数成分を除去する。そして、ＥＱ処理部４５は、その低周波数成分と高周波数成分を除去した結果残った周波数成分のレベル信号を、窓処理部４６に供給する。なお、以下では、１分間の４分音符の数がｉ個であるオーディオ信号のテンポを、テンポｉという。
【００４６】
窓処理部４６は、ＥＱ処理部４５から供給されるレベル信号から、所定の時間分、即ち、所定のサンプル数のレベル信号を、１つのブロックとして、時系列に抽出する。さらに、窓処理部４６は、ブロックの両端のレベル信号が急激に変化していることの影響を低減する等のために、その両端の部分を徐々に減衰させるハミング窓やハニング窓等の窓関数で、ブロックのレベル信号を窓処理し（ブロックのレベル信号に窓関数を乗算し）、周波数変換部４７に供給する。
【００４７】
周波数変換部４７は、窓処理部４６から供給されるブロックのレベル信号に対して、例えば、離散コサイン変換を行うことで、レベル信号の周波数変換(周波数分析)を行う。周波数変換部４７は、ブロックのレベル信号を周波数変換することにより得られる周波数成分のうちの、例えば、テンポ５０乃至１６００に対応する周波数の周波数成分を得て、周波数成分処理部４８に供給する。
【００４８】
周波数成分処理部４８は、周波数変換部４７からのブロックのレベル信号の周波数成分を処理する。即ち、周波数成分処理部４８は、周波数変換部４７からのブロックのレベル信号の周波数成分のうちの、例えば、テンポ５０乃至４００の範囲に対応する周波数の周波数成分に、そのテンポの２倍、３倍、４倍となるテンポに対応する周波数の周波数成分（倍音）をそれぞれ加算し、その加算結果を、そのテンポに対応する周波数の周波数成分とする。
【００４９】
例えば、テンポ５０に対応する周波数の周波数成分には、テンポ５０の２倍となるテンポ１００、３倍となるテンポ１５０、４倍となるテンポ２００に対応する周波数それぞれの周波数成分が加算され、テンポ５０に対応する周波数の周波数成分とされる。また、例えば、テンポ１００に対応する周波数の周波数成分には、テンポ１００の２倍となるテンポ２００、３倍となるテンポ３００、４倍となるテンポ４００に対応する周波数それぞれの周波数成分が加算され、テンポ１００に対応する周波数の周波数成分とされる。
【００５０】
なお、例えば、テンポ５０に対応する周波数成分を求めるときに加算する、テンポ１００に対応する周波数成分は、その倍音の周波数成分が加算される前のテンポ１００に対応する周波数成分である。他のテンポについても、同様である。
【００５１】
上述のように、周波数成分処理部４８は、テンポ５０乃至４００の範囲に対応する周波数の各周波数成分に対して、その倍音の周波数成分を加算し、その加算値を、いわば新たな周波数成分とすることにより、テンポ５０乃至４００の範囲に対応する周波数の各周波数成分を、ブロックごとに得て、統計処理部４９に供給する。
【００５２】
ここで、ある周波数の周波数成分は、その周波数がレベル信号の基本周波数（ピッチ周波数）ｆbである可能性の高さを表している。従って、ある周波数の周波数成分は、その周波数の基本周波数らしさであるといえる。なお、基本周波数ｆbは、その基本周波数で、レベル信号が繰り返していることを表すので、元のオーディオ信号のテンポに対応している。
【００５３】
統計処理部４９は、１曲分のブロックを対象に統計処理を行う。即ち、統計処理部４９は、周波数成分処理部４８からブロック単位で供給される１曲分のレベル信号の周波数成分を、周波数ごとに加算する。そして、統計処理部４９は、その統計処理によって得られる、１曲分のブロックに亘る周波数成分の加算結果を、その１曲のレベル信号の周波数成分Ａとして、特徴抽出部２３に供給する。
【００５４】
図３は、図１のスピード感検出部３２の詳細構成例を示すブロック図である。
【００５５】
図３のスピード感検出部３２は、ピーク抽出部６１、ピーク加算部６２、ピーク周波数演算部６３、およびスピード感演算部６４から構成される。
【００５６】
ピーク抽出部６１には、周波数分析部２２からレベル信号の周波数成分Ａが供給される。ピーク抽出部６１は、例えば、レベル信号の周波数成分Ａから、ピーク(極大値)となっているものを検出し、さらにその中から、大きい順に上位１０個のピークとなっている周波数成分Ａ1乃至Ａ10を抽出する。ここで、大きい順にｉ番目のピークとなっている周波数成分をＡi（ｉ=1,2,・・・）と表し、対応する周波数をｆiと表す。
【００５７】
ピーク抽出部６１は、上位１０個の周波数成分Ａ1乃至Ａ10をピーク加算部６２に供給するとともに、その周波数成分Ａ1乃至Ａ10と、対応する周波数ｆ1乃至ｆ10を、ピーク周波数演算部６３に供給する。
【００５８】
ピーク加算部６２は、ピーク抽出部６１から供給される周波数成分Ａ1乃至Ａ10をすべて加算し、その結果得られる加算値ΣＡi（＝Ａ1＋Ａ2＋・・・＋Ａ10）を、スピード感演算部６４に供給する。
【００５９】
ピーク周波数演算部６３は、ピーク抽出部６１から供給される周波数成分Ａ1乃至Ａ10と周波数ｆ1乃至ｆ10とを用いて、周波数成分Ａiと周波数ｆiとの積の総和である積算値ΣＡi×ｆi（＝Ａ1×ｆ1＋Ａ2×ｆ2＋・・・＋Ａ10×ｆ10）を演算し、スピード感演算部６４に供給する。
【００６０】
スピード感演算部６４は、ピーク加算部６２から供給される加算値ΣＡiと、ピーク周波数演算部６３から供給される積算値ΣＡi×ｆiとに基づいて、スピード感(を表す情報)Ｓを演算し、テンポ補正部３３に供給するとともに、外部に出力する。
【００６１】
図４は、図１のテンポ揺れ検出部３４の詳細構成例を示すブロック図である。
【００６２】
図４のテンポ揺れ検出部３４は、加算部８１、ピーク抽出部８２、および除算部８３から構成される。
【００６３】
加算部８１には、周波数分析部２２からテンポ５０乃至４００の範囲に対応する各周波数の周波数成分Ａが供給される。加算部８１は、周波数分析部２２からの周波数成分Ａを、すべての周波数に亘って加算し、その結果得られる加算値ΣＡを除算部８３に供給する。
【００６４】
ピーク抽出部８２には、周波数分析部２２からテンポ５０乃至４００の範囲に対応する各周波数の周波数成分Ａが供給される。ピーク抽出部８２は、その周波数成分Ａから、最大の周波数成分Ａ1を抽出し、除算部８３に供給する。
【００６５】
除算部８３は、加算部８１から供給される周波数成分Ａの加算値ΣＡと、ピーク抽出部８２から供給される最大の周波数成分Ａ1とに基づいて、テンポ揺れＷを演算し、外部に出力する。
【００６６】
次に、図５のフローチャートを参照して、図１の特徴量検出装置１が行う特徴量検出処理を説明する。この特徴量検出処理は、加算器２０に左チャンネルと右チャンネルのオーディオ信号が供給されたとき、開始される。
【００６７】
ステップＳ１１において、加算器２０は、左チャンネルと右チャンネルのオーディオ信号を加算し、レベル計算部２１に供給して、ステップＳ１２に進む。
【００６８】
ステップＳ１２において、レベル計算部２１は、加算器２０から供給されるオーディオ信号のレベル信号を生成し、周波数分析部２２に供給する。
【００６９】
具体的には、レベル計算部２１のＥＱ処理部４１は、テンポｔの抽出に適していないオーディオ信号の低域成分を除去し、テンポｔの抽出に適した周波数成分のオーディオ信号を、レベル信号生成部４２に供給する。そして、レベル信号生成部４２は、ＥＱ処理部４１から供給されるオーディオ信号のレベルの推移を表すレベル信号を生成し、周波数分析部２２に供給する。
【００７０】
ステップＳ１２の処理後は、ステップＳ１３に進み、周波数分析部２２は、レベル計算部２１から供給されるレベル信号を周波数分析し、その分析結果として、レベル信号の各周波数の周波数成分Ａを出力する。そして、周波数分析部２２は、その周波数成分Ａを特徴抽出部２３のテンポ算出部３１、スピード感検出部３２、およびテンポ揺れ検出部３４に供給し、ステップＳ１４に進む。
【００７１】
ステップＳ１４において、テンポ算出部３１は、周波数分析部２２から供給されるレベル信号の周波数成分Ａに基づいて、オーディオ信号のテンポｔを求め、テンポ補正部３３に供給する。
【００７２】
具体的には、テンポ算出部３１は、周波数分析部２２から供給されるレベル信号の周波数成分Ａから、最大の周波数成分Ａ1を検出し、その最大の周波数成分Ａ1の周波数を、レベル信号の基本周波数ｆbに決定する。即ち、レベル信号の各周波数の周波数成分Ａは、上述したように、その周波数の基本周波数らしさを表しているので、最大の周波数成分Ａ1の周波数は、基本周波数らしさが最大、即ち、最も基本周波数らしい周波数である。そこで、レベル信号の周波数成分Ａのうちの、最大の周波数成分Ａ1の周波数が、基本周波数ｆbに決定される。
【００７３】
さらに、テンポ算出部３１は、基本周波数ｆbと、レベル信号のサンプリング周波数ｆsとに基づいて、以下の式（１）を用いて、元のオーディオ信号のテンポｔを求め、テンポ補正部３３に供給する。
【００７４】
ｔ＝ｆb/ｆs×６０
・・・（１）
【００７５】
ステップＳ１４の処理後は、ステップＳ１５に進み、スピード感検出部３２は、周波数分析部２２から供給される周波数成分Ａに基づいて、スピード感検出処理を行い、その結果得られるオーディオ信号のスピード感Ｓを、テンポ補正部３３に供給するとともに、外部に出力する。
【００７６】
ステップＳ１５の処理後は、ステップＳ１６に進み、テンポ補正部３３は、ステップＳ１４でテンポ算出部３１から供給されたテンポｔを、ステップＳ１５でスピード感検出部３２から供給されたスピード感Ｓに基づき、必要に応じて補正するテンポ補正処理を行い、その結果得られるテンポｔ（を表す情報）を外部に出力して、処理を終了する。
【００７７】
ステップＳ１６の処理後は、ステップＳ１７に進み、テンポ揺れ検出部３４は、周波数分析部２２から供給されるレベル信号の周波数成分Ａに基づいて、テンポ揺れ検出処理を行い、その結果得られるオーディオ信号のテンポの揺らぎであるテンポ揺れＷを、外部に出力する。そして、テンポ揺れ検出部３４は、処理を終了する。
【００７８】
なお、上述したステップＳ１４乃至Ｓ１６で外部に出力されたテンポｔ、スピード感Ｓ、テンポ揺れＷは、例えば、モニタに供給され、表示される。
【００７９】
次に、図６のフローチャートを参照して、図５のステップＳ１３の周波数分析処理について説明する。
【００８０】
ステップＳ３１において、周波数分析部２２（図２）のデシメーションフィルタ部４３は、後段のダウンサンプリング部４４でダウンサンプリングを行うために、レベル信号生成部４２から供給されるレベル信号の高周波数成分を除去し、ダウンサンプリング部４４に供給して、ステップＳ３２に進む。
【００８１】
ステップＳ３２において、ダウンサンプリング部４４は、デシメーションフィルタ部４３から供給されるレベル信号のダウンサンプリングを行い、ダウンサンプリング後のレベル信号を、ＥＱ処理部４５に供給する。
【００８２】
ステップＳ３２の処理後は、ステップＳ３３に進み、ＥＱ処理部４５は、ダウンサンプリング部４４から供給されるレベル信号をフィルタ処理することにより、その低周波数成分と高周波数成分を除去する。そして、ＥＱ処理部４５は、その低周波数成分と高周波数成分を除去した結果残った周波数成分のレベル信号を、窓処理部４６に供給し、ステップＳ３４に進む。
【００８３】
ステップＳ３４において、窓処理部４６は、ＥＱ処理部４５から供給されるレベル信号から、時系列に所定のサンプル数のレベル信号を、１つのブロックのレベル信号として抽出し、窓処理をして、周波数変換部４７に供給する。なお、以下、ステップＳ３４乃至Ｓ３６の処理は、ブロック単位で行われる。
【００８４】
ステップＳ３４の処理後は、ステップＳ３５に進み、周波数変換部４７は、窓処理部４６から供給されるブロックのレベル信号に対して、離散コサイン変換を行うことで、レベル信号の周波数変換を行う。そして、周波数変換部４７は、ブロックのレベル信号を周波数変換することにより得られる周波数成分のうちの、例えば、テンポ５０乃至１６００に対応する周波数の周波数成分を得て、周波数成分処理部４８に供給する。
【００８５】
ステップＳ３５の処理後は、ステップＳ３６に進み、周波数成分処理部４８は、周波数変換部４７からのブロックのレベル信号の周波数成分を処理する。即ち、周波数成分処理部４８は、周波数変換部４７からのブロックのレベル信号の周波数成分のうちの、例えば、テンポ５０乃至４００の範囲に対応する周波数の周波数成分に、そのテンポの２倍、３倍、４倍となるテンポに対応する周波数の周波数成分（倍音）のそれぞれを加算し、その加算値を、いわば新たな周波数成分とすることにより、テンポ５０乃至４００の範囲に対応する周波数の各周波数成分を得て、統計処理部４９に供給する。
【００８６】
ステップＳ３６の処理後は、ステップＳ３７に進み、統計処理部４９は、周波数成分生成部４８から、１曲分のブロックのレベル信号の周波数成分が供給されたかどうかを判定し、１曲分のブロックのレベル信号の周波数成分が供給されていないと判定した場合、ステップＳ３４に戻る。そして、ステップＳ３４において、窓処理部４６は、直前に、１ブロックとして抽出されたレベル信号の直後のレベル信号から、１ブロック分のレベル信号を抽出し、窓処理を行う。そして、窓処理部４６は、窓処理後のブロックのレベル信号を、周波数変換部４７に供給して、ステップＳ３５に進み、上述した処理を繰り返す。
【００８７】
なお、窓処理部４６は、直前のステップＳ３４で抽出されたブロックの時間的に直後から１ブロック分のレベル信号を抽出し、窓処理を行うこともできるし、直前のステップＳ３４で抽出されたブロックにオーバーラップするように、１ブロック分のレベル信号を抽出し、窓処理を行うこともできる。
【００８８】
ステップＳ３７において、１曲分のブロックのレベル信号の周波数成分が供給されたと判定された場合、ステップＳ３８に進み、統計処理部４９は、１曲分のブロックを対象に統計処理を行う。即ち、統計処理部４９は、周波数成分処理部４８からブロック単位で供給される１曲分のレベル信号の周波数成分を、周波数ごとに加算する。そして、統計処理部４９は、その統計処理によって得られる、１曲に亘るレベル信号の各周波数の周波数成分Ａを、特徴抽出部２３に供給し、図５のステップＳ１３に戻る。
【００８９】
図５のステップＳ１３の処理後は、ステップＳ１４に進み、テンポ算出部３１は、統計処理部４９から供給された１曲分のブロックのレベル信号の周波数成分を統計処理して得られる周波数成分Ａのうちの、最大の周波数成分Ａ1の周波数を、レベル信号の基本周波数ｆｂとして、式（１）によりテンポｔを求める。これにより、１曲分に対応するオーディオ信号のテンポｔを精度良く求めることができる。
【００９０】
次に、図７Ａ乃至図７Ｅと図８を参照して、周波数分析部２２の周波数分析処理を、さらに説明する。
【００９１】
周波数分析部２２において、図７Ａに示すレベル信号が、ＥＱ処理部４５から窓処理部４６に供給された場合、図６のステップＳ３４において、窓処理部４６は、図７Ｂに示すように、１ブロックのレベル信号を抽出する。即ち、窓処理部４６は、図７Ａに示すレベル信号から、所定のサンプル数のレベル信号を、１ブロックのレベル信号として抽出する。そして、窓処理部４６は、図７Ｂに示すブロックのレベル信号に対して窓処理を行い（所定の窓関数を乗算し）、ブロックの両端の部分を減衰させた図７Ｃに示すレベル信号を得る。
【００９２】
図７Ｃに示すブロックのレベル信号が、窓処理部４６から周波数変換部４７に供給され、図６のステップＳ３５において、周波数変換部４７は、そのレベル信号を離散コサイン変換し、図７Ｄに示すように、テンポ５０乃至１６００の範囲に対応する周波数の周波数成分を得る。なお、図７Ｄにおいて、横軸は周波数を表し、縦軸は周波数成分(の大きさ)を表している。また、横軸に記載されている「Ｔ＝５０」は、テンポ５０に対応する周波数の値を表し、「Ｔ＝１６００」は、テンポ１６００に対応する周波数の値を表している。
【００９３】
図７Ｄに示すテンポ５０乃至テンポ１６００の範囲に対応する周波数の周波数成分が周波数変換部４７から周波数成分処理部４８に供給され、図６のステップＳ３６において、周波数成分処理部４８は、テンポ５０乃至テンポ４００の範囲に対応する各周波数の周波数成分に、そのテンポの２倍、３倍、４倍となるテンポに対応する周波数の周波数成分（倍音）を加算し、その加算値を、新たに、そのテンポに対応する周波数の周波数成分とする。これにより、図７Ｅに示すように、テンポ５０乃至４００の範囲に対応する各周波数の周波数成分が得られる。なお、図７Ｅにおいては、図７Ｄと同様に、横軸は周波数を表し、縦軸は周波数成分を表している。また、横軸に記載されている「Ｔ＝５０」は、テンポ５０に対応する周波数の値を表し、「Ｔ＝４００」は、テンポ４００に対応する周波数の値を表している。
【００９４】
以上のような処理が１曲分の各ブロックのレベル信号に対して行われ、１曲分のブロックのレベル信号それぞれについての、図７Ｅに示す各周波数の周波数成分が、周波数成分処理部４８から統計処理部４９に供給された場合、図６のステップＳ３８において、統計処理部４９は、１曲分の各ブロックのレベル信号をそれぞれについての、図７Ｅに示す周波数成分を、周波数ごとに加算し、これにより、１曲のオーディオ信号について、例えば、図８に示す周波数成分Ａを得る。
【００９５】
図８の周波数成分Ａでは、ピーク(極大値)Ａ1乃至Ａ11の１１個のピークがある。ここで、１１個のピークＡ1乃至Ａ11のうち、大きい順に上位１０個のピークは、周波数成分Ａ1乃至Ａ10であり、対応する周波数はｆ1乃至ｆ10である。そして、最大の周波数成分は、周波数成分Ａ1である。
【００９６】
この場合、図５のステップＳ１４では、最大の周波数成分Ａ1の周波数ｆ1を、レベル信号の基本周波数ｆｂとして、式（１）により、１曲のオーディオ信号全体のテンポｔが求められる。
【００９７】
次に、図９のフローチャートを参照して、図５のステップＳ１５のスピード感検出処理を説明する。
【００９８】
ステップＳ５１において、図３のスピード感検出部３２におけるピーク抽出部６１は、図６のステップＳ３８で統計処理部４９（図２）から供給されたレベル信号の周波数成分Ａから、ピークとなっているものを検出し、さらにその中から、大きい順に上位１０個のピークとなっている周波数成分Ａ1乃至Ａ10を抽出する。そして、ピーク抽出部６１は、上位１０個の周波数成分Ａ1乃至Ａ10をピーク加算部６２に供給するとともに、その周波数成分Ａ1乃至Ａ10と、対応する周波数ｆ1乃至ｆ10を、ピーク周波数演算部６３に供給する。
【００９９】
例えば、図８に示した周波数成分Ａが統計処理部４９からスピード感検出部３２に供給された場合、ピーク抽出部６１は、ピークとなっている周波数成分Ａ1乃至Ａ11のうち、大きい順に上位１０個のピークとなっている周波数成分Ａ1乃至Ａ10を抽出する。そして、周波数成分Ａ1乃至Ａ10がピーク加算部６２に供給されるとともに、周波数成分Ａ1乃至Ａ10と、対応する周波数ｆ1乃至ｆ10とがピーク周波数演算部６３に供給される。
【０１００】
ステップＳ５１の処理後は、ステップＳ５２に進み、ピーク加算部６２は、ピーク抽出部６１から供給される周波数成分Ａ1乃至Ａ10をすべて加算し、その結果得られる加算値ΣＡi（＝Ａ1＋Ａ2＋・・・＋Ａ10）を、スピード感演算部６４に供給する。
【０１０１】
ステップＳ５２の処理後は、ステップＳ５３に進み、ピーク周波数演算部６３は、ピーク抽出部６１から供給される周波数成分Ａ1乃至Ａ10と周波数ｆ1乃至ｆ10とを用いて、周波数成分Ａiと周波数ｆiとの積の総和である積算値ΣＡi×ｆi（＝Ａ1×ｆ1＋Ａ2×ｆ2＋・・・＋Ａ10×ｆ10）を演算し、スピード感演算部６４に供給する。
【０１０２】
ステップＳ５３の処理後は、ステップＳ５４に進み、スピード感演算部６４は、ピーク加算部６２から供給される加算値ΣＡiと、ピーク周波数演算部６３から供給される積算値ΣＡi×ｆiとに基づいて、スピード感(を表す情報)Ｓを演算し、テンポ補正部３３に供給するとともに、外部に出力する。そして、スピード感演算部６４は、図５のステップＳ１６に戻る。
【０１０３】
具体的には、スピード感演算部６４は、以下の式（２）を用いてスピード感Ｓを演算し、テンポ補正部３３に供給する。
【０１０４】
【数１】
0004650662.tif 000002
・・・（２）
【０１０５】
式（２）では、ピークとなっている周波数成分の周波数ｆiが、そのピークとなっている周波数成分Ａiの大きさに対応して重み付けされ、加算される。従って、式（２）を用いて求められるスピード感Ｓは、周波数成分Ａiの大きいピークが高周波数側に多くある場合大きくなり、周波数成分Ａiの大きいピークが低周波数側に多くある場合小さくなる。
【０１０６】
次に、図１０と図１１を参照して、式（２）を用いて求められるスピード感Ｓについて、さらに説明する。
【０１０７】
図１０と図１１は、周波数分析部２２で得られる、１曲のオーディオ信号についての周波数成分Ａの例を示している。なお、横軸は、周波数を表し、縦軸は、周波数成分（基本周波数らしさ）を表している。
【０１０８】
スピード感がない（遅い）オーディオ信号については、そのレベル信号の周波数成分Ａが、図１０に示すように低域側に偏る。この場合、式（２）によれば、値の小さいスピード感Ｓが求められる。
【０１０９】
一方、スピード感がある（速い）オーディオ信号については、そのレベル信号の周波数成分Ａが図１１に示すように高域側に偏る。この場合、式（２）によれば、値の大きいスピード感Ｓが求められる。
【０１１０】
従って、式（２）によれば、オーディオ信号のスピード感に対応した値が求められる。
【０１１１】
次に、図１２のフローチャートを参照して、図５のステップＳ１６のテンポ補正処理を説明する。
【０１１２】
ステップＳ７１において、テンポ補正部３３は、図５のステップＳ１４でテンポ算出部３１（図１）から供給されたテンポｔが所定の値（閾値）TH1より大きいかどうかを判定する。なお、所定の値TH1は、例えば、製造時に、特徴量検出装置１の製造元により設定される。
【０１１３】
ステップＳ７１において、テンポ算出部３１からのテンポｔが所定の値TH1より大きいと判定された場合、即ち、テンポ算出部３１からのテンポｔが速い場合、ステップＳ７２に進み、テンポ補正部３３は、図９のステップＳ５４でスピード感検出部３２から供給されたスピード感Ｓが所定の値（閾値）TH2より大きいかどうかを判定する。なお、所定の値TH2は、例えば、製造時に、特徴量検出装置１の製造元により設定される。
【０１１４】
ステップＳ７２において、スピード感検出部３２からのスピード感Ｓが所定の値TH2より大きいと判定された場合、即ち、元のオーディオ信号について、テンポｔもスピード感Ｓも速いという処理結果が得られた場合、ステップＳ７４に進む。
【０１１５】
また、ステップＳ７１において、テンポ算出部３１からのテンポｔが所定の値TH1より大きくはないと判定された場合、即ち、テンポ算出部３１からのテンポｔが遅い場合、ステップＳ７３に進み、ステップＳ７２と同様に、図９のステップＳ５４でスピード感検出部３２から供給されたスピード感Ｓが所定の値TH3より大きいかどうかを判定する。
【０１１６】
なお、所定の値TH3は、例えば、製造時に、特徴量検出装置１の製造元により設定される。また、所定の値TH2とTH3の値は、同一であってもよいし、異なっていてもよい。
【０１１７】
ステップＳ７３において、テンポ算出部３１からのスピード感Ｓが所定の値TH3より大きくはないと判定された場合、即ち、元のオーディオ信号について、テンポｔもスピード感Ｓも遅いという処理結果が得られた場合、ステップＳ７４に進む。
【０１１８】
ステップＳ７４において、テンポ補正部３３は、テンポ算出部３１からのテンポｔを、そのままオーディオ信号のテンポに決定する。即ち、ステップＳ７２でスピード感Ｓが大きいと判定された場合、テンポ算出部３１からのテンポｔは速く、スピード感検出部３２からのスピード感Ｓは速いと判定されているので、テンポ算出部３１からのテンポｔは、そのスピード感Ｓとの比較から正当であるとして、ステップＳ７４において、テンポ算出部３１からのテンポｔが、そのまま、オーディオ信号のテンポとして、最終的に決定される。
【０１１９】
また、ステップＳ７３でスピード感Ｓが大きくはないと判定された場合、テンポ算出部３１からのテンポｔは遅く、スピード感検出部３２からのスピード感Ｓが遅いと判定されているので、テンポ算出部３１からのテンポｔは、そのスピード感Ｓとの比較から、やはり正当であるとして、ステップＳ７４において、テンポ算出部３１からのテンポｔが、そのまま、オーディオ信号のテンポとして、最終的に決定される。テンポ算出部３１は、テンポを決定した後、図５のステップＳ１６に戻る。
【０１２０】
ステップＳ７２において、スピード感検出部３２からのスピード感Ｓが所定の値TH2より大きくはないと判定された場合、即ち、元のオーディオ信号について、テンポ算出部３１からのテンポｔは速いが、スピード感検出部３２からのスピード感Ｓは遅いという処理結果が得られた場合、ステップＳ７５に進む。
【０１２１】
ステップＳ７５において、テンポ補正部３３は、テンポ算出部３１からのテンポｔの、例えば半分の値を、オーディオ信号のテンポｔに決定する。即ち、いまの場合、テンポ算出部３１からのテンポｔは速いが、スピード感検出部３２からのスピード感Ｓは遅いと判定されているので、テンポ算出部３１からのテンポｔが、スピード感検出部３２からのスピード感Ｓに対応していない。そこで、テンポ補正部３３は、テンポ算出部３１からのテンポｔを半分の値に補正し、オーディオ信号のテンポに決定する。テンポ補正部３３は、テンポを決定した後、図５のステップＳ１６に戻る。
【０１２２】
ステップＳ７３において、スピード感検出部３２からのスピード感Ｓが所定の値TH3より大きいと判定された場合、即ち、元のオーディオ信号について、テンポ算出部３１からのテンポｔは遅いが、スピード感検出部３２からのスピード感Ｓは速いという処理結果が得られた場合、ステップＳ７６に進む。
【０１２３】
ステップＳ７６において、テンポ補正部３３は、テンポ算出部３１からのテンポｔの、例えば２倍の値を、オーディオ信号のテンポに決定する。即ち、いまの場合、テンポ算出部３１からのテンポｔは遅いが、スピード感検出部３２からのスピード感Ｓは速いと判定されているので、テンポ算出部３１からのテンポｔが、スピード感検出部３２からのスピード感Ｓに対応していない。そこで、テンポ補正部３３は、テンポ算出部３１からのテンポｔを２倍の値に補正し、オーディオ信号のテンポに決定する。テンポ補正部３３は、テンポを決定した後、図５のステップＳ１６に戻る。
【０１２４】
上述したように、図１２のステップＳ７４乃至Ｓ７６では、テンポ補正部３３は、スピード感検出部３２からのスピード感Ｓに基づいて、テンポ算出部３１からのテンポｔを補正するので、スピード感Ｓに対応した正確なテンポｔを得ることができる。
【０１２５】
次に、図１３のフローチャートを参照して、図４のテンポ揺れ検出部３４が図５のステップＳ１７で行うテンポ揺れ検出処理を説明する。
【０１２６】
ステップＳ９１において、加算部８１は、図６のステップＳ３８で周波数分析部２２から供給されたテンポ５０乃至４００の範囲に対応する各周波数の周波数成分Ａを、すべての周波数に亘って加算し、その結果得られる加算値ΣＡを除算部８３に供給する。
【０１２７】
ステップＳ９１の処理後は、ステップＳ９２において、ピーク抽出部８２は、図６のステップＳ３８で周波数分析部２２から供給されたテンポ５０乃至４００の範囲に対応する各周波数の周波数成分Ａから、最大の周波数成分Ａ1を抽出し、除算部８３に供給する。
【０１２８】
ステップＳ９２の処理後は、ステップＳ９３に進み、除算部８３は、加算部８１から供給される周波数成分Ａの加算値ΣＡと、ピーク抽出部８２から供給される最大の周波数成分Ａ1とに基づいて、テンポ揺れＷを演算し、外部に出力する。
【０１２９】
具体的には、除算部８３は、以下の式（３）を用いてテンポ揺れＷを演算する。
【０１３０】
【数２】
0004650662.tif 000003
・・・（３）
【０１３１】
式（３）では、テンポ揺れＷは、最大の周波数成分Ａ1に対する周波数成分の加算値ΣＡの割合を表している。従って、式（３）を用いて求められるテンポ揺れＷは、周波数成分Ａ1が、他の周波数成分Ａに対して突出して大きい場合小さくなり、周波数成分Ａ1が、他の周波数成分Ａに対して突出して大きくはない場合大きくなる。
【０１３２】
次に、図１４と図１５を参照して、式（３）を用いて求められるスピード感Ｓについて説明する。
【０１３３】
図１４と図１５は、周波数分析部２２で得られる、１曲のオーディオ信号についての周波数成分Ａの例を示している。なお、横軸は、周波数を表し、縦軸は、周波数成分（基本周波数らしさ）を表している。
【０１３４】
テンポ揺れが小さいオーディオ信号、即ち、テンポがほとんど変化しないオーディオ信号においては、そのレベル信号の最大の周波数成分Ａ1が、図１４に示すように他の周波数成分Ａに対して突出する。この場合、式（３）によれば、値の小さいテンポ揺れＷが求められる。
【０１３５】
一方、テンポ揺れが大きいオーディオ信号においては、そのレベル信号の最大の周波数成分Ａ1が、図１５に示すように他の周波数成分Ａに対してそれほど大きく突出しない。この場合、式（３）によれば、値の大きいテンポ揺れＷが求められる。
【０１３６】
従って、式（３）によれば、オーディオ信号のテンポの変化の程度に応じた値のテンポ揺れＷを求めることができる。
【０１３７】
以上のように、特徴量検出装置１では、オーディオ信号のレベル信号を求め、そのレベル信号を周波数分析し、その周波数分析の結果に基づいてテンポｔを求めるようにしたので、テンポｔを精度良く検出することができる。
【０１３８】
また、特徴量検出装置１により出力されたテンポｔやテンポ揺れＷを用いて、例えば、ユーザに対して音楽（楽曲）を推薦することができる。
【０１３９】
即ち、例えば、クラッシック音楽や生演奏のオーディオ信号は、一般に、テンポｔが遅く、テンポ揺れＷが大きい。また、例えば、電子ドラムが用いられている音楽のオーディオ信号は、一般に、テンポｔが速く、テンポ揺れＷが小さい。
【０１４０】
従って、テンポｔやテンポ揺れＷなどに基づいて、オーディオ信号のジャンル等を識別し、ユーザが希望するジャンル等の楽曲の推薦が可能となる。
【０１４１】
なお、本実施の形態では、テンポ補正部３３は、オーディオ信号のレベル信号の周波数分析により求められたテンポｔを、そのオーディオ信号のスピード感Ｓに基づいて補正したが、このテンポｔの補正は、任意の方法で得たテンポを対象に行うことも可能である。
【０１４２】
また、特徴量検出装置１では、処理の負荷を軽減するため、加算器２０により、左チャンネルと右チャンネルのオーディオ信号を加算させたが、左チャンネルのオーディオ信号と右チャンネルのオーディオ信号を加算せず、チャンネル毎に特徴量検出処理を行うこともできる。この場合、左チャンネルと右チャンネルのオーディオ信号それぞれについて、テンポｔや、スピード感Ｓ、テンポ揺れＷといった特徴量を精度良く検出することができる。
【０１４３】
さらに、特徴量検出装置１では、レベル信号の周波数分析に離散コサイン変換を用いたが、レベル信号の周波数分析には、その他、例えば、コムフィルタや、短時間フーリエ解析、ウエーブレット変換などを用いることもできる。
【０１４４】
また、特徴量検出装置１において、オーディオ信号に対する処理は、そのオーディオ信号を、複数の周波数帯域のオーディオ信号に帯域分割し、各周波数帯域ごとのオーディオ信号に対して行うようにすることが可能である。この場合、テンポｔ、スピード感Ｓ、およびテンポ揺れＷをより精度良く検出することができる。
【０１４５】
さらに、オーディオ信号は、ステレオ信号ではなく、モノラル信号であってもよい。
【０１４６】
また、統計処理部４９では、１曲分のブロックを対象に統計処理を行うようにしたが、統計処理は、その他、例えば、１曲の一部のブロックを対象に行うこともできる。
【０１４７】
さらに、周波数変換部４７では、１曲のレベル信号全体を対象に、離散コサイン変換を行ってもよい。
【０１４８】
また、本実施の形態では、デジタル信号のオーディオ信号を入力するようにしたが、アナログ信号のオーディオ信号を入力することも可能である。但し、この場合、例えば、加算器２０の前段や、加算器２０とレベル計算部２１との間に、A/D（Analog/Digital）変換器を設ける必要がある。
【０１４９】
さらに、スピード感Ｓの演算式は、式（２）に限定されるものではない。同様に、テンポ揺れＷの演算式も、式（３）に限定されるものではない。
【０１５０】
また、本実施の形態では、オーディオ信号の特徴量として、テンポｔ、スピード感Ｓ、およびテンポ揺れＷを求めるようにしたが、その他、例えば、ビートなどの特徴量を求めることも可能である。
【０１５１】
次に、上述した一連の処理は、専用のハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１５２】
そこで、図１６は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１５３】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０１５４】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５５】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０１５６】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０１５７】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１５８】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【図面の簡単な説明】
【０１５９】
【図１】本発明を適用した特徴量検出装置の一実施の形態の構成例を示すブロック図である。
【図２】図１のレベル計算部と周波数分析部の詳細構成例を示している。
【図３】図１のスピード感検出部の詳細構成例を示すブロック図である。
【図４】図１のテンポ揺れ検出部の詳細構成例を示すブロック図である。
【図５】図１の特徴量検出装置が行う特徴量検出処理を説明するフローチャートである。
【図６】図５のステップＳ１３の周波数分析処理について説明するフローチャートである。
【図７】周波数分析部の周波数分析処理を、さらに説明する図である。
【図８】周波数分析部の周波数分析処理を、さらに説明する図である。
【図９】図５のステップＳ１５のスピード感検出処理を説明するフローチャートである。
【図１０】周波数分析部で得られる、１曲のオーディオ信号についての周波数成分の例を示す図である。
【図１１】周波数分析部で得られる、１曲のオーディオ信号についての周波数成分の例を示す図である。
【図１２】図５のステップＳ１６のテンポ補正処理を説明するフローチャートである。
【図１３】図５のステップＳ１７のテンポ揺れ検出処理を説明するフローチャートである。
【図１４】周波数分析部で得られる、１曲のオーディオ信号についての周波数成分の例を示す図である。
【図１５】周波数分析部で得られる、１曲のオーディオ信号についての周波数成分の例を示す図である。
【図１６】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１６０】
１  特徴量検出装置，  ２０  加算器，  ２１  レベル計算部，  ２２  周波数分析部，  ２３  特徴抽出部，  ３１  テンポ算出部，  ３２  スピード感検出部，  ３３  テンポ補正部，  ３４  テンポ揺れ検出部，  ４１  ＥＱ処理部，  ４２  レベル信号生成部，  ４３  デシメーションフィルタ部，  ４４  ダウンサンプリング部，  ４５  ＥＱ処理部，  ４６  窓処理部，  ４７  周波数変換部，  ４８  周波数成分処理部，  ４９  統計処理部，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004650662.tif 000004
【図２】
0004650662.tif 000005
【図３】
0004650662.tif 000006
【図４】
0004650662.tif 000007
【図５】
0004650662.tif 000008
【図６】
0004650662.tif 000009
【図７】
0004650662.tif 000010
【図８】
0004650662.tif 000011
【図９】
0004650662.tif 000012
【図１０】
0004650662.tif 000013
【図１１】
0004650662.tif 000014
【図１２】
0004650662.tif 000015
【図１３】
0004650662.tif 000016
【図１４】
0004650662.tif 000017
【図１５】
0004650662.tif 000018
【図１６】
0004650662.tif 000019