(57)【特許請求の範囲】
【請求項１】
音響信号の複数の区間それぞれにおいて、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する帯域幅情報算出部と、
前記帯域幅情報算出部によって算出された値が最大又は極大となる位置を検出する特徴位置検出部と
を備える音響信号分析装置。
【請求項２】
音響信号の複数の区間それぞれにおいて、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する帯域幅情報算出部と、
前記帯域幅情報算出部によって算出された値が最大又は極大となる位置を検出する特徴位置検出部と
を備える音響信号分析装置。
【請求項３】
前記帯域幅情報算出部は、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和を算出すると共に、各周波数成分の総和を基数とし、所定値を指数とする累乗値を算出し、前記積の総和を前記累乗値で除した値を用いて周波数成分の幅広さを示す時系列の値を算出する
請求項２に記載の音響信号分析装置。
【請求項４】
前記音響信号は楽曲に係る音響信号であり、
前記特徴位置検出部は、前記帯域幅情報算出部で算出された時系列の値の中で、前記楽曲の一部の区間に相当する値を対象にして、前記時系列の値が最大又は極大となる位置を検出する
請求項１から３のいずれかに記載の音響信号分析装置。
【請求項５】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する第１の算出部と、
前記音響信号に対し前記第１の期間より長い第２の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第２の値を算出する第２の算出部と、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する評価値算出部と、
前記評価値算出部によって算出された評価値が最大又は極大となる位置を検出する特徴位置検出部と
を備える音響信号分析装置。
【請求項６】
前記第１の算出部及び前記第２の算出部は、各区間において、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づきその区間の周波数成分の幅広さを示す値を算出する
請求項５に記載の音響信号分析装置。
【請求項７】
前記第１の算出部及び前記第２の算出部は、各区間において、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と、当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和を用いてその区間の周波数成分の幅広さを示す値を算出する
請求項５に記載の音響信号分析装置。
【請求項８】
前記第１の算出部及び前記第２の算出部は、各区間において、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和を算出すると共に、各周波数成分の総和を基数とし、所定値を指数とする累乗値を算出し、前記積の総和を前記累乗値で除した値を用いて周波数成分の幅広さを示す時系列の値を算出する
請求項７に記載の音響信号分析装置。
【請求項９】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する第１の算出部と、
前記音響信号に対し前記第１の期間と異なる第２の期間を有する複数の区間を設定し、それぞれの区間の音量に関する第２の値を算出する第２の算出部と、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する評価値算出部と、
前記評価値算出部によって算出された評価値が最大又は極大となる位置を検出する特徴位置検出部と
を備える音響信号分析装置。
【請求項１０】
前記第１の算出部は、各区間において、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づきその区間の周波数成分の幅広さを示す値を算出する
請求項９に記載の音響信号分析装置。
【請求項１１】
前記第１の算出部は、各区間において、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和を用いてその区間の周波数成分の幅広さを示す値を算出する
請求項９に記載の音響信号分析装置。
【請求項１２】
前記第１の算出部は、各区間において、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和を算出すると共に、各周波数成分の総和を基数とし、所定値を指数とする累乗値を算出し、前記積の総和を前記累乗値で除した値を用いて周波数成分の幅広さを示す時系列の値を算出する
請求項１１に記載の音響信号分析装置。
【請求項１３】
更に、音響信号の一拍の時間長を検出する拍時間検出部を備え、
前記第１の算出部は、前記拍時間検出部によって検出された一拍の時間長をもとに前記第１の期間を設定し、
前記第２の算出部は、前記拍時間検出部によって検出された一拍の時間長をもとに前記第２の期間を設定する
請求項５から１２のいずれかに記載の音響信号分析装置。
【請求項１４】
前記評価値算出部は、
前記第１の値と前記第２の値との加算値と、
前記第１の値に第１の係数を乗じることにより得られた値と前記第２の値に第２の係数を乗じることにより得られた値との加算値と、
前記第１の値の対数値に第３の係数を乗じることにより得られた値と前記第２の値の対数値に第４の係数を乗じることにより得られた値との加算値と
前記第１の値と前記第２の値との乗算値と、
前記第１の値を基数とし第５の係数を指数とする第１の累乗値と前記第２の値を基数とし第６の係数を指数とする第２の累乗値との乗算値と、
前記第１の累乗値に第７の係数を乗じることにより得られた値と前記第２の累乗値に第８の係数を乗じることにより得られた値との加算値と
のいずれかを用いて前記評価値を算出する
請求項５から１３のいずれかに記載の音響信号分析装置。
【請求項１５】
前記音響信号は楽曲に係る音響信号であり、
前記特徴位置検出部は、前記評価値算出部によって算出された評価値の中で、前記楽曲の一部の区間に相当する値を対象にして、前記評価値が最大又は極大となる位置を検出する
請求項５から１４のいずれかに記載の音響信号分析装置。
【請求項１６】
音響信号の複数の区間それぞれにおいて、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出するステップと、
算出された値が最大又は極大となる位置を検出するステップと
を備える音響信号分析方法。
【請求項１７】
音響信号の複数の区間それぞれにおいて、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出するステップと、
算出された値が最大又は極大となる位置を検出するステップと
を備える音響信号分析方法。
【請求項１８】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出するステップと、
前記音響信号に対し前記第１の期間より長い第２の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第２の値を算出するステップと、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出するステップと、
算出された評価値が最大又は極大となる位置を検出するステップと
を備える音響信号分析方法。
【請求項１９】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出するステップと、
前記音響信号に対し前記第１の期間と異なる第２の期間を有する複数の区間を設定し、それぞれの区間の音量に関する第２の値を算出するステップと、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出するステップと、
算出された評価値が最大又は極大となる位置を検出するステップと
を備える音響信号分析方法。
【請求項２０】
音響信号の複数の区間それぞれにおいて、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する機能と、
算出された値が最大又は極大となる位置を検出する機能と
をコンピュータに実現させるための音響信号分析プログラム。
【請求項２１】
音響信号の複数の区間それぞれにおいて、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する機能と、
算出された値が最大又は極大となる位置を検出する機能と
をコンピュータに実現させるための音響信号分析プログラム。
【請求項２２】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する機能と、
前記音響信号に対し前記第１の期間より長い第２の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第２の値を算出するステップと、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する機能と、
算出された評価値が最大又は極大となる位置を検出する機能と
をコンピュータに実現させるための音響信号分析プログラム。
【請求項２３】
音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する機能と、
前記音響信号に対し前記第１の期間と異なる第２の期間を有する複数の区間を設定し、それぞれの区間の音量に関する第２の値を算出する機能と、
前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する機能と、
算出された評価値が最大又は極大となる位置を検出する機能と
をコンピュータに実現させるための音響信号分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響信号を分析する技術に関する。
【背景技術】
【０００２】
近年、音楽データをコンピュータの記憶媒体等に大量に保存して利用することが広く行われている。それに伴って、保存した大量の音楽データそれぞれの内容を簡単に素早く把握するための技術のニーズが高まっている。その技術の一つとして、曲の聴きどころである音楽のサビや盛り上がる箇所を検出する技術が提案されている。
【０００３】
例えば特許文献１には、楽曲データの中の音量が最大である位置を検出し、その位置を含むその楽曲データの特定の部分を再生する技術が開示されている。また、特許文献２には、高帯域、中帯域、及び低帯域それぞれのフィルタの出力値の比率を用いて、楽曲の高揚感や盛り上がりの度合を検知する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８０３０４号公報
【特許文献２】特開２００３−２２８３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した従来の技術を用いると楽曲の特徴的な箇所を検出することは可能であるが、多種多様な楽曲が存在するため、上述した従来の技術を用いても、楽曲の特徴的な箇所の検出を誤ることがあり、より高い精度で楽曲の特徴的な箇所を検出することができる音響信号分析装置が望まれていた。
【０００６】
本発明は、このような問題点に鑑みなされたものであり、楽曲の特徴的な箇所を高い精度で検出することができる音響信号分析装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決し上記目的を達成するために、本発明の音響信号分析装置は、音響信号の複数の区間それぞれにおいて、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する帯域幅情報算出部と、前記帯域幅情報算出部によって算出された値が最大又は極大となる位置を検出する特徴位置検出部とを有する。
また、本発明の音響信号分析装置は、音響信号の複数の区間それぞれにおいて、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出する帯域幅情報算出部と、前記帯域幅情報算出部によって算出された値が最大又は極大となる位置を検出する特徴位置検出部とを有する。
【０００８】
また、本発明の音響信号分析装置は、音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する第１の算出部と、前記音響信号に対し前記第１の期間より長い第２の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第２の値を算出する第２の算出部と、前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する評価値算出部と、前記評価値算出部によって算出された評価値が最大又は極大となる位置を検出する特徴位置検出部とを有する。
【０００９】
また、本発明の音響信号分析装置は、音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出する第１の算出部と、前記音響信号に対し前記第１の期間と異なる第２の期間を有する複数の区間を設定し、それぞれの区間の音量に関する第２の値を算出する第２の算出部と、前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出する評価値算出部と、前記評価値算出部によって算出された評価値が最大又は極大となる位置を検出する特徴位置検出部とを有する。
【００１０】
また、本発明の音響信号分析方法は、音響信号の複数の区間それぞれにおいて、低域用の第１の閾値と高域用の第２の閾値とを用い、所定の周波数範囲に存在する各周波数成分を対象にして、前記第１の閾値以上の強度を有する最低の周波数と、前記最低の周波数より高い周波数であって、前記第２の閾値以上の強度を有する最高の周波数との差を算出し、その差に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出するステップと、算出された値が最大又は極大となる位置を検出するステップとを含む。
また、本発明の音響信号分析方法は、音響信号の複数の区間それぞれにおいて、所定の周波数範囲に存在する各周波数成分を対象にして、一の周波数成分の周波数と当該区間における平均周波数との差異が大きいほど大きな値となる重み係数を算出し、前記一の周波数成分の強度と前記重み係数との積を算出し、前記積の総和に基づき複数の区間それぞれにおける周波数成分の幅広さを示す時系列の値を算出するステップと、算出された値が最大又は極大となる位置を検出するステップとを含む。
【００１１】
また、本発明の音響信号分析方法は、音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出するステップと、前記音響信号に対し前記第１の期間より長い第２の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第２の値を算出するステップと、前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出するステップと、算出された評価値が最大又は極大となる位置を検出するステップとを含む。
【００１２】
また、本発明の音響信号分析方法は、音響信号に対し第１の期間を有する複数の区間を設定し、それぞれの区間に含まれる周波数成分の幅広さを示す第１の値を算出するステップと、前記音響信号に対し前記第１の期間と異なる第２の期間を有する複数の区間を設定し、それぞれの区間の音量に関する第２の値を算出するステップと、前記第１の値と前記第２の値とを用い、前記第１の値が大きいほど、かつその第１の値に時間的に対応する前記第２の値が大きいほど大きな値となる、時系列の評価値を算出するステップと、算出された評価値が最大又は極大となる位置を検出するステップとを含む。
【００１３】
更に、本発明の音響信号分析装置の各構成要件の機能をコンピュータに実現させるためのプログラムも、本発明の一態様である。
【発明の効果】
【００１４】
本発明は、楽曲の特徴的な箇所を高い精度で検出する音響信号分析装置等を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１の音響信号分析装置の構成を示す図である。
【図２】フレームの時間長Ｔｆ１と、フレームシフトの時間長Ｔｇ１との関係を示す図である。
【図３】実施の形態１の音響信号分析装置の第１の特徴量算出部の動作の各ステップを示すフローチャートである。
【図４】実施の形態１の音響信号分析装置の第２の特徴量算出部の動作の各ステップを示すフローチャートである。
【図５】実施の形態１の音響信号分析装置の評価値算出部の動作の各ステップを示すフローチャートである。
【図６】実施の形態１の音響信号分析装置の特徴位置検出部の動作の各ステップを示すフローチャートである。
【図７】評価値が時間の経過とともに変化する状況を示す図である。
【図８】比較的短い区間長を用いて算出され第１の特徴量Ｅ１の変化の様子を示す模式図である。
【図９】比較的長い区間長を用いて算出した第２の特徴量Ｅ２の変化の様子を示す模式図である。
【図１０】第１の特徴量と第２の特徴量の和（Ｅ１＋Ｅ２）を評価値とした場合の模式図である。
【図１１】第１の特徴量と第２の特徴量の積（Ｅ１×Ｅ２）を評価値とした場合の模式図である。
【図１２】実施の形態２の音響信号分析装置の構成を示す図である。
【図１３】実施の形態２の音響信号分析装置の拍時間検出部の動作の各ステップを示すフローチャートである。
【図１４】自己相関の例を示す図である。
【図１５】拍の時間長の存在確率の分布を示す図である。
【図１６】実施の形態３の音響信号分析装置の構成図である。
【図１７】実施の形態３の音響信号分析装置の周波数帯域データ算出部の動作の各ステップを示すフローチャートである。
【図１８】周波数スペクトルを示す図である。
【図１９】実施の形態３の音響信号分析装置の特徴位置検出部の動作の各ステップを示すフローチャートである。
【図２０】周波数帯域の幅が時間の経過とともに変化する状況を示す図である。
【図２１】実施の形態４の音響信号分析装置の構成図である。
【図２２】実施の形態４の音響信号分析装置の評価値算出部の動作の各ステップを示すフローチャートである。
【図２３】実施の形態５の音響信号分析装置の構成図である。
【図２４】実施の形態５の音響信号分析装置の音量データ算出部の動作の各ステップを示すフローチャートである。
【図２５】実施の形態６の音響信号分析装置の構成図である。
【図２６】実施の形態６の音響信号分析装置の拍時間検出部の動作の各ステップを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下に、本発明を実施するための形態を図面を参照して説明する。
【００１７】
（実施の形態１）
先ず、実施の形態１の音響信号分析装置１を図１を用いて説明する。図１は、実施の形態１の音響信号分析装置１の構成図である。実施の形態１の音響信号分析装置１は、図１に示すように、制御部１１と、取得部１２と、第１の特徴量算出部１３と、第２の特徴量算出部１４と、評価値算出部１５と、特徴位置検出部１６とを有する。
【００１８】
音響信号分析装置１は、音響信号２を取得し、特徴位置情報３を出力する。
【００１９】
音響信号２は、音楽に係る音響信号である。音響信号２はデジタル信号であってもよいし、アナログ信号であってもよい。音響信号２は、楽曲だけの信号ではなく、ラジオ又はテレビ等の音楽番組の音響信号のように、楽曲の他にＤＪ等の楽曲以外の音を含む信号であってもよい。音響信号２は音響信号分析装置１の外部に存在する。しかしながら、音響信号分析装置１に記憶部が設けられていれば、音響信号２はその記憶部に格納されて音響信号分析装置１の内部に存在していてもよい。
【００２０】
特徴位置情報３は、音響信号２の「総合的な音量」が大きい箇所を特定する情報である。その箇所は、楽曲のサビの位置又は楽曲の構成もしくは楽器の編成が大きく変化する箇所、すなわち楽曲の特徴的な箇所と一致する場合が多い。
【００２１】
音響信号分析装置１の制御部１１は、音響信号分析装置１を構成する他の各部と情報を交換して各部を制御する。
【００２２】
取得部１２は、音響信号２を取得し、取得した音響信号２から、サンプリング周期Ｔｓ（サンプリング周波数Ｆｓ＝１／Ｔｓ）でサンプリングしたＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データを生成する。取得部１２は、音響信号２がアナログ信号である場合、アナログ信号をデジタル信号に変換してＰＣＭデータを生成し、音響信号２がＰＣＭ以外のデジタル圧縮信号である場合、デジタル圧縮信号をデコードしてＰＣＭデータを生成する。また、音響信号２がデジタル信号であって、そのサンプリング周期が上記のサンプリング周期Ｔｓと異なる場合、取得部１２は、サンプリングレートを変換してサンプリング周期ＴｓのＰＣＭデータを生成する。
【００２３】
以下の説明では、取得部１２によって生成されるＰＣＭデータを、音響データｘ［ｍ］（ｍ＝０〜Ｍ−１、Ｍは音響データのサンプル総数）、又は音響データと記載する。取得部１２は、音響データの生成を終了すると、その旨を制御部１１に通知する。
【００２４】
第１の特徴量算出部１３は、取得部１２によって生成された音響データから、音量に関する第１の特徴量を算出する。第１の特徴量算出部１３は、比較的短い時間区間の音量に関する特徴量を算出する。第１の特徴量算出部１３は、フレーム単位で処理を行う。しかしながら、処理の単位はそれに限定されない。
【００２５】
以下では、第１の特徴量算出部１３によって処理される各フレームの時間長をＴｆ１とし、フレームシフトの時間長をＴｇ１とする。このとき、フレームのサンプル数Ｎ１＝Ｔｆ１／Ｔｓとなり、フレームシフトのサンプル数Ｇ１＝Ｔｇ１／Ｔｓとなる。なお、フレームシフトは、隣り合ったフレームの先頭の時間差である。隣り合ったフレームは、一部が重なっていてもよいし、重なっていなくてもよい。
【００２６】
図２を用いてフレームの時間長とフレームシフトの時間長について説明する。図２は、フレームの時間長Ｔｆ１と、フレームシフトの時間長Ｔｇ１との関係を示す図である。図２（ａ）は、隣り合ったフレームが重ならず、フレームの隙間もない場合を示す図である。図２（ｂ）は、隣合ったフレームが一部重なる場合を示す図である。この場合、Ｔｆ１＞Ｔｇ１となる。図２（ｃ）は、隣り合ったフレームの間に隙間がある場合を示す図である。この場合、Ｔｆ１＜Ｔｇ１となる。
【００２７】
第１の特徴量算出部１３は、制御部１１の指示に従って、図３のフローチャートに示す動作を開始する。図３は、第１の特徴量算出部１３の動作の各ステップを示すフローチャートである。
【００２８】
第１の特徴量算出部１３は、先ず、下記の式（１）に従って、フレームの総数Ｈ１を算出する（Ｓ１００）。
【００２９】
【数１】
0005540651.tif 000002
ｆｌｏｏｒ（  ）は、小数点以下を切り捨てた整数を返す関数である。ＭとＮ１との関係は、Ｍ＞Ｎ１である。
【００３０】
次に、第１の特徴量算出部１３は、制御変数ｉに「０」をセットする（Ｓ１１０）。
【００３１】
次に、第１の特徴量算出部１３は、ｉ番目のフレームデータを生成する（Ｓ１２０）。ｉ番目のフレームデータは、音響データｘ［ｉ×Ｇ１］から音響データｘ［ｉ×Ｇ１＋Ｎ１−１］までのデータである。なお、第１の特徴量算出部１３は、音響データｘ［ｉ×Ｇ１］から音響データｘ［ｉ×Ｇ１＋Ｎ１−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。窓関数を用いない方法は、音響データに矩形窓を掛け合わせてｉ番目のフレームデータを生成する方法と同じ方法であると言える。
【００３２】
窓関数を用いる場合、通常はフレームの中央で窓関数の係数を最大とし、フレームの先頭と末尾で窓関数の係数を最小とするが、この他の方法を用いてもよい。例えば、フレームの先頭（ｘ［ｉ×Ｇ１］）で窓関数の係数を最大とし、その後窓関数の係数を順次減少させ、フレームの末尾（ｘ［ｉ×Ｇ１＋Ｎ１−１］）で窓関数の係数を最小にするようにしてもよい。ｉ番目のフレームデータを「Ｄ１［ｉ］［ｊ］（ｊ＝０〜ＮＤ１、ただしＮＤ１＝Ｎ１−１）」と記載する。
【００３３】
次に、第１の特徴量算出部１３は、ｉ番目のフレームの第１の特徴量を、後述するいずれかの方法を用いて算出する（Ｓ１３０）。
【００３４】
次に、第１の特徴量算出部１３は、制御変数ｉの値を「１」増やす（Ｓ１４０）。
【００３５】
次に、第１の特徴量算出部１３は、制御変数ｉの値がＨ１未満であるか否かを判定する（Ｓ１５０）。第１の特徴量算出部１３は、制御変数ｉの値がＨ１未満であれば（Ｓ１５０でＹｅｓ）、ステップＳ１２０に戻ってステップＳ１４０までの処理を繰り返し、制御変数ｉの値がＨ１であれば（Ｓ１５０でＮｏ）、処理を終了する。
【００３６】
第１の特徴量算出部１３は、このようにして音量に関する第１の特徴量であるＨ１個の時系列データＥ１［ｉ］（ｉ＝０〜Ｈ１−１）を算出し、処理が終了したことを制御部１１に通知する。
【００３７】
次に、第１の特徴量算出部１３がステップＳ１３０においてｉ番目のフレームの第１の特徴量を算出する方法を説明する。
【００３８】
（１）特徴量の第１の算出方法は、音響データの振幅の絶対値を用いる方法である。具体的には、下記の式（２）に示すように、振幅の絶対値をフレームのサンプル数だけ加算した値（総和）を、ｉ番目のフレームに対応する特徴量Ｅ１［ｉ］とする。
【００３９】
【数２】
0005540651.tif 000003
なお、下記の式（３）に示すように、総和の代わりに平均値を用いてもよい。
【００４０】
【数３】
0005540651.tif 000004
（２）特徴量の第２の算出方法は、音響データの振幅の２乗を用いる方法である。具体的には、下記の式（４）に示すように、振幅の２乗の値をフレームのサンプル数だけ加算した値（総和）を、ｉ番目のフレームに対応する特徴量Ｅ１［ｉ］とする。
【００４１】
【数４】
0005540651.tif 000005
なお、下記の式（５）に示すように、総和の代わりに平均値を用いてもよい。また、式（４）又は式（５）の右辺の平方根をとった値を、ｉ番目のフレームに対応する特徴量Ｅ１［ｉ］としてもよい。第１及び第２の算出方法は、計算量が少なくなるという効果が得られる。
【００４２】
【数５】
0005540651.tif 000006
（３）特徴量の第３の算出方法は、特定の周波数成分を用いる方法である。ｉ番目のフレームデータＤ１［ｉ］［ｊ］に対して離散フーリエ変換（ＤＦＴ)を行い、出力の実数部Ｒｅ［ｋ］と虚数部Ｉｍ［ｋ］（ｋ＝０〜（Ｎ１／２））とを用いて、下記の式（６）又は式（７）式により、特徴量Ｅ１［ｉ］を算出する。
【００４３】
【数６】
0005540651.tif 000007
【数７】
0005540651.tif 000008
式（６）は、音響データの振幅スペクトルの特定の周波数成分を用いて特徴量Ｅ１［ｉ］を算出するための式であり、式（７）は、音響データのパワースペクトルの特定の周波数成分を用いて特徴量Ｅ１［ｉ］を算出するための式である。これらの式において、ＦＬは利用する周波数成分の下限を示す所定の定数であり、ＦＨは利用する周波数成分の上限を示す所定の定数であって、０≦ＦＬ≦ＦＨ≦Ｎ１／２の関係が満たされており、ＦＬとＦＨとの間の周波数成分の総和を算出して特徴量Ｅ１［ｉ］としている。ＦＬ及びＦＨは、例えば、高い周波数成分（例えば８ＫＨz以上）が除外されるように設定される。なお、下記の式（８）に示すように、周波数成分毎に定められた重み係数ｗ［ｋ］をスペクトルの周波数成分と掛け合わせて特徴量Ｅ１［ｉ］を算出してもよい。
【００４４】
第３の方法では、特定の周波数成分のみを選択する。これにより、全周波数成分を使う場合に比べて、特徴量と人間の感じる音量感との対応性が向上するという効果が得られる。特に、聴覚特性に従って周波数成分毎の重み係数ｗ［ｋ］を設定することにより、音量感に近い特徴量が得られる。
【００４５】
【数８】
0005540651.tif 000009
上述した第３の算出方法では、離散フーリエ変換（ＤＦＴ)を用いるが、これに限定される訳ではなく、ＤＦＴに代えて、例えば、デジタルフィルタやアナログフィルタを用いて特定の周波数成分を抽出してもよい。
【００４６】
（４）特徴量の第４の算出方法は、ｉ番目のフレームデータを時間的に前と後の２つの部分区間（グループ）に分け、部分区間毎に算出した音量に関する数値の差を用いる方法である。各部分区間の音量に関する数値は、上述した第１から第３の算出方法を用いて算出する。
【００４７】
一例として、特徴量の第１の算出方法を用いる場合を説明する。先ず、ｉ番目のフレームデータＤ１［ｉ］［ｊ］（ｊ＝０〜ＮＤ１）を時間的に前と後の２つの部分区間に分ける。時間的に前の部分区間１を「Ｄａ［ｉ］［ｊ］（ｊ＝０〜Ｎ１／２−１）」と記載し、時間的に後の部分区間２を「Ｄｂ［ｉ］［ｊ］（ｊ＝Ｎ１／２〜ＮＤ１）」と記載する。次に、部分区間１及び部分区間２それぞれのデータを式（２）に代入する。ただし、式（２）において、ｊ＝０〜ＮＤ１の加算の範囲は、各部分区間の開始点と終了点に変更する。時間的に前の部分区間１を式（２）に代入した結果をＥａ［ｉ］とし、時間的に後の部分区間２を式（２）に代入した結果をＥｂ［ｉ］として、それらの差を特徴量Ｅ１［ｉ］とする。すなわち、Ｅ１［ｉ］＝Ｅｂ［ｉ］−Ｅａ［ｉ］を特徴量として算出する。
【００４８】
なお、Ｅ１［ｉ］が負の値になった場合、特徴量を「０」にする処理を行ってもよい。また、上記の例では、部分区間１と部分区間２との間に隙間は存在していないが、部分区間１と部分区間２との間に隙間があってもよい。また、部分区間１の一部と部分区間２の一部は重なっていてもよい。
【００４９】
また、上述したように、ハミング窓又はガウス窓等を用いてフレームデータを作ってもよい。その際に２つの部分区間を分ける境界点と、ハミング窓又はガウス窓等の中心点（係数が最大となる箇所）を一致させた上で、差を算出してもよい。この場合、２つの部分区間の境界近い音響データほど、大きな値の重み係数で重みづけしていることになる。つまり、上記の例のようにＮ１／２番目のサンプルデータの前後で部分区間を分ける場合、境界に最も近い（Ｎ１／２−１）及びＮ１／２に相当する音響データに最も大きな係数を掛け合わせ、境界から最も遠い０及びＮＤ１に相当する音響データに最も小さい係数を掛け合わせて差を算出していることになる。
【００５０】
（５）特徴量の第５の算出方法は、隣接する２つのフレームの音量を示す数値の差を用いる方法である。フレームの音量を示す数値は、上記の第１の算出方法から第３の算出方法のいずれかで得られる特徴量である。例えば、第１の算出方法により得られる特徴量を用いる場合、ｉ−１番目のフレームに対応する音響データを式（２）に代入して得られた演算結果をＥ１’［ｉ−１］として保持するとともに、ｉ番目のフレームに対応する音響データを式（２）に代入して得られた演算結果をＥ１’［ｉ］として保持する。そして、Ｅ１’［ｉ］とＥ１’［ｉ−１］との差を算出する。すなわち、Ｅ１［ｉ］＝Ｅ１’［ｉ］−Ｅ１’［ｉ−１］を特徴量として算出する。なお、第４及び第５の算出方法を用いると、音量が急激に変化する箇所を検出し易いという効果が得られる。
【００５１】
上記の第１から第５の算出方法において、例えば特徴量の最大値が１となり、最小値が０になるように、得られたデータを正規化してもよい。
【００５２】
ここで、音楽に係る音響信号の音量の特徴について説明する。音楽に係る音響信号の音量は、個々の音符、トレモロやビブラート等の音符の装飾音、拍、小節、フレーズ、イントロやサビ等の音楽の重層的な構造と密接に関係している。このような音楽の重層的な構造において、トレモロやビブラート等の音符の装飾音や個々の音符は、非常に短い時間単位の音量変化をもたらすのに対し、イントロやサビ等の音楽の大きな構成は、非常に長い時間単位の音量変化をもたらす。実施の形態１は、トレモロやビブラート等の音符の装飾音や個々の音符が非常に短い時間単位の音量変化をもたらし、イントロやサビ等の音楽の大きな構成が非常に長い時間単位の音量変化をもたらすという従来は考慮されていなかった特徴に着目している。
【００５３】
例えば、音楽に係る音響信号の音量に関連する特徴量は、１秒の区間毎に音量を算出する場合と、１０秒の区間毎に音量を算出する場合とでは、音量が最大となる位置が全く異なることがある。従来のように１種類の区間毎に音量が最大となる位置を検出すると、サビ等の特徴箇所を誤検出することが多くなる。それに対して実施の形態１の音響信号分析装置１は、以下に述べるように２種類の異なる長さの区間についての音量に関する特徴量を算出する。
【００５４】
第１の特徴量算出部１３は、上述した重層的な構造の内で、比較的短時間の音量を検出するように、フレームの時間長Ｔｆ１を設定する。例えば、第１の特徴量算出部１３は、フレームの時間長Ｔｆ１を、ほぼ１つの音符の長さに相当する時間長に設定する。
【００５５】
例えば、音楽が４／４拍子である場合、一般的な音楽のテンポは１分間に６０拍から２４０拍程度の範囲であることが多く、１６分音符（１／４拍）から全音符（４拍）程度の音符が頻繁に使われる。その範囲の音符の時間長は、６２．５ｍｓｅｃ（テンポ２４０の時の１６分音符）から４ｓｅｃ（テンポ６０の時の全音符）の範囲になるので、第１の特徴量算出部１３は、その範囲でフレームの時間長Ｔｆ１を設定する。例えば、第１の特徴量算出部１３は、フレームの時間長Ｔｆ１として、テンポ１２０の時の４分音符に相当する５００ｍｓｅｃを設定する。
【００５６】
次に、第２の特徴量算出部１４について説明する。第２の特徴量算出部１４は、音量に関する第２の特徴量を算出する。
【００５７】
第２の特徴量算出部１４は、取得部１２によって生成された音響データから、音量に関する第２の特徴量を算出する。第２の特徴量算出部１４は、比較的長い時間区間の音量に関する特徴量を算出する。第２の特徴量算出部１４によって処理されるフレームの時間長Ｔｆ２は、第１の特徴量算出部１３によって処理されるフレームの時間長Ｔｆ１よりも長い。第２の特徴量算出部１４によって処理されるフレームのサンプル数Ｎ２は、Ｎ２＝Ｔｆ２／Ｔｓであって、第１の特徴量算出部１３によって処理されるフレームのサンプル数Ｎ１よりも多い。
【００５８】
第２の特徴量算出部１４が動作する際のフレームシフトの時間長Ｔｇ２と、第１の特徴量算出部１３が動作する際のフレームシフトの時間長Ｔｇ１とは、同じであってもよいし、異なっていてもよい。以下では、フレームシフトの時間長Ｔｇ２＝Ｑ×Ｔｇ１であり、第２の特徴量算出部１４が動作する際のフレームシフトのサンプル数Ｇ２＝Ｑ×Ｇ１である（Ｑは１以上の整数）。しかしながら、フレームシフトの時間長Ｔｇ２、及びフレームシフトのサンプル数Ｇ２は、それらに限定されない。
【００５９】
第２の特徴量算出部１４は、制御部１１の指示に従って、図４のフローチャートに示す動作を開始する。図４は、第２の特徴量算出部１４の動作の各ステップを示すフローチャートである。図４と図３とを比較すると明らかなように、第２の特徴量算出部１４は、第１の特徴量算出部１３と同様に動作する。
【００６０】
第２の特徴量算出部１４は、先ず、上記の式（１）を用いてフレームの総数Ｈ２を算出する（Ｓ２００）。すなわち、第２の特徴量算出部１４は、式（１）のＮ１をＮ２に置き換え、Ｇ１をＧ２に置き換え、Ｈ１をＨ２に置き換えて、フレームの総数Ｈ２を算出する（Ｓ２００）。ＭとＮ２との関係は、Ｍ＞Ｎ２である。第２の特徴量算出部１４が処理するフレーム総数Ｈ２は、第１の特徴量算出部１３が処理するフレーム総数Ｈ１以下である。
【００６１】
次に、第２の特徴量算出部１４は、制御変数ｉに「０」をセットする（Ｓ２１０）。
【００６２】
次に、第２の特徴量算出部１４は、ｉ番目のフレームデータを生成する（Ｓ２２０）。ｉ番目のフレームデータは、音響データｘ［ｉ×Ｇ２］から音響データｘ［ｉ×Ｇ２＋Ｎ２−１］までのデータである。なお、第２の特徴量算出部１４は、音響データｘ［ｉ×Ｇ２］から音響データｘ［ｉ×Ｇ２＋Ｎ２−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。窓関数を用いない方法は、音響データに矩形窓を掛け合わせてｉ番目のフレームデータを生成する方法と同じ方法であると言える。
【００６３】
窓関数を用いる場合、通常はフレームの中央で窓関数の係数を最大とし、フレームの先頭と末尾で窓関数の係数を最小とするが、この他の方法を用いてもよい。例えば、フレームの先頭（ｘ［ｉ×Ｇ２］）で窓関数の係数を最大とし、その後窓関数の係数を順次減少させ、フレームの末尾（ｘ［ｉ×Ｇ２＋Ｎ１−１］）で窓関数の係数を最小にするようにしてもよい。ｉ番目のフレームデータを「Ｄ２［ｉ］［ｊ］（ｊ＝０〜ＮＤ２、ただしＮＤ２＝Ｎ２−１）」と記載する。
【００６４】
第１の特徴量算出部１３が処理する（ｉ×Ｑ）番目のフレームデータの先頭Ｄ１［ｉ×Ｑ］［０］と、第２の特徴量算出部１４が処理するｉ番目のフレームデータの先頭Ｄ１［ｉ］［０］が、ともにｘ［ｉ×Ｇ２］となって一致するが、必ずしもこのようにフレームの先頭を一致させなくてもよい。例えば、フレームの中央を一致させるようにしたり、フレームの最後を一致させるようにしてもよい。
【００６５】
次に、第２の特徴量算出部１４は、ｉ番目のフレームデータの特徴量を、第１の特徴量算出部１３がｉ番目のフレームデータの特徴量を算出したようにして算出する（Ｓ２３０）。第２の特徴量算出部１４は、第１の特徴量算出部１３が用いるＮＤ１をＮＤ２に置き換え、Ｄ１をＤ２に置き換えて特徴量を算出する。
【００６６】
次に、第２の特徴量算出部１４は、制御変数ｉの値を「１」増やす（Ｓ２４０）。
【００６７】
次に、第２の特徴量算出部１４は、制御変数ｉの値がＨ２未満であるか否かを判定する（Ｓ２５０）。第２の特徴量算出部１４は、制御変数ｉの値がＨ２未満であると判定すると（Ｓ２５０でＹｅｓ）、ステップＳ２２０に戻ってステップＳ２４０までの処理を繰り返し、制御変数ｉの値がＨ２であると判定すると（Ｓ２５０でＮｏ）、処理を終了する。
【００６８】
第２の特徴量算出部１４は、上述した処理により、音量に関する特徴量であるＨ２個の時系列データＥ２［ｉ］（ｉ＝０〜Ｈ２−１）を算出し、処理が終了したことを制御部１１に通知する。
【００６９】
次に、第２の特徴量算出部１４が処理するフレームの時間長Ｔｆ２について説明する。上述したように、一般的な音楽では、様々な時間スケールを持つ重層的な構造に起因して音量が変化する。第２の特徴量算出部１４は、比較的長時間の音量を検出するように、フレームの時間長Ｔｆ２を設定する。例えば、第２の特徴量算出部１４は、フレームの時間長Ｔｆ２を、１小節以上の長さに設定する。
【００７０】
特に、音楽の聴きどころであるサビは、４から８小節程度の単位で繰り返されることが多く、サビの開始位置から４から８小節程度は音量が大きい可能性が高い。一般的な音楽のテンポは１分間に６０拍から２４０拍の範囲であることが多いので、第２の特徴量算出部１４は、フレームの時間長Ｔｆ２を４小節に相当する４秒から３２秒の範囲に設定する。例えば、第２の特徴量算出部１４は、フレームの時間長Ｔｆ２として、テンポ１２０の時の４小節に相当する８秒を設定する。
【００７１】
評価値算出部１５は、第１の特徴量算出部１３によって算出された第１の特徴量と、第２の特徴量算出部１４によって算出された第２の特徴量とを用いて、評価値を算出する。評価値算出部１５は、第１の特徴量が大きく、かつ第１の特徴量に時間的に対応する第２の特徴量が大きいほど大きな値になるように評価値を算出する。
【００７２】
制御部１１は、第１の特徴量算出部１３及び第２の特徴量算出部１４の処理の終了を検知すると、評価値算出部１５に対して動作を開始するように指示する。評価値算出部１５は、図５のフローチャートに示す動作を開始する。図５は、評価値算出部１５の動作の各ステップを示すフローチャートである。
【００７３】
評価値算出部１５は、先ず、制御変数ｉに「０」をセットする（Ｓ３００）。
【００７４】
次に、評価値算出部１５は、下記の式（９）に従って、制御変数ｊにセットする値を算出する（Ｓ３１０）。
【００７５】
【数９】
0005540651.tif 000010
ｆｌｏｏｒ（  ）は、小数点以下を切り捨てた整数を返す関数である。Ｑは、第１の特徴量算出部１３が動作する際のフレームシフト時間長に対する、第２の特徴量算出部１４が動作する際のフレームシフト時間長の倍率であり、１以上の整数である。
【００７６】
次に、評価値算出部１５は、後述する方法に従って、制御変数ｉに対応する評価値α［ｉ］を算出する（Ｓ３２０）。
【００７７】
次に、評価値算出部１５は、制御変数の値を「１」増やす（Ｓ３３０）。
【００７８】
次に、評価値算出部１５は、制御変数ｉが、Ｈ２（第２の特徴量算出部１４によって算出された特徴量の時系列データの個数）と、Ｑとの積の値（Ｑ×Ｈ２）未満であるか否かを判定する（Ｓ３４０）。評価値算出部１５は、制御変数ｉが（Ｑ×Ｈ２）未満であると判定すると（Ｓ３４０でＹｅｓ）、ステップＳ３１０に戻ってステップＳ３３０までの処理を繰り返し、制御変数ｉが（Ｑ×Ｈ２）であると判定すると（Ｓ３４０でＮｏ）、処理を終了する。
【００７９】
評価値算出部１５は、上述した処理により、（Ｑ×Ｈ２）個の時系列データである評価値α［ｉ］（ｉ＝０〜Ｑ×Ｈ２−１）を算出し、処理を終了したことを制御部１１に通知する。
【００８０】
評価値算出部１５は、以下に示すいずれかの方法により評価値α［ｉ］を算出する。
【００８１】
（１）評価値の第１の算出方法は、下記の式（１０）に示すように、第１の特徴量算出部１３によって算出された特徴量Ｅ１［ｉ］と、特徴量Ｅ１［ｉ］に時間的に対応する、第２の特徴量算出部１４によって算出された特徴量Ｅ２［ｊ］と加算する方法である。
【００８２】
【数１０】
0005540651.tif 000011
なお、特徴量Ｅ１［ｉ］と特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］とを加算した値に所定値を乗算した値を評価値としてもよい。
【００８３】
（２）評価値の第２の算出方法は、下記の式（１１）に示すように、特徴量Ｅ１［ｉ］に係数β１を乗じた値と、特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］に係数β２を乗じた値との加算値を用いる方法である。ただし、β１＞０、β２＞０である。第２の算出方法では、特徴量Ｅ１と特徴量Ｅ２に対して、各々重み付けを行なって加算していることになる。
【００８４】
【数１１】
0005540651.tif 000012
（３）評価値の第３の算出方法は、下記の式（１２）に示すように、特徴量Ｅ１［ｉ］の対数値に係数β１を乗じた値と、特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］の対数値に係数β２を乗じた値との加算値を用いる方法である。なお、第１から第３の算出方法は、Ｅ１とＥ２のどちらかが小さい箇所で、評価値をあまり小さくしたくない場合に用いる。第３の算出方法は、それに加えて、Ｅ１とＥ２のそれぞれの値の範囲が大きく異なる場合に適している。
【００８５】
【数１２】
0005540651.tif 000013
（４）評価値の第４の算出方法は、下記の式（１３）に示すように、特徴量Ｅ１［ｉ］と特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］との積を用いる方法である。なお、式（１３）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【００８６】
【数１３】
0005540651.tif 000014
（５）評価値の第５の算出方法は、下記の式（１４）に示すように、特徴量Ｅ１［ｉ］を基数としてγ１を指数とした累乗値と、特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］を基数としてγ２を指数とした累乗値との積を用いる方法である。第４及び第５の方法は、Ｅ１とＥ２のどちらかが小さければ、評価値も小さくしたい場合に用いる。第５の方法は、それに加えて、Ｅ１とＥ２の評価値への影響力に重みを付けたい場合に適している。なお、式（１４）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【００８７】
【数１４】
0005540651.tif 000015
（６）評価値の第６の算出方法は、下記の式（１５）に示すように、特徴量Ｅ１［ｉ］を基数としてγ１を指数とした累乗値と係数β１の積と、特徴量Ｅ１［ｉ］に時間的に対応する特徴量Ｅ２［ｊ］を基数としてγ２を指数とした累乗値と係数β２の積との和を用いる方法である。なお、式（１５）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【００８８】
【数１５】
0005540651.tif 000016
評価値算出部１５は、Ｅ１［ｉ］≧θ１かつＥ２［ｊ］≧θ２（θ１、θ２は所定値）の条件が成立する場合、上述した第１から第６の算出方法を用いて評価値を算出し、その条件が成立しない場合、評価値を「０」に設定してもよい。また、評価値算出部１５は、評価値α［ｉ］を計算した後に、α［ｉ］＜θ３（θ３は所定値）である場合、α［ｉ］を「０」にする処理を行ってもよい。
【００８９】
上述した方法によって算出される評価値α［ｉ］は、第１の特徴量Ｅ１［ｉ］が大きいほど、かつ第１の特徴量Ｅ１［ｉ］に時間的に対応する第２の特徴量Ｅ２［ｊ］が大きいほど大きな値となる。様々な時間スケールを持つ音楽の重層的な構造の中で、第１の特徴量の時間区間は、１音符や１拍といった時間スケールに対応しており、第２の特徴量の時間区間は、１小節以上の長さの時間スケールに対応している。サビの開始位置、曲調が大きく変わる変化点、試聴に適する位置、又は、リスナに強い印象を与える位置等の楽曲の「特徴位置」では、その先頭の音量が大きいとともに、そこから４から８小節の間は、平均的な音量が大きい場合が多いので、このような箇所の評価値は大きな値となる。従って、評価値の最大値又は極大値を検出することにより、サビの開始位置等の特徴位置を精度良く検出することができる。
【００９０】
制御部１１は、評価値算出部１５の処理が終了したことを検知すると、特徴位置検出部１６に対して動作を開始するように指示する。
【００９１】
特徴位置検出部１６は、評価値算出部１５によって算出された評価値を用いて、音響信号２におけるサビの開始位置等の特徴的な位置を検出する。
【００９２】
特徴位置検出部１６は、以下のいずれかの方法を用いて特徴位置を検出する。
【００９３】
（１）特徴位置の第１の検出方法は、評価値が最大となるフレーム（位置）を検出する方法である。評価値α［ｉ］（ｉ＝０〜Ｑ×Ｈ２−１）の中で、最大となる評価値を探し、それに対応するインデックスＩｍａｘを検出する。そして、Ｉｍａｘに対応する時間（Ｔｇ１×Ｉｍａｘ）を特徴位置とする。
【００９４】
なお、算出された評価値全部を対象に最大値を探すのではなく、最大値を探す範囲を限定してもよい。つまり、音響信号２の連続する一部分について、評価値算出部１５によって算出された評価値が最大となる位置を検出してもよい。具体的には、α［ｉ］（ｉ＝Ｈ３〜Ｈ４、ただしＨ３及びＨ４は、０≦Ｈ３＜Ｈ４＜Ｑ×Ｈ２−１、を満たす整数）を対象に最大値を探してもよい。例えば、Ｈ３＝０とし、Ｈ４を楽曲の長さの７０％程度に相当する値にする。また、楽曲の連続する一部分、例えば楽曲の７０％程度に相当する音響信号２から第１の特徴量Ｅ１及び第２の特徴量Ｅ２を算出し、これらに基づき算出される評価値αが最大となる位置を検出してもよい。このように音響信号２の連続する一部分に相当する評価値を対象に最大値を探す方法を用いると、処理量を削減することができるとともに、以下の理由により特徴位置の検出精度を改善することができる。
【００９５】
楽曲のサビは、１つの楽曲で複数回繰り返されることが多いが、演奏や歌唱のニュアンスは、毎回同じではなく、微妙に異なることが多い。すなわち、時間的に前の位置にあるサビは、後ろの位置にあるサビに比べて、完全には盛り上がっておらず、まだ少し盛り上がり度に余裕がある場合が多い。試聴用に楽曲のある一部を再生する場合を考えると、その箇所は「この曲全体を聴いてみたい」とリスナに思わせる箇所であることが望ましく、その意味で、完全に盛り上がった状態の時間的に後ろの位置のサビよりも、今後の盛り上がりに期待感を抱かせる時間的に前の位置のサビの方が、試聴用に適している。評価値の最大を検出する範囲を楽曲の前半の７０％程度に制限することにより、前の位置にあるサビが検出され易くなり、試聴用の特徴位置の検出精度が向上する。
【００９６】
また、楽曲のイントロ部分が特徴位置の検出対象に含められないように、Ｈ３に適切な正の値が設定されてもよい。なお、評価値が最大となる位置そのものを特徴位置とするのではなく、評価値が最大となる位置から所定時間だけ前の位置、又は評価値が最大となる位置より前で最大値より所定値だけ評価値が小さくなる位置を特徴位置としてもよい。これにより、サビの出だしの検出漏れを防止することができる。第１の検出方法は、楽曲の中で特徴位置を１つ検出したい場合に適する。第１の検出方法を用いると、処理量が少なくなるという効果が得られる。
【００９７】
（２）特徴位置の第２の検出方法は、図６に示すフローチャートに従って、評価値が極大となる位置を検出する方法である。図６は、特徴位置検出部１６が特徴位置の第２の検出方法を実行する動作の各ステップを示すフローチャートである。
【００９８】
特徴位置検出部１６は、先ず、制御変数ｉに初期値「Ｈ５」をセットする（Ｓ４００）。Ｈ５は、１≦Ｈ５＜Ｑ×Ｈ２−２を満たす所定の整数である。評価値算出部１５によって算出された評価値全部を対象に極大位置を探す場合、Ｈ５＝１とする。また、楽曲のイントロ等を極大位置の検出の対象に含めない場合、Ｈ５＞１とする。
【００９９】
次に、特徴位置検出部１６は、α［ｉ］が極大値であるか否かを判定する（Ｓ４１０）。この判定方法は、例えば、α［ｉ］＞α［ｉ−１］かつα［ｉ］＞α［ｉ＋１］であれば、α［ｉ］を極大値と判定する方法である。特徴位置検出部１６は、α［ｉ］が極大値であると判定すると（Ｓ４１０でＹｅｓ）、極大位置における評価値α［ｉ］と、極大位置における制御変数の値（インデックス、時間情報）ｉの情報を、特徴位置検出部１６内部の作業用メモリに格納する（Ｓ４２０）。
【０１００】
次に、特徴位置検出部１６は、制御変数ｉの値を「１」増やす（Ｓ４３０）。なお、特徴位置検出部１６は、ステップＳ４１０において、α［ｉ］が極大値ではないと判定すると（Ｓ４１０でＮｏ）、制御変数ｉの値を「１」増やす（Ｓ４３０）。
【０１０１】
次に、特徴位置検出部１６は、制御変数ｉが所定値Ｈ６以下であるか否かを判定する（Ｓ４４０）。Ｈ６は、Ｈ５＜Ｈ６＜Ｑ×Ｈ２−１を満たす所定の整数である。評価値算出部１５によって算出された評価値全部を対象に極大位置を探す場合、Ｈ６＝Ｑ×Ｈ２−２とし、上述した理由等により、楽曲の後の部分を極大位置の検出の対象から除外する場合、Ｈ６＜Ｑ×Ｈ２−２とし、例えば、楽曲の長さの７０％に相当する値にする。特徴位置検出部１６は、制御変数ｉが所定値Ｈ６以下であると判定すると（Ｓ４４０でＹｅｓ）、ステップＳ４１０に戻ってステップＳ４３０までの処理を繰り返す。
【０１０２】
特徴位置検出部１６は、制御変数ｉが所定値Ｈ６を超えたと判定すると（Ｓ４４０でＮｏ）、作業用メモリに格納されている極大値の情報のなかから、所定個数の極大位置を選択する（Ｓ４５０）。例えば、特徴位置検出部１６は、値が大きい順に所定個数の極大位置を選択する。評価値が大きい順に選択されたＰ個の極大位置（時間）をＩｐ［ｖ］（ｖ＝０〜Ｐ−１）と記載する。このとき、α［Ｉｐ［０］］≧α［Ｉｐ［１］］≧α［Ｉｐ［２］］≧．．．≧α［Ｉｐ［Ｐ−１］］である。例えば、評価値が図７に示すように時間の経過とともに変化する場合、特徴位置検出部１６は、値が最大である極大位置Ａと、値が２番目である極大位置Ｂと、値が３番目である極大位置Ｃとを選択する。
【０１０３】
なお、特徴位置検出部１６は、極大値が大きい順に所定個数の極大位置を選択する際、既に選択している極大位置と時間的に近いものを除外してもよい。例えば、特徴位置検出部１６は、既に選択した極大位置と所定の時間以上離れている極大値のみを選択する。また、特徴位置検出部１６は、音響信号２の連続する一部分について、評価値算出部１５によって算出された評価値が極大となる位置を検出してもよい。以上が特徴位置の第２の検出方法の説明である。第２の検出方法は、楽曲の中から特徴位置を複数検出したい場合に適する。
【０１０４】
特徴位置検出部１６は、このようにして検出した評価値の最大位置Ｉｍａｘ又は極大位置Ｉｐ［ｖ］（ｖ＝０〜Ｐ−１）を特徴位置情報３として音響信号分析装置１の外部に出力する。特徴位置情報３を用いて音響信号２を再生することにより、楽曲のサビ等の特徴的な箇所を再生することが可能になる。
【０１０５】
上述した実施の形態１の音響信号分析装置１は、二つの異なる区間長を用いて特徴的な箇所を検出する。以下に、その効果を図８から図１１を用いて説明する。
【０１０６】
図８は、比較的短い区間長を用いて算出された第１の特徴量Ｅ１の変化の様子を示す模式図である。図８の横軸は、フレーム番号（時間）を示す。図８において、フレーム番号８からフレーム番号１６の区間がサビの区間である。一般的には、サビの区間の音量は、他の箇所に比べて大きい傾向にある。ただし、サビの区間であっても、図８のフレーム番号１０のＸ点のように、ボーカルの切れ目等で、音量が若干下がる場合がある。また、図８のフレーム番号２のＳ点のように、打楽器が強く演奏されたり、ボーカルのシャウト等が入るような箇所では、サビの区間以外で音量が瞬間的に大きな値となる場合がある。このような場合、特徴量の最大位置を特徴位置として検出すると、実際にはサビの区間ではないＳ点をサビの区間と検出する。それは、誤検出である。
【０１０７】
図９は、比較的長い区間長を用いて算出された第２の特徴量Ｅ２の変化の様子を示す模式図である。図９のフレーム番号と図８のフレーム番号とは対応しており、同じフレーム番号の箇所は、同じ箇所を示している。図９においても、フレーム番号８からフレーム番号１６の区間がサビの区間である。図８と図９とを比較すると明らかなように、図９に示す第２の特徴量Ｅ２は、第1の特徴量Ｅ１よりなだらかに変化する。
【０１０８】
図８において値が最大であるＳ点は、図９ではあまり大きな値ではない。サビの区間において、第２の特徴量Ｅ２は大きな値をとることが多い。第２の特徴量Ｅ２は、サビの区間の先頭ではなく、サビの区間の途中で最大となることがある。図９の例では、第２の特徴量Ｅ２が最大となるのは、フレーム番号１２のＹ点である。その箇所はサビの区間に含まれているが、サビの区間の先頭（フレーム番号８）ではない。
【０１０９】
楽曲の試聴開始位置としては、サビ区間の先頭（Ｔ点）が検出されることが最も望ましいが、１種類の区間長を用いると、図８のように区間長が短くても、図９のように区間長が長くても、サビ区間の先頭を検出することができない場合がある。
【０１１０】
図１０は、第１の特徴量と第２の特徴量の和（Ｅ１＋Ｅ２）を評価値とした場合の模式図である。図１０は、図８及び図９と同じ範囲を示している。図１０では、特徴量の和（Ｅ１＋Ｅ２）は、サビの区間以外のＳ点と、サビ区間の途中のＺ点（フレーム番号１３）で比較的大きくなるものの、サビの区間の先頭のＴ点で最大となる。
【０１１１】
図１１は、第１の特徴量と第２の特徴量の積（Ｅ１×Ｅ２）を評価値とした場合の模式図である。図１１は、図８から図１０と同じ範囲を示している。図１１では、特徴量の積（Ｅ１×Ｅ２）は、サビの区間以外のＳ点と、サビの区間の途中のＹ点（フレーム番号１２）で比較的大きくなるものの、サビの区間の先頭のＴ点で最大となる。
【０１１２】
図１０及び図１１から明らかなように、区間長の異なる特徴量を組合せて評価値を算出することにより、サビの区間（サビの区間の先頭）の検出精度は向上する。そのため、実施の形態１の音響信号分析装置１は、特徴位置を精度よく検出するために、区間長の異なる特徴量を組合せて評価値を算出して特徴位置を検出する。
【０１１３】
なお、実施の形態１では、２種類の時間長の区間を用いて、２種類の特徴量を算出し、それらを用いて評価値を算出したが、これに限定される訳ではない。例えば、３種類以上の時間長の区間を用いて、３種類以上の特徴量を算出し、それらを用いて評価値を算出してもよい。
【０１１４】
（実施の形態２）
次に、実施の形態２の音響信号分析装置１を図１２を用いて説明する。図１２は、実施の形態２の音響信号分析装置１の構成図である。実施の形態２の音響信号分析装置１は、図１２に示すように、制御部１１と、取得部１２と、第１の特徴量算出部１３と、第２の特徴量算出部１４と、評価値算出部１５と、特徴位置検出部１６と、拍時間検出部１７とを有する。
【０１１５】
実施の形態２の音響信号分析装置１は、実施の形態１の音響信号分析装置１が有する構成部に加えて拍時間検出部１７を有する。その点が、実施の形態１と実施の形態２との相違点である。
【０１１６】
制御部１１は、取得部１２によって音響データが生成されたことを検知すると、第１の特徴量算出部１３及び第２の特徴量算出部１４に動作を開始するように指示する前に、拍時間検出部１７に動作を開始するように指示する。
【０１１７】
拍時間検出部１７は、フレーム単位で処理を行う。拍時間検出部１７によって処理されるフレームの時間長をＴｆ３とし、拍時間検出部１７が動作する際のフレームシフトの時間長をＴｇ３とする。拍時間検出部１７によって処理されるフレームのサンプル数Ｎ３は、Ｎ３＝Ｔｆ３／Ｔｓであり、フレームシフトのサンプル数Ｇ３は、Ｇ３＝Ｔｇ３／Ｔｓである。拍時間を精度良く算出するために、Ｔｆ３及びＴｇ３は１拍の長さよりもかなり短い時間に設定される。一般的な音楽では、テンポが６０から２４０であり、１拍の時間長が２５０ｍｓｅｃから１ｓｅｃの範囲であることが多いので、Ｔｆ３及びＴｇ３は、５ｍｓｅｃから５０ｍｓｅｃ程度の範囲の適切な値に設定される。
【０１１８】
拍時間検出部１７は、図１３に示すフローチャートに従って処理を行う。図１３は、拍時間検出部１７の動作の各ステップを示すフローチャートである。
【０１１９】
拍時間検出部１７は、先ず、式（１）を用いてフレームの総数Ｈ７を算出する（Ｓ５００）。具体的には、拍時間検出部１７は、式（１）のＮ１をＮ３に置き換え、Ｇ１をＧ３に置き換え、Ｈ１をＨ７に置き換えて、フレームの総数Ｈ７を算出する。
【０１２０】
次に、拍時間検出部１７は、制御変数ｉに「０」をセットする（Ｓ５１０）。
【０１２１】
次に、拍時間検出部１７は、ｉ番目のフレームデータを生成する（Ｓ５２０）。具体的には、拍時間検出部１７は、音響データｘ［ｉ×Ｇ３］から音響データｘ［ｉ×Ｇ３＋Ｎ３−１］をｉ番目のフレームデータとして生成する。なお、拍時間検出部１７は、音響データｘ［ｉ×Ｇ３］から音響データｘ［ｉ×Ｇ３＋Ｎ３−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。最初に述べた方法は、音響データに矩形窓を掛け合わせることによりｉ番目のフレームデータを生成する方法と同じ方法であると言える。ｉ番目のフレームデータを「Ｄ３［ｉ］［ｊ］（ｊ＝０〜ＮＤ３、ただしＮＤ３＝Ｎ３−１）」と記載する。
【０１２２】
次に、拍時間検出部１７は、ｉ番目のフレームの特徴量を算出する（Ｓ５３０）。具体的には、拍時間検出部１７は、第１の特徴量算出部１３が特徴量を算出する際に用いる第４又は第５の算出方法を用いて、特徴量を算出する。すなわち、拍時間検出部１７は、音響データの振幅又は音響データの特定の周波数成分を用いて、フレーム内又はフレーム間の差を算出し、特徴量Ｅ３［ｉ］を算出する。
【０１２３】
次に、拍時間検出部１７は、制御変数ｉの値を「１」増やす（Ｓ５４０）。
【０１２４】
次に、拍時間検出部１７は、制御変数ｉの値がＨ７未満であるか否かを判定する（Ｓ５５０）。拍時間検出部１７は、制御変数ｉの値がＨ７未満であると判定すると（Ｓ５５０でＹｅｓ）、ステップＳ５２０に戻ってステップＳ５４０までの処理を繰り返す。
【０１２５】
拍時間検出部１７は、制御変数ｉの値がＨ７であると判定すると（Ｓ５５０でＮｏ）、特徴量Ｅ３［ｉ］（ｉ＝０〜Ｈ７−１）の自己相関を算出する（Ｓ５６０）。拍時間検出部１７は、自己相関のインデックスの差Δを所定のテンポの範囲で順次変えながら、下記の式（１６）に従って自己相関Ｙ（Δ）を算出する。
【０１２６】
【数１６】
0005540651.tif 000017
Ｈ８は、０≦Ｈ８＜Ｈ９を満たす所定値であり、Ｈ９は、Ｈ８＜Ｈ９≦Ｈ７−１−Δを満たす所定値である。例えば、テンポの検出範囲が６０から２４０である場合、Ｅ３はＴｇ３の時間間隔で生成されているので、Δ＝（２５０／Ｔｇ３）から（１０００／Ｔｇ３）の範囲でΔは変えられる。Ｔｇ３は、ｍｓｅｃ単位の値である。
【０１２７】
次に、拍時間検出部１７は、自己相関Ｙ（Δ）のピーク位置を検出して、拍の時間長τを算出する（Ｓ５７０）。ステップＳ５６０において算出された自己相関Ｙ（Δ）は、図１４に示すように、いくつかのピークを持っている。拍時間検出部１７は、検出対象の最短の拍から検出対象の最長の拍の間で最大値の位置Δｍａｘを検出し、τ＝Ｔｇ３×Δｍａｘを１拍の時間長とする。なお、図１４において、「Ｐ」は検出対象の最短の拍に相当するΔであり、「Ｒ」は検出対象の最長の拍に相当するΔである。
【０１２８】
また、図１５に示すように、拍の時間長の存在確率を示す分布Ω（Δ）が用意されており、拍時間検出部１７は、自己相関Ｙ（Δ）と分布Ω（Δ）との積（Ω（Δ）Ｙ（Δ））を算出した後に、その最大値の位置を検出し、それにより一拍の時間長を検出してもよい。拍時間検出部１７は、Ω（Δ）を用いることにより、更に精度良く拍の時間長を算出することができる。なお、図１５において、「Ｐ」は検出対象の最短の拍に相当するΔであり、「Ｕ」は拍の存在確率が最大となるΔであり、「Ｒ」は検出対象の最長の拍に相当するΔである。
【０１２９】
拍時間検出部１７は、このようにして検出した拍の時間長τを制御部１１に通知する。
【０１３０】
制御部１１は、τ１＝λ１×τ、τ２＝λ２×τの２つの数値を計算する。λ１及びλ２は、λ１＜λ２を満たす、所定の係数である。
【０１３１】
そして、制御部１１は、Ｔｆ１＝τ１とするように、第１の特徴量算出部１３に指示するとともに、Ｔｆ２＝τ２とするように、第２の特徴量算出部１４に指示する。その後、制御部１１は、第１の特徴量算出部１３及び第２の特徴量算出部１４に対して動作を開始するように指示する。第１の特徴量算出部１３は、拍時間検出部１７によって検出された一拍の時間長に基づくτ１をフレームの時間長Ｔｆ１に設定し、第２の特徴量算出部１４は、拍時間検出部１７によって検出された一拍の時間長に基づくτ２をフレームの時間長Ｔｆ２に設定する。それ以降の各部の動作は、実施の形態１において説明した動作と同じである。
【０１３２】
実施の形態２の音響信号分析装置１は、音量に関する特徴量を算出する際の区間長を、その音楽の拍の時間長に基づいて設定するので、様々なジャンルやタイプの音楽に対しても、精度良く特徴位置を検出することができる。
【０１３３】
なお、上述した各実施の形態の音響信号分析装置１の各構成部の機能は、例えばコンピュータのＣＰＵ（プロセッサ）及びメモリ等のハードウェアと、その機能を実現するためのコンピュータプログラムとが協働することによって実現される。しかしながら、上記各機能は、専用の回路により実現される等、どのような形態により実現されてもよい。また、音響信号分析装置１の各構成部の機能を実現するためのコンピュータプログラムは、記録媒体に格納されてもよい。
【０１３４】
（実施の形態３）
一般的に、楽曲のサビや盛り上がる箇所といった楽曲の特徴的な箇所では、複数の楽器や歌唱が同時に演奏されることが多く、その特徴的な箇所の音響信号は、周波数帯域の幅が広いことが多い。言い換えると、特徴的な箇所の音響信号は、低域から高域までの幅広い周波数成分が含まれることが多い。実施の形態３の音響信号分析装置は、従来は考慮されていなかった上記の特徴的な箇所の音響信号の周波数帯域の性質に着目し、楽曲の特徴的な箇所を精度良く検出する。
【０１３５】
先ず、実施の形態３の音響信号分析装置１０１を図１６を用いて説明する。図１６は、実施の形態３の音響信号分析装置１０１の構成図である。実施の形態３の音響信号分析装置１０１は、図１６に示すように、制御部１１１と、取得部１１２と、周波数帯域データ算出部１１３と、平滑化部１１４と、特徴位置検出部１１５とを有する。
【０１３６】
音響信号分析装置１０１は、音響信号１０２を取得し、特徴位置情報１０３を出力する。
【０１３７】
音響信号１０２は、音楽に係る音響信号である。音響信号１０２はデジタル信号であってもよいし、アナログ信号であってもよい。音響信号１０２は、楽曲だけの信号ではなく、ラジオ又はテレビ等の音楽番組の音響信号のように、楽曲の他にＤＪ等の楽曲以外の音を含む信号であってもよい。音響信号１０２は音響信号分析装置１０１の外部に存在する。しかしながら、音響信号分析装置１０１に記憶部が設けられていれば、音響信号１０２はその記憶部に格納されて音響信号分析装置１０１の内部に存在していてもよい。
【０１３８】
特徴位置情報１０３は、音響信号１０２の周波数帯域の幅が広い箇所を特定する情報である。その箇所は、楽曲のサビの位置又は楽曲の構成もしくは楽器の編成が大きく変化する箇所、すなわち楽曲の特徴的な箇所と一致する場合が多い。
【０１３９】
音響信号分析装置１０１の制御部１１１は、音響信号分析装置１０１を構成する他の各部と情報を交換して各部を制御する。
【０１４０】
取得部１１２は、音響信号１０２を取得し、取得した音響信号１０２から、サンプリング周期Ｔｓ（サンプリング周波数Ｆｓ＝１／Ｔｓ）でサンプリングしたＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データを生成する。取得部１１２は、音響信号１０２がアナログ信号である場合、アナログ信号をデジタル信号に変換してＰＣＭデータを生成し、音響信号１０２がＰＣＭ以外のデジタル圧縮信号である場合、デジタル圧縮信号をデコードしてＰＣＭデータを生成する。また、音響信号１０２がデジタル信号であって、そのサンプリング周期が上記のサンプリング周期Ｔｓと異なる場合、取得部１１２は、サンプリングレートを変換してサンプリング周期ＴｓのＰＣＭデータを生成する。
【０１４１】
以下の説明では、取得部１１２によって生成されるＰＣＭデータを、音響データｘ［ｍ］（ｍ＝０〜Ｍ−１、Ｍは音響データのサンプル総数）、又は音響データと記載する。取得部１１２は、音響データの生成を終了すると、その旨を制御部１１１に通知する。実施の形態３では、周波数帯域データ算出部１１３、平滑化部１１４、及び、特徴位置検出部１１５は、取得部１１２が音響データの全部を生成した後に、動作を開始する。しかしながら、周波数帯域データ算出部１１３、平滑化部１１４、及び、特徴位置検出部１１５は、取得部１１２が音響データの一部を生成した後に、動作を開始してもよい。
【０１４２】
周波数帯域データ算出部１１３は、取得部１１２によって生成された音響データから、周波数帯域の幅に関する時系列データを算出する。周波数帯域データ算出部１１３は、フレーム単位で処理を行う。しかしながら、処理の単位はそれに限定されない。
【０１４３】
以下では、周波数帯域データ算出部１１３によって処理される各フレームの時間長をＴｆ１１とし、フレームシフトの時間長をＴｇ１１とする。このとき、フレームのサンプル数Ｎ１１＝Ｔｆ１１／Ｔｓとなり、フレームシフトのサンプル数Ｇ１１＝Ｔｇ１１／Ｔｓとなる。フレームシフトは、隣り合ったフレームの先頭の時間差である。隣り合ったフレームは、一部が重なっていてもよいし、重なっていなくてもよい。
【０１４４】
周波数帯域データ算出部１１３は、制御部１１１の指示に従って、図１７のフローチャートに示す動作を開始する。図１７は、周波数帯域データ算出部１１３の動作の各ステップを示すフローチャートである。
【０１４５】
周波数帯域データ算出部１１３は、先ず、下記の式（１７）に従って、フレームの総数Ｈ１１を算出する（Ｓ６００）。
【０１４６】
【数１７】
0005540651.tif 000018
ｆｌｏｏｒ（  ）は、小数点以下を切り捨てた整数を返す関数である。ＭとＮ１１との関係は、Ｍ＞Ｎ１１である。
【０１４７】
次に、周波数帯域データ算出部１１３は、制御変数ｉに「０」をセットする（Ｓ６１０）。
【０１４８】
次に、周波数帯域データ算出部１１３は、ｉ番目のフレームデータを生成する（Ｓ６２０）。ｉ番目のフレームデータは、音響データｘ［ｉ×Ｇ１１］から音響データｘ［ｉ×Ｇ１１＋Ｎ１１−１］までのデータである。なお、周波数帯域データ算出部１１３は、音響データｘ［ｉ×Ｇ１１］から音響データｘ［ｉ×Ｇ１１＋Ｎ１１−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。最初に述べた方法は、音響データに矩形窓を掛け合わせることによりｉ番目のフレームデータを生成する方法と同じ方法であると言える。ｉ番目のフレームデータを「Ｄ１１［ｉ］［ｊ］（ｊ＝０〜ＮＤ１１、ただしＮＤ１１＝Ｎ１１−１）」と記載する。
【０１４９】
次に、周波数帯域データ算出部１１３は、公知の離散フーリエ変換（ＤＦＴ）を用いて、ｉ番目のフレームデータの周波数を分析して周波数スペクトルを算出する（Ｓ６３０）。周波数スペクトルは、振幅スペクトルとパワースペクトルのいずれであってもよい。周波数スペクトルの強度は、リニア（線形）スケールにより表現されてもよいし、対数スケールにより表現されてもよい。
【０１５０】
周波数帯域データ算出部１１３は、離散フーリエ変換の代わりにウェーブレット変換、又はフィルタバンク等の方法を用いてもよい。ｉ番目のフレームの周波数スペクトルを「Ｓ［ｉ］［ｋ］（ｋ＝０〜Ｎ１１／２）」と記載する。ｋ＝０は最も周波数の低い直流成分に対応し、ｋ＝Ｎ１１／２は、最も高い周波数であるサンプリング周波数Ｆｓの半分の周波数に対応し、その間の成分は、ｋ×（Ｆｓ／Ｎ１１）周波数に対応する。なお、周波数を示す軸は、リニアスケールではなく、対数スケールであってもよい。
【０１５１】
次に、周波数帯域データ算出部１１３は、ｉ番目のフレームの周波数スペクトルの帯域幅に関する指標（周波数帯域の幅広さを示す指標）Ｅ１１［ｉ］を後述する方法を用いて算出する（Ｓ６４０）。
【０１５２】
次に、周波数帯域データ算出部１１３は、制御変数ｉの値を「１」増やす（Ｓ６５０）。
【０１５３】
次に、周波数帯域データ算出部１１３は、制御変数ｉの値がＨ１１未満であるか否かを判定する（Ｓ６６０）。周波数帯域データ算出部１１３は、制御変数ｉの値がＨ１１未満であれば（Ｓ６６０でＹｅｓ）、ステップＳ６２０に戻ってステップＳ６５０までの処理を繰り返し、制御変数ｉの値がＨ１１であれば（Ｓ６６０でＮｏ）、処理を終了する。
【０１５４】
周波数帯域データ算出部１１３は、このようにして、周波数スペクトルの帯域幅に関する、Ｈ１１個の時系列の周波数帯域データＥ１１［ｉ］（ｉ＝０〜Ｈ１１−１）を算出し、処理が終了したことを制御部１１１に通知する。
【０１５５】
次に、周波数帯域データ算出部１１３がステップＳ６４０においてｉ番目のフレームの周波数スペクトルの帯域幅に関する指標Ｅ１１［ｉ］を算出する方法を説明する。
【０１５６】
（１）帯域幅に関する指標の第１の算出方法は、周波数スペクトルにおいて、所定値以上のスペクトル強度を有する最小周波数及び最大周波数を検出し、それらの周波数の差を算出する方法である。一般的に周波数スペクトルは、図１８に示すように表現される。低域用の閾値λａと高域用の閾値λｂとを用意し、Ｓ［ｉ］［ｋ］≧λａを満たす最小のｋである周波数Ｋａと、Ｓ［ｉ］［ｋ］≧λｂを満たす最大のｋである周波数Ｋｂとを検出する。そして、周波数Ｋａと周波数Ｋｂとの差、すなわち（Ｋｂ−Ｋａ）を帯域幅とし、それを帯域幅に関する指標とする。なお、帯域幅に関する指標は、（Ｆｓ／Ｎ１１）×（Ｋｂ−Ｋａ）であってもよい。なお、第１の算出方法では、数十Ｈｚから数ＫＨｚ又は１０ＫＨｚ程度の周波数範囲で、条件を満たす最小周波数及び最大周波数を求める。最小周波数は数十Ｈｚ程度の刻み（精度）で検出し、最大周波数は数百Ｈｚ程度の刻み（精度）で検出する。
【０１５７】
（２）帯域幅に関する指標の第２の算出方法は、周波数スペクトルの形状を用いる方法である。具体的には、第２の算出方法は、周波数スペクトルの各周波数の値と所定値との差に関係する値と、その周波数の強度との積の総和（積和演算の値）を用いる方法である。より具体的には、下記の式（１８）又は式（１９）を用いて周波数スペクトルの帯域幅に関する指標Ｅ１１［ｉ］を算出する。
【０１５８】
【数１８】
0005540651.tif 000019
【数１９】
0005540651.tif 000020
式（１８）は、周波数スペクトルの各周波数の値と所定値との差の２乗値とその周波数の強度との積の総和を用いて帯域幅に関する指標Ｅ１１［ｉ］を算出するための式であり、式（１９）は、周波数スペクトルの各周波数の値と所定値との差の絶対値とその周波数の強度との積の総和を用いて帯域幅に関する指標Ｅ１１［ｉ］を算出するための式である。
【０１５９】
式（１８）及び式（１９）において、Ｋ１は処理対象の周波数の下限を示す整数であり、Ｋ２は処理対象の周波数の上限を示す整数であって、０≦Ｋ１＜Ｋ２≦（Ｎ１１／２）の関係が満たされる。ωは所定値であり、Ｋ１≦ω≦Ｋ２の関係が満たされる。ηは、０≦η≦１の範囲で設定される値である。η＝１の場合、Ｅ１１［ｉ］に周波数スペクトルの強度の情報が入らないので、帯域幅に関する純粋な指標が得られる。η＝０の場合、分母が１となりＥ１１［ｉ］は分子だけで表現されるので、周波数スペクトルの強度が加味された指標が得られる。ηの値は、０と１の中間の値、例えば０．５等であってもよい。
【０１６０】
また、式（１８）において、μは０より大きい所定値である。例えば、μ＝１、又はμ＝０．５である。また、式（１８）及び式（１９）において、ｋは周波数そのものではなく、周波数成分を識別する番号であるが、（ｋ−ω）の代わりに、周波数そのものの（ｋ×Ｆｓ／Ｎ１１−ω）が用いられてもよい。
【０１６１】
（３）帯域幅に関する指標の第３の算出方法は、周波数スペクトルの各成分の周波数と平均周波数との差に関係する値と、その成分との積の総和を用いる方法である。具体的には、先ず、下記の式（２０）に従って、平均周波数ωａを算出する。
【０１６２】
【数２０】
0005540651.tif 000021
次に、式（１８）又は式（１９）のωに、ωａを代入してＥ１１［ｉ］を算出する。第３の算出方法を用いる場合、事前にωを決定しておく必要がないので、第２の算出方法を用いる場合よりも、多様なジャンルや音楽スタイルの楽曲に対応して帯域幅に関する指標Ｅ１１を算出することができる。
【０１６３】
なお、第２及び第３の算出方法では、数十Ｈｚから数ＫＨｚ又は１０ＫＨｚ程度の周波数範囲の周波数スペクトルを算出する。周波数スペクトルの分解能は、数十Ｈｚから数百Ｈｚとする。また、周波数が等間隔（リニア）のスペクトルではなく、低域の周波数分解能が細かく、高域になるに従って分解能が粗くなるような（周波数軸上で対数的な）スペクトルを算出してもよい。また、音楽で用いられている音律（平均律等）に対応する周波数スペクトルを算出してもよい。平均律では各音階、ド、ド＃、レ、レ＃、の周波数は対数的に等間隔で並んでいる。また、第２の算出方法において、所定値ωとして、例えば、１Ｋから２ＫＨｚ程度の値を設定する。また、所定値ωとして一般的な音楽における平均的な周波数を設定してもよい。
【０１６４】
（４）帯域幅に関する指標の第４の算出方法は、隣接する２つのフレームの周波数スペクトルの帯域幅に関する数値の差を用いる方法である。帯域幅に関する数値は、上記の第１から第３の算出方法のいずれかで得られる値である。
【０１６５】
例えば、第２の算出方法によって得られた値を用いる場合、ｉ−１番目のフレームに対応する音響データを式（１８）又は式（１９）に代入した結果をＥ１１’［ｉ−１］として保持するとともに、ｉ番目のフレームに対応する音響データを式（１８）又は式（１９）に代入した結果をＥ１１’［ｉ］として保持する。そして、Ｅ１１’［ｉ］とＥ１１’［ｉ−１］との差Ｅ１１［ｉ］＝Ｅ１１’［ｉ］−Ｅ１１’［ｉ−１］を算出し、これをフレームｉの帯域幅に関する指標とする。この指標は、帯域幅そのものではなく、帯域幅の変化量である。楽曲のサビの開始位置において、帯域幅が急激に広がることが多いので、このような箇所ではこの指標の値は大きくなる。
【０１６６】
上記の帯域幅に関する指標の第１から第４の算出方法において、例えば、最大値が１になり、最小値が０になるように、得られたデータを正規化してもよい。
【０１６７】
制御部１１１は、周波数帯域データ算出部１１３の処理の終了を検知すると、平滑化部１１４に対して動作を開始するように指示する。
【０１６８】
次に、平滑化部１１４について説明する。周波数帯域データ算出部１１３によって生成された周波数帯域データＥ１１［ｉ］（ｉ＝０〜Ｈ１１−１）には、微小な変動（ノイズ）が含まれていることが多いので、平滑化部１１４は、ローパスフィルタによるフィルタリングを行うことにより、ノイズを除去する。例えば、平滑化部１１４は、下記の式（２１）を用いて、隣接する３つのフレームの周波数帯域データＥ１１に（１，２，１）の係数を掛け合わせて平滑化出力Ｅ［ｉ］（ｉ＝０〜Ｈ１１−１）を算出する。もちろんこの他の係数のローパスフィルタを用いてもよい。
【０１６９】
【数２１】
0005540651.tif 000022
なお、両側の隣接フレームデータが揃わないＥ［０］及びＥ［Ｈ１１−１］については、揃っていないデータに対する係数を「０」に設定する。このように、周波数帯域データを平滑化することにより、特徴位置検出部１１５による特徴位置の検出精度が向上する。なお、平滑化部１１４は、省略されてもよい。
【０１７０】
制御部１１１は、平滑化部１１４の処理の終了を検知すると、特徴位置検出部１１５に対して動作を開始するように指示する。
【０１７１】
特徴位置検出部１１５は、平滑化部１１４によって得られた値を用いて、音響信号１０２におけるサビの開始位置等の特徴的な位置を検出する。特徴位置を検出する方法として、以下のいずれかの方法を用いる。ただし、平滑化部１１４が省略さている場合、特徴位置検出部１１５は、周波数帯域データ算出部１１３によって算出された周波数帯域データＥ１１［ｉ］を処理する。また、以下の説明のＥ［ｉ］をＥ１１［ｉ］に置き換える。
【０１７２】
（１）特徴位置の第１の検出方法は、平滑化出力が最大となるフレーム（位置）を検出する方法である。平滑化出力Ｅ［ｉ］（ｉ＝０〜Ｈ１１−１）が最大となる位置のインデックスｉ（以下、「Ｉｍａｘ」と記載する。）を検出し、Ｉｍａｘに対応する楽曲の先頭からの時間（Ｔｇ１１×Ｉｍａｘ）を特徴位置とする。
【０１７３】
なお、平滑化出力の全部から最大値を探すのではなく、最大値を探す範囲を限定してもよい。つまり、音響信号１０２の連続する一部分について、平滑化部１１４によって得られた値が最大となる位置を検出してもよい。具体的には、Ｅ［ｉ］（ｉ＝Ｈａ〜Ｈｂ、Ｈａ及びＨｂは、０≦Ｈａ＜Ｈｂ＜Ｈ１１−１、を満たす整数）を対象に最大値を探してもよい。例えば、Ｈａ＝０とし、Ｈｂを楽曲の長さの７０％程度に相当する値に設定する。また、楽曲の連続する一部分、例えば楽曲の７０％程度に相当する音響信号１０２から周波数帯域データＥ１１を算出し、これに基づき算出される平滑化出力Ｅが最大となる位置を検出してもよい。このように音響信号１０２の連続する一部分に相当する平滑化出力を対象に最大値を探す方法を用いると、処理量を削減することができるとともに、以下の理由により特徴位置の検出精度を改善することができる。
【０１７４】
楽曲のサビは、１つの楽曲で複数回繰り返されることが多いが、演奏や歌唱のニュアンスは、毎回同じではなく、微妙に異なることが多い。すなわち、時間的に前の位置にあるサビは、後ろの位置にあるサビに比べて、完全には盛り上がっていない場合が多い。試聴用に楽曲のある一部を再生する場合を考えると、その箇所は「この曲全体を聴いてみたい」とリスナに思わせる箇所であることが望ましい。したがって、完全に盛り上がった状態の楽曲の後ろの位置のサビよりも、今後の盛り上がりに期待感を抱かせる楽曲の前の位置のサビの方が、試聴用に適している。平滑化出力の最大を検出する範囲を楽曲の前半の７０％程度に制限することにより、楽曲の前の位置にあるサビが検出され易くなり、試聴用の特徴位置の検出精度が向上する。
【０１７５】
また、楽曲のイントロ部分を特徴位置の検出対象に含めないように、Ｈａに適切な値を設定してもよい。
【０１７６】
なお、平滑化出力が最大となる位置そのものを特徴位置とするのではなく、平滑化出力が最大となる位置から所定時間だけ前の位置、又は平滑化出力が最大となる位置より前で、平滑化出力が最大値より所定値だけ小さくなる位置を特徴位置としてもよい。これにより、サビの出だしの検出漏れを防止することができる。
【０１７７】
（２）特徴位置の第２の検出方法は、図１９に示すフローチャートに従って、平滑化出力が極大となる位置を検出する方法である。図１９は、特徴位置検出部１１５が特徴位置の第２の検出方法を実行する際の動作の各ステップを示すフローチャートである。
【０１７８】
特徴位置検出部１１５は、先ず、制御変数ｉに初期値「Ｈｃ」をセットする（Ｓ７００）。Ｈｃは、１≦Ｈｃ＜Ｈ１１−１を満たす所定の整数である。平滑化出力の全部から極大位置を探す場合、Ｈｃ＝１である。楽曲のイントロ等を極大位置の検出の対象に含めない場合、Ｈｃ＞１である。
【０１７９】
次に、特徴位置検出部１１５は、Ｅ［ｉ］が極大値であるか否かを判定する（Ｓ７１０）。この判定方法は、例えば、Ｅ［ｉ］＞Ｅ［ｉ−１］かつＥ［ｉ］＞Ｅ［ｉ＋１］であれば、Ｅ［ｉ］を極大値と判定する方法である。特徴位置検出部１１５は、Ｅ［ｉ］が極大値であると判定すると（Ｓ７１０でＹｅｓ）、極大位置における平滑化出力Ｅ［ｉ］と、極大位置における制御変数の値（インデックス、時間情報）ｉとを特徴位置検出部１１５内部の作業用メモリに格納する（Ｓ７２０）。
【０１８０】
次に、特徴位置検出部１１５は、制御変数ｉの値を「１」増やす（Ｓ７３０）。なお、ステップＳ７１０において、Ｅ［ｉ］が極大値ではないと判定した場合（Ｓ７１０でＮｏ）、特徴位置検出部１１５は、ステップＳ７３０の処理を行う。
【０１８１】
次に、特徴位置検出部１１５は、制御変数ｉが所定値Ｈｄ以下であるか否かを判定する（Ｓ７４０）。Ｈｄは、Ｈｃ＜Ｈｄ＜Ｈ１１−１を満たす所定の整数である。平滑化出力の全部を対象に極大位置を探す場合、Ｈｄ＝Ｈ１１−２である。上述した理由等により、楽曲の後ろの部分を極大位置の検出の対象から除外する場合、Ｈｄ＜Ｈ１１−２とし、平滑化出力の極大値の検出範囲を、例えば、楽曲の長さの７０％に限定する。
【０１８２】
特徴位置検出部１１５は、制御変数ｉが所定値Ｈｄ以下であると判定すると（Ｓ７４０でＹｅｓ）、ステップＳ７１０に戻ってステップＳ７３０までの処理を繰り返す。
【０１８３】
特徴位置検出部１１５は、制御変数ｉが所定値Ｈｄより大きいと判定すると（Ｓ７４０でＮｏ）、作業用メモリに格納した極大値の情報の内から、所定個数の極大位置を選択する（Ｓ７５０）。具体的には、特徴位置検出部１１５は、極大値が大きい順に所定個数の極大位置を選択する。大きい順に選択されたＰ個の極大位置（時間）をＩｐ［ｖ］（ｖ＝０〜Ｐ−１）と記載する。このとき、Ｅ［Ｉｐ［０］］≧Ｅ［Ｉｐ［１］］≧Ｅ［Ｉｐ［２］］≧．．．≧Ｅ［Ｉｐ［Ｐ−１］］である。例えば、周波数帯域の幅が図２０に示すように時間の経過とともに変化する場合、特徴位置検出部１１５は、値が最大である極大位置Ａ’と、値が２番目である極大位置Ｂ’と、値が３番目である極大位置Ｃ’とを選択する。
【０１８４】
なお、特徴位置検出部１１５は、極大値が大きい順に所定個数の極大位置を選択する際、既に選択している極大位置と時間的に近いものを除外してもよい。例えば、特徴位置検出部１１５は、既に選択した極大位置と所定の時間以上離れている極大値のみを選択してもよい。また、特徴位置検出部１１５は、音響信号１０２の連続する一部分について、平滑化部１１４によって得られた値が極大となる位置を検出してもよい。以上が特徴位置の第２の検出方法の説明である。
【０１８５】
特徴位置検出部１１５は、このようにして検出した、最大位置Ｉｍａｘ又は極大位置Ｉｐ［ｖ］（ｖ＝０〜Ｐ−１）を特徴位置情報１０３として音響信号分析装置１０１の外部に出力する。特徴位置情報１０３を用いて音響信号１０２を再生することにより、サビ等の楽曲の特徴的な箇所を再生することが可能になる。
【０１８６】
上述したように、実施の形態３の音響信号分析装置１０１は、音響信号１０２を構成する各区分の周波数帯域の幅又はそれに直接関係するデータを算出し、それが最大又は極大となる区間を検出する。これにより、楽曲のサビや盛り上がる箇所等の特徴位置を精度良く検出することができる。
【０１８７】
（実施の形態４）
次に、実施の形態４の音響信号分析装置１０１を図２１を用いて説明する。図２１は、実施の形態４の音響信号分析装置１０１の構成図である。実施の形態４の音響信号分析装置１０１は、図２１に示すように、制御部１１１と、取得部１１２と、周波数帯域データ算出部１１３と、平滑化部１１４ａと、特徴位置検出部１１５と、第２の周波数帯域データ算出部１１６と、評価値算出部１１７とを有する。
【０１８８】
実施の形態４の音響信号分析装置１０１は、実施の形態３の音響信号分析装置１０１が有する各構成部に加えて、第２の周波数帯域データ算出部１１６と、評価値算出部１１７とを有する。また、実施の形態４の音響信号分析装置１０１は、実施の形態３の音響信号分析装置１０１が有する平滑化部１１４に代えて平滑化部１１４ａを有する。その点が実施の形態４と実施の形態３との相違点である。
【０１８９】
取得部１１２及び周波数帯域データ算出部１１３の動作は、実施の形態３において説明した動作と同じである。
【０１９０】
第２の周波数帯域データ算出部１１６の動作は、周波数帯域データ算出部１１３の動作とほぼ同じである。ただし、第２の周波数帯域データ算出部１１６は、周波数帯域データ算出部１１３が処理するフレームの時間長Ｔｆ１１とは異なる時間長Ｔｆ１２のフレームを処理する。以下にその理由を説明する。
【０１９１】
音楽に係る音響信号の周波数成分は、音楽を構成する個々の音符、ビブラート等の音符の装飾音、拍、小節、フレーズ、及び、イントロやサビ等の大局的な構成等の時間スケールの異なる様々な要因（音楽の重層的な構造）により変化する。このような音楽の重層的な構造において、１つの音符の装飾音は、相対的に短い時間スケールで周波数を変化させるのに対し、イントロやサビ等の大局的な構成は相対的に長い時間スケールで周波数を変化させる。
【０１９２】
例えば、サビの開始点においては、音域の異なる複数の楽器や歌唱が同時に演奏されることが多く、特に周波数帯域が広く、減衰時間の短い打楽器が演奏されることが多いため、１６分音符から２分音符に相当する比較的短い時間で周波数帯域が広がる傾向が強い。また、通常のサビは数小節以上の長さを持ち、低域パートと高域パートが両方演奏され続けることが多いため、サビの開始点から数小節に相当する比較的長い時間で周波数帯域が広い傾向がある。サビにはこのような特性があるので、時間スケールの異なる複数の周波数帯域データを算出することで、サビの検出精度を向上させることができる。
【０１９３】
第２の周波数帯域データ算出部１１６が処理するフレームの時間長Ｔｆ１２は、周波数帯域データ算出部１１３が処理するフレームの時間長Ｔｆ１１より長い。具体的には、周波数帯域データ算出部１１３は、楽曲の１音符又は１拍以下の時間長に相当するＴｆ１１のフレームを処理し、第２の周波数帯域データ算出部１１６は、１拍より長い、１小節から８小節程度の時間長に相当するＴｆ１２のフレームを処理する。例えば、Ｔｆ１１を４／４拍子でテンポが１２０の楽曲の１６分音符に相当する１２５ｍｓｅｃとし、Ｔｆ１２を１小節に相当する２ｓｅｃとする。
【０１９４】
第２の周波数帯域データ算出部１１６が動作する際のフレームシフトの時間長Ｔｇ１２と、周波数帯域データ算出部１１３が動作する際のフレームシフトの時間長Ｔｇ１１とは、同じであってもよいし、異なっていてもよい。実施の形態４では、Ｔｇ１２＝Ｑ１×Ｔｇ１１であり、第２の周波数帯域データ算出部１１６が動作する際のフレームシフトのサンプル数Ｇ１２＝Ｑ１×Ｇ１１である（Ｑ１は１以上の整数）。しかしながら、Ｔｇ１２及びＧ１２はこれに限定されない。
【０１９５】
また、第２の周波数帯域データ算出部１１６が処理するフレームの総数をＨ１２とする。
【０１９６】
このような条件の下、第２の周波数帯域データ算出部１１６は、実施の形態３の周波数帯域データ算出部１１３と同様な動作を行って、第２の周波数帯域データＥ１２［ｊ］（ｊ＝０〜Ｈ１２−１）を算出する。
【０１９７】
次に、評価値算出部１１７について説明する。評価値算出部１１７は、周波数帯域データ算出部１１３によって算出された周波数帯域データＥ１１［ｉ］と、第２の周波数帯域データ算出部１１６によって算出された第２の周波数帯域データＥ１２［ｊ］とを用いて、評価値を算出する。評価値算出部１１７は、周波数帯域データＥ１１［ｉ］と、第２の周波数帯域データＥ１２［ｊ］とを用い、Ｅ１１［ｉ］が大きく、かつＥ１１［ｉ］に時間的に対応するＥ１２［ｊ］が大きいほど大きな値になるように、評価値を算出する。
【０１９８】
制御部１１１は、周波数帯域データ算出部１１３及び第２の周波数帯域データ算出部１１６の処理の終了を検知すると、評価値算出部１１７に対して動作を開始するように指示し、評価値算出部１１７は、図２２のフローチャートに示す動作を開始する。図２２は、評価値算出部１１７の動作の各ステップを示すフローチャートである。
【０１９９】
先ず、評価値算出部１１７は、制御変数ｉに「０」をセットする（Ｓ８００）。
【０２００】
次に、評価値算出部１１７は、下記の式（２２）に従って、制御変数ｊにセットする値を算出する（Ｓ８１０）。
【０２０１】
【数２２】
0005540651.tif 000023
ｆｌｏｏｒ（  ）は、小数点以下を切り捨てた整数を返す関数である。Ｑ１は、周波数帯域データ算出部１１３が動作する際のフレームシフト時間長を基準とした、第２の周波数帯域データ算出部１１６が動作する際のフレームシフト時間長の倍率であり、１以上の整数である。
【０２０２】
次に、評価値算出部１１７は、後述する方法に従って、制御変数ｉに対応する評価値α［ｉ］を算出する（Ｓ８２０）。
【０２０３】
次に、評価値算出部１１７は、制御変数ｉの値を「１」増やす（Ｓ８３０）。
【０２０４】
次に、評価値算出部１１７は、制御変数ｉが、Ｈ１２（第２の周波数帯域データ算出部１１６が処理するフレームの総数）と、Ｑ１との積の値（Ｑ１×Ｈ１２）未満であるか否かを判定する（Ｓ８４０）。評価値算出部１１７は、制御変数ｉが（Ｑ１×Ｈ１２）未満であると判定すると（Ｓ８４０でＹｅｓ）、ステップＳ８１０に戻ってステップＳ８３０までの処理を繰り返し、制御変数ｉが（Ｑ１×Ｈ１２）であると判定すると（Ｓ８４０でＮｏ）、処理を終了する。
【０２０５】
評価値算出部１１７は、上述した処理により、（Ｑ１×Ｈ１２）個の時系列データである評価値α［ｉ］（ｉ＝０〜Ｑ１×Ｈ１２−１）を算出する。評価値算出部１１７は、処理を終了したことを制御部１１１に通知する。
【０２０６】
評価値算出部１１７は、以下に示すいずれかの方法により評価値α［ｉ］を算出する。
【０２０７】
（１）評価値の第１の算出方法は、下記の式（２３）に示すように、周波数帯域データＥ１１［ｉ］と、周波数帯域データＥ１１［ｉ］に時間的に対応する第２の周波数帯域データＥ１２［ｊ］とを加算する方法である。
【０２０８】
【数２３】
0005540651.tif 000024
なお、周波数帯域データＥ１１［ｉ］と、Ｅ１１［ｉ］に時間的に対応する第２の周波数帯域データＥ１２［ｊ］とを加算した値に所定値を乗算した値を評価値としてもよい。
【０２０９】
（２）評価値の第２の算出方法は、下記の式（２４）に示すように、Ｅ１１［ｉ］に係数β３を乗じた値と、Ｅ１１［ｉ］に時間的に対応するＥ１２［ｊ］に係数β４を乗じた値との加算値を用いる方法である。ただし、β３＞０、β４＞０である。第２の算出方法では、Ｅ１１［ｉ］とＥ１２［ｊ］に対して、各々重み付けを行なって加算していることになる。
【０２１０】
【数２４】
0005540651.tif 000025
（３）評価値の第３の算出方法は、下記の式（２５）に示すように、Ｅ１１［ｉ］の対数値に係数β３を乗じた値と、Ｅ１１［ｉ］に時間的に対応するＥ１２［ｊ］の対数値に係数β４を乗じた値との加算値を用いる方法である。なお、第１から第３の算出方法は、Ｅ１１とＥ１２のどちらかが小さい箇所で、評価値をあまり小さくしたくない場合に用いる。第３の算出方法は、それに加えて、Ｅ１１とＥ１２のそれぞれの値の範囲が大きく異なる場合に適している。
【０２１１】
【数２５】
0005540651.tif 000026
（４）評価値の第４の算出方法は、下記の式（２６）に示すように、Ｅ１１［ｉ］とＥ１１［ｉ］に時間的に対応するＥ１２［ｊ］との積を用いる方法である。なお、式（２６）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【０２１２】
【数２６】
0005540651.tif 000027
（５）評価値の第５の算出方法は、下記の式（２７）に示すように、Ｅ１１［ｉ］を基数としγ３を指数とした累乗値と、Ｅ１１［ｉ］に時間的に対応するＥ１２［ｊ］を基数としγ４を指数とした累乗値との積を用いる方法である。第４及び第５の算出方法は、Ｅ１１とＥ１２のどちらかが小さければ、評価値も小さくしたい場合に用いる。第５の算出方法は、それに加えて、Ｅ１１とＥ１２の評価値への影響力に重みを付けたい場合に適している。なお、式（２７）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【０２１３】
【数２７】
0005540651.tif 000028
（６）評価値の第６の算出方法は、下記の式（２８）に示すように、Ｅ１１［ｉ］を基数としγ３を指数とした累乗値と係数β３の積と、Ｅ１１［ｉ］に時間的に対応するＥ１２［ｊ］を基数としγ４を指数とした累乗値と係数β４の積との和を用いる方法である。なお、式（２８）の右辺にさらに所定値を乗算した値を評価値としてもよい。
【０２１４】
【数２８】
0005540651.tif 000029
なお、評価値算出部１１７は、Ｅ１１［ｉ］≧θ１かつＥ１２［ｊ］≧θ２（θ１、θ２は所定値）の条件が成立する場合、上述した第１から第６の算出方法により評価値を算出し、その条件が成立しない場合、評価値を「０」に設定してもよい。また、評価値算出部１１７は、評価値α［ｉ］を算出した後に、α［ｉ］＜θ３（θ３は所定値）である場合、α［ｉ］を「０」に設定してもよい。
【０２１５】
上述した方法によって算出される評価値α［ｉ］は、Ｅ１１［ｉ］が大きいほど、かつＥ１１［ｉ］に時間的に対応するＥ１２［ｊ］が大きいほど大きな値となる。様々な時間スケールを持つ音楽の重層的な構造の中で、Ｅ１１［ｉ］は１音符や１拍といった比較的短い時間変化を表し、Ｅ１２［ｊ］はそれより長い時間変化を表す。
【０２１６】
サビの開始位置、曲調が大きく変わる変化点、試聴に適する位置、及び、リスナに強い印象を与える位置等の楽曲の「特徴位置」では、その先頭の周波数帯域が非常に広いことが多く、そこから１から８小節程度の間でも、平均的な周波数帯域が広い場合が多いので、そのような箇所の評価値は大きな値となる。従って、評価値の最大値又は極大値を検出することにより、サビの開始位置等の特徴位置を精度良く検出することができる。
【０２１７】
制御部１１１は、評価値算出部１１７の処理の終了を検知すると、平滑化部１１４ａに対して動作を開始するように指示する。平滑化部１１４ａは、実施の形態３の平滑化部１１４と同様な動作を行う。ただし、平滑化部１１４ａは、周波数帯域データＥ１１［ｉ］（ｉ＝０〜Ｈ１１−１）の代わりに、評価値α［ｉ］（ｉ＝０〜Ｑ１×Ｈ１２−１）を対象として処理を行い、平滑化出力Ｅ［ｉ］（ｉ＝０〜Ｑ１×Ｈ１２−１）を算出する。なお、平滑化部１１４ａは省略されてもよい。また、実施の形態３と同様に、周波数帯域データ算出部１１３の後に平滑化部１１４を設けて周波数帯域データを平滑化してもよい。更に、第２の周波数帯域データを平滑化してもよい。
【０２１８】
制御部１１１は、平滑化部１１４ａの処理の終了を検知すると、特徴位置検出部１１５に対して動作を開始するように指示する。特徴位置検出部１１５は、実施の形態３において説明した処理と同様な処理を行って、特徴位置情報１０３を音響信号分析装置１０１の外部に出力する。
【０２１９】
上述したように、実施の形態４の音響信号分析装置１０１は、音楽の重層的な構造に起因する異なる時間スケールでの周波数帯域の変化を精度よく検出するために、時間長の異なる２つの時間区間を用いて２種類の周波数帯域データを算出し、それらを組合せて評価値を算出する。これにより、時間的なスケールが異なる周波数帯域の変化がある場合でも、サビの位置等の特徴位置を精度良く検出することができる。
【０２２０】
（実施の形態５）
次に、実施の形態５の音響信号分析装置１０１を図２３を用いて説明する。図２３は、実施の形態５の音響信号分析装置１０１の構成図である。実施の形態５の音響信号分析装置１０１は、図２３に示すように、制御部１１１と、取得部１１２と、周波数帯域データ算出部１１３と、平滑化部１１４ａと、特徴位置検出部１１５と、評価値算出部１１７ａと、音量データ算出部１１８とを有する。
【０２２１】
実施の形態５の音響信号分析装置１０１は、実施の形態４の音響信号分析装置１０１が有する第２の周波数帯域データ算出部１１６の代わりに音量データ算出部１１８を有する。また、実施の形態５の音響信号分析装置１０１は、実施の形態４の音響信号分析装置１０１が有する評価値算出部１１７に代えて評価値算出部１１７ａを有する。その点が、実施の形態５と実施の形態４の相違点である。
【０２２２】
取得部１１２及び周波数帯域データ算出部１１３の動作は、実施の形態３において説明した動作と同じである。
【０２２３】
音量データ算出部１１８は、所定の時間区間毎に音量に関するデータを算出する。音量データ算出部１１８が処理するフレームの時間長Ｔｆ１３と、周波数帯域データ算出部１１３が処理するフレームの時間長Ｔｆ１１とは、同じであってもよいし、異なっていてもよい。実施の形態５では、Ｔｆ１３＞Ｔｆ１１とするが、これに限定されない。この場合、音量データ算出部１１８が処理するフレームのサンプル数Ｎ１３は、Ｎ１３＝Ｔｆ１３／Ｔｓであるので、周波数帯域データ算出部１１３が処理するフレームのサンプル数Ｎ１１よりも多い。
【０２２４】
実施の形態４において説明したように、音楽に係る音響信号の周波数成分は、時間スケールの異なる様々な要因（音楽の重層的な構造）により変化するが、音量についても同様なことが言える。
【０２２５】
例えば、楽曲のサビの開始点おいては、複数の楽器や歌唱が同時に演奏されることに加え、個々の楽器が「強く（フォルテで）」演奏されることが多いため、１６分音符から２分音符に相当する比較的短い時間区間で周波数帯域が広がり、かつ音量が大きくなる傾向が強い。また、通常のサビは数小節以上の長さを持ち、低域パートと高域パートの両方が演奏され続けることが多いため、サビの開始点から数小節に相当する比較的長い時間で周波数帯域が広く、かつ音量が大きい傾向がある。サビにはこのような特性があるので、異なる時間スケールを持つ周波数帯域データと音量データとを組み合せることにより、サビ等の特徴位置の検出精度を向上させることができる。
【０２２６】
Ｔｆ１１を１６分音符から２分音符程度以下の長さに設定し、Ｔｆ１３を１小節から８小節程度の時間長に設定する。例えば、Ｔｆ１１を４／４拍子でテンポが１２０の楽曲の１６分音符に相当する１２５ｍｓｅｃとし、Ｔｆ１３を４小節に相当する８ｓｅｃとする。
【０２２７】
音量データ算出部１１８が動作する際のフレームシフトの時間長Ｔｇ１３と、周波数帯域データ算出部１１３が動作する際のフレームシフトの時間長Ｔｇ１１とは、同じであってもよいし、異なっていてもよい。実施の形態５では、Ｔｇ１３は、Ｔｇ１３＝Ｒ１×Ｔｇ１１であり、音量データ算出部１１８が動作する際のフレームシフトのサンプル数Ｇ１３は、Ｇ１３＝Ｒ１×Ｇ１１（Ｒ１は１以上の整数）である。しかしながら、Ｔｇ１３及びＧ１３はこれに限定されない。
【０２２８】
音量データ算出部１１８は、制御部１１１の指示に従って、図２４のフローチャートに示す動作を開始する。図２４は、音量データ算出部１１８の動作の各ステップを示すフローチャートである。
【０２２９】
先ず、音量データ算出部１１８は、式（１７）を用いてフレームの総数Ｈ１３を算出する（Ｓ９００）。すなわち、音量データ算出部１１８は、式（１７）のＮ１１をＮ１３に置き換え、Ｇ１１をＧ１３に置き換え、Ｈ１１をＨ１３に置き換えて、フレームの総数Ｈ１３を算出する。実施の形態５では、Ｍ＞Ｎ１３である。音量データ算出部１１８が処理するフレーム総数Ｈ１３は、周波数帯域データ算出部１１３が処理するフレーム総数Ｈ１１以下である。
【０２３０】
次に、音量データ算出部１１８は、制御変数ｉに「０」をセットする（Ｓ９１０）。
【０２３１】
次に、音量データ算出部１１８は、ｉ番目のフレームデータを生成する（Ｓ９２０）。具体的には、音量データ算出部１１８は、音響データｘ［ｉ×Ｇ１３］から音響データｘ［ｉ×Ｇ１３＋Ｎ１３−１］をｉ番目のフレームデータとして生成する。なお、音量データ算出部１１８は、音響データｘ［ｉ×Ｇ１３］から音響データｘ［ｉ×Ｇ１３＋Ｎ１３−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、例えば、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。最初に述べた方法は、音響データに矩形窓を掛け合わせることによりｉ番目のフレームデータを生成する方法と同じ方法であると言える。
【０２３２】
ところで、窓関数を用いる場合、通常はフレームの中央で窓関数の係数を最大とし、フレームの先頭と末尾で窓関数の係数を最小とするが、この他の方法を用いてもよい。例えば、音量データ算出部１１８は、フレームの先頭（ｘ［ｉ×Ｇ１３］）で窓関数の係数を最大とし、その後窓関数の係数を順次減少させ、フレームの末尾（ｘ［ｉ×Ｇ１３＋Ｎ１３−１］）で窓関数の係数が最小となるようにしてもよい。ｉ番目のフレームデータを「Ｄ１３［ｉ］［ｊ］（ｊ＝０〜ＮＤ１３、ただしＮＤ１３＝Ｎ１３−１）」と記載する。
【０２３３】
周波数帯域データ算出部１１３が処理するｉ×Ｒ１番目のフレームデータの先頭Ｄ１１［ｉ×Ｒ１］［０］と、音量データ算出部１１８が処理するｉ番目のフレームデータの先頭Ｄ１３［ｉ］［０］が、ともにｘ［ｉ×Ｇ１３］となって一致するが、必ずしもこのようにフレームの先頭を一致させなくてもよい。例えば、フレームの中央を一致させるようにしたり、フレームの最後を一致させるようにしてもよい。
【０２３４】
次に、音量データ算出部１１８は、ｉ番目のフレームデータを使って、後述する方法に従って音量データを算出する（Ｓ９３０）。
【０２３５】
次に、音量データ算出部１１８は、制御変数ｉの値を「１」増やす（Ｓ９４０）。
【０２３６】
次に、音量データ算出部１１８は、制御変数ｉの値がＨ１３未満であるか否かを判定する（Ｓ９５０）。音量データ算出部１１８は、制御変数ｉの値がＨ１３未満であると判定すると（Ｓ９５０でＹｅｓ）、ステップＳ９２０に戻ってステップＳ９４０までの処理を繰り返し、制御変数ｉの値がＨ１３であると判定すると（Ｓ９５０でＮｏ）、処理を終了する。
【０２３７】
音量データ算出部１１８は、上述した処理により、Ｈ１３個の音量データＥ１３[ｉ］（ｉ＝０〜Ｈ１３−１）を算出し、処理が終了したことを制御部１１１に通知する。
【０２３８】
次に、音量データ算出部１１８がステップＳ９３０において行う処理の詳細を説明する。
【０２３９】
（１）音量データの第１の算出方法は、音響データの振幅の絶対値を用いる方法である。具体的には、下記の式（２９）に示すように、振幅の絶対値をフレームのサンプル数だけ加算した値（総和）をｉ番目のフレームに対応する音量データとする。
【０２４０】
【数２９】
0005540651.tif 000030
なお、下記の式（３０）に示すように、総和の代わりに平均値を用いてｉ番目のフレームに対応する音量データを算出してもよい。
【０２４１】
【数３０】
0005540651.tif 000031
（２）音量データの第２の算出方法は、音響データの振幅の２乗を用いる方法である。具体的には、下記の式（３１）に示すように、振幅の２乗の値をフレームのサンプル数だけ加算した値（総和）をｉ番目のフレームに対応する音量データとする。
【０２４２】
【数３１】
0005540651.tif 000032
なお、下記の式（３２）に示すように、総和の代わりに平均値を用いてｉ番目のフレームに対応する音量データを算出してもよい。また、式（３１）又は式（３２）の右辺の平方根をとった値をｉ番目のフレームに対応する音量データＥ１３［ｉ］としてもよい。
【０２４３】
【数３２】
0005540651.tif 000033
（３）音量データの第３の算出方法は、所定の範囲の周波数成分を用いる方法である。ｉ番目のフレームデータＤ１３［ｉ］［ｊ］に対して、離散フーリエ変換（ＤＦＴ)を行い、周波数スペクトルＳ１３［ｉ］［ｋ］（ｋ＝０〜Ｎ１３／２）を算出する。周波数スペクトルは、振幅スペクトルとパワースペクトルのいずれでもよい。そして、所定の範囲の各周波数の強度の総和をＥ１３［ｉ］とする。
【０２４４】
（４）音量データの第４の算出方法は、隣接する２つのフレームの音量を示す数値の差を用いる方法である。フレームの音量を示す数値は、上述した第１から第３のいずれかの算出方法により得られる値である。例えば、第１の算出方法によって得られた値を用いる場合、ｉ−１番目のフレームに対応する音響データを式（２９）に代入したときの演算結果をＥ１３’［ｉ−１］として保持するとともに、ｉ番目のフレームに対応する音響データを式（２９）に代入したときの演算結果をＥ１３’［ｉ］として保持する。そして、Ｅ１３’［ｉ］とＥ１３’［ｉ−１］との差Ｅ１３［ｉ］＝Ｅ１３’［ｉ］−Ｅ１３’［ｉ−１］を、音量データとして算出する。この方法は、音量の変化量を算出する方法である。
【０２４５】
上述した第１から第４の算出方法において、例えば、音量データの最大値が１となり、最小値が０になるように、得られたデータを正規化してもよい。
【０２４６】
制御部１１１は、周波数帯域データ算出部１１３及び音量データ算出部１１８の処理の終了を検知すると、評価値算出部１１７ａに対して動作を開始するように指示する。評価値算出部１１７ａは、実施の形態４の評価値算出部１１７と同様な動作を行う。ただし、実施の形態４では、評価値算出部１１７は、周波数帯域データＥ１１と第２の周波数帯域データＥ１２とを用いて評価値を算出したが、実施の形態５では、評価値算出部１１７ａは、周波数帯域データＥ１１と音量データＥ１３とを用いて評価値αを算出する。
【０２４７】
制御部１１１は、評価値算出部１１７ａの処理の終了を検知すると、平滑化部１１４ａに対して動作を開始するように指示する。平滑化部１１４ａは実施の形態４と同じ動作を行う。
【０２４８】
制御部１１１は、平滑化部１１４ａの処理の終了を検知すると、特徴位置検出部１１５に対して動作を開始するように指示する。特徴位置検出部１１５は、実施の形態３において説明した動作と同じ動作を行って、特徴位置情報１０３を音響信号分析装置１０１の外部に出力する。
【０２４９】
上述したように、実施の形態５の音響信号分析装置１０１は、音楽の重層的な構造に起因する異なる時間スケールでの周波数帯域の変化と音量変化とを精度良く検出するために、時間長の異なる２つの時間区間を用いて周波数帯域データと音量データとを算出し、それらを組合せて評価値を算出する。このため、更に精度良く特徴位置を検出することができる。
【０２５０】
（実施の形態６）
次に、実施の形態６の音響信号分析装置１０１を図２５を用いて説明する。図２５は、実施の形態６の音響信号分析装置１０１の構成図である。実施の形態６の音響信号分析装置１０１は、図２５に示すように、制御部１１１と、取得部１１２と、周波数帯域データ算出部１１３と、平滑化部１１４ａと、特徴位置検出部１１５と、第２の周波数帯域データ算出部１１６と、評価値算出部１１７と、拍時間検出部１１９とを有する。
【０２５１】
実施の形態６音響信号分析装置１０１は、実施の形態４の音響信号分析装置１０１が有する構成部に加えて拍時間検出部１１９を有している。その点が、実施の形態６と実施の形態４の相違点である。
【０２５２】
制御部１１１は、取得部１１２によって音響データが生成されたことを検知すると、周波数帯域データ算出部１１３及び第２の周波数帯域データ算出部１１６に動作を開始するように指示する前に、拍時間検出部１１９に動作を開始するように指示する。
【０２５３】
拍時間検出部１１９は、フレーム単位で処理を行う。拍時間検出部１１９が処理するフレームの時間長をＴｆ１４とし、拍時間検出部１１９が動作する際のフレームシフトの時間長をＴｇ１４とする。拍時間検出部１１９が処理するフレームのサンプル数Ｎ１４は、Ｎ１４＝Ｔｆ１４／Ｔｓであり、フレームシフトのサンプル数Ｇ１４は、Ｇ１４＝Ｔｇ１４／Ｔｓである。拍時間を精度良く算出するために、Ｔｆ１４及びＴｇ１４は１拍の長さよりもかなり短い時間に設定される。一般的な音楽では、テンポが６０から２４０であり、１拍の時間長が２５０ｍｓｅｃから１ｓｅｃの範囲であることが多いので、Ｔｆ１４及びＴｇ１４は、５ｍｓｅｃから５０ｍｓｅｃ程度の適切な値に設定される。
【０２５４】
拍時間検出部１１９は、図２６に示すフローチャートに従って処理を行う。図２６は、拍時間検出部１１９の動作の各ステップを示すフローチャートである。
【０２５５】
拍時間検出部１１９は、先ず、式（１７）を用いてフレームの総数Ｈ１４を算出する（Ｓ１０００）。具体的には、拍時間検出部１１９は、式（１７）のＮ１１をＮ１４に置き換え、Ｇ１１をＧ１４に置き換え、Ｈ１１をＨ１４に置き換えて、フレームの総数Ｈ１４を算出する。
【０２５６】
次に、拍時間検出部１１９は、制御変数ｉに「０」をセットする（Ｓ１０１０）。
【０２５７】
次に、拍時間検出部１１９は、ｉ番目のフレームデータを生成する（Ｓ１０２０）。具体的には、拍時間検出部１１９は、音響データｘ［ｉ×Ｇ１４］から音響データｘ［ｉ×Ｇ１４＋Ｎ１４−１］をｉ番目のフレームデータとして生成する。なお、拍時間検出部１１９は、音響データｘ［ｉ×Ｇ１４］から音響データｘ［ｉ×Ｇ１４＋Ｎ１−１］までのデータに窓関数を掛け合わせた値をｉ番目のフレームデータとして生成してもよい。窓関数は、例えば、ハミング窓関数、ハニング窓関数、ブラックマン窓関数、又は、ガウス窓関数等である。最初に述べた方法は、音響データに矩形窓を掛け合わせることによりｉ番目のフレームデータを生成する方法と同じ方法であると言える。ｉ番目のフレームデータを「Ｄ１４［ｉ］［ｊ］（ｊ＝０〜ＮＤ１４、ただしＮＤ１４＝Ｎ１４−１）」と記載する。
【０２５８】
次に、拍時間検出部１１９は、ｉ番目のフレームに対応する音量の変化量を算出する（Ｓ１０３０）。具体的には、拍時間検出部１１９は、実施の形態５の音量データ算出部１１８が用いる音量データの第４の算出方法を用いて、音量の変化量Ｅ１４［ｉ］を算出する。
【０２５９】
次に、拍時間検出部１１９は、制御変数ｉの値を「１」増やす（Ｓ１０４０）。
【０２６０】
次に、拍時間検出部１１９は、制御変数ｉの値がＨ１４未満であるか否かを判定する（Ｓ１０５０）。拍時間検出部１１９は、制御変数ｉの値がＨ１４未満であると判定すると（Ｓ１０５０でＹｅｓ）、ステップＳ１０２０に戻ってステップＳ１０４０までの処理を繰り返す。
【０２６１】
拍時間検出部１１９は、制御変数ｉの値がＨ１４であると判定すると（Ｓ１０５０でＮｏ）、音量の変化量Ｅ１４［ｉ］（ｉ＝０〜Ｈ１４−１）の自己相関を算出する（Ｓ１０６０）。拍時間検出部１１９は、自己相関のインデックスの差Δを所定のテンポの範囲で順次変えながら、下記の式（３３）に従って自己相関Ｙ（Δ）を算出する。
【０２６２】
【数３３】
0005540651.tif 000034
式（３３）において、Ｈｅ及びＨｆは、０≦Ｈｅ＜Ｈｆ≦Ｈ１４−１−Δ、を満たす所定の整数である。例えば、テンポの検出範囲が６０から２４０（１拍の時間２５０ｍｓｅｃから１０００ｍｓｅｃ）である場合、Ｅ１４はＴｇ１４の時間間隔で生成されているので、Δ＝（２５０／Ｔｇ１４）から（１０００／Ｔｇ１４）の範囲でΔは変えられる。Ｔｇ１４は、ｍｓｅｃ単位の値である。
【０２６３】
次に、拍時間検出部１１９は、自己相関Ｙ（Δ）のピーク位置を検出して、拍の時間長τを算出する（Ｓ１０７０）。ステップＳ１０６０において算出された自己相関Ｙ（Δ）は、図１４に示すように、いくつかのピークを持っている。拍時間検出部１１９は、検出対象の最短の拍から検出対象の最長の拍の間で最大値の位置Δｍａｘを検出し、τ＝Ｔｇ１４×Δｍａｘを１拍の時間長とする。なお、図１４において、「Ｐ」は検出対象の最短の拍に相当するΔであり、「Ｒ」は検出対象の最長の拍に相当するΔである。
【０２６４】
また、図１５に示すように、拍の時間長の存在確率を示す分布Ω（Δ）が用意されており、拍時間検出部１１９は、自己相関Ｙ（Δ）と分布Ω（Δ）との積（Ω（Δ）Ｙ（Δ））を算出した後に、その最大値の位置を検出し、それにより１拍の時間長を検出してもよい。拍時間検出部１１９は、Ω（Δ）を用いることにより、更に精度良く拍の時間長を算出することができる。なお、図１５において、「Ｐ」は検出対象の最短の拍に相当するΔであり、「Ｕ」は拍の存在確率が最大となるΔであり、「Ｒ」は検出対象の最長の拍に相当するΔである。
【０２６５】
拍時間検出部１１９は、このようにして検出した拍の時間長τを制御部１１１に通知する。
【０２６６】
制御部１１１は、τ１１＝λ１１×τ、τ１２＝λ１２×τの２つの数値を算出する。λ１１及びλ１２は、λ１１＜λ１２を満たす、所定の係数である。例えば、λ１１は「０．２５」から「１」の値であり、λ１２は「４」から「８」程度の値である。
【０２６７】
そして、制御部１１１は、Ｔｆ１１＝τ１１とするように、周波数帯域データ算出部１１３に指示するとともに、Ｔｆ１２＝τ１２とするように、第２の周波数帯域データ算出部１１６に指示する。その後、制御部１１１は、周波数帯域データ算出部１１３及び第２の周波数帯域データ算出部１１６に対して動作を開始するように指示する。周波数帯域データ算出部１１３は、拍時間検出部１１９によって検出された一拍の時間長に基づくτ１１をフレームの時間長Ｔｆ１１に設定し、第２の周波数帯域データ算出部１１６は、拍時間検出部１１９によって検出された一拍の時間長に基づくτ１２をフレームの時間長Ｔｆ１２に設定する。それ以降の各部の動作は、実施の形態４において説明した動作と同じである。
【０２６８】
楽曲の１拍の時間長は、音楽のジャンルやスタイルによって異なるため、周波数帯域データや音量データを算出する際の最適な区間長も、音楽のジャンルやスタイルによって異なり、全てのジャンルの音楽に対して最適な区間長を予め決めておくことは難しい。実施の形態６の音響信号分析装置１０１は、１拍の時間長を検出し、それに基づいて周波数帯域データ及び第２の周波数帯域データを算出する際の区間長を設定する。これにより、様々なジャンルやタイプの音楽に対して、精度良く特徴位置を検出することができる。
【０２６９】
なお、実施の形態５において説明した音量データ算出部１１８も、拍の時間長に基づいてＴｆ１３を設定してもよい。
【０２７０】
また、上述した実施の形態１から実施の形態６の各方法を組合せてもよい。例えば、実施の形態４の方法と実施の形態５の方法とを組合せて、周波数帯域データと、第２の周波数帯域データと、音量データとを算出し、それら３つを用いて評価値を算出してもよい。また、実施の形態１の方法と実施の形態４の方法とを組合せて、音量に関する第１の特徴量と、音量に関する第２の特徴量と、周波数帯域データと、第２の周波数帯域データとを算出し、それら４つを用いて評価値を算出してもよい。更に、３種類以上の周波数帯域データを算出してもよい。このように、異なる種類の特徴量（音量に関する特徴量も、周波数帯域に関するデータも含む）を組合せて評価値を算出することにより、多種多様な楽曲に対して、楽曲の特徴的な箇所を更に精度良く検出することができる。
【０２７１】
更に、上述した各実施の形態の音響信号分析装置１０１の各構成部の機能は、例えばコンピュータのＣＰＵ（プロセッサ）及びメモリ等のハードウェアと、その機能を実現するためのコンピュータプログラムとが協働することによって実現される。しかしながら、上記各機能は、専用の回路により実現される等、どのような形態により実現されてもよい。また、音響信号分析装置１０１の各構成部の機能を実現するためのコンピュータプログラムは、記録媒体に格納されてもよい。
【符号の説明】
【０２７２】
１  音響信号分析装置、  ２  音響信号、  ３  特徴位置情報、  １１  制御部、  １２  取得部、  １３  第１の特徴量算出部、  １４  第２の特徴量算出部、  １５  評価値算出部、  １６  特徴位置検出部、  １７  拍時間検出部、  １０１  音響信号分析装置、  １０２  音響信号、  １０３  特徴位置情報、  １１１  制御部、  １１２  取得部、  １１３  周波数帯域データ算出部、  １１４  平滑化部、  １１４ａ  平滑化部、  １１５  特徴位置検出部、  １１６  第２の周波数帯域データ算出部、  １１７  評価値算出部、  １１７ａ  評価値算出部、  １１８  音量データ算出部、  １１９  拍時間検出部。
【図１】
0005540651.tif 000035
【図２】
0005540651.tif 000036
【図３】
0005540651.tif 000037
【図４】
0005540651.tif 000038
【図５】
0005540651.tif 000039
【図６】
0005540651.tif 000040
【図７】
0005540651.tif 000041
【図８】
0005540651.tif 000042
【図９】
0005540651.tif 000043
【図１０】
0005540651.tif 000044
【図１１】
0005540651.tif 000045
【図１２】
0005540651.tif 000046
【図１３】
0005540651.tif 000047
【図１４】
0005540651.tif 000048
【図１５】
0005540651.tif 000049
【図１６】
0005540651.tif 000050
【図１７】
0005540651.tif 000051
【図１８】
0005540651.tif 000052
【図１９】
0005540651.tif 000053
【図２０】
0005540651.tif 000054
【図２１】
0005540651.tif 000055
【図２２】
0005540651.tif 000056
【図２３】
0005540651.tif 000057
【図２４】
0005540651.tif 000058
【図２５】
0005540651.tif 000059
【図２６】
0005540651.tif 000060