音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラム
【課題】音響信号の特性のばらつきや音楽の種類による影響を低く抑えて、音楽区間を精度良く検出する。
【解決手段】音響信号2を周波数分析して単位時間毎の所定周波数の成分強度を要素とする周波数成分c[i][q]を作成し、各要素について、閾値α[q]以上であるか、各要素の近傍の要素の値に基づき算出された値よりも大きいか、各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出し、第1の区間H毎に同一周波数のピーク要素の個数を計数し、この計数結果が所定数以上である場合に、第1の区間Hにおける同一周波数を音程領域として検出し、第1の区間H以上の時間長の第2の区間J毎に音程領域の個数を計数し、この計数結果が所定数以上である場合に、第2の区間Jを音楽区間として検出するようにした。
【解決手段】音響信号2を周波数分析して単位時間毎の所定周波数の成分強度を要素とする周波数成分c[i][q]を作成し、各要素について、閾値α[q]以上であるか、各要素の近傍の要素の値に基づき算出された値よりも大きいか、各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出し、第1の区間H毎に同一周波数のピーク要素の個数を計数し、この計数結果が所定数以上である場合に、第1の区間Hにおける同一周波数を音程領域として検出し、第1の区間H以上の時間長の第2の区間J毎に音程領域の個数を計数し、この計数結果が所定数以上である場合に、第2の区間Jを音楽区間として検出するようにした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号を分析して音楽が含まれる信号区間を音楽区間として検出するための音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラムに関する。
【背景技術】
【0002】
近年、動画や音声等のコンテンツをハードディスク、DVD、メモリ等の記録媒体に記録することが広く行われている。そして、これら記録媒体の大容量化に伴い、長時間記録されたコンテンツから所望の記録区間だけを読み出して視聴する機能や、再生時間を短縮して視聴する機能へのニーズが高まっている。このような状況において、コンテンツをその内容に応じて小区間に分割するための各種情報を抽出したり、コンテンツの中で音楽が含まれる信号区間だけを識別したりする技術が開発されている。
【0003】
具体的には、映像信号に含まれる音情報を解析し、スペクトルにおける時間方向の安定性を用いて音楽区間を識別する方法が知られている(例えば、特許文献1,2を参照)。また、音声のサブバンドデータの平均バンドエネルギー比やサブバンドエネルギー重心を用いて、音楽区間と音声区間とを識別する方法も知られている(例えば、特許文献3,4を参照)。
【特許文献1】特開平10−187182号公報
【特許文献2】特開2000−315094号公報
【特許文献3】特開平10−247093号公報
【特許文献4】特開2000−66691号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1,2においては、スペクトログラムのエッジ強度の総和が、予め設定した閾値より大きいか否かにより音楽区間を判定している。しかしながら、スペクトログラムのエッジ強度の総和は、分析対象の信号レベルや周波数特性のばらつき(入力ソースの特性のばらつき)や、音楽の種類(ジャンル)によって変動するため、多様な入力ソースや多様な音楽ジャンルに対応することが難しい。例えば、同じような音楽区間が2つあった場合に、平均音圧の大きい方ではエッジ強度の総和が大きいが、他方の平均音圧の小さい方ではエッジ強度の総和は小さい。したがって、多様な入力ソースや多様な種類の曲を対象にして音楽区間を検出する場合においては、検出精度が必ずしも十分ではないという問題がある。
【0005】
また、特許文献3,4に開示された技術によれば、圧縮符号化された音声データから比較的簡易な計算によって音楽区間と音声区間とを識別できるという長所はあるものの、やはり、多様な入力ソースや多様な音楽ジャンルの曲を対象に音楽区間を検出する場合においては、検出精度を高くすることが困難である。これは、一般的な音楽においては、その周波数成分に有音程楽器等が発する固有の周波数成分が一定時間以上持続するという性質があるが、上述した従来技術はこの性質を十分に利用したものではないからである。
【0006】
さらに、通常の音楽においては、平均律や純正律といった音階に基づく周波数成分が存在するが、特許文献1〜4のいずれにおいても、音楽の音階とは直接対応しない周波数成分を用いているため、音楽の検出精度が必ずしも高いものではない。
【0007】
そこで本発明は、上記問題点に鑑みてなされたものであり、その目的は、入力ソースである音響信号の特性のばらつきや、この音響信号に含まれる音楽の種類による影響を低く抑えて、且つ音楽が含まれる信号区間を精度良く検出するための、音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するために、
[1] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[2] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[3] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出すると共に、前記第1の総和を音程領域強度として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[4] 前記周波数分析手段は、前記所定の周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、前記[1]〜[3]のいずれか一項に記載の音響信号分析装置
を提供し、
[5] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[6] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[7] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[8] 前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、前記[5]〜[7]のいずれか一項に記載の音響信号分析方法
を提供し、
[9] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[10] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[11] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[12] 前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにして前記コンピュータに実行させることを特徴とする、上記[9]〜[11]のいずれか一項に記載の音響信号分析用プログラム
を提供するものである。
【発明の効果】
【0009】
本発明によれば、音響信号について、音楽が含まれる信号区間に存在する確率の高い有音程楽器の発音区間を精度良く検出することができるため、多様な入力ソースによる音響信号の中から音楽区間を精度良く検出することができる。
【0010】
また、本発明によれば、音楽の存在しない音声区間において、瞬間的に特定の周波数成分の強度が大きくなるような場合があっても、音声区間を音楽区間と誤判定することを飛躍的に低く抑えることができる。
【0011】
さらに、本発明によれば、音楽で用いられる音階に直接対応する周波数成分を抽出することができるため、有音程楽器が発音している場合に、この発音された音程の近傍の音程の周波数成分は小さいという性質を演算処理に十分に反映させることができるため、音楽区間をより精度良く検出することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明を実施するための最良の形態について、好ましい実施例を示して詳細に説明する。
【実施例1】
【0013】
図1に、本発明の第1の実施例である音響信号分析装置の全体構成を示す。同図において、音響信号分析装置1は、音響信号入力部11と、周波数分析部12と、ピーク要素検出部13と、音程領域検出部14と、音楽区間検出部15とを備えている。そして、各処理部は、各種演算処理及び当該処理部を制御するための演算処理回路11a〜15aをそれぞれ具備している。さらに、音響信号分析装置1には、不図示ではあるが、本発明の実施形態である音響信号分析用プログラムを実行して前記各処理部を制御するための、CPUを具備した制御部を備えている。この音響信号分析装置1は、音響信号2が音響信号入力部11に入力され、同図に示す信号処理の流れにより各種処理がされた後、音楽区間検出部15から音楽区間情報3を外部に出力するようになっている。
【0014】
音響信号2は、PCMデータ、アナログ音声信号、デジタル圧縮信号等のオーディオ信号フォーマットのうち、いずれの形式であってもよい。
【0015】
音響信号入力部11は、入力された音響信号2から所定のサンプリング周波数FsのPCMデータを生成する機能を有する。具体的には、音響信号入力部11は、音響信号2がアナログ音声信号である場合はデジタル変換処理を実行し、一方、音響信号2がデジタル圧縮信号である場合はデコード処理を実行する。また、音響信号2がPCMデータである場合は、音響信号入力部11は、入力された音響信号2をそのまま次段の周波数分析部12に供給するが、入力源のサンプリング周波数がサンプリング周波数Fsと異なる場合には、レート変換処理を実行してサンプリング周波数FsのPCMデータに変換する。
【0016】
なお、以下説明においては、音響信号入力部11から出力されるPCMデータを、音響データx[m](m=0〜L−1、Lは1以上の整数であり音響データの総数を示す。)、又は音響データと記載する。
【0017】
周波数分析部12は、音響信号入力部11から出力された音響データを入力して周波数分析処理を実行し、単位時間毎に所定の周波数成分の成分強度を要素とする行列データを作成する機能を有する。
【0018】
周波数分析部12の処理について、図2のフローチャートを参照して説明する。本実施例においては、周波数分析部12は、音響データを固定長のフレームに分割し、フレーム単位での処理を実行する。また、周波数分析の方法としては公知のSTFT(Short−time Fourier Transform)を用いるが、これ以外にもウェーブレット変換やフィルターバンク等の方法を用いてもよい。また、本実施例では、全ての周波数成分を同一時間間隔で生成しているが、周波数バンドに応じて時間間隔を変えるようにして周波数成分を生成するようにしてもよい。
【0019】
なお、以下の説明においては、フレーム長をN、フレームシフト長をSとする。フレームシフト長Sに相当する時間長が単位時間である。
【0020】
フレームの総数をMとすると、フレーム総数Mは、数式1により算出される。
【0021】
【数1】
【0022】
上記のfloor関数は、小数点以下を切り捨てた整数を返す関数である。なお、本実施例においては、L≧Nであるものとする。図2のフローチャートにおいて、周波数分析部12の演算処理回路12aは、フレーム番号を示す制御変数iを0に設定する(ステップS110)。次に、演算処理回路12aは、i番目のフレームを作成する(ステップS120)。すなわち、図3に示すように、音響データの先頭からi×S個分オフセットされた位置からN個のデータを抽出し、これに数式2に示すように、窓関数wを乗じてi番目のフレームデータy[i][n](n=0〜N−1)を生成する。
【0023】
【数2】
【0024】
窓関数wとしては、例えば数式3に示すハミング窓を用いることができる。この他にも、方形窓、ハニング窓、ブラックマン窓等を用いてもよい。
【0025】
【数3】
【0026】
次に、演算処理回路12aは、数式4によってi番目のフレームの離散フーリエ変換(DFT)を計算する(ステップS130)。
【0027】
【数4】
【0028】
次に、演算処理回路12aは、ステップS130により算出された複素系列a[i][k](k=0〜N−1)の実数部Re{a[i][k]}と虚数部Im{a[i][k]}とを用いて、数式5又は数式6によりi番目のフレームのスペクトル系列b[i][k](k=0〜N/2−1)を計算する(ステップS140)。
【0029】
【数5】
【0030】
【数6】
【0031】
数式5を適用する場合は、スペクトル系列b[i][k]がパワースペクトルとなり、数式6を適用する場合は、スペクトル系列b[i][k]が振幅スペクトルとなる。
【0032】
次に、演算処理回路12aは、DFTの結果からフレームi、周波数バンドqにおける周波数成分c[i][q](q=0〜Q−1、Qは1以上の整数であり周波数バンド数を示す。)を計算する(ステップS150)。ここで、ステップS150における計算方法としては、例えば以下の2通りを適用することができる。
【0033】
周波数成分c[i][q]を計算する第1の方法は、数式7によりスペクトル系列b[i][k]の一部又は全部をc[i][q]に対応させる方法である。
【0034】
【数7】
【0035】
ここで、λは0以上の所定の整数であり、周波数バンドの最低周波数を決めるパラメータである。また、周波数バンド数Qは(N/2−λ)以下である所定の値に設定する。この第1の計算方法は計算量が最も少なく簡便である利点を有している。しかし、周波数バンドの周波数間隔が等間隔となり、音楽で用いられている音階とは無関係となるため、音楽区間の検出精度は以下説明する第2の方法の方が高い。
【0036】
周波数成分c[i][q]を計算する第2の方法は、数式8により音階に対応した周波数成分を算出する方法である。
【0037】
【数8】
【0038】
この方法では、音楽で用いられている音階の周波数に対応した周波数成分が得られるため、より高い精度で音楽区間を検出することが可能である。
【0039】
ここで、z[q][k](q=0〜Q−1,k=0〜N/2−1)は、図4に示すような帯域特性を有するフィルタ群である。各フィルタの中心周波数は、音階の周波数に対応しており、中心周波数での減衰が少なく、中心周波数から離れるに伴い減衰が大きくなり、隣接するフィルタの中心周波数付近で通過特性が0になる特性を有している。同図(a)〜(d)は、音階のC1音程をバンド0に対応させて、以降半音毎に1つのバンドに対応させて、最後に5オクターブ上のB6音程をバンドQ−1に対応させた帯域特性を模式的に表している。同図(a)はC1に対応した周波数を通過させるフィルタ、同図(b)は同図(a)より半音高いC#1に対応した周波数を通過させるフィルタ、同図(c)は最高音より半音低いA#6に対応した周波数を通過させるフィルタ、そして同図(d)は最高音のB6に対応した周波数を通過させるフィルタの帯域特性を示したものである。
【0040】
スペクトル系列b[i][k]は周波数間隔が等間隔であるのに対して、音階は高音部になるほど隣り合った音程間の周波数間隔が広がるので、フィルタ群z[q][k]の中心周波数もそれに対応して高音部ほど隣り合った中心周波数の間隔が広くなっている。例えば、図4(a)に示すz[0][k]と同図(b)に示すz[1][k]との各中心周波数の差よりも、同図(c)に示すz[Q−2][k]と同図(d)に示すz[Q−1][k]との各中心周波数の差の方が大きい。また、各フィルタの帯域幅も、同様に高音部ほど広くなっている。例えば、図4(d)に示すz[Q−1][k]の帯域幅は、同図(a)に示すz[0][k]の帯域幅よりも広くなっている。
【0041】
なお、図4に示した帯域特性の例は音階の各音程(半音)に一致した周波数バンドであるが、音階の各音程を更に細かく分割するような周波数バンドを得るようにしてもよい。また、中心周波数の設定を変更することにより、平均律、純正律、中全音律などの様々な音階に対応することができる。
【0042】
図2のフローチャートの説明に戻り、周波数分析部12の演算処理回路12aは、ステップS150の処理の次に、フレーム番号を示す制御変数iの値を1増やす(ステップS160)。次に、演算処理回路12aは、フレーム番号を示す制御変数iの値がフレーム総数Mより小さいか否か判定する(ステップS170)。そして、制御変数iがフレーム総数Mより小さい場合はステップS120に移行し、フレーム総数M以上である場合はすべてのフレームについて処理を完了してとして周波数分析処理を終了する。
【0043】
以上の処理が終了した時点で、周波数分析部12は、周波数成分c[i][q](フレームi=0〜M−1、バンドq=0〜Q−1)を行列データとして具備するメモリに記憶する。図5に、周波数分析部12で作成された行列データを模式的に示す。同図では、フレームを横軸、周波数バンドを縦軸に示しており、成分強度の強い要素を黒い線分として表わしている。そして、同図(a)は、音楽の存在しない音声区間(例えば、アナウンス)の行列データを示しており、一定時間以上持続する周波数成分が少ないことを特徴として示している。一方、同図(b)は、有音程楽器が発音している音楽区間を示しており、一定時間持続する周波数成分が多いことが特徴である。また、同図(b)については、楽器の基本周波数の他に、基本周波数の整数倍の周波数を有する倍音周波数が存在することも特徴である。一般的な音楽では、発音されている音程の近傍の音程に対応する周波数成分は、相対的に小さい。本発明は、同図(a)に示すような音声区間を精度良く除外し、同図(b)に示すような音楽区間を精度良く検出することを目的とするものである。
【0044】
次に、ピーク要素検出部13の処理フローについて、図6のフローチャートを参照して説明する。ピーク要素検出部13においては、有音程楽器により発音されている区間ではその音程に対応する周波数成分が大きくなり、又その音程に対応する周波数成分は近傍の周波数成分よりも相対的に大きいという特性を利用する。すなわち、ピーク要素検出部13は、周波数分析部12に行列データとして記憶されている周波数成分c[i][q]を読み出し、その値が所定の閾値以上である場合、その近傍の周波数成分と比較して相対的に大きい場合、又はその周波数成分と倍音関係にある倍音成分が該倍音成分の近傍の周波数成分と比較して相対的に大きい場合に、その周波数成分をピーク要素として検出する処理を実行する。
【0045】
まず、ピーク要素検出部13の演算処理回路13aは、探索を開始するフレーム番号を表す制御変数iを0に設定する(ステップS210)。次に、演算処理回路13aは、周波数バンドを示す制御変数qをピーク要素の対象範囲の最小のバンドQ1に設定する(ステップS220)。ここで、Q1は、後述する整数G2以上、且つ後述する整数G4以上、且つ後述する整数Q2以下の所定の整数である。
【0046】
次に、演算処理回路13aは、周波数成分c[i][q]がピーク要素であるか否かを判定する(ステップS230)。周波数成分c[i][q]がピーク要素であると判定した場合は、ステップS240に移行し、ピーク要素でないと判定した場合は、ステップS250に移行する。ステップS230において有効な成分を判定する具体的な方法としては、以下に説明する7つの方法のいずれか、または複数の方法の組合せを用いることができる。
【0047】
ピーク要素を判定する第1の方法は、数式9を用いて、c[i][q]が閾値α[q]以上である場合にピーク要素であると判定する方法である。
【0048】
【数9】
【0049】
閾値α[q]は、以下に示す2つの方法のうちいずれかを用いて設定する。すなわち、閾値α[q]を決定する第1の方法は、予め設定された定数を用いて決定する方法であり、この方法によれば、演算量が最も少なく簡便である。また、閾値α[q]を決定する第2の方法は、数式10に示すように全フレーム(M個)のバンド毎の周波数成分の平均値を用いる方法である。ここで、βは予め設定されている定数である。
【0050】
【数10】
【0051】
ピーク要素を判定する第2の方法は、数式11を用いる方法である。
【0052】
【数11】
【0053】
これは、バンドq(中心バンドとも言う。)と同一時間にある所定個数の周波数バンド(近傍バンドとも言う。)の周波数成分の最大値を中心バンドの両側について各々求め、その2つの最大値よりもc[i][q]が大きい場合に、ピーク要素であると判定する方法である。数式11において、G1及びG2はG1≦G2を満たす整数であり、周波数分析部12において、音階の各音程(半音)に各周波数バンドを一致させた場合は、G1=G2=1とすればよい。また、音階の各音程を更に細かく分割するような周波数バンドを用いた場合には、隣接する音程の周波数に対応させるか、又は隣接する音程間の使用されない周波数に対応させるようにG1及びG2を設定する。また、∩はAND条件を意味し、maxは引数の中の最大値を返す関数を意味する。
【0054】
このピーク要素を判定する第2の方法は、事前に設定する必要のある閾値を用いないため、特に分析対象の音響信号レベルが大きく変動するような場合に好適である。また、音楽以外の区間を音楽区間と誤検出する率を低く抑えたい場合や、周波数分析部12で用いたバンドの周波数分解能が比較的高い場合に適している。
【0055】
ピーク要素を判定する第3の方法は、数式12を用いる方法である。
【0056】
【数12】
【0057】
これは、近傍バンドの周波数成分の最小値を中心バンドの両側について各々求め、その2つの最小値よりもc[i][q]が大きい場合に、ピーク要素と判定する方法である。数式12におけるG1,G2,及び∩は前述したものと同じである。また、minは引数の中の最小値を返す関数を意味する。このピーク要素を判定する第3の方法は、事前に設定する必要のある閾値を用いないため、分析対象の音響信号レベルが大きく変動するような場合に適している。また、音楽区間の検出漏れを減らしたい場合や、周波数分析部12で用いたバンドの周波数分解能が比較的低い場合に適している。
【0058】
ピーク要素を判定する第4の方法は、数式13を用いる方法である。
【0059】
【数13】
【0060】
これは、近傍バンドの周波数成分の総和に一定比率γを乗じた値よりも中心バンドの周波数成分c[i][q]の方が大きい場合にピーク要素である判定する方法である。ここで、G1及びG2は前述したものと同じであり、γは定数である。
【0061】
有音程楽器が発音している区間においては、一般的には、基本周波数の他に基本周波数のd倍の周波数を持つd次倍音成分が存在する。以下に説明するピーク要素を判定する第5〜7の方法ではこの特性を利用する。
【0062】
ピーク要素を判定する第5の方法は、数式14を用いる方法である。
【0063】
【数14】
【0064】
これは、中心バンドのd次の倍音(2≦d≦D、Dは2以上の整数)に対応する周波数バンド(倍音バンドと言う。)を特定し、倍音バンドの近傍の周波数成分の最大値を倍音バンドの両側についてそれぞれ求め、d=2〜Dの全てについて2つの最大値よりも倍音バンドの周波数成分が大きい場合に、c[i][q]をピーク要素とする方法である。ここで、G3及びG4はG3≦G4を満たす整数であり、周波数分析部12において、音階の各音程(半音)に各周波数バンドを一致させた場合は、G3=G4=1とすればよい。また、音階の各音程を更に細かく分割するような周波数バンドを用いた場合には、隣接する音程の周波数に対応させるか、又は隣接する音程間の使用されない周波数に対応させるようにG3及びG4を設定する。なお、関数h(d,q)は、バンドqのd倍の周波数(d次倍音)に対応するバンド番号を返す関数である。
【0065】
ピーク要素を判定する第6の方法は、数式15を用いる方法である。
【0066】
【数15】
【0067】
これは、中心バンドのd次の倍音(2≦d≦D、Dは2以上の整数)に対応する周波数バンド(倍音バンド)を特定し、倍音バンドの近傍の周波数成分の最小値を倍音バンドの両側について各々求め、d=2〜Dの全てについて、2つの最小値よりも倍音バンドの周波数成分が大きい場合に、c[i][q]をピーク要素とする方法である。ここで、G3,G4,及びh(d,q)は前述したものと同じである。
【0068】
ピーク要素を判定する第7の方法は、数式16を用いる方法である。
【0069】
【数16】
【0070】
これは、d次倍音バンド(2≦d≦D、Dは2以上の整数)の近傍のバンドの周波数成分の総和に一定比率を乗じた値よりもd次倍音バンドの周波数成分の方が大きい場合にc[i][q]をピーク要素とする方法である。ここで、G3,G4,及びh(d,q)は前述と同じであり、η[d]は倍音の次数によって決まる所定の定数(比率)である。
【0071】
なお、上述した数式11〜16においては、フレームiの周波数成分のみを用いて計算しているが、これに限定されることなく、例えば、i+1、i−1といったフレームiと時間的に近い近傍のフレームをも用いて計算するようにしてもよい。
【0072】
さらには、上述したピーク要素を判定する第1〜7の方法を適宜AND条件で組み合わせて、全ての条件を満たす場合にピーク要素であると判定するようにしてもよい。具体的には、例えば、ピーク要素を判定する第1,2,及び5の方法を、数式17に示すようにAND条件で組み合わせて判定を行ってもよい。
【0073】
【数17】
【0074】
特に、基本周波数に関する条件である第2〜4の方法のうちのいずれかと、倍音成分に関する条件である第5〜7の方法のうちのいずれかとを、AND条件で組み合わせて判定することによって、より高い精度で音楽区間を検出することが可能になる。
【0075】
図6のピーク要素検出部13の処理の説明に戻り、ステップS230の次に、演算処理回路13aは、ピーク要素検出部13が具備するピーク要素メモリに、ピーク要素であると判定したフレーム番号iとバンド番号qと周波数成分c[i][q]とを対応させたデータ(i,q,c[i][q])を図12に示すような形式で記憶する(ステップS240)。
【0076】
次に、演算処理回路13aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS250)。次に、演算処理回路13aは、制御変数qがピーク要素の対象範囲の最大のバンドQ2以下であるか否かを判定する(ステップS260)。但し、Q2は、Q2<Q−G2、且つQ2<Q−G4、且つQ1以上の所定の整数である。制御変数qがQ2以下である場合は、ステップS230に戻り、そうでない場合はステップS270に進む。
【0077】
次に、演算処理回路13aは、フレーム番号を示す制御変数iの値を1増やす(ステップS270)。次に、演算処理回路13aは、フレーム番号を示す制御変数iの値がフレーム総数M未満であるか否かを判定する(ステップS280)。制御変数iがフレーム総数M未満である場合はステップS220に移行し、フレーム総数M以上である場合はピーク要素検出部13の処理を終了する。
【0078】
次に、音程領域検出部14の処理フローを図7のフローチャートを参照して説明する。音程領域検出部14では、ピーク要素検出部13のピーク要素メモリを参照して処理を実行する。まず、音程領域検出部14の演算処理回路14aは、フレーム番号を示す制御変数pを0に設定する(ステップS310)。次に、演算処理回路14aは、周波数バンドを示す制御変数qをピーク要素検出部13で用いた定数Q1に設定する(ステップS320)。
【0079】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、フレーム番号がp以上、且つ(p+H)未満であり、且つ周波数バンドがqであるピーク要素の個数Cを計数する(ステップS330)。ここで、Hは予め設定された整数である。
【0080】
ここでさらに、周波数の微小なゆらぎを許容してピーク要素の個数Cを計数する処理を行ってもよい。例えば、c[i−1][q]及びc[i+1][q]がピーク要素であり、c[i][q]がピーク要素でない場合に、c[i][q−1]又はc[i][q+1]がピーク要素であれば周波数の微小なゆらぎがあると見なし、c[i][q]をピーク要素と見なして個数Cを計数するといった処理を行う。
【0081】
次に、演算処理回路14aは、ステップS330で計数されたピーク要素の個数CがC1以上であるか否かを判定する(ステップS340)。ここで、C1は0<C1≦Hを満たす整数である。ピーク要素の個数CがC1以上である場合は、フレーム番号がp以上で(p+H)未満であり、且つ周波数バンドがqの領域を音程領域と判定してステップS350に進む。データ個数CがC1未満である場合は、ステップS360に移行する。
【0082】
次に、演算処理回路14aは、音程領域の先頭のフレーム番号p、音程領域の最後のフレーム番号p+H−1、及びバンド番号qを対応させて、音程領域検出手段14が具備する音程領域メモリに図13に示すような形式で記憶する(ステップS350)。
【0083】
次に、演算処理回路14aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS360)。次に、演算処理回路14aは、制御変数qが定数Q2以下であるか否かを判定する(ステップS370)。ここで、Q2はピーク要素検出部13で用いた所定の整数である。制御変数qがQ2以下である場合は、ステップS330に移行し、そうでない場合はステップS380に移行する。
【0084】
次に、演算処理回路14aは、フレーム番号を示す制御変数pの値をHだけ増やす(ステップS380)。次に、演算処理回路14aは、フレーム番号を示す制御変数pの値が(M−H)未満であるか否かを判定する(ステップS390)。ここで、Mはフレーム総数である。制御変数pが(M−H)未満である場合は、ステップS320に移行する。制御変数pが(M−H)以上である時は、音程領域検出部14の処理を終了する。
【0085】
次に、音楽区間検出部15の処理フローを図8のフローチャートを参照して説明する。音楽区間検出部15では、音程領域検出部14の音程領域メモリを参照して処理を実行する。まず、音楽区間検出部15の演算処理回路15aは、フレーム番号を示す制御変数iを0に設定する(ステップS410)。
【0086】
次に、演算処理回路15aは、音程領域検出部14の音程領域メモリを参照して、音程領域開始位置がi以上で、且つ音程領域終了位置が(i+J)未満である音程領域の個数Eを計数する(ステップS420)。ここで、Jは、検出する音楽区間の最小の長さを決定する定数であり、J≧Hを満たす整数である。通常は、Hの数倍〜数十倍の長さに設定すればよい。
【0087】
次に、演算処理回路15aは、ステップS420でカウントされた音程領域の個数EがE1以上であるか否かを判定する(ステップS430)。ここで、E1は1以上の整数である。EがE1以上である場合は、フレーム番号がi以上で(i+J−1)以下の区間を音楽区間と判定してステップS440に移行する。一方、EがE1未満である場合はステップS450に移行する。
【0088】
次に、演算処理回路15aは、音楽区間の先頭のフレーム番号iと、音楽区間の最後のフレーム番号(i+J−1)とを対応させて、図14に示すような形式で音楽区間検出手段15が具備する音楽区間メモリに記憶する(ステップS440)。
【0089】
次に、演算処理回路15aは、フレーム番号を示す制御変数iの値をJだけ増やす(ステップS450)。次に、演算処理回路15aは、フレーム番号を示す制御変数iの値が(M−J)未満であるか否かを判定する(ステップS460)。ここで、Mはフレーム総数である。制御変数iが(M−J)未満である場合は、ステップS420に移行する。一方、制御変数iが(M−J)以上である場合はステップS470に移行する。
【0090】
次に、演算処理回路15aは、音楽区間メモリのデータを音楽区間情報3として出力し、音楽区間検出部15の処理を終了する(ステップS470)。なお、ある音楽区間の最後のフレーム番号と別の音楽区間の先頭のフレーム番号が連続している場合に(例えば、図14の2行目と3行目)、これらを統合して1つの音楽区間とする処理を行うようにしてもよい。
【0091】
ここで、図5を用いて従来技術との違いについて説明する。従来技術では、隣接する周波数成分の差分値(1次差分又は2次差分)を所定の時間分加算した総和が所定の閾値よりも大きい場合に音楽区間と判定するものである。このため、ある瞬間の特定の周波数成分が大きい場合には、それに影響されて差分値及び総和が大きくなるため、図5(a)のような音声区間であっても音楽区間として誤判定される場合があった。このように、従来技術では、多様な入力ソースや多様なジャンルの音楽に対して、十分な精度で音楽区間を検出することが困難である。
【0092】
一方、本実施例では、前述したように、隣接する周波数成分の差分値の総和を用いることなく音楽区間を判定するものである。ピーク要素検出部13において、各フレーム、周波数バンド毎にピーク要素か否かの判定を行い、音程領域検出部14において、所定時間H内に同一周波数バンドのピーク要素がC1個以上ある場合に音程領域と判定し、音楽区間検出部15において、所定時間J内の音程領域の個数がE1以上である場合に、音楽区間と判定する。これにより、図5(a)のような音声区間において、ある瞬間の特定の周波数成分が大きい場合であっても、音程領域検出部14において音程領域と判定され難いため、音楽区間と誤判定されることを抑制することができる。
【0093】
また、従来技術で用いる周波数成分は、音楽の音階とは異なるため、本来は隣接する周波数成分との差分が、音階上で隣接する音程間での差分に相当するのが望ましいのに対し、実際には同一音程同士の差分となったり、離れた音程との差分になったりする場合があった。このため、有音程楽器のみが存在する図5(b)のような区間であっても、音程によっては検出精度が十分でない場合があった。しかしながら、本実施例では、周波数分析部12において、音楽の音階に対応する周波数成分を算出することができ、隣接する周波数成分を用いた演算処理を、隣接する音程間の処理操作に直接対応させることができるため、音楽区間の検出精度を高くすることができる。
【実施例2】
【0094】
本発明の第2の実施例の全体構成は図1と同一である。そして、音響信号入力部11、周波数分析部12、ピーク要素検出部13、及び音楽区間検出部15の各処理動作は、第1の実施例と同一であるためその説明を省略する。
【0095】
本実施例における音程領域検出部14の処理フローを図9のフローチャートを参照して説明する。音程領域検出部14では、ピーク要素検出部13のピーク要素メモリを参照して処理を実行する。まず、音程領域検出部14の演算処理回路14aは、フレーム番号を示す制御変数pを0に設定する(ステップS310)。次に、演算処理回路14aは、周波数バンドを示す制御変数qをピーク要素検出部13で用いた定数Q1に設定する(ステップS320)。
【0096】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqであるピーク要素の個数Cを計数する(ステップS330)。ここで、Hは予め設定された1以上の整数である。
【0097】
ここでさらに、周波数の微小なゆらぎを許容してピーク要素の個数Cを計数する処理を行ってもよい。例えば、c[i−1][q]及びc[i+1][q]がピーク要素であり、c[i][q]がピーク要素でない場合に、c[i][q−1]又はc[i][q+1]がピーク要素であれば周波数の微小なゆらぎがあると見なし、c[i][q]をピーク要素と見なして個数Cを計数するといった処理を行う。
【0098】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、数式18に示すように、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqであるピーク要素c[i][q]の総和Rを算出する(ステップS331)。
【0099】
【数18】
【0100】
次に、演算処理回路14aは、ステップS331において計数したデータ個数CがC1以上であり、且つステップS332において算出したRが所定の値R1以上であるか否かを判定する(ステップS332)。ここで、C1は0<C1≦Hを満たす整数である。データ個数CがC1以上であり、且つRがR1以上である場合は、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqの領域を音程領域であると判定し、ステップS350に移行する。そうでない場合はステップS360に移行する。
【0101】
次に、演算処理回路14aは、周波数バンドqと、音程領域の先頭のフレーム番号pと、音程領域の最後のフレーム番号p+H−1とを対応させて、音程領域検出手段14が具備する音程領域メモリに図13に示すような形式で記憶する(ステップS350)。
【0102】
次に、演算処理回路14aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS360)。次に、演算処理回路14aは、制御変数qが定数Q2以下であるか否かを判定する(ステップS370)。ここで、Q2は、ピーク要素検出部13で用いた所定の整数である。制御変数qがQ2以下である場合は、ステップS330に移行し、そうでない場合はステップS380に移行する。
【0103】
次に、演算処理回路14aは、フレーム番号を示す制御変数pの値をHだけ増やす(ステップS380)。次に、演算処理回路14aは、フレーム番号を示す制御変数pの値が(M−H)未満であるか否かを判定する(ステップS390)。ここで、Mはフレーム総数である。制御変数pが(M−H)未満である場合は、ステップS320に移行し、制御変数pが(M−H)以上である場合は、音程領域検出部14の処理を終了する。
【0104】
本実施例では、音程領域検出部14のステップS332の処理において、所定時間H内に同一周波数バンドのピーク要素がC1個以上あり、且つピーク要素の値の総和Rが所定値R1以上である場合に音程領域であると判定しているので、音声区間を音楽区間と誤判定する可能性が更に少なくなる。
【実施例3】
【0105】
本発明の第3の実施例の全体の構成は図1同一である。そして、そして、音響信号入力部11、周波数分析部12、及びピーク要素検出部13の各処理動作は、第1の実施例と同一であるためその説明を省略する。
【0106】
本実施例における音程領域検出部14の処理フローを図10に示すフローチャートに基づいて説明する。但し、同図におけるステップS351以外のステップの処理については第2の実施例と同一であるため、その説明を省略してステップS351のみについて説明する。
【0107】
同図におけるステップS351では、音程領域検出部14の演算処理回路14aは、周波数バンドq、音程領域の先頭のフレーム番号p、音程領域の最後のフレーム番号p+H−1、及び前述のステップS332で算出したRを対応させて、音程領域検出手段14の音程領域メモリに図15に示すような形式で格納する。
【0108】
次に、音楽区間検出部15の動作を図11のフローチャートを参照して説明する。まず、音楽区間検出部15の演算処理回路15aは、フレーム番号を示す制御変数iを0に設定する(ステップS410)。次に、演算処理回路15aは、音程領域検出部14の音程領域メモリを参照して、音程領域開始位置がi以上で、且つ音程領域終了位置が(i+J)未満である音程領域の強度Rの総和Yを算出する(ステップS421)。ここで、Jは検出する音楽区間の最小の長さを決定する定数であり、且つJ≧Hを満たす整数である。通常は、Hの数倍〜数十倍の長さに設定すればよい。
【0109】
次に、演算処理回路15aは、ステップS421で算出したYがY1以上であるか否かを判定する(ステップS431)。ここで、Y1は所定の定数である。YがY1以上である場合は、フレーム番号がi以上で(i+J−1)以下の区間を音楽区間であると判定してステップS440に移行する。一方、EがE1以上でない場合はステップS450に移行する。
【0110】
次に、演算処理回路15aは、音楽区間の先頭のフレーム番号iと、音楽区間の最後のフレーム番号(i+J−1)とを対応させて、音楽区間検出手段15が具備する音楽区間メモリに記憶する(ステップS440)。
【0111】
次に、演算処理回路15aは、フレーム番号を示す制御変数iの値をJだけ増やす(ステップS450)。次に、演算処理回路15aは、フレーム番号を示す制御変数iの値が(M−J)未満であるか否かを判定する(ステップS460)。ここで、Mはフレーム総数である。制御変数iが(M−J)未満である場合はステップS421に移行し、制御変数iが(M−J)以上である場合はステップS470に移行する。
【0112】
次に、演算処理回路15aは、音楽区間メモリのデータを音楽区間情報3として出力し、音楽区間検出部15の処理を終了する(ステップS470)。なお、ある音楽区間の最後のフレーム番号と別の音楽区間の先頭のフレーム番号が連続している場合に(例えば、図14の2行目と3行目)、これらを統合して1つの音楽区間にする処理を行うようにしてもよい。
【0113】
以上、説明したように、本実施例では、音程領域検出部14のステップS332の処理において、所定時間H内に同一周波数バンドのピーク要素がC1個以上あり、かつピーク要素の値の総和Rが所定値R1以上である場合に音程領域と判定するのに加えて、音楽区間検出部15のステップS431の処理において、所定時間J内のRの総和Yを算出して音楽区間の判定を行っているので、有音程楽器が比較的大きな音で発音されていて、発音回数が少ないような場合における音楽区間の判定に好適である。
【産業上の利用可能性】
【0114】
以上説明したように、本発明は、音響信号を含むコンテンツから音楽区間を検出することができるので、コンテンツを内容に応じた小区間(チャプター)に分割する機能を有する持つ映像機器やコンテンツ検索装置に有用である。
【図面の簡単な説明】
【0115】
【図1】本発明の第1〜第3の実施例における音響信号分析装置1の全体構成を示すブロック図である。
【図2】本発明の第1〜第3の実施例における周波数分析部12の処理動作を説明するためのフローチャートである。
【図3】本発明の第1〜第3の実施例における周波数分析部12のフレーム作成動作を説明するための図である。
【図4】本発明の第1〜第3の実施例における周波数分析部12の周波数成分計算動作で使用するフィルタ群の特性を模式的に示した図である。
【図5】本発明の第1〜第3の実施例における周波数分析部12で作成された行列データの特性を模式的に示した図である。
【図6】本発明の第1〜第3の実施例におけるピーク要素検出部13の処理動作を説明するためのフローチャートである。
【図7】本発明の第1の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図8】本発明の第1の実施例における音楽区間検出部15の処理動作を説明するためのフローチャートである。
【図9】本発明の第2の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図10】本発明の第3の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図11】本発明の第3の実施例における音楽区間検出部15の処理動作を説明するためのフローチャートである。
【図12】本発明の第1〜第3の実施例におけるピーク要素検出部13のデータ格納形式を示した図である。
【図13】本発明の第1及び第2の実施例における音程領域検出部14のデータ格納形式を示した図である。
【図14】本発明の第1〜第3の実施例における音楽区間検出部15のデータ格納形式を示した図である。
【図15】本発明の第3の実施例における音程領域検出部14のデータ格納形式を示した図である。
【符号の説明】
【0116】
1 音響信号分析装置
2 音響信号
3 音楽区間情報
11 音響信号入力部
12 周波数分析部
13 ピーク要素検出部
14 音程領域検出部
15 音楽区間検出部
11a〜15a 演算処理回路
【技術分野】
【0001】
本発明は、音響信号を分析して音楽が含まれる信号区間を音楽区間として検出するための音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラムに関する。
【背景技術】
【0002】
近年、動画や音声等のコンテンツをハードディスク、DVD、メモリ等の記録媒体に記録することが広く行われている。そして、これら記録媒体の大容量化に伴い、長時間記録されたコンテンツから所望の記録区間だけを読み出して視聴する機能や、再生時間を短縮して視聴する機能へのニーズが高まっている。このような状況において、コンテンツをその内容に応じて小区間に分割するための各種情報を抽出したり、コンテンツの中で音楽が含まれる信号区間だけを識別したりする技術が開発されている。
【0003】
具体的には、映像信号に含まれる音情報を解析し、スペクトルにおける時間方向の安定性を用いて音楽区間を識別する方法が知られている(例えば、特許文献1,2を参照)。また、音声のサブバンドデータの平均バンドエネルギー比やサブバンドエネルギー重心を用いて、音楽区間と音声区間とを識別する方法も知られている(例えば、特許文献3,4を参照)。
【特許文献1】特開平10−187182号公報
【特許文献2】特開2000−315094号公報
【特許文献3】特開平10−247093号公報
【特許文献4】特開2000−66691号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1,2においては、スペクトログラムのエッジ強度の総和が、予め設定した閾値より大きいか否かにより音楽区間を判定している。しかしながら、スペクトログラムのエッジ強度の総和は、分析対象の信号レベルや周波数特性のばらつき(入力ソースの特性のばらつき)や、音楽の種類(ジャンル)によって変動するため、多様な入力ソースや多様な音楽ジャンルに対応することが難しい。例えば、同じような音楽区間が2つあった場合に、平均音圧の大きい方ではエッジ強度の総和が大きいが、他方の平均音圧の小さい方ではエッジ強度の総和は小さい。したがって、多様な入力ソースや多様な種類の曲を対象にして音楽区間を検出する場合においては、検出精度が必ずしも十分ではないという問題がある。
【0005】
また、特許文献3,4に開示された技術によれば、圧縮符号化された音声データから比較的簡易な計算によって音楽区間と音声区間とを識別できるという長所はあるものの、やはり、多様な入力ソースや多様な音楽ジャンルの曲を対象に音楽区間を検出する場合においては、検出精度を高くすることが困難である。これは、一般的な音楽においては、その周波数成分に有音程楽器等が発する固有の周波数成分が一定時間以上持続するという性質があるが、上述した従来技術はこの性質を十分に利用したものではないからである。
【0006】
さらに、通常の音楽においては、平均律や純正律といった音階に基づく周波数成分が存在するが、特許文献1〜4のいずれにおいても、音楽の音階とは直接対応しない周波数成分を用いているため、音楽の検出精度が必ずしも高いものではない。
【0007】
そこで本発明は、上記問題点に鑑みてなされたものであり、その目的は、入力ソースである音響信号の特性のばらつきや、この音響信号に含まれる音楽の種類による影響を低く抑えて、且つ音楽が含まれる信号区間を精度良く検出するための、音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するために、
[1] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[2] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[3] 入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出すると共に、前記第1の総和を音程領域強度として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置
を提供し、
[4] 前記周波数分析手段は、前記所定の周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、前記[1]〜[3]のいずれか一項に記載の音響信号分析装置
を提供し、
[5] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[6] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[7] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法
を提供し、
[8] 前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、前記[5]〜[7]のいずれか一項に記載の音響信号分析方法
を提供し、
[9] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[10] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[11] 音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム
を提供し、
[12] 前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにして前記コンピュータに実行させることを特徴とする、上記[9]〜[11]のいずれか一項に記載の音響信号分析用プログラム
を提供するものである。
【発明の効果】
【0009】
本発明によれば、音響信号について、音楽が含まれる信号区間に存在する確率の高い有音程楽器の発音区間を精度良く検出することができるため、多様な入力ソースによる音響信号の中から音楽区間を精度良く検出することができる。
【0010】
また、本発明によれば、音楽の存在しない音声区間において、瞬間的に特定の周波数成分の強度が大きくなるような場合があっても、音声区間を音楽区間と誤判定することを飛躍的に低く抑えることができる。
【0011】
さらに、本発明によれば、音楽で用いられる音階に直接対応する周波数成分を抽出することができるため、有音程楽器が発音している場合に、この発音された音程の近傍の音程の周波数成分は小さいという性質を演算処理に十分に反映させることができるため、音楽区間をより精度良く検出することができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明を実施するための最良の形態について、好ましい実施例を示して詳細に説明する。
【実施例1】
【0013】
図1に、本発明の第1の実施例である音響信号分析装置の全体構成を示す。同図において、音響信号分析装置1は、音響信号入力部11と、周波数分析部12と、ピーク要素検出部13と、音程領域検出部14と、音楽区間検出部15とを備えている。そして、各処理部は、各種演算処理及び当該処理部を制御するための演算処理回路11a〜15aをそれぞれ具備している。さらに、音響信号分析装置1には、不図示ではあるが、本発明の実施形態である音響信号分析用プログラムを実行して前記各処理部を制御するための、CPUを具備した制御部を備えている。この音響信号分析装置1は、音響信号2が音響信号入力部11に入力され、同図に示す信号処理の流れにより各種処理がされた後、音楽区間検出部15から音楽区間情報3を外部に出力するようになっている。
【0014】
音響信号2は、PCMデータ、アナログ音声信号、デジタル圧縮信号等のオーディオ信号フォーマットのうち、いずれの形式であってもよい。
【0015】
音響信号入力部11は、入力された音響信号2から所定のサンプリング周波数FsのPCMデータを生成する機能を有する。具体的には、音響信号入力部11は、音響信号2がアナログ音声信号である場合はデジタル変換処理を実行し、一方、音響信号2がデジタル圧縮信号である場合はデコード処理を実行する。また、音響信号2がPCMデータである場合は、音響信号入力部11は、入力された音響信号2をそのまま次段の周波数分析部12に供給するが、入力源のサンプリング周波数がサンプリング周波数Fsと異なる場合には、レート変換処理を実行してサンプリング周波数FsのPCMデータに変換する。
【0016】
なお、以下説明においては、音響信号入力部11から出力されるPCMデータを、音響データx[m](m=0〜L−1、Lは1以上の整数であり音響データの総数を示す。)、又は音響データと記載する。
【0017】
周波数分析部12は、音響信号入力部11から出力された音響データを入力して周波数分析処理を実行し、単位時間毎に所定の周波数成分の成分強度を要素とする行列データを作成する機能を有する。
【0018】
周波数分析部12の処理について、図2のフローチャートを参照して説明する。本実施例においては、周波数分析部12は、音響データを固定長のフレームに分割し、フレーム単位での処理を実行する。また、周波数分析の方法としては公知のSTFT(Short−time Fourier Transform)を用いるが、これ以外にもウェーブレット変換やフィルターバンク等の方法を用いてもよい。また、本実施例では、全ての周波数成分を同一時間間隔で生成しているが、周波数バンドに応じて時間間隔を変えるようにして周波数成分を生成するようにしてもよい。
【0019】
なお、以下の説明においては、フレーム長をN、フレームシフト長をSとする。フレームシフト長Sに相当する時間長が単位時間である。
【0020】
フレームの総数をMとすると、フレーム総数Mは、数式1により算出される。
【0021】
【数1】
【0022】
上記のfloor関数は、小数点以下を切り捨てた整数を返す関数である。なお、本実施例においては、L≧Nであるものとする。図2のフローチャートにおいて、周波数分析部12の演算処理回路12aは、フレーム番号を示す制御変数iを0に設定する(ステップS110)。次に、演算処理回路12aは、i番目のフレームを作成する(ステップS120)。すなわち、図3に示すように、音響データの先頭からi×S個分オフセットされた位置からN個のデータを抽出し、これに数式2に示すように、窓関数wを乗じてi番目のフレームデータy[i][n](n=0〜N−1)を生成する。
【0023】
【数2】
【0024】
窓関数wとしては、例えば数式3に示すハミング窓を用いることができる。この他にも、方形窓、ハニング窓、ブラックマン窓等を用いてもよい。
【0025】
【数3】
【0026】
次に、演算処理回路12aは、数式4によってi番目のフレームの離散フーリエ変換(DFT)を計算する(ステップS130)。
【0027】
【数4】
【0028】
次に、演算処理回路12aは、ステップS130により算出された複素系列a[i][k](k=0〜N−1)の実数部Re{a[i][k]}と虚数部Im{a[i][k]}とを用いて、数式5又は数式6によりi番目のフレームのスペクトル系列b[i][k](k=0〜N/2−1)を計算する(ステップS140)。
【0029】
【数5】
【0030】
【数6】
【0031】
数式5を適用する場合は、スペクトル系列b[i][k]がパワースペクトルとなり、数式6を適用する場合は、スペクトル系列b[i][k]が振幅スペクトルとなる。
【0032】
次に、演算処理回路12aは、DFTの結果からフレームi、周波数バンドqにおける周波数成分c[i][q](q=0〜Q−1、Qは1以上の整数であり周波数バンド数を示す。)を計算する(ステップS150)。ここで、ステップS150における計算方法としては、例えば以下の2通りを適用することができる。
【0033】
周波数成分c[i][q]を計算する第1の方法は、数式7によりスペクトル系列b[i][k]の一部又は全部をc[i][q]に対応させる方法である。
【0034】
【数7】
【0035】
ここで、λは0以上の所定の整数であり、周波数バンドの最低周波数を決めるパラメータである。また、周波数バンド数Qは(N/2−λ)以下である所定の値に設定する。この第1の計算方法は計算量が最も少なく簡便である利点を有している。しかし、周波数バンドの周波数間隔が等間隔となり、音楽で用いられている音階とは無関係となるため、音楽区間の検出精度は以下説明する第2の方法の方が高い。
【0036】
周波数成分c[i][q]を計算する第2の方法は、数式8により音階に対応した周波数成分を算出する方法である。
【0037】
【数8】
【0038】
この方法では、音楽で用いられている音階の周波数に対応した周波数成分が得られるため、より高い精度で音楽区間を検出することが可能である。
【0039】
ここで、z[q][k](q=0〜Q−1,k=0〜N/2−1)は、図4に示すような帯域特性を有するフィルタ群である。各フィルタの中心周波数は、音階の周波数に対応しており、中心周波数での減衰が少なく、中心周波数から離れるに伴い減衰が大きくなり、隣接するフィルタの中心周波数付近で通過特性が0になる特性を有している。同図(a)〜(d)は、音階のC1音程をバンド0に対応させて、以降半音毎に1つのバンドに対応させて、最後に5オクターブ上のB6音程をバンドQ−1に対応させた帯域特性を模式的に表している。同図(a)はC1に対応した周波数を通過させるフィルタ、同図(b)は同図(a)より半音高いC#1に対応した周波数を通過させるフィルタ、同図(c)は最高音より半音低いA#6に対応した周波数を通過させるフィルタ、そして同図(d)は最高音のB6に対応した周波数を通過させるフィルタの帯域特性を示したものである。
【0040】
スペクトル系列b[i][k]は周波数間隔が等間隔であるのに対して、音階は高音部になるほど隣り合った音程間の周波数間隔が広がるので、フィルタ群z[q][k]の中心周波数もそれに対応して高音部ほど隣り合った中心周波数の間隔が広くなっている。例えば、図4(a)に示すz[0][k]と同図(b)に示すz[1][k]との各中心周波数の差よりも、同図(c)に示すz[Q−2][k]と同図(d)に示すz[Q−1][k]との各中心周波数の差の方が大きい。また、各フィルタの帯域幅も、同様に高音部ほど広くなっている。例えば、図4(d)に示すz[Q−1][k]の帯域幅は、同図(a)に示すz[0][k]の帯域幅よりも広くなっている。
【0041】
なお、図4に示した帯域特性の例は音階の各音程(半音)に一致した周波数バンドであるが、音階の各音程を更に細かく分割するような周波数バンドを得るようにしてもよい。また、中心周波数の設定を変更することにより、平均律、純正律、中全音律などの様々な音階に対応することができる。
【0042】
図2のフローチャートの説明に戻り、周波数分析部12の演算処理回路12aは、ステップS150の処理の次に、フレーム番号を示す制御変数iの値を1増やす(ステップS160)。次に、演算処理回路12aは、フレーム番号を示す制御変数iの値がフレーム総数Mより小さいか否か判定する(ステップS170)。そして、制御変数iがフレーム総数Mより小さい場合はステップS120に移行し、フレーム総数M以上である場合はすべてのフレームについて処理を完了してとして周波数分析処理を終了する。
【0043】
以上の処理が終了した時点で、周波数分析部12は、周波数成分c[i][q](フレームi=0〜M−1、バンドq=0〜Q−1)を行列データとして具備するメモリに記憶する。図5に、周波数分析部12で作成された行列データを模式的に示す。同図では、フレームを横軸、周波数バンドを縦軸に示しており、成分強度の強い要素を黒い線分として表わしている。そして、同図(a)は、音楽の存在しない音声区間(例えば、アナウンス)の行列データを示しており、一定時間以上持続する周波数成分が少ないことを特徴として示している。一方、同図(b)は、有音程楽器が発音している音楽区間を示しており、一定時間持続する周波数成分が多いことが特徴である。また、同図(b)については、楽器の基本周波数の他に、基本周波数の整数倍の周波数を有する倍音周波数が存在することも特徴である。一般的な音楽では、発音されている音程の近傍の音程に対応する周波数成分は、相対的に小さい。本発明は、同図(a)に示すような音声区間を精度良く除外し、同図(b)に示すような音楽区間を精度良く検出することを目的とするものである。
【0044】
次に、ピーク要素検出部13の処理フローについて、図6のフローチャートを参照して説明する。ピーク要素検出部13においては、有音程楽器により発音されている区間ではその音程に対応する周波数成分が大きくなり、又その音程に対応する周波数成分は近傍の周波数成分よりも相対的に大きいという特性を利用する。すなわち、ピーク要素検出部13は、周波数分析部12に行列データとして記憶されている周波数成分c[i][q]を読み出し、その値が所定の閾値以上である場合、その近傍の周波数成分と比較して相対的に大きい場合、又はその周波数成分と倍音関係にある倍音成分が該倍音成分の近傍の周波数成分と比較して相対的に大きい場合に、その周波数成分をピーク要素として検出する処理を実行する。
【0045】
まず、ピーク要素検出部13の演算処理回路13aは、探索を開始するフレーム番号を表す制御変数iを0に設定する(ステップS210)。次に、演算処理回路13aは、周波数バンドを示す制御変数qをピーク要素の対象範囲の最小のバンドQ1に設定する(ステップS220)。ここで、Q1は、後述する整数G2以上、且つ後述する整数G4以上、且つ後述する整数Q2以下の所定の整数である。
【0046】
次に、演算処理回路13aは、周波数成分c[i][q]がピーク要素であるか否かを判定する(ステップS230)。周波数成分c[i][q]がピーク要素であると判定した場合は、ステップS240に移行し、ピーク要素でないと判定した場合は、ステップS250に移行する。ステップS230において有効な成分を判定する具体的な方法としては、以下に説明する7つの方法のいずれか、または複数の方法の組合せを用いることができる。
【0047】
ピーク要素を判定する第1の方法は、数式9を用いて、c[i][q]が閾値α[q]以上である場合にピーク要素であると判定する方法である。
【0048】
【数9】
【0049】
閾値α[q]は、以下に示す2つの方法のうちいずれかを用いて設定する。すなわち、閾値α[q]を決定する第1の方法は、予め設定された定数を用いて決定する方法であり、この方法によれば、演算量が最も少なく簡便である。また、閾値α[q]を決定する第2の方法は、数式10に示すように全フレーム(M個)のバンド毎の周波数成分の平均値を用いる方法である。ここで、βは予め設定されている定数である。
【0050】
【数10】
【0051】
ピーク要素を判定する第2の方法は、数式11を用いる方法である。
【0052】
【数11】
【0053】
これは、バンドq(中心バンドとも言う。)と同一時間にある所定個数の周波数バンド(近傍バンドとも言う。)の周波数成分の最大値を中心バンドの両側について各々求め、その2つの最大値よりもc[i][q]が大きい場合に、ピーク要素であると判定する方法である。数式11において、G1及びG2はG1≦G2を満たす整数であり、周波数分析部12において、音階の各音程(半音)に各周波数バンドを一致させた場合は、G1=G2=1とすればよい。また、音階の各音程を更に細かく分割するような周波数バンドを用いた場合には、隣接する音程の周波数に対応させるか、又は隣接する音程間の使用されない周波数に対応させるようにG1及びG2を設定する。また、∩はAND条件を意味し、maxは引数の中の最大値を返す関数を意味する。
【0054】
このピーク要素を判定する第2の方法は、事前に設定する必要のある閾値を用いないため、特に分析対象の音響信号レベルが大きく変動するような場合に好適である。また、音楽以外の区間を音楽区間と誤検出する率を低く抑えたい場合や、周波数分析部12で用いたバンドの周波数分解能が比較的高い場合に適している。
【0055】
ピーク要素を判定する第3の方法は、数式12を用いる方法である。
【0056】
【数12】
【0057】
これは、近傍バンドの周波数成分の最小値を中心バンドの両側について各々求め、その2つの最小値よりもc[i][q]が大きい場合に、ピーク要素と判定する方法である。数式12におけるG1,G2,及び∩は前述したものと同じである。また、minは引数の中の最小値を返す関数を意味する。このピーク要素を判定する第3の方法は、事前に設定する必要のある閾値を用いないため、分析対象の音響信号レベルが大きく変動するような場合に適している。また、音楽区間の検出漏れを減らしたい場合や、周波数分析部12で用いたバンドの周波数分解能が比較的低い場合に適している。
【0058】
ピーク要素を判定する第4の方法は、数式13を用いる方法である。
【0059】
【数13】
【0060】
これは、近傍バンドの周波数成分の総和に一定比率γを乗じた値よりも中心バンドの周波数成分c[i][q]の方が大きい場合にピーク要素である判定する方法である。ここで、G1及びG2は前述したものと同じであり、γは定数である。
【0061】
有音程楽器が発音している区間においては、一般的には、基本周波数の他に基本周波数のd倍の周波数を持つd次倍音成分が存在する。以下に説明するピーク要素を判定する第5〜7の方法ではこの特性を利用する。
【0062】
ピーク要素を判定する第5の方法は、数式14を用いる方法である。
【0063】
【数14】
【0064】
これは、中心バンドのd次の倍音(2≦d≦D、Dは2以上の整数)に対応する周波数バンド(倍音バンドと言う。)を特定し、倍音バンドの近傍の周波数成分の最大値を倍音バンドの両側についてそれぞれ求め、d=2〜Dの全てについて2つの最大値よりも倍音バンドの周波数成分が大きい場合に、c[i][q]をピーク要素とする方法である。ここで、G3及びG4はG3≦G4を満たす整数であり、周波数分析部12において、音階の各音程(半音)に各周波数バンドを一致させた場合は、G3=G4=1とすればよい。また、音階の各音程を更に細かく分割するような周波数バンドを用いた場合には、隣接する音程の周波数に対応させるか、又は隣接する音程間の使用されない周波数に対応させるようにG3及びG4を設定する。なお、関数h(d,q)は、バンドqのd倍の周波数(d次倍音)に対応するバンド番号を返す関数である。
【0065】
ピーク要素を判定する第6の方法は、数式15を用いる方法である。
【0066】
【数15】
【0067】
これは、中心バンドのd次の倍音(2≦d≦D、Dは2以上の整数)に対応する周波数バンド(倍音バンド)を特定し、倍音バンドの近傍の周波数成分の最小値を倍音バンドの両側について各々求め、d=2〜Dの全てについて、2つの最小値よりも倍音バンドの周波数成分が大きい場合に、c[i][q]をピーク要素とする方法である。ここで、G3,G4,及びh(d,q)は前述したものと同じである。
【0068】
ピーク要素を判定する第7の方法は、数式16を用いる方法である。
【0069】
【数16】
【0070】
これは、d次倍音バンド(2≦d≦D、Dは2以上の整数)の近傍のバンドの周波数成分の総和に一定比率を乗じた値よりもd次倍音バンドの周波数成分の方が大きい場合にc[i][q]をピーク要素とする方法である。ここで、G3,G4,及びh(d,q)は前述と同じであり、η[d]は倍音の次数によって決まる所定の定数(比率)である。
【0071】
なお、上述した数式11〜16においては、フレームiの周波数成分のみを用いて計算しているが、これに限定されることなく、例えば、i+1、i−1といったフレームiと時間的に近い近傍のフレームをも用いて計算するようにしてもよい。
【0072】
さらには、上述したピーク要素を判定する第1〜7の方法を適宜AND条件で組み合わせて、全ての条件を満たす場合にピーク要素であると判定するようにしてもよい。具体的には、例えば、ピーク要素を判定する第1,2,及び5の方法を、数式17に示すようにAND条件で組み合わせて判定を行ってもよい。
【0073】
【数17】
【0074】
特に、基本周波数に関する条件である第2〜4の方法のうちのいずれかと、倍音成分に関する条件である第5〜7の方法のうちのいずれかとを、AND条件で組み合わせて判定することによって、より高い精度で音楽区間を検出することが可能になる。
【0075】
図6のピーク要素検出部13の処理の説明に戻り、ステップS230の次に、演算処理回路13aは、ピーク要素検出部13が具備するピーク要素メモリに、ピーク要素であると判定したフレーム番号iとバンド番号qと周波数成分c[i][q]とを対応させたデータ(i,q,c[i][q])を図12に示すような形式で記憶する(ステップS240)。
【0076】
次に、演算処理回路13aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS250)。次に、演算処理回路13aは、制御変数qがピーク要素の対象範囲の最大のバンドQ2以下であるか否かを判定する(ステップS260)。但し、Q2は、Q2<Q−G2、且つQ2<Q−G4、且つQ1以上の所定の整数である。制御変数qがQ2以下である場合は、ステップS230に戻り、そうでない場合はステップS270に進む。
【0077】
次に、演算処理回路13aは、フレーム番号を示す制御変数iの値を1増やす(ステップS270)。次に、演算処理回路13aは、フレーム番号を示す制御変数iの値がフレーム総数M未満であるか否かを判定する(ステップS280)。制御変数iがフレーム総数M未満である場合はステップS220に移行し、フレーム総数M以上である場合はピーク要素検出部13の処理を終了する。
【0078】
次に、音程領域検出部14の処理フローを図7のフローチャートを参照して説明する。音程領域検出部14では、ピーク要素検出部13のピーク要素メモリを参照して処理を実行する。まず、音程領域検出部14の演算処理回路14aは、フレーム番号を示す制御変数pを0に設定する(ステップS310)。次に、演算処理回路14aは、周波数バンドを示す制御変数qをピーク要素検出部13で用いた定数Q1に設定する(ステップS320)。
【0079】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、フレーム番号がp以上、且つ(p+H)未満であり、且つ周波数バンドがqであるピーク要素の個数Cを計数する(ステップS330)。ここで、Hは予め設定された整数である。
【0080】
ここでさらに、周波数の微小なゆらぎを許容してピーク要素の個数Cを計数する処理を行ってもよい。例えば、c[i−1][q]及びc[i+1][q]がピーク要素であり、c[i][q]がピーク要素でない場合に、c[i][q−1]又はc[i][q+1]がピーク要素であれば周波数の微小なゆらぎがあると見なし、c[i][q]をピーク要素と見なして個数Cを計数するといった処理を行う。
【0081】
次に、演算処理回路14aは、ステップS330で計数されたピーク要素の個数CがC1以上であるか否かを判定する(ステップS340)。ここで、C1は0<C1≦Hを満たす整数である。ピーク要素の個数CがC1以上である場合は、フレーム番号がp以上で(p+H)未満であり、且つ周波数バンドがqの領域を音程領域と判定してステップS350に進む。データ個数CがC1未満である場合は、ステップS360に移行する。
【0082】
次に、演算処理回路14aは、音程領域の先頭のフレーム番号p、音程領域の最後のフレーム番号p+H−1、及びバンド番号qを対応させて、音程領域検出手段14が具備する音程領域メモリに図13に示すような形式で記憶する(ステップS350)。
【0083】
次に、演算処理回路14aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS360)。次に、演算処理回路14aは、制御変数qが定数Q2以下であるか否かを判定する(ステップS370)。ここで、Q2はピーク要素検出部13で用いた所定の整数である。制御変数qがQ2以下である場合は、ステップS330に移行し、そうでない場合はステップS380に移行する。
【0084】
次に、演算処理回路14aは、フレーム番号を示す制御変数pの値をHだけ増やす(ステップS380)。次に、演算処理回路14aは、フレーム番号を示す制御変数pの値が(M−H)未満であるか否かを判定する(ステップS390)。ここで、Mはフレーム総数である。制御変数pが(M−H)未満である場合は、ステップS320に移行する。制御変数pが(M−H)以上である時は、音程領域検出部14の処理を終了する。
【0085】
次に、音楽区間検出部15の処理フローを図8のフローチャートを参照して説明する。音楽区間検出部15では、音程領域検出部14の音程領域メモリを参照して処理を実行する。まず、音楽区間検出部15の演算処理回路15aは、フレーム番号を示す制御変数iを0に設定する(ステップS410)。
【0086】
次に、演算処理回路15aは、音程領域検出部14の音程領域メモリを参照して、音程領域開始位置がi以上で、且つ音程領域終了位置が(i+J)未満である音程領域の個数Eを計数する(ステップS420)。ここで、Jは、検出する音楽区間の最小の長さを決定する定数であり、J≧Hを満たす整数である。通常は、Hの数倍〜数十倍の長さに設定すればよい。
【0087】
次に、演算処理回路15aは、ステップS420でカウントされた音程領域の個数EがE1以上であるか否かを判定する(ステップS430)。ここで、E1は1以上の整数である。EがE1以上である場合は、フレーム番号がi以上で(i+J−1)以下の区間を音楽区間と判定してステップS440に移行する。一方、EがE1未満である場合はステップS450に移行する。
【0088】
次に、演算処理回路15aは、音楽区間の先頭のフレーム番号iと、音楽区間の最後のフレーム番号(i+J−1)とを対応させて、図14に示すような形式で音楽区間検出手段15が具備する音楽区間メモリに記憶する(ステップS440)。
【0089】
次に、演算処理回路15aは、フレーム番号を示す制御変数iの値をJだけ増やす(ステップS450)。次に、演算処理回路15aは、フレーム番号を示す制御変数iの値が(M−J)未満であるか否かを判定する(ステップS460)。ここで、Mはフレーム総数である。制御変数iが(M−J)未満である場合は、ステップS420に移行する。一方、制御変数iが(M−J)以上である場合はステップS470に移行する。
【0090】
次に、演算処理回路15aは、音楽区間メモリのデータを音楽区間情報3として出力し、音楽区間検出部15の処理を終了する(ステップS470)。なお、ある音楽区間の最後のフレーム番号と別の音楽区間の先頭のフレーム番号が連続している場合に(例えば、図14の2行目と3行目)、これらを統合して1つの音楽区間とする処理を行うようにしてもよい。
【0091】
ここで、図5を用いて従来技術との違いについて説明する。従来技術では、隣接する周波数成分の差分値(1次差分又は2次差分)を所定の時間分加算した総和が所定の閾値よりも大きい場合に音楽区間と判定するものである。このため、ある瞬間の特定の周波数成分が大きい場合には、それに影響されて差分値及び総和が大きくなるため、図5(a)のような音声区間であっても音楽区間として誤判定される場合があった。このように、従来技術では、多様な入力ソースや多様なジャンルの音楽に対して、十分な精度で音楽区間を検出することが困難である。
【0092】
一方、本実施例では、前述したように、隣接する周波数成分の差分値の総和を用いることなく音楽区間を判定するものである。ピーク要素検出部13において、各フレーム、周波数バンド毎にピーク要素か否かの判定を行い、音程領域検出部14において、所定時間H内に同一周波数バンドのピーク要素がC1個以上ある場合に音程領域と判定し、音楽区間検出部15において、所定時間J内の音程領域の個数がE1以上である場合に、音楽区間と判定する。これにより、図5(a)のような音声区間において、ある瞬間の特定の周波数成分が大きい場合であっても、音程領域検出部14において音程領域と判定され難いため、音楽区間と誤判定されることを抑制することができる。
【0093】
また、従来技術で用いる周波数成分は、音楽の音階とは異なるため、本来は隣接する周波数成分との差分が、音階上で隣接する音程間での差分に相当するのが望ましいのに対し、実際には同一音程同士の差分となったり、離れた音程との差分になったりする場合があった。このため、有音程楽器のみが存在する図5(b)のような区間であっても、音程によっては検出精度が十分でない場合があった。しかしながら、本実施例では、周波数分析部12において、音楽の音階に対応する周波数成分を算出することができ、隣接する周波数成分を用いた演算処理を、隣接する音程間の処理操作に直接対応させることができるため、音楽区間の検出精度を高くすることができる。
【実施例2】
【0094】
本発明の第2の実施例の全体構成は図1と同一である。そして、音響信号入力部11、周波数分析部12、ピーク要素検出部13、及び音楽区間検出部15の各処理動作は、第1の実施例と同一であるためその説明を省略する。
【0095】
本実施例における音程領域検出部14の処理フローを図9のフローチャートを参照して説明する。音程領域検出部14では、ピーク要素検出部13のピーク要素メモリを参照して処理を実行する。まず、音程領域検出部14の演算処理回路14aは、フレーム番号を示す制御変数pを0に設定する(ステップS310)。次に、演算処理回路14aは、周波数バンドを示す制御変数qをピーク要素検出部13で用いた定数Q1に設定する(ステップS320)。
【0096】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqであるピーク要素の個数Cを計数する(ステップS330)。ここで、Hは予め設定された1以上の整数である。
【0097】
ここでさらに、周波数の微小なゆらぎを許容してピーク要素の個数Cを計数する処理を行ってもよい。例えば、c[i−1][q]及びc[i+1][q]がピーク要素であり、c[i][q]がピーク要素でない場合に、c[i][q−1]又はc[i][q+1]がピーク要素であれば周波数の微小なゆらぎがあると見なし、c[i][q]をピーク要素と見なして個数Cを計数するといった処理を行う。
【0098】
次に、演算処理回路14aは、ピーク要素検出部13のピーク要素メモリを参照して、数式18に示すように、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqであるピーク要素c[i][q]の総和Rを算出する(ステップS331)。
【0099】
【数18】
【0100】
次に、演算処理回路14aは、ステップS331において計数したデータ個数CがC1以上であり、且つステップS332において算出したRが所定の値R1以上であるか否かを判定する(ステップS332)。ここで、C1は0<C1≦Hを満たす整数である。データ個数CがC1以上であり、且つRがR1以上である場合は、フレーム番号がp以上で、且つ(p+H)未満であり、周波数バンドがqの領域を音程領域であると判定し、ステップS350に移行する。そうでない場合はステップS360に移行する。
【0101】
次に、演算処理回路14aは、周波数バンドqと、音程領域の先頭のフレーム番号pと、音程領域の最後のフレーム番号p+H−1とを対応させて、音程領域検出手段14が具備する音程領域メモリに図13に示すような形式で記憶する(ステップS350)。
【0102】
次に、演算処理回路14aは、周波数バンドを表わす制御変数qの値を1増やす(ステップS360)。次に、演算処理回路14aは、制御変数qが定数Q2以下であるか否かを判定する(ステップS370)。ここで、Q2は、ピーク要素検出部13で用いた所定の整数である。制御変数qがQ2以下である場合は、ステップS330に移行し、そうでない場合はステップS380に移行する。
【0103】
次に、演算処理回路14aは、フレーム番号を示す制御変数pの値をHだけ増やす(ステップS380)。次に、演算処理回路14aは、フレーム番号を示す制御変数pの値が(M−H)未満であるか否かを判定する(ステップS390)。ここで、Mはフレーム総数である。制御変数pが(M−H)未満である場合は、ステップS320に移行し、制御変数pが(M−H)以上である場合は、音程領域検出部14の処理を終了する。
【0104】
本実施例では、音程領域検出部14のステップS332の処理において、所定時間H内に同一周波数バンドのピーク要素がC1個以上あり、且つピーク要素の値の総和Rが所定値R1以上である場合に音程領域であると判定しているので、音声区間を音楽区間と誤判定する可能性が更に少なくなる。
【実施例3】
【0105】
本発明の第3の実施例の全体の構成は図1同一である。そして、そして、音響信号入力部11、周波数分析部12、及びピーク要素検出部13の各処理動作は、第1の実施例と同一であるためその説明を省略する。
【0106】
本実施例における音程領域検出部14の処理フローを図10に示すフローチャートに基づいて説明する。但し、同図におけるステップS351以外のステップの処理については第2の実施例と同一であるため、その説明を省略してステップS351のみについて説明する。
【0107】
同図におけるステップS351では、音程領域検出部14の演算処理回路14aは、周波数バンドq、音程領域の先頭のフレーム番号p、音程領域の最後のフレーム番号p+H−1、及び前述のステップS332で算出したRを対応させて、音程領域検出手段14の音程領域メモリに図15に示すような形式で格納する。
【0108】
次に、音楽区間検出部15の動作を図11のフローチャートを参照して説明する。まず、音楽区間検出部15の演算処理回路15aは、フレーム番号を示す制御変数iを0に設定する(ステップS410)。次に、演算処理回路15aは、音程領域検出部14の音程領域メモリを参照して、音程領域開始位置がi以上で、且つ音程領域終了位置が(i+J)未満である音程領域の強度Rの総和Yを算出する(ステップS421)。ここで、Jは検出する音楽区間の最小の長さを決定する定数であり、且つJ≧Hを満たす整数である。通常は、Hの数倍〜数十倍の長さに設定すればよい。
【0109】
次に、演算処理回路15aは、ステップS421で算出したYがY1以上であるか否かを判定する(ステップS431)。ここで、Y1は所定の定数である。YがY1以上である場合は、フレーム番号がi以上で(i+J−1)以下の区間を音楽区間であると判定してステップS440に移行する。一方、EがE1以上でない場合はステップS450に移行する。
【0110】
次に、演算処理回路15aは、音楽区間の先頭のフレーム番号iと、音楽区間の最後のフレーム番号(i+J−1)とを対応させて、音楽区間検出手段15が具備する音楽区間メモリに記憶する(ステップS440)。
【0111】
次に、演算処理回路15aは、フレーム番号を示す制御変数iの値をJだけ増やす(ステップS450)。次に、演算処理回路15aは、フレーム番号を示す制御変数iの値が(M−J)未満であるか否かを判定する(ステップS460)。ここで、Mはフレーム総数である。制御変数iが(M−J)未満である場合はステップS421に移行し、制御変数iが(M−J)以上である場合はステップS470に移行する。
【0112】
次に、演算処理回路15aは、音楽区間メモリのデータを音楽区間情報3として出力し、音楽区間検出部15の処理を終了する(ステップS470)。なお、ある音楽区間の最後のフレーム番号と別の音楽区間の先頭のフレーム番号が連続している場合に(例えば、図14の2行目と3行目)、これらを統合して1つの音楽区間にする処理を行うようにしてもよい。
【0113】
以上、説明したように、本実施例では、音程領域検出部14のステップS332の処理において、所定時間H内に同一周波数バンドのピーク要素がC1個以上あり、かつピーク要素の値の総和Rが所定値R1以上である場合に音程領域と判定するのに加えて、音楽区間検出部15のステップS431の処理において、所定時間J内のRの総和Yを算出して音楽区間の判定を行っているので、有音程楽器が比較的大きな音で発音されていて、発音回数が少ないような場合における音楽区間の判定に好適である。
【産業上の利用可能性】
【0114】
以上説明したように、本発明は、音響信号を含むコンテンツから音楽区間を検出することができるので、コンテンツを内容に応じた小区間(チャプター)に分割する機能を有する持つ映像機器やコンテンツ検索装置に有用である。
【図面の簡単な説明】
【0115】
【図1】本発明の第1〜第3の実施例における音響信号分析装置1の全体構成を示すブロック図である。
【図2】本発明の第1〜第3の実施例における周波数分析部12の処理動作を説明するためのフローチャートである。
【図3】本発明の第1〜第3の実施例における周波数分析部12のフレーム作成動作を説明するための図である。
【図4】本発明の第1〜第3の実施例における周波数分析部12の周波数成分計算動作で使用するフィルタ群の特性を模式的に示した図である。
【図5】本発明の第1〜第3の実施例における周波数分析部12で作成された行列データの特性を模式的に示した図である。
【図6】本発明の第1〜第3の実施例におけるピーク要素検出部13の処理動作を説明するためのフローチャートである。
【図7】本発明の第1の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図8】本発明の第1の実施例における音楽区間検出部15の処理動作を説明するためのフローチャートである。
【図9】本発明の第2の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図10】本発明の第3の実施例における音程領域検出部14の処理動作を説明するためのフローチャートである。
【図11】本発明の第3の実施例における音楽区間検出部15の処理動作を説明するためのフローチャートである。
【図12】本発明の第1〜第3の実施例におけるピーク要素検出部13のデータ格納形式を示した図である。
【図13】本発明の第1及び第2の実施例における音程領域検出部14のデータ格納形式を示した図である。
【図14】本発明の第1〜第3の実施例における音楽区間検出部15のデータ格納形式を示した図である。
【図15】本発明の第3の実施例における音程領域検出部14のデータ格納形式を示した図である。
【符号の説明】
【0116】
1 音響信号分析装置
2 音響信号
3 音楽区間情報
11 音響信号入力部
12 周波数分析部
13 ピーク要素検出部
14 音程領域検出部
15 音楽区間検出部
11a〜15a 演算処理回路
【特許請求の範囲】
【請求項1】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項2】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項3】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出すると共に、前記第1の総和を音程領域強度として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項4】
前記周波数分析手段は、前記所定の周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、請求項1〜3のいずれか一項に記載の音響信号分析装置。
【請求項5】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項6】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項7】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項8】
前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、請求項5〜7のいずれか一項に記載の音響信号分析方法。
【請求項9】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項10】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項11】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項12】
前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにして前記コンピュータに実行させることを特徴とする、請求項9〜11のいずれか一項に記載の音響信号分析用プログラム。
【請求項1】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項2】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項3】
入力された音響信号を分析して音楽が含まれる信号区間を音楽区間として検出する音響信号分析装置において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析手段と、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出手段と、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数すると共に、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出すると共に、前記第1の総和を音程領域強度として検出する音程領域検出手段と、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出手段と、
を備えたことを特徴とする音響信号分析装置。
【請求項4】
前記周波数分析手段は、前記所定の周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、請求項1〜3のいずれか一項に記載の音響信号分析装置。
【請求項5】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項6】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項7】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する音響信号分析方法において、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を有したことを特徴とする音響信号分析方法。
【請求項8】
前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにしたことを特徴とする、請求項5〜7のいずれか一項に記載の音響信号分析方法。
【請求項9】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数し、この計数結果が所定数以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項10】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域の個数を計数し、この計数結果が所定数以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項11】
音響信号を分析し、この音響信号に音楽が含まれる信号区間を音楽区間として検出する処理をコンピュータに実行させるための音響信号分析用プログラムであって、
前記音響信号を周波数分析して、単位時間毎の所定の周波数の成分強度を要素とする周波数成分データを生成する周波数分析ステップと、
前記生成された周波数成分データの各要素について、所定の閾値以上であるか、前記各要素の近傍の要素の値に基づき算出された値よりも大きいか、前記各要素と倍音関係にある倍音要素が該倍音要素の近傍の要素に基づき算出された値よりも大きいかのうち、少なくとも1つの条件を満足する要素をピーク要素として検出するピーク要素検出ステップと、
所定の時間長を有する第1の区間毎に同一周波数の前記ピーク要素の個数を計数する一方、前記同一周波数のピーク要素の各値の第1の総和を算出し、前記計数結果が所定数以上であり、且つ前記算出された第1の総和が所定値以上である場合に、前記第1の区間における前記同一周波数を音程領域として検出し、更に前記第1の総和を音程領域強度として検出する音程領域検出ステップと、
前記第1の区間以上の時間長を有する第2の区間毎に前記検出された音程領域強度の第2の総和を算出し、この第2の総和が所定値以上である場合に、前記第2の区間を前記音楽区間として検出する音楽区間検出ステップと、
を実行させるための音響信号分析用プログラム。
【請求項12】
前記周波数分析ステップは、前記所定の各周波数を音階の音程周波数に対応させて前記周波数成分データを生成するようにして前記コンピュータに実行させることを特徴とする、請求項9〜11のいずれか一項に記載の音響信号分析用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−298607(P2007−298607A)
【公開日】平成19年11月15日(2007.11.15)
【国際特許分類】
【出願番号】特願2006−124940(P2006−124940)
【出願日】平成18年4月28日(2006.4.28)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【公開日】平成19年11月15日(2007.11.15)
【国際特許分類】
【出願日】平成18年4月28日(2006.4.28)
【出願人】(000004329)日本ビクター株式会社 (3,896)
[ Back to top ]