(57)【要約】【課題】予め複数のテンプレートを用意することなく、音響信号から高い精度で効率的に特定のアタック発生源に対応するアタック位置を検出することが可能なアタック位置検出プログラムおよびアタック位置検出装置を提供する。【解決手段】アタック位置検出装置１００において、音響パワー波形生成部３は、時間軸上の音響信号から音響パワー波形を生成する。周波数帯域設定部４は、一または複数の周波数帯域を設定する。テンプレート波形抽出部６は、音響パワー波形からアタックに相当する部分をテンプレート波形として抽出する。マッチング処理部７は、音響パワー波形に対するテンプレート波形のマッチング処理を行う。アタック位置検出部８は、マッチング処理の結果に基づいて時間軸上の音響信号におけるアタック位置を検出する。【選択図】図１
2015200685.tif 000002
【特許請求の範囲】
【請求項１】
時間軸上の音響信号から音響パワーに関する音響パワー情報の時間分布を音響パワー情報分布として生成する生成ステップと、
前記音響パワー情報分布から一打中の少なくともアタックに相当する部分をテンプレート波形として抽出する抽出ステップと、
前記音響パワー情報分布に対する前記テンプレート波形のマッチング処理により前記時間軸上の音響信号におけるアタック位置を検出する検出ステップとを、コンピュータに実行させる、アタック位置検出プログラム。
【請求項２】
一または複数の周波数帯域を設定する設定ステップをさらに前記コンピュータに実行させ、
前記生成ステップは、前記設定された周波数帯域ごとに前記音響パワー情報分布を生成するステップを含む、請求項１記載のアタック位置検出プログラム。
【請求項３】
前記生成ステップは、
前記時間軸上の音響信号を周波数軸上の音響信号に変換するステップと、
前記周波数軸上の音響信号に基づいて前記設定された各周波数帯域について単位時間ごとの音響パワー情報を算出するステップと、
各周波数帯域について前記単位時間ごとの音響パワー情報から前記音響パワー情報分布を生成するステップとを含む、請求項２記載のアタック位置検出プログラム。
【請求項４】
前記音響パワー情報は、音響パワー、または音響パワーの変化率を含む、請求項１〜３のいずれか一項に記載のアタック位置検出プログラム。
【請求項５】
時間軸上の音響信号から音響パワーに関する音響パワー情報の時間分布を音響パワー情報分布として生成する生成手段と、
前記音響パワー情報分布から一打中の少なくともアタックに相当する部分をテンプレート波形として抽出する抽出手段と、
前記音響パワー情報分布に対する前記テンプレート波形のマッチング処理により前記時間軸上の音響信号におけるアタック位置を検出する検出手段とを備える、アタック位置検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響信号のアタック位置を検出するアタック位置検出プログラムおよびアタック位置検出装置に関する。
【背景技術】
【０００２】
音響信号からドラム音等のリズム楽器の音の発生時刻を検出する方法が提案されている。例えば、非特許文献１には、テンプレートの適応およびマッチングによりドラム音を認識する方法が記載されている。テンプレートの適応では、適当なドラム音スペクトルを初期テンプレートとして用意する。初期テンプレートを時間方向へずらしながら音響信号の部分スペクトルと比較し、ドラム音スペクトルを含んでいると推定される部分スペクトルを抽出する。抽出された部分スペクトルに基づいて初期テンプレートを更新する。この操作を繰り返すことにより、ドラム音の発生時刻の検出に最適なテンプレートを得る。その後、最適なテンプレートと音響信号の部分スペクトルとのマッチングを行う。それにより、ドラム音の発生時刻を検出することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ａｕｄｉｏ，Ｓｐｅｅｃｈ，ａｎｄ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ」、２００７年１月、Ｖｏｌ．１５、Ｎｏ．１、ｐ．３３３−３４５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音響信号におけるリズム音のアタック（立ち上がり）の発生時点（以下、アタック位置と呼ぶ）を検出することにより、音響信号からリズムパターンを抽出することができる。
【０００５】
上記の非特許文献１の方法を用いると、音響信号においてアタック位置を検出することが可能である。しかしながら、非特許文献１の方法では、リズム楽器の種類ごとに初期テンプレートを用意する必要がある。また、同じ種類の楽器の演奏を録音することにより得られる音響信号であっても、演奏方法、録音状態および楽器の個体差等により音の波形が異なる。そのため、適当な初期テンプレートを選択することは容易でない。また、たとえ上記のテンプレートの適応を行った場合でも、初期テンプレートの選択によってマッチングの精度が大きく異なる。
【０００６】
本発明の目的は、予め複数のテンプレートを用意することなく、音響信号から高い精度で効率的に特定のアタック発生源に対応するアタック位置を検出することが可能なアタック位置検出プログラムおよびアタック位置検出装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係るアタック位置検出プログラムは、時間軸上の音響信号から音響パワーに関する音響パワー情報の時間分布を音響パワー情報分布として生成する生成ステップと、音響パワー情報分布から一打中の少なくともアタックに相当する部分をテンプレート波形として抽出する抽出ステップと、音響パワー情報分布に対するテンプレート波形のマッチング処理により時間軸上の音響信号におけるアタック位置を検出する検出ステップとを、コンピュータに実行させる。
【０００８】
本発明に係るアタック位置検出装置は、時間軸上の音響信号から音響パワーに関する音響パワー情報の時間分布を音響パワー情報分布として生成する生成手段と、音響パワー情報分布から一打中の少なくともアタックに相当する部分をテンプレート波形として抽出する抽出手段と、音響パワー情報分布に対するテンプレート波形のマッチング処理により時間軸上の音響信号におけるアタック位置を検出する検出手段とを備える。
【０００９】
音響パワー情報分布においては、特定のアタック発生源によるアタックに相当する部分とそのアタック以外の部分とで変化が異なる。そのため、一打中の少なくともアタックに相当する部分をテンプレート波形として容易に抽出することができる。また、音響パワー情報分布は検出対象であるアタックに相当する部分を含む音響信号から生成されるので、テンプレート波形が検出対象であるアタック発生源によるアタックに正確に適合する。さらに、目的のアタック発生源に対応するテンプレート波形の選択作業が不要である。したがって、予めアタック発生源ごとおよび音響信号ごとに複数のテンプレート波形を用意することなく、特定のアタック発生源に対応するアタック位置を高い精度で効率的に検出することが可能である。
【００１０】
アタック位置検出プログラムは、一または複数の周波数帯域を設定する設定ステップをさらにコンピュータに実行させ、生成ステップは、設定された周波数帯域ごとに音響パワー情報分布を生成するステップを含んでもよい。
【００１１】
この場合、設定された各周波数帯域に対応するそれぞれ異なるアタック発生源ついて、音響信号に含まれる一または複数のアタック位置を正確に検出することができる。
【００１２】
生成ステップは、時間軸上の音響信号を周波数軸上の音響信号に変換するステップと、周波数軸上の音響信号に基づいて設定された各周波数帯域について単位時間ごとの音響パワー情報を算出するステップと、各周波数帯域について単位時間ごとの音響パワー情報から音響パワー情報分布を生成するステップとを含んでもよい。
【００１３】
この場合、周波数帯域によって音響パワー情報分布が異なるため、検出対象の各アタック発生源の音色の主要な周波数帯域について音響パワー情報分布を生成することにより、各アタック発生源に対応するアタック位置の検出の精度が向上する。
【００１４】
音響パワー情報は、音響パワー、または音響パワーの変化率を含んでもよい。
【００１５】
この場合、音響パワーの時間分布および音響パワーの変化率の時間分布においては、アタックに相当する部分は他の部分に比べて急峻に変化する。そのため、アタックに相当する部分をテンプレート波形として容易かつ正確に抽出することができる。
【発明の効果】
【００１６】
本発明によれば、予め複数のテンプレートを用意することなく、音響信号から高い精度で効率的に特定のアタック発生源に対応するアタック位置を検出することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態に係るアタック位置検出装置の構成を示す機能ブロック図である。
【図２】図１のアタック位置検出装置のハードウエア構成の一例を示すブロック図である。
【図３】主として音響パワー波形の算出方法を説明するための波形図である。
【図４】主として音響パワー波形の算出方法を説明するための波形図である。
【図５】テンプレート波形の抽出処理を示すフローチャートである。
【図６】テンプレート波形の抽出処理を示すフローチャートである。
【図７】図１のアタック位置検出装置により行われるアタック位置検出処理を示すフローチャートである。
【図８】アタック位置検出処理の一例を示す波形図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態に係るアタック位置検出装置およびアタック位置検出プログラムについて図面を用いて詳細に説明する。
【００１９】
（１）アタック位置検出装置の機能的な構成
図１は本発明の一実施の形態に係るアタック位置検出装置１００の構成を示す機能ブロック図である。
【００２０】
図１のアタック位置検出装置１００は、音響信号記憶部１、周波数変換部２、音響パワー波形生成部３、周波数帯域設定部４、音響パワー波形記憶部５、テンプレート波形抽出部６、マッチング処理部７およびアタック位置検出部８を含む。
【００２１】
音響信号記憶部１は、音響信号（オーディオデータ）を記憶する。音響信号とは、楽曲等の音の時間的変化を表すデータである。ここで、楽曲は、広く音楽の曲を意味し、楽器の演奏による曲および人の声による曲を含む。本実施の形態では、音響信号は、リズム楽器等によるリズムパターンを含み、例えば、リズム音を繰り返し含むループ素材である。リズム楽器としては、バスドラム、スネアドラム、タム、ハイハット、その他のシンバル類、タブラおよびジャンベ等が挙げられる。リズム音には、リズム楽器の音、リムショット、クラップ（手拍子）等がある。また、リズム音のアタックを発生するアタック発生源には、リズム楽器、リム、人の手等がある。
【００２２】
周波数変換部２は、音響信号記憶部１に記憶される音響信号をＦＦＴ（高速フーリエ変換）により一定のフレームごとに周波数軸上（周波数領域）の音響信号に変換する。ここで、フレームはＦＦＴの処理単位である。
【００２３】
周波数帯域設定部４は、音響信号の周波数帯域のうち検出対象であるリズム音を含む一または複数の周波数帯域を設定する。この場合、周波数帯域設定部４は、例えば、ユーザの操作に基づいて一または複数の周波数帯域を設定する。ユーザは、例えば、低周波数帯域、中間周波数帯域および高周波数帯域を設定することができる。低周波数帯域は、例えば２０Ｈｚ〜１００Ｈｚであり、中間周波数帯域は、例えば１００Ｈｚ〜３００Ｈｚであり、高周波数帯域は、例えば３００Ｈｚ〜８ｋＨｚである。低周波数帯域には、例えば、バスドラムの音が含まれる。また、中間周波数帯域には、例えば、スネアドラム、タム、リムショットまたはクラップの音が含まれる。さらに、高周波数帯域には、例えば、ハイハットまたはその他のシンバル類の音が含まれる。ユーザは、周波数帯域の数および各周波数帯域の範囲を任意に変更することができる。
【００２４】
音響パワー波形生成部３は、周波数変換部２により得られた周波数軸上の音響信号に基づいて、周波数帯域設定部４により設定された周波数帯域ごとに音響パワー情報分布として音響パワー波形を生成する。音響パワー波形の生成方法の詳細については後述する。音響パワー波形は、時間軸上での音響信号の音響パワーの変化（分布）を表す。音響パワー波形記憶部５は、音響パワー波形生成部３により生成された音響パワー波形を記憶する。
【００２５】
テンプレート波形抽出部６は、音響パワー波形記憶部５に記憶される音響パワー波形から検出対象であるリズム音のアタックを含むテンプレート波形を抽出する。後述するように、テンプレート波形は、音響パワー波形の一部である。
【００２６】
マッチング処理部７は、音響パワー波形記憶部５に記憶される音響パワー波形に対してテンプレート波形抽出部６により抽出されたテンプレート波形のマッチング処理を行う。アタック位置検出部８は、マッチング処理部７によるマッチング処理の結果に基づいて、検出対象であるリズム音のアタック位置を検出する。検出されたアタック位置は、時間軸上の音響信号におけるリズム音の立ち上がりのタイミングである。
【００２７】
（２）アタック位置検出装置１００のハードウエア構成
図２は図１のアタック位置検出装置１００のハードウエア構成の一例を示すブロック図である。
【００２８】
図２のアタック位置検出装置１００は、ＣＰＵ（中央演算処理装置）１１０、ＲＯＭ（リードオンリメモリ）１２０、ＲＡＭ（ランダムアクセスメモリ）１３０、記憶装置１４０、表示装置１５０、入力装置１６０および出力装置１７０を含む。
【００２９】
ＲＯＭ１２０は、例えば不揮発性メモリからなり、システムプログラムおよびアタック位置検出プログラム等のコンピュータプログラムを記憶する。ＲＡＭ１３０は、例えば揮発性メモリからなり、ＣＰＵ１１０の作業領域として用いられるとともに、各種データを一時的に記憶する。ＣＰＵ１１０は、ＲＯＭ１２０に記憶されたアタック位置検出プログラムをＲＡＭ１３０上で実行することにより後述するアタック位置検出処理を行う。この場合、図１の各構成要素の機能が実現される。
【００３０】
記憶装置１４０は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記録媒体を含む。この記憶装置１４０には、図１の音響信号記憶部１および音響パワー波形記憶部５が構成される。上記のアタック位置検出プログラムが記憶装置１４０に記憶されてもよい。
【００３１】
なお、本実施の形態におけるアタック位置検出プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供されてＲＯＭ１２０または記憶装置１４０にインストールされてもよく、通信網を介した配信の形態で提供されてＲＯＭ１２０または記憶装置１４０にインストールされてもよい。
【００３２】
表示装置１５０は、液晶表示装置、有機ＥＬ（エレクトロルミネッセンス）表示装置またはプラズマディスプレイ装置等からなる。入力装置１６０は、マウス、キーボード、および音響入力端子等を含む。
【００３３】
表示装置１５０および入力装置１６０は、アタック位置検出処理の開始の指示、検出対象であるリズム音を含む周波数帯域の設定、およびアタック位置の検出結果の表示等に用いられる。表示装置１５０および入力装置１６０がタッチパネルとして一体化されてもよい。
【００３４】
出力装置１７０は、音響出力端子およびヘッドフォン等を含む。出力装置１７０が音響信号を音として出力するスピーカを含んでもよい。出力装置１７０の音響出力端子からは音響信号が出力される。また、アタック位置に基づいて検出されるリズムパターンが出力装置１７０の音響出力端子から出力されてもよい。
【００３５】
アタック位置検出装置１００は、ＣＰＵ１１０の代わりにＤＳＰ（Digital Signal Processor）を備えてもよく、またはＣＰＵ１１０に加えてＤＳＰを備えてもよい。また、図１の各構成要素の一部または全てが電子回路等のハードウエアにより構成されてもよい。
【００３６】
（３）音響パワー波形の算出
図３および図４は主として音響パワー波形の算出方法を説明するための波形図である。図３および図４において、ｔは時間（フレーム）を表し、ｆは周波数を表し、Ｐは音響パワーを表す。
【００３７】
図３の左上部分に音響信号ＡＳの一例が示される。横軸は時間ｔを表し、縦軸は振幅を表す。図３の例では、音響信号ＡＳはフレームＦ１，Ｆ２，…，Ｆｎに区分される。ｎは自然数である。まず、時間軸上の音響信号ＡＳをＦＦＴによりフレームごとに周波数軸上の音響信号に変換する。それにより、図３の左部分に示されるように、フレームＦ１〜Ｆｎの各々についての周波数軸上の音響信号が得られる。なお、図３の左部分には、周波数軸上の音響信号の波形は図示されていない。各フレームＦ１〜Ｆｎについての音響信号に一または複数の周波数帯域が設定される。図３の例では、低周波数帯域、中間周波数帯域および高周波数帯域が設定される。
【００３８】
次に、フレームＦ１〜Ｆｎの各々について、音響信号を構成する周波数成分ごとの音響パワーを算出する。それにより、図３の中央部に示されるような結果が得られる。
【００３９】
さらに、フレームＦ１〜Ｆｎの各々について、各周波数帯域内の複数の周波数成分の音響パワーの合計を算出し、算出結果を各周波数帯域の音響パワーとする。それにより、図３の右部分に示されるような結果が得られる。
【００４０】
次に、フレームＦ１〜Ｆｎの周波数帯域ごとに時間軸上での音響パワーの分布を音響パワー波形として生成する。図３の例では、フレームＦ１〜Ｆｎの低周波数帯域の音響パワーから図４（ａ）に示す時間軸上での音響パワー波形が生成される。また、フレームＦ１〜Ｆｎの中間周波数帯域の音響パワーから図４（ｂ）に示す時間軸上での音響パワー波形が生成される。さらに、フレームＦ１〜Ｆｎの高周波数帯域の音響パワーから図４（ｃ）に示す時間軸上での音響パワー波形が生成される。
【００４１】
フレーム長（フレームサイズ）は、例えば２５６サンプル〜４０９６サンプルであり、サンプリング周波数は、例えば４４．１ｋＨｚである。フレーム長が大きいほど周波数分解能が高くなる。一方、フレーム長が小さいほど時間分解能が高くなる。例えば、バスドラム等の低周波数帯域のアタック位置の検出の場合には、必要な時間分解能を確保できる範囲で周波数分解能を高くするためにフレーム長を大きめに設定することが好ましい。それにより、低周波数帯域のアタック位置の検出精度を向上させることができる。一方、例えばハイハットのように連打が予想される場合には、時間分解能を高くするためにフレーム長を小さめに設定することが好ましい。それにより、複数種類のリズムの差異を識別することができる。
【００４２】
（４）テンプレート波形の抽出処理
図５および図６はテンプレート波形の抽出処理を示すフローチャートである。次に、図４（ａ）および図５を参照しながらテンプレート波形抽出部６によるテンプレート波形の抽出処理の一例を説明する。ここでは、一例として、図４（ａ）に示す低周波数帯域におけるテンプレート波形の抽出処理について説明する。
【００４３】
まず、テンプレート波形抽出部６は、音響パワー波形内で最大値Ｍａｘを有するフレームの位置を最大フレーム位置ｐｍとして検出する（ステップＳ１）。次に、最大値Ｍａｘの一定率の音響パワーを第１のしきい値Ｔｈとして決定する（ステップＳ２）。ここで、一定率として、０以上１未満の任意の値を設定することができる。本例では、一定率は０．３である。
【００４４】
次いで、音響パワー波形において最大フレーム位置ｐｍから時間軸上で前方向に向って第１のしきい値Ｔｈに等しい音響パワーを有するフレームを探索し（ステップＳ３）、第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出されたか否かを判定する（ステップＳ４）。
【００４５】
第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出された場合には、検出されたフレームをテンプレート波形の先頭フレームｐ１として決定する（ステップＳ５）。最大フレーム位置ｐｍが音響パワー波形の開始フレームに近い場合には、最大フレーム位置ｐｍよりも以前に第１のしきい値Ｔｈに等しい音響パワーが存在しないことがある。そのため、第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出されない場合には、音響パワー波形の開始フレームをテンプレート波形の先頭フレームとして決定する（ステップＳ６）。
【００４６】
次いで、音響パワー波形において最大フレーム位置ｐｍから時間軸上で後方向に向って第１のしきい値Ｔｈに等しい音響パワーを有するフレームを探索し（ステップＳ７）、第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出されたか否かを判定する（ステップＳ８）。
【００４７】
第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出された場合には、検出されたフレームをテンプレート波形の末尾フレームｐ２として決定する（ステップＳ９）。最大フレーム位置ｐｍが音響パワー波形の最終フレームに近い場合には、最大フレーム位置ｐｍよりも以後に第１のしきい値Ｔｈに等しい音響パワーが存在しないことがある。そのため、第１のしきい値Ｔｈに等しい音響パワーを有するフレームが検出されない場合には、音響パワー波形の最終フレームをテンプレート波形の末尾フレームとして決定する（ステップＳ１０）。
【００４８】
最後に、音響パワー波形において、決定された先頭フレームｐ１から末尾フレームｐ２までをテンプレート波形ＴＰとして抽出する（ステップＳ１１）。
【００４９】
なお、例えば一打（発音）の持続時間の長いバスドラムを細かく連打する場合、最初のアタックの音響パワーが減衰する前に次のアタックが重なって複数のアタックを含むテンプレート波形が抽出される可能性がある。このような場合には、上記の方法で抽出されたテンプレート波形の最初の一定時間の部分をテンプレート波形とする。この場合の一定時間は、例えばバスドラムの一打分の演奏操作の時間である。また、音響パワーが第１のしきい値Ｔｈ以下に低下しない場合でも、アタックとみなすことができる音響パワー波形の部分をテンプレート波形として抽出してもよい。例えば、音響パワーの一定時間の減衰と一定時間の増加との境界をテンプレート波形の先頭フレームまたは末尾フレームとしてテンプレート波形を抽出してもよい。
【００５０】
（５）アタック位置検出装置１００の全体の動作
図７は図１のアタック位置検出装置１００により行われるアタック位置検出処理を示すフローチャートである。また、図８はアタック位置検出処理の一例を示す波形図である。図７のアタック位置検出処理は、図２のＣＰＵ１１０がＲＯＭ１２０または記憶装置１４０に記憶されたアタック位置検出プログラムを実行することに行われる。
【００５１】
図８の最上段には、図１の音響パワー波形記憶部５に記憶される音響信号の一例が示される。まず、周波数帯域設定部４は、検出対象となるリズム音を含む一または複数の周波数帯域を設定する（ステップＳ２１）。初期状態では、予め定められた一または複数の周波数帯域が設定される。ユーザは、通常、音響信号に含まれるリズム音の種類を認識しているので、図２の入力装置１６０の操作により、音響信号に応じて周波数帯域の数および範囲を変更することができる。さらに、ユーザがリズム音の種類を入力することにより周波数帯域設定部４がそのリズム音の種類に応じた周波数帯域を設定してもよい。例えば、音響信号がバスドラム、スネアドラムおよびハイハットの音を含む場合には、低周波数帯域、中間周波数帯域および高周波数帯域が設定される。
【００５２】
周波数変換部２は、音響信号にＦＦＴを行う（ステップＳ２２）。それにより、時間軸上の音響信号が周波数軸上の音響信号に変換される。
【００５３】
次に、音響パワー波形生成部３は、周波数軸上の音響信号の周波数成分ごとの音響パワーをフレームごとに算出し（ステップＳ２３）、周波数帯域設定部４により設定された各周波数帯域における音響パワーの合計をフレームごとに算出する（ステップＳ２４）。また、音響パワー波形生成部３は、周波数帯域ごとに時間軸上での音響パワーの分布を音響パワー波形として生成する（ステップＳ２５）。周波数帯域ごとの音響パワー波形は、音響パワー波形記憶部５に記憶される。図８の２段目には、音響パワー波形の一例が示される。
【００５４】
テンプレート波形抽出部６は、周波数帯域設定部４により設定された一または複数の周波数帯域のうち一の周波数帯域を設定された選択順序に従って選択する（ステップＳ２６）。具体的には、複数の周波数帯域にそれぞれ属する複数のリズム音のアタックが検出対象である場合には、複数の周波数帯域の選択順序が予め設定される。初期設定では、低周波数帯域、中間周波数帯域および高周波数帯域が順に選択される。ユーザは、周波数帯域の選択順序を設定または変更することができる。さらに、テンプレート波形抽出部６は、音響パワー波形記憶部５に記憶された音響パワー波形のうち選択された周波数帯域の音響パワー波形に基づいて、図５および図６のテンプレート波形の抽出処理によりテンプレート波形を抽出する（ステップＳ２７）。
【００５５】
マッチング処理部７は、選択された周波数帯域の音響パワー波形に対するテンプレート波形のマッチング処理を行う（ステップＳ２８）。マッチング処理では、音響パワー波形に対してテンプレート波形を時間軸上で１フレームずつずらしながら、音響パワー波形とテンプレート波形との一致度を示す相関関数の値を算出する。マッチング処理部７は、マッチング処理の結果に基づいてアタック位置を検出する（ステップＳ２９）。マッチング処理およびアタック位置の検出方法の詳細については後述する。
【００５６】
その後、マッチング処理部７は、周波数帯域設定部４により設定された周波数帯域のうち未だアタック位置が検出されていない他のリズム音に対応する周波数帯域があるか否かを判定する（ステップＳ３０）。他のリズム音に対応する周波数帯域がある場合には、ステップＳ２６に戻り、その中のいずれかの周波数帯域についてステップＳ２６〜Ｓ３０の処理を行う。ステップＳ３０において該当する他の周波数帯域がない場合には、アタック位置検出処理を終了する。
【００５７】
ここで、ステップＳ２８のマッチング処理で用いられる相関関数について説明する。相関関数Ｃ（τ）は次式で表される。
【００５８】
【数１】
2015200685.tif 000003
【００５９】
上式（１）において、ｆ１はテンプレート波形のフレームごとの音響パワーであり、ｆ２は音響パワー波形のフレームごとの音響パワーである。ｔは時間（フレーム）であり、τはテンプレート波形のフレーム単位のずらし時間である。ＮＴはテンプレート波形のフレーム数であり、ＮＡは音響パワー波形のフレーム数である。ずらし時間τは、０≦τ≦ＮＡ−ＮＴである。
【００６０】
ずらし時間τを０からＮＡ−ＮＴまで変化させ、複数の相関関数Ｃ（τ）の値を算出する。上式（１）の相関関数Ｃ（τ）を用いる場合、相関関数Ｃ（τ）の値が小さいほど音響パワー波形とテンプレート波形との一致度が高い。
【００６１】
また、相関関数Ｃ（τ）の値の移動平均を用いて第２のしきい値を算出する。あるフレームでの第２のしきい値を求めるための移動平均は、そのフレーム以前の一定数のフレームにおける相関関数Ｃ（τ）の値の平均である。
【００６２】
図８の３段目には、相関関数Ｃ（τ）の値の変化が実線で示され、第２のしきい値の変化が点線で示される。また、図８の最下段には、アタック位置の検出結果が棒線で示される。
【００６３】
本実施の形態では、相関関数Ｃ（τ）の値が第２のしきい値を一定期間（一定のフレーム数）以上超えた場合における最初のフレームをアタック位置として検出する。図８の例では、４箇所において、実線で示される相関関数Ｃ（τ）の値が点線で示される第２のしきい値を一定期間（１フレームが２０４８サンプルの場合、例えば２フレーム）以上超えている。アタック位置は、それらの期間の最初のフレームとなるので、相関関数Ｃ（τ）の値が第２のしきい値を超えたフレームが、棒線で示すようにアタック位置として検出される。
【００６４】
相関関数Ｃ（τ）の値の変化は、アタック位置で下向きのピークを有する。しかし、音響パワー波形の種類によっては、相関関数Ｃ（τ）の値の変化においてアタック位置以外の箇所で細かいピークが現れることがある。例えば、アタック後に音量が減衰する区間で細かいピークが発生する。この場合、相関関数Ｃ（τ）の値のピーク位置をアタック位置として検出すると、細かいピークの位置をアタック位置として誤検出する可能性がある。そこで、本実施の形態では、アタック位置の誤検出を防止するために、相関関数Ｃ（τ）の値の移動平均を第２のしきい値として用いてアタック位置を検出する。それにより、無音状態からアタックによる急峻な音響パワーの変化を検出することができるとともに、アタック後の音量が減衰している区間での細かいピークの検出を防止することができる。
【００６５】
また、本来のアタック以外の細かいピークにより相関関数Ｃ（τ）の値が第２のしきい値を仮に超えてしまった場合でも、相関関数Ｃ（τ）の値が第２のしきい値を超える時間は短い。そのため、相関関数Ｃ（τ）の値が第２のしきい値を一定期間（例えば２フレーム）以上超えた場合における最初のフレームをアタック位置として検出することにより、アタック位置の誤検出を防止することができる。
【００６６】
第２のしきい値として、例えば、５フレーム程度における相関関数Ｃ（τ）の値の移動平均を用いる。細かいアタックを検出する場合には、移動平均のフレーム数を少なめ（例えば３フレーム程度）に設定し、テンプレート波形と類似するアタックのみを検出する場合には、移動平均のフレーム数を多め（例えば７フレーム程度）に設定する。また、移動平均に１以上の定数を乗じた値を第２のしきい値として用いてもよい。定数の一例は１．１５である。細かいアタックを検出する場合には定数を小さめに設定し、テンプレート波形と類似するアタックのみを検出する場合には定数を大きめに設定する。なお、移動平均に定数を加算した値を第２のしきい値として用いてもよい。
【００６７】
（６）実施の形態の効果
以上のように、本実施の形態によれば、時間軸上の音響信号から音響パワー波形が生成され、音響パワー波形からアタックに相当する部分がテンプレート波形として抽出される。さらに、音響パワー波形に対するテンプレート波形のマッチング処理により時間軸上の音響信号におけるアタック位置が検出される。
【００６８】
この場合、音響パワー波形において、アタックに相当する部分とアタック以外の部分とで変化が異なる。そのため、アタックに相当する部分をテンプレート波形として容易に抽出することができる。また、音響パワー波形は検出対象であるアタックを含む音響信号から生成されるので、テンプレート波形が検出対象であるアタックに正確に適合する。さらに、テンプレート波形を別の音響パワー波形から選択する作業が不要である。したがって、検出対象である各アタック発生源または各音響信号のために予め多数のテンプレート波形を用意することなく、アタック位置を高い精度で効率的に検出することが可能である。
【００６９】
また、設定された一または複数の周波数帯域ごとに音響パワー波形が生成されるので、一または複数の周波数帯域にそれぞれ含まれる一または複数のアタックを正確に検出することができる。したがって、音響信号に異なる周波数帯域の複数種類のリズム音が含まれる場合に、複数種類のリズム音のアタックを容易に識別し、それぞれのリズム音のアタック位置を正確に検出することができる。
【００７０】
さらに、検出されたアタック位置に基づいて音響信号におけるリズムパターンを抽出することができる。抽出されたリズムパターンは、例えば、抽出されたリズムパターンに類似するリズムパターンを有する楽曲を検索すること、抽出されたリズムパターンに合わせた他のパートの演奏データを作成すること、または抽出されたリズムパターンに基づいて別のループ素材を作成することに活用することができる。
【００７１】
（７）他の実施の形態
（ａ）上記実施の形態では、音響パワー情報として音響パワーを用い、音響パワー情報分布として時間軸上の音響パワー波形を用いているが、音響パワー情報および音響パワー情報分布はこれらに限定されない。例えば、音響パワー情報としてスペクトル差分（周波数成分ごとの音響パワーの時間差分の総和）を用い、音響パワー情報分布としてスペクトル差分の時間軸上の波形を用いてもよい。具体的には、周波数成分ごとの隣接するフレームにおける音響パワーの差分の絶対値を算出することにより時間軸上での音響パワーの変化率（微分）を示す波形が生成される。アタック位置では、音響パワーの変化率が大きくなるため、スペクトル差分の時間軸上の波形に基づいてアタック位置を検出することができる。
【００７２】
（ｂ）音響信号が１種類のリズム音のみを含む場合には、単一の周波数帯域を設定してもよい。この場合、時間軸上の音響信号を周波数軸上の音響信号に変換せずに、時間軸上の音響信号から時間軸上の音響パワー波形を生成してもよい。
【００７３】
（ｃ）マッチング処理における相関関数は、上式（１）の相関関数に限定されない。上式（１）で表される相関関数Ｃ（τ）の代わりに、次式で表される相関関数Ｃ（τ）を用いてもよい。
【００７４】
【数２】
2015200685.tif 000004
【００７５】
上式（２）において、ｆ１はテンプレート波形のフレームごとの音響パワーであり、ｆ２は音響パワー波形のフレームごとの音響パワーである。ｔは時間（フレーム）であり、τはテンプレート波形のフレーム単位のずらし時間である。ＮＴはテンプレート波形のフレーム数であり、ＮＡは音響パワー波形のフレーム数である。ずらし時間τは、０≦τ≦ＮＡ−ＮＴである。
【００７６】
ずらし時間τを０からＮＡ−ＮＴまで変化させ、複数の相関関数Ｃ（τ）の値を算出する。上式（２）の相関関数Ｃ（τ）を用いる場合、相関関数Ｃ（τ）の値が大きいほど音響パワー波形とテンプレート波形との一致度が高い。
【００７７】
（ｄ）音響信号は、例えば１小節から数小節の長さを有するループ素材であってもよい。例えば、ドラムス系のループ素材は、音楽作成プログラムを用いてバスドラムおよびハイハット等のリズム楽器の音を複写および貼り付けにより作成される場合がある。このような場合、テンプレート波形に適合するアタックを容易かつ正確に検出することができる。
【００７８】
（ｅ）上記実施の形態では、音響信号が図１の音響信号記憶部１に記憶されるが、音響信号がインターネット上のサーバに記憶され、アタック位置検出装置１００がサーバに記憶された音響信号におけるアタック位置を検出してもよい。
【００７９】
（ｆ）上記実施の形態に係るアタック位置検出装置１００は、ＣＰＵ１１０等のハードウエアおよび音響信号分析制御プログラム等のソフトウエアにより実現されるが、図１のアタック位置検出装置１００の各構成要素が電子回路等のハードウエアにより実現されてもよい。
【００８０】
（ｇ）相関関数Ｃ（τ）の値からアタック位置を検出する方法は、相関関数Ｃ（τ）の移動平均を第２のしきい値として用いる方法に限定されない。音響パワー波形に本来のアタック以外の細かいピークが現れない場合には、相関関数Ｃ（τ）の値の変化におけるピークの位置をアタック位置として検出してもよい。あるいは、例えば相関関数Ｃ（τ）の取り得る値の範囲内のある値を移動平均の代わりに、第２のしきい値として採用してもよい。さらに、アタック位置の検出結果を見ながらユーザが第２のしきい値を調整できる構成であってもよい。
【００８１】
（ｈ）上記実施の形態では、テンプレート波形の先頭フレームおよび末尾フレームを決定するために共通の第１のしきい値を用いているが、テンプレート波形の先頭フレームおよび末尾フレームを決定するために異なるしきい値を用いてもよい。また、第１のしきい値を記憶された周波数帯域ごとの音響パワー波形の特徴等に基づいて自動的に調整してもよい。例えば、ある周波数帯域における全体の音量が大きく、音響パワー波形の最小値が大きい場合には、第１のしきい値が音響パワー波形の最小値以下にならないように、第１のしきい値を最小値と最大値との間に自動的に調整する。
【００８２】
（８）請求項の各構成要素と実施の形態の各部との対応
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることができる。
【００８３】
上記実施の形態では、ステップＳ２２〜Ｓ２５が生成ステップの例であり、ステップＳ２７が抽出ステップの例であり、ステップＳ２８，Ｓ２９が検出ステップの例であり、ステップＳ２１が設定ステップの例であり、ＣＰＵ１１０がコンピュータの例である。また、音響パワー、または音響パワーの差分スペクトルが音響パワー情報の例であり、音響パワー波形、または音響パワーの差分スペクトルの波形が音響パワー情報分布の例である。
【００８４】
さらに、ＣＰＵ１１０または音響パワー波形生成部３が生成手段の例であり、ＣＰＵ１１０またはテンプレート波形抽出部６が抽出手段の例であり、ＣＰＵ１１０、またはマッチング処理部７およびアタック位置検出部８が検出手段の例である。
【産業上の利用可能性】
【００８５】
本発明は、音響信号のリズム音等のアタック位置の検出に利用することができる。
【符号の説明】
【００８６】
１…音響信号記憶部，２…周波数変換部，３…音響パワー波形生成部，４…周波数帯域設定部，５…音響パワー波形記憶部，６…テンプレート波形抽出部，７…マッチング処理部，８…アタック位置検出部，１００…アタック位置検出装置，１１０…ＣＰＵ，１２０…ＲＯＭ，１３０…ＲＡＭ，１４０…記憶装置，１５０…表示装置，１６０…入力装置，１７０…出力装置
【図１】
2015200685.tif 000005
【図２】
2015200685.tif 000006
【図３】
2015200685.tif 000007
【図４】
2015200685.tif 000008
【図５】
2015200685.tif 000009
【図６】
2015200685.tif 000010
【図７】
2015200685.tif 000011
【図８】
2015200685.tif 000012