(57)【要約】      （修正有）【課題】音響用のフィルタ技術に関し、音響信号に対し、干渉している成分の分解、変換、合成に最適なフィルタバンクを提供する。【解決手段】音響データ取得部１０１は、逐次入力されるデータｘ［ｍ］を取得し、フィルタバンク部１０２に供給する。フィルタバンク部１０２は、ｘ［ｍ］をフィルタ処理し、音高毎のＸ［ｍ］、Ｘ［ｐ，ｍ］（ｐ＝−ＮＬ，−ＮＬ＋１，…，ＮＨ）を計算する。Ｘ［ｐ，ｍ］はＳ個に１回（Ｘ［ｐ，Ｓの倍数］）のデータのみ計算すればよい。対数スペクトラム演算部１０３は、フィルタバンク部１０２で計算したＸ［ｐ，ｍ］の複素数から、振幅の対数を計算する。表示データ生成部１０４は、対数スペクトラム演算部１０３での演算結果に基づいて、対数スペクトログラムを表示用データとして生成する。表示部１０５は、表示データ生成部１０４で生成した表示用データに基づいて、２次元画像を表示する。【選択図】図４
2015040963.tif 000002
【特許請求の範囲】
【請求項１】
音響信号が入力される音響信号入力手段と、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、
【数５６】
2015040963.tif 000058
で示される対数周波数特性ｈ（ｆ）を有するフィルタと、を備える、
ことを特徴とする音響用フィルタ装置。
【請求項２】
前記音響信号は楽音信号であり、
１オクターブの音高の分割数をｄ、調律用の基準周波数をｆｔ、基準周波数より低い音高の数をＮＬ、基準周波数より高い音高の数をＮＨとしたときに、
【数５７】
2015040963.tif 000059
【数５８】
2015040963.tif 000060
【数５９】
2015040963.tif 000061
で示される時間域フィルタ応答ｇ（ｔ）を有するフィルタを備える、
ことを特徴とする請求項１に記載の音響用フィルタ装置。
【請求項３】
前記フィルタは、
前記音響信号入力手段から入力された音響信号の実部に対し、
【数６０】
2015040963.tif 000062
で示される折り返し加算を行う折り返し加算部と、
前記音響信号入力手段から入力された音響信号の虚部に対し、
【数６１】
2015040963.tif 000063
で示される折り返し減算を行う折り返し減算部と、
前記折り返し加算部の出力に対し、
【数６２】
2015040963.tif 000064
で示されるフィルタ処理を行う実数演算部と、
前記折り返し減算部の出力に対し、
【数６３】
2015040963.tif 000065
で示されるフィルタ処理を行う虚数演算部と、
前記実数演算部で算出された実数部出力と、前記虚数演算部で算出された虚数部出力とを統合する実部虚部統合部と、
を備えることを特徴とする請求項１または２に記載の音響用フィルタ装置。
【請求項４】
前記音響信号入力手段は、前記音響信号が一括で取得可能であり、
前記フィルタは、
前記音響信号入力手段から入力された音響信号に対し高速フーリエ変換を行うＦＦＴ部と、
前記音響信号の音高ごとに、前記ＦＦＴ部からの出力と、
【数６４】
2015040963.tif 000066
【数６５】
2015040963.tif 000067
により求められるＧとの乗算を行うフィルタ処理部と、
前記フィルタ処理部において現在処理対象となった前記音響信号の音高が低域であるか非低域であるかを決定する低域決定部と、
前記低域決定部により前記音高が非低域であると判断された場合に、前記フィルタ処理部の出力に対し、逆高速フーリエ変換を行うＩＦＦＴ部と、
前記低域決定部により前記音高が低域であると判断された場合に、前記フィルタ処理部の出力に対し、前記Ｇの非ゼロの周波数で間引きされた時間における逆離散フーリエ変換を行うオンデマンドＩＤＦＴ部と、
を備えることを特徴とする請求項１から３のいずれかに記載の音響用フィルタ装置。
【請求項５】
パディング量を決定するパディング量決定部と、
前記ＦＦＴ部の処理に際して前記パディング量決定部によって決定された前記パディング量のパディングを前記音響信号入力手段から入力された音響信号に対し行うパディング部と、
【数６６】
2015040963.tif 000068
で示される式により、前記ＩＦＦＴ部でのＩＦＦＴ処理時間を推定するＩＦＦＴ計算時間推定部と、
【数６７】
2015040963.tif 000069
で示される式により、前記オンデマンドＩＤＦＴ部でのオンデマンドＩＤＦＴ処理時間を推定するオンデマンドＩＤＦＴ計算時間推定部と、
をさらに備え、
前記低域決定部は、前記ＩＦＦＴ計算時間推定部によって推定されたＩＦＦＴ処理時間と、前記オンデマンドＩＤＦＴ計算時間推定部によって推定されたオンデマンドＩＤＦＴ処理時間とを比較することにより、前記音高が低域であるか非低域であるかを決定することを特徴とする、請求項４に記載の音響用フィルタ装置。
【請求項６】
前記音響信号入力手段は、前記音響信号が一括で取得可能であり、
前記フィルタは、
該フィルタにおいて現在処理対象となった前記音響信号の音高が高域であるか非高域であるかを決定する高域決定部と、
前記高域決定部により前記音高が高域であると判断された場合に、請求項３に記載のフィルタ装置としてのフィルタを実行する時間領域フィルタ部と、
前記高域決定部により前記音高が非高域であると判断された場合に、請求項４または５に記載のフィルタ装置としてのフィルタを実行する周波数領域フィルタ部と、
を備えることを特徴とする請求項１または２に記載の音響用フィルタ装置。
【請求項７】
【数６８】
2015040963.tif 000070
で示される式により、前記時間領域フィルタ部での時間領域フィルタ処理時間を推定する時間領域フィルタ計算時間推定部と、
【数６９】
2015040963.tif 000071
で示される式により、前記周波数領域フィルタ部での周波数領域フィルタ処理時間を推定する周波数領域フィルタ計算時間推定部と、
をさらに備え、
前記高域決定部は、前記時間領域フィルタ計算時間推定部によって推定された時間領域フィルタ処理時間と、前記周波数領域フィルタ計算時間推定部によって推定された周波数領域フィルタ処理時間とを比較することにより、前記音高が高域であるか非高域であるかを決定することを特徴とする、請求項６に記載の音響用フィルタ装置。
【請求項８】
音響信号を入力し、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、
【数７０】
2015040963.tif 000072
で示される対数周波数特性ｈ（ｆ）を有するフィルタ処理を実行する、
ことを特徴とする音響用フィルタリング方法。
【請求項９】
音響信号を入力するステップと、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、
【数７１】
2015040963.tif 000073
で示される対数周波数特性ｈ（ｆ）を有するフィルタリングを実行するステップと、
をコンピュータに実行させることを特徴とする音響用フィルタリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音響用のフィルタ装置、フィルタリング方法、およびプログラムに関する。
【背景技術】
【０００２】
従来より、与えられる音響信号を表現するデジタル波形信号に対して、各音階に対応する周波数に関する周波数スペクトルのレベルを検知するために時分割で異なる特性のデジタルフィルタリング処理を順次実行して、その音響信号に含まれる１つ以上の音階音をリアルタイムで検知する技術が知られている（例えば特許文献１）。
【０００３】
このようにして１つ以上の音階音が求まれば、プリンタやディスプレイ上に各音階による和音を表示、印字させたり、楽譜（五線譜）形式で表示、印字させたり、あるいは楽音発生回路を介して曲の自動演奏を行ったりすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２７７５６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、検知される音階音の正確性は、入力される音響信号に対して実行されるデジタルフィルタリング処理の性能に大きく左右される。従来技術で用いられていたデジタルフィルタリング処理は、音響信号から例えば音階音を抽出することに対して必ずしも最適なフィルタ特性を有しているとはいえず、最適な性能の音響用フィルタを実現できているとはいえないという問題点を有していた。
【０００６】
本発明は、音響信号に対し、干渉している成分の分解、変換、合成に最適なフィルタバンクを提供することを目的とする。
【課題を解決するための手段】
【０００７】
態様の一例では、音響信号が入力される音響信号入力手段と、複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、
【数１】
2015040963.tif 000003
式で示される対数周波数特性ｈ（ｆ）を有するフィルタと、を備える。
【発明の効果】
【０００８】
本発明によれば、音響信号に対し、干渉している成分の分解、変換、合成に最適なフィルタバンクを提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】隣接音高Ａ４とＡ＃４の各々の周波数特性と、それらを加算した周波数特性の例を示す周波数特性図である。
【図２】本発明の実施形態における、Ａ４の音高に対応する｜ｇ（ｔ）｜のフィルタ特性を示す図である。
【図３Ａ】本実施形態によるフィルタ特性との比較のために、フィルタ形状が矩形の場合の｜ｇ（ｔ）｜のフィルタ特性を示す図である。
【図３Ｂ】本実施形態によるフィルタ特性との比較のために、フィルタ形状が三角形の場合の｜ｇ（ｔ）｜のフィルタ特性を示す図である。
【図３Ｃ】本実施形態によるフィルタ特性との比較のために、フィルタ形状が台形の場合の｜ｇ（ｔ）｜のフィルタ特性を示す図である。
【図４】第１の実施形態のブロック図である。
【図５】第１の実施形態におけるフィルタバンク部１０２の詳細な構成例を示すブロック図である。
【図６】第２の実施形態におけるフィルタバンク部１０２の詳細な構成例を示すブロック図である。
【図７】第３の実施形態におけるフィルタバンク部１０２の詳細な構成例を示すブロック図である。
【図８】第１、第２、または第３の実施形態を実現可能なコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
【００１１】
本発明の実施形態は、デジタル化された音響信号、特に実際の楽曲データに対し、音高の表示、音響分析、和音など干渉している成分の分解、変換、合成に最適なフィルタバンクを提供するものである。
【００１２】
以下、音響信号に対するフィルタバンクについて一般的に考えられる技術とその課題について説明した後に、本発明の実施形態について説明する。
【００１３】
音楽とは非定常な信号であり、音響信号ｘ（ｔ）は振幅Ａ（ｔ）と位相φ（ｔ）とを用いて数２式のように表すことができる。
【００１４】
【数２】
2015040963.tif 000004
【００１５】
多くの信号処理（例えばアナログ回路など）と同様に、音響信号は、数３式に示す複素信号ｙ（ｔ）であると考えるのが本質である。
【００１６】
【数３】
2015040963.tif 000005
【００１７】
なお、ｊは虚数単位である。このｙ（ｔ）を観測したものがｘ（ｔ）、つまり、下記数４式に示すように、ｙ（ｔ）の実部がｘ（ｔ）と等しいと考える。
【００１８】
【数４】
2015040963.tif 000006
【００１９】
人間の耳には、ｘ（ｔ）がそのまま知覚される訳ではなく、蝸牛にある多数の共振器を通して、周波数毎の刺激の強度として知覚される。このとき周波数、強度共に対数化したものが人間にはリニアに感じられる。この聴覚特性に対応して、１オクターブを所定の分割数ｄで分割した音高が定義される。例えば、西洋音楽では１２分割（ｄ＝１２）である。なお、ｄは用途によって任意に設定することもできる。
【００２０】
また、楽曲を構成する楽器音や歌声は発音の仕組みから調波構造（基音と呼ばれる周波数とその整数倍音）を持つことが知られている。これもまた対数周波数で扱うと周波数の配置が固定になるので都合がいい。
【００２１】
以上より、一般的な音響信号処理では、ｘ（ｔ）からＡ（ｔ）とφ（ｔ）を推定するのではなく、下記数５式に示すように、音響信号を周波数ｆ毎の信号に分離し、Ａｆ（ｔ）とφｆ（ｔ）を推定することが行われる。
【００２２】
【数５】
2015040963.tif 000007
【００２３】
この分離は、時間周波数解析と呼ばれている。
【００２４】
時間周波数解析手法としては、主に以下の３つの手法が知られている。これらはフィルタバンクである。
【００２５】
（１）短時間フーリエ変換（Ｓｈｏｒｔ−Ｔｉｍｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ、以下ＳＴＦＴ）
【００２６】
（２）定Ｑフィルタバンク（ＣＱＴ：Ｃｏｎｓｔａｎｔ  Ｑ  Ｔｒａｎｓｆｏｒｍ、以下ＣＱＴ）
Ｊｕｄｉｔｈ  Ｃ．Ｂｒｏｗｎ，”Ｃａｌｃｕｌａｔｉｏｎ  ｏｆ  ａ  ｃｏｎｓｔａｎｔ  Ｑ  ｓｐｅｃｔｒａｌ  ｔｒａｎｓｆｏｒｍ”，Ｊ．Ａｃｏｕｓｔ．Ｓｏｃ．Ａｍ．，８９（１）：４２５−４３４，１９９１
【００２７】
（３）複素連続ウェーブレット変換（Ｃｏｍｐｌｅｘ  Ｃｏｎｔｉｎｕｏｓ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ、以下ＣＣＷＴ）
【００２８】
これらの手法のうちで、最もよく用いられるのがＳＴＦＴである。
【００２９】
ＳＴＦＴは、観測時刻ｔを中心とする所定時間の信号を切り出し、この切り出した信号に対してフーリエ変換を実行する。フーリエ変換は周期信号に適用することが前提であるが、切り出した信号は一般的に周期性を持たないので両端で不連続になり、不要な高周波成分が発生する。この対策として、この不連続性を緩和する窓関数ｗ（ｔ）を乗算する。つまり、下記数６式に示すように、ｘ（ｔ）にｗ（ｔ）を時間シフトしたものを乗じて信号の切り出しを行い、この切り出した信号に対してフーリエ変換（ＳＴＦＴ）を実行することにより、Ｘ（ｆ，ｔ）が算出される。
【００３０】
【数６】
2015040963.tif 000008
【００３１】
なお、ｗ（ｔ）は一般的にｔ＝０でピークを持ち、所定の範囲外で０であり、｜ｔ｜が大きいほど｜ｗ（ｔ）｜が小さくなる偶関数として定義される。
【００３２】
実際にはｘ（ｔ）は、サンプリング周波数ｆｓで観測された離散的かつ長さＭの信号である。このときのサンプル周期Ｔ（＝１／ｆｓ）とすると、実際の観測はｔ＝ｍＴ（ｍ＝０，１，…，Ｍ−１）の離散的な時刻での信号ｘ（ｍＴ）であり、これをｘ［ｍ］と表現する。なお、範囲外の観測は０を仮定する。
【００３３】
このような離散的な観測では、フーリエ変換は離散フーリエ変換となる。そして、窓関数の長さをＮとすると、ｆは、下記数７式に示すように、ｆｓ／Ｎの整数ｋ倍かつ｜ｆ｜がナイキスト周波数ｆｓ／２未満になる。
【００３４】
【数７】
2015040963.tif 000009
【００３５】
以上より、数６式に離散信号を適応すると、ＳＴＦＴの結果Ｘ［ｋ，ｍ］は、下記数８式のようになる。
【００３６】
【数８】
2015040963.tif 000010
【００３７】
数７式から明らかなように、ＳＴＦＴの周波数分解能は、Ｎのみによって決定され、周波数によらず一定である。
【００３８】
もし高い周波数分解能が必要ならば、Ｎを大きくすればよいが、数８式はＮに比例した時間の積算なので、時間分解能が低下する。このような時間分解能と周波数分解能のトレードオフは不確定性原理と呼ばれている。
【００３９】
この不確定性原理から、低い周波数の音高では高い周波数分解能が、高い周波数の音高では低い周波数分解能が望ましい。しかし、ＳＴＦＴでは音高に関わらずＮが共通なのでこれを満たさない。
【００４０】
この問題に対処したものとして、ＣＱＴやＣＣＷＴによるフィルタバンク分析がある。
【００４１】
ＣＱＴは、単純に音高（周波数）毎に異なるＮを用いたＳＴＦＴである。
【００４２】
フィルタの分離性能を表す指標にＱ値と呼ばれるものがある。ここではＱ値を、下記数９式で表す。なお、δｆはフィルタの帯域幅（分解能に相当）である。
【００４３】
【数９】
2015040963.tif 000011
【００４４】
不確定性原理を考慮すれば、フィルタバンクを構成する全てのフィルタのＱ値を等しくすること、つまり定Ｑ性を持つことが望ましい。これは対数周波数上で各フィルタの形状が同一（合同）であればよい。勿論、振幅スケールで正規化したものが合同でも定Ｑ性を持たせることもできるが、音高毎に振幅スケールが異なるのは音響用のフィルタとしては望ましくない。
【００４５】
時間領域でのフィルタをｇ（ｔ）とすると、Ｘ（ｆ，ｔ）は、下記数１０式に示すように、ｘ（ｔ）とｇ（ｔ）の畳込みから求めることができる。
【００４６】
【数１０】
2015040963.tif 000012
【００４７】
周波数領域でのこのフィルタの周波数特性Ｇ（ｆ）は、下記数１１式に示すように、ｇ（ｔ）をフーリエ変換したものである。
【００４８】
【数１１】
2015040963.tif 000013
【００４９】
同様にｇ（ｔ）は、下記数１２式に示すようにＧ（ｆ）を逆フーリエ変換したものになる。
【００５０】
【数１２】
2015040963.tif 000014
【００５１】
前述したたように、対数周波数上で合同なフィルタは、周波数上では、周波数方向に拡大縮小したものになる。Ｇ（ｆ）をｂ倍に拡大したフィルタは時間領域では、下記数１３式に示すｇb （ｔ）になる。
【００５２】
【数１３】
2015040963.tif 000015
【００５３】
ここでｆb を、下記数１４式で定義すると、数１３式は数１５式のように変形される。
【００５４】
【数１４】
2015040963.tif 000016
【００５５】
【数１５】
2015040963.tif 000017
【００５６】
これはｇ（ｔ）を時間方向にｂ分の１に縮小し、振幅方向にｂ倍に拡大したものである。以上のケースは、Ｎを変化させたときの望ましい振幅スケールである。
【００５７】
次に、音高毎のＮをＮ［ｋ］とし、このＮ［ｋ］について説明する。
【００５８】
或る音高と隣接する音高の周波数の比Ｄは、下記数１６式で示される。
【００５９】
【数１６】
2015040963.tif 000018
【００６０】
この比はδｆに等しいので、Ｑは下記数１７式のようになる。
【００６１】
【数１７】
2015040963.tif 000019
【００６２】
数７式より、δｆは数１８式となる。
【００６３】
【数１８】
2015040963.tif 000020
【００６４】
数１８式と数１７式から、Ｎ［ｋ］は下記数１９式のようになる。
【００６５】
【数１９】
2015040963.tif 000021
【００６６】
数８式に数７式、数１９式を適用し、数１５式のスケールを考慮すると、Ｘ［ｋ，ｍ］は、下記数２０式になる。
【００６７】
【数２０】
2015040963.tif 000022
【００６８】
ＣＱＴでは、ｗ（ｔ）としては、下記数２１式に示すハミング窓を使う。
【００６９】
【数２１】
2015040963.tif 000023
【００７０】
ＣＱＴの周波数特性については後述する。
【００７１】
ＣＣＷＴは、スケーリングの仕方、窓関数、Ｑ値が異なるだけで、ＣＱＴと類似している。
【００７２】
マザーウェーブレットψ（ｔ）を、時間方向にａ倍（周波数上ではａ分の１倍）にスケールしたウェーブレットをψａとすると、ψａは、数２２式のようになる。
【００７３】
【数２２】
2015040963.tif 000024
【００７４】
このとき振幅は√ａ分の１倍になり、数１５式のスケールの仕方と異なり、音響向きではない。
【００７５】
なお、ψａによる変換結果Ｘａ（ｔ）は、下記数２３式で定義される。
【００７６】
【数２３】
2015040963.tif 000025
【００７７】
マザーウェーブレットで最もよく知られ一般的に利用されているものとして、モレット（ガボールとも呼ぶ）がある。これは窓関数がガウス分布で、これに複素正弦波を乗算し、周波数シフトしたものになる。
【００７８】
他の主要なマザーウェーブレットとしてはメキシカンハットがあるが、窓関数が、ＬｏＧ（Ｌａｐｌａｃｉａｎ  ｏｆ  Ｇａｕｓｓｉａｎ）、つまりガウス分布を２階微分したものである。これは信号の変化点を検出するためのものであり音響向きではない。
【００７９】
モレットの周波数特性については後述する。
【００８０】
ここでは音響用フィルタバンクとして理想的な特徴を列挙する。
【００８１】
・基本性能
（１）適切な周波数分解能、時間分解能
（２）フィルタ長が短い、収束性・局所性が高い
【００８２】
・周波数特性
（１）隣接音高のフィルタの中心周波数で漏洩がゼロ、それ以外のフィルタで漏洩がゼロ
（２）隣接音高のオーバーラップの加算がフラット
（３）形状が滑らかに変化する
（４）中心周波数付近でフラットに近い形状
【００８３】
基本性能（１）は、ＳＴＦＴが不適切である理由から容易に導き出される。
【００８４】
基本性能（２）は、一般的に高性能のフィルタは無限長のものが多いが、実際の計算上有限の長さに丸める必要がある。収束性・局所性が高いほうがこの丸めの影響が少なくてすむ。またフィルタ長が短いほうが、計算時間が短くすむ。
【００８５】
周波数特性（１）は、単純にフィルタの分離性能の良さを表している。この特性を満たせば、フィルタ結果を単純に振幅スペクトログラムや対数スペクトログラムとして表示すれば、どの音高（整数倍音含む）がなっているか簡単にわかる。漏洩が範囲・振幅などで大きければ表示前に何らかの後処理が必要になるし、音響データはダイナミックレンジが広いので、ある音高で観測されたデータが他の音高の大きな音の漏洩かこの音高の小さい音がなっているかの判断が難しい。なお、隣接音高への漏洩をある程度許容しているのは基本性能（２）を考慮している。
【００８６】
周波数特性（２）は、表示以外の用途を考慮したものである。特に干渉成分の分解を考慮している。或る周波数成分は音高が隣接する２つ以下のフィルタで観測される。このとき元の成分はその周波数に応じた所定の比率に分割され、各々のフィルタで観測される。もし、干渉成分を構成する周波数が既知で、その分割比率が異なるならば、干渉前の成分に分解できる可能性がある。その他としては、周波数特性（２）を満たすならば、フィルタバンク全体の通過帯域でフラットになる。このことは分析、変換、合成などで音質を保つことにも役立つ。
【００８７】
周波数特性（３）は、基本性能（２）を考慮したものである。形状が急峻に変化すると時間領域での収束性・局所性が低下する。
【００８８】
周波数特性（４）は、チューニングの違いが与える影響を小さくするためのものである。一般的にはＡ４の音高が４４０Ｈｚになるように楽器は調律する。但し、楽曲によっては、調律用の基準周波数ｆｔが４４０Ｈｚと異なるものも存在する。従って、例えばｆｔが約４４６Ｈｚ（４４０Ｈｚに対して８分の１音高い）になっても、表示上の破綻が少ない特性が望ましい。
【００８９】
以下に、ＣＱＴとＣＣＷＴのモレットの周波数特性について説明する。
【００９０】
まずは、数１０式と数６式から、ＳＴＦＴやＣＱＴでは、ｇ（ｔ）は下記数２４式のように表せる。
【００９１】
【数２４】
2015040963.tif 000026
【００９２】
これは、ｗ（ｔ）を時間反転したものを周波数変調したものである。同様に、数１０式と数２３式より、ｇ（ｔ）は下記数２５式のようになる。
【００９３】
【数２５】
2015040963.tif 000027
【００９４】
モレットも前述したようにガウス分布を周波数変調したものであるから、ｇ（ｔ）は、ガウス分布を時間反転したものを周波数変調したものに等しい。
【００９５】
ハミング窓もガウス分布も実偶関数なので、時間反転しても変わりはない。よって、各々のｇ（ｔ）は窓関数を周波数変調したものであるから、Ｇ（ｆ）は、窓関数をフーリエ変換したものを変調周波数分シフトしたものになる。
【００９６】
窓関数は実偶関数なので、そのフーリエ変換も実偶関数になる。つまりＧ（ｆ）は、変調周波数を中心に周波数に対し対称な形状になる。これでは、対数周波数上では非対称な形状になるため、周波数特性（２）を満たす見込みがない。
【００９７】
特にモレットの場合は、周波数特性（２）を近似的に満たすこともない。なぜなら、ガウス分布をフーリエ変換したものはガウス分布になることが知られているが、異なるガウス分布を加算してもオーバーラップがフラットになることはないからである。さらに本質的には周波数特性（１）を満たさない。また、３σが隣接音高の周波数になるようにして近似的に打ち切るとしても、この場合は周波数特性（４）を満たすことはできない。つまり周波数特性（１）と周波数特性（４）をバランスよく満たすことはできない。なお、約４４６Ｈｚの信号を４４０Ｈｚのフィルタで分析すると、元の信号の約０．５８３６倍で観測される。
【００９８】
次に隣接音高Ａ４とＡ４＃の各々の周波数特性と、それらを加算した周波数特性を、図１に示す。図１（ａ）がＣＱＴの場合で、図１（ｂ）がモレットの場合である。図１で、点線がＡ４、破線がＡ４＃、実線が加算である。
【００９９】
図１（ａ）よりＣＱＴは、周波数特性（１）を満たさないことが見て取れる。また、ＣＱＴは、周波数特性（２）も満たしていない。
【０１００】
図１（ｂ）よりモレットも、周波数特性（２）を満たしていない。また、モレットは、周波数特性（１）と周波数特性（４）をバランスよく満たすことができないことが見て取れる。
【０１０１】
以上より、一般的に考えられる時間周波数分析は音響用に適さないという課題がある。
【０１０２】
これらの課題を解決する本発明の実施形態について、以下に詳細に説明する。
【０１０３】
まず、本発明の実施形態における音響向けフィルタバンクについて、前述した理想的な特徴をもとに説明する。
【０１０４】
前述した周波数特性（１）から、時間領域ではなく、周波数領域でフィルタを設定する必要がある。また前述した周波数特性（２）から、対数周波数上において、フィルタの中心周波数ｆｃで対称な形状とする。以上より、本実施形態では、フィルタの形状を対数周波数上で設定し、これに対応するＧ（ｆ）を逆フーリエ変換して、時間領域でのｇ（ｔ）を求めるものとする。
【０１０５】
ここからは、フィルタの形状に関しては対数周波数上で、そしてこれに対応する周波数上の形状をｈ（ｆ）として説明する。なお、ｈ（ｆ）はナイキスト周波数未満の正の周波数のみを考える。また全ての周波数で実数のみをもつ。つまり、フィルタによって位相は変化しないものとする。
【０１０６】
フィルタの形状について説明する前に、ｈ（ｆ）とＧ（ｆ）の関係を先に説明する。実数の信号ｘ（ｔ）から複素数の信号ｙ（ｔ）を推定するので、ｇ（ｔ）は複素数である必要がある。また、ｈ（ｔ）は実数のみをとるので、Ｇ（ｆ）も実数のみとする。もし、Ｇ（ｆ）が実偶関数ならば、ｇ（ｔ）は実偶関数になるので、ｇ（ｔ）の実部は、負の周波数が、下記数２６式を満たせばよい。
【０１０７】
【数２６】
2015040963.tif 000028
【０１０８】
一方、Ｇ（ｆ）が実奇関数ならば、ｇ（ｔ）は虚奇関数になるので、ｇ（ｔ）の虚部については、負の周波数が、下記数２７式を満たせばよい。
【０１０９】
【数２７】
2015040963.tif 000029
【０１１０】
そして、ｇ（ｔ）は実部と虚部を加算したものに等しいが、負の周波数は相殺されゼロになり、結局、下記数２８式に示すように、Ｇ（ｆ）はｈ（ｆ）を２倍したものになる。
【０１１１】
【数２８】
2015040963.tif 000030
前述した周波数特性（１）から、ｈ（ｆ）は下記数２９式を満たす。
【０１１２】
【数２９】
2015040963.tif 000031
【０１１３】
また、前述した周波数特性（２）から、ｈ（ｆ）は下記数３０式を満たす。
【０１１４】
【数３０】
2015040963.tif 000032
【０１１５】
なお、ｈ（ｆ）は対数周波数上でｆｃに対して対称形をなすので、下記数３１式を満たす。
【０１１６】
【数３１】
2015040963.tif 000033
【０１１７】
これらを満たす形状として、三角形、台形、ハン窓（ハニング窓ともいう）がある。
【０１１８】
さらに、前述した周波数特性（３）と周波数特性（４）を条件として加えると、三角形と台形は不適格である。以上より、ハン窓を、本実施形態で提案する形状とする。ハン窓では、約４４６Ｈｚの信号を４４０Ｈｚのフィルタで分析すると、元の信号の約０．８５３６倍で観測される。これは、モレットと比較すると、前述した周波数特性（４）への適合が圧倒的に優れる。また、前述した周波数特性（１）を満たしていることから、周波数特性（１）と周波数特性（４）をバランスよく満たしているといえる。
【０１１９】
よって、本実施形態で提案するフィルタのｈ（ｆ）は、下記数３２式となる。
【０１２０】
【数３２】
2015040963.tif 000034
【０１２１】
なお、調律用の基準周波数をｆｔ、基準周波数より低い音高の数をＮＬ、基準周波数より高い音高の数をＮＨとすると、ｆｃは、下記数３３式のようになる。
【０１２２】
【数３３】
2015040963.tif 000035
【０１２３】
そして、数２８式、数１２式から、ｇ（ｔ）は、下記数３４式のようになる。
【０１２４】
【数３４】
2015040963.tif 000036
【０１２５】
上記数３４式は、解析的に解くことができないので、数値積分で計算を実行する。このとき、ｈ（ｆ）の周波数分解能は、例えば０．０１〜０．１Ｈｚ程度あれば、実用上問題ない。
【０１２６】
また、ｇ（ｔ）は、｜ｔ｜を大きくしてもゼロにはならないので、有限の長さに打ち切る必要がある。ここでは、数値積分したｇ（ｔ）をｇ［ｎ］とし、打ち切り後の長さを２Ｌ＋１とすると、下記数３５式に示すようなｇ［ｎ］の絶対値和の比率が定義できる。
【０１２７】
【数３５】
2015040963.tif 000037
【０１２８】
この比率が所定値以上になるＬを求めて打ち切りを行えばよい。例えばこの所定値を０．９９〜０．９９９程度にする。なお、絶対値和の変わりに２乗和を用いてもよい。この場合は、所定値をより大きくとる必要がある。
【０１２９】
図２は、本実施形態における、Ａ４の音高に対応する｜ｇ（ｔ）｜のフィルタ特性を示す図である。図２から、このフィルタ特性は、収束性・局所性があることが見て取れる。つまり、前述した基本性能（２）を満たす。
【０１３０】
また、図３Ａ、図３Ｂ、および図３Ｃは、本実施形態によるフィルタ特性との比較のために、フィルタ形状が矩形、三角形、台形の場合の｜ｇ（ｔ）｜の各フィルタ特性を示す図である。図３Ａから、矩形は収束性・局所性が明らかに悪いことがわかる。また、図３Ｂに示される三角形、図３Ｃに示される台形も、本実施形態で提案するフィルタ特性に比べて、収束性・局所性が悪いことがわかる。
【０１３１】
以上のようにして、以下の第１、第２、第３の実施形態で使用される音響用フィルタバンクとして、理想的な特性を有するフィルタが実現される。
【０１３２】
上述の理想的なフィルタ特性を有するフィルタバンクを時間領域で効果的に演算することのできる本発明の第１の実施形態について、以下に説明する。
【０１３３】
第１の実施形態では、逐次入力される音響データを、対数スペクトログラム表示することを可能にする。
【０１３４】
図４は、第１の実施形態の構成例を示すブロック図である。図４において、１０１は音響データ取得部、１０２はフィルタバンク部、１０３は対数スペクトル演算部、１０４は表示データ生成部、１０５は表示部である。
【０１３５】
音響データ取得部１０１は、逐次入力されるデータｘ［ｍ］を取得し、フィルタバンク部１０２に供給する。
【０１３６】
フィルタバンク部１０２は、ｘ［ｍ］をフィルタ処理し、音高毎のＸ［ｍ］、Ｘ［ｐ，ｍ］（ｐ＝−ＮＬ，−ＮＬ＋１，…，ＮＨ）を計算する。なお、Ｘ［ｐ，ｍ］は１秒当たりｆｓ個計算することができるが、用途が表示用の場合これは明らかに過大性能であり、Ｓ個に１回計算すれば十分である。よって、Ｘ［ｐ，Ｓの倍数］のデータのみ計算すればよい。例えば、ｘ［ｍ］が、ＣＤと同等のｆｓ＝４４１００Ｈｚの場合で表示が１秒当たり１００点、つまり１０ｍｓに一回あればよければ、Ｓ＝４４１になる。Ｓの値は、用途により適切に設定する。
【０１３７】
対数スペクトラム演算部１０３は、フィルタバンク部１０２で計算したＸ［ｐ，ｍ］の複素数から、下記数３６式に示すように振幅の対数を計算する。
【０１３８】
【数３６】
2015040963.tif 000038
【０１３９】
実際には、上記数３６式のようにパワーの対数を０．５倍したほうが計算は速い。なお、数３６式において、ＸＲ［ｐ，ｍ］は下記数３７式に示すようにＸ［ｐ，ｍ］の実部を、ＸＩ［ｐ，ｍ］は下記数３８式に示すようにＸ［ｐ，ｍ］の虚部を意味する。
【０１４０】
【数３７】
2015040963.tif 000039
【０１４１】
【数３８】
2015040963.tif 000040
【０１４２】
表示データ生成部１０４は、対数スペクトラム演算部１０３での演算結果に基づいて、対数スペクトログラムを表示用データとして生成する。具体的には、横軸が時間、縦軸が音高の２次元画像で、画素値としては、対数スペクトルに応じたグレイスケールやカラーのデータが与えられる。
【０１４３】
表示部１０５は、表示データ生成部１０４で生成した表示用データに基づいて、２次元画像を表示する。
【０１４４】
図５は、第１の実施形態におけるフィルタバンク部１０２（時間領域を示す記号ｔを付けた参照番号１０２ｔを付与する）の詳細な構成例を示すブロック図である。図５において、２０１は折り返し加算部、２０２は折り返し減算部、２０３は実部演算部、２０４は虚部演算部、２０５は実部虚部統合部である。
【０１４５】
前述した数１０式から、Ｘ［ｐ，ｍ］は、下記数３９式のようになる。ここでｇ［ｐ，ｎ］は対応する音高のｇ［ｎ］を、Ｌ［ｐ］は対応する音高のＬを表す。
【０１４６】
【数３９】
2015040963.tif 000041
【０１４７】
ｇ［ｐ，ｎ］の実部ｇＲ［ｐ，ｎ］を下記数４０式のように、虚部ｇＩ［ｐ，ｎ］を下記数４１式のように定める。
【０１４８】
【数４０】
2015040963.tif 000042
【０１４９】
【数４１】
2015040963.tif 000043
【０１５０】
ｇ［ｎ］は、実部が偶関数、虚部が奇関数なので、下記数４２式および下記数４３式を満たす。
【０１５１】
【数４２】
2015040963.tif 000044
【０１５２】
【数４３】
2015040963.tif 000045
【０１５３】
前述した数３９式に前述した数３７式、数４０式、および数４２式を適用すると、ＸＲ［ｐ，ｍ］は、下記数４４式のようになる。
【０１５４】
【数４４】
2015040963.tif 000046
【０１５５】
ここで、Ｒ［ｍ，ｎ］は、下記数４５式のように定める。
【０１５６】
【数４５】
2015040963.tif 000047
【０１５７】
前述した数３９式に前述した数３８式、数４１式、および数４３式を適用すると、ＸＩ［ｐ，ｍ］は、下記数４６式のようになる。
【０１５８】
【数４６】
2015040963.tif 000048
【０１５９】
ここで、Ｉ［ｍ，ｎ］は、下記数４７式のように定める。
【０１６０】
【数４７】
2015040963.tif 000049
【０１６１】
Ｒ［ｍ，ｎ］とＩ［ｍ，ｎ］は全ての音高で共有可能で、最長でも最低音高のＬ［ｐ］に対応する分を予め計算すれば、フィルタ処理の計算量を半分にできる。但し、最低音高でもフィルタ処理自体は半分になるが、前処理としてＲ［ｍ，ｎ］とＩ［ｍ，ｎ］の計算かあるので相殺され速くはならない。つまり、全体としては最低音高以外のフィルタ処理の計算量が半分になる。
【０１６２】
以上を踏まえて、図５のブロック図を説明する。
【０１６３】
折り返し加算部２０１は、前述した数４５式に示すＲ［ｍ，ｎ］の計算を行う。この計算は全ての音高で共通である。
【０１６４】
折り返し減算部２０２は、前述した数４７式に示すＩ［ｍ，ｎ］の計算を行う。この計算も全ての音高で共通である。
【０１６５】
実部演算部２０３は、前述した数４４式に示すＸＲ［ｐ，ｍ］の計算によりフィルタ処理を行う。この計算は音高毎に行う。
【０１６６】
虚部演算部２０４は、前述した数４６式に示すＸＩ［ｐ，ｍ］の計算によりフィルタ処理を行う。この計算も音高毎に行う。
【０１６７】
実部虚部統合部２０５は、実部演算部２０３で計算したＸＲ［ｐ，ｍ］と、虚部演算部２０４で計算したＸＩ［ｐ，ｍ］を統合して、Ｘ［ｐ，ｍ］を求める。
【０１６８】
以上によりフィルタバンク処理を実行することができる。また、第１の実施形態の構成によれば、前述したように計算量を半分とまではいかないが大幅に減らすことができる。さらに、保持すべきフィルタ係数ｇ［ｐ，ｎ］も半分に減らすことができる。
【０１６９】
なお、第１の実施形態で説明した効率的なフィルタバンク演算方法は、表示以外の用途にも適用可能である。
【０１７０】
以上説明した第１の実施形態では、前処理として折り返し加減算処理を行うことによって、フィルタ処理本体の計算量を約半分に削減することが可能となる。これにより、時間領域でのフィルタバンク処理を高速化することが可能となる。
【０１７１】
次に、前述した理想的なフィルタ特性を有するフィルタバンクを周波数領域で効果的に演算することのできる本発明の第２の実施形態について、以下に説明する。
【０１７２】
第２の実施形態では、蓄積済み音響データを、対数スペクトログラム表示することを可能にする。
【０１７３】
第２の実施形態の構成例を示すブロック図は、第１の実施形態の場合の図４と同様である。第１の実施形態の場合との違いは、音響データ取得部１０１が取得するデータが、逐次入力ではなく、蓄積済みデータを一括で取得可能な点である。
【０１７４】
音響データが一括で取得可能な場合は、畳み込み定理により周波数領域上でフィルタを演算したほうが一般的に計算が速い。
【０１７５】
図６は、第２の実施形態におけるフィルタバンク部１０２（周波数領域を示す記号ｆを付けた参照番号１０２ｆを付与する）の詳細な構成例を示すブロック図である。図６において、３０１はパディング量決定部、３０２はＦＦＴ（高速フーリエ変換演算部）、３０３はフィルタ処理部、３０４はＩＦＦＴ（逆高速フーリエ変換演算部）、３０５はオンデマンドＩＤＦＴ（逆離散フーリエ変換演算部）、３０６はＩＦＦＴ計算時間推定部、３０７はオンデマンドＩＤＦＴ計算時間推定部、３０８は低域決定部である。
【０１７６】
パディング量決定部３０１は、一括取得した音響データの末尾に値ゼロをパディングする量を決定する。なお、「パディング」とは、例えば桁数（文字数）やデータ数等が所定数に足りないデータに対して、その前後等にゼロなどのデータを補うことをいう。時間領域での畳み込みは、周波数領域での乗算に相当する。このような計算はデータが周期性を持っていれば問題ないが、音響データは一般的に周期性を持たないので音響データの先頭部分と末尾部分が干渉しないようにパディングを行う。音楽は無音から始まり無音で終わるのでパディングはゼロで行う。この際、最低でも最低音高のＬ［ｐ］＊２のパディング量が必要である。さらに、効率的にＦＦＴを実行するため全体のパディング量を決定する。パディング後のデータ数をＭp とし、このＭp は、下記数４８式のように、素数Ｐr ［ｉ］の積に因数分解されるものとする。
【０１７７】
【数４８】
2015040963.tif 000050
【０１７８】
ＦＦＴは、Ｍp が因数分解可能な場合に、ＤＦＴに対して演算量を劇的に減らすことができる演算方法である。ＤＦＴの計算時間ＴDFT が下記数４９式であるのに対し、ＦＦＴの計算時間ＴFFT は下記数５０式のようになる。
【０１７９】
【数４９】
2015040963.tif 000051
【０１８０】
【数５０】
2015040963.tif 000052
【０１８１】
よって、ＦＦＴはＤＦＴに比べ圧倒的に速い。また、上記数５０式より、なるべく小さい素数で構成されたＭp の方が計算時間は短くなる。ただし、無理に小さい素数に分解しようとしてもパディング量が増えてＭp が大きくなり計算時間が増えるので、バランスを考慮する。なお、多くのＦＦＴライブラリでは、素数が小さい場合はより高速に演算可能な工夫がされていることがあり、素数毎の補正係数ＣFFT ［Ｐr ］を用いて、ＴFFT は、下記数５１式のように求めることができる。
【０１８２】
【数５１】
2015040963.tif 000053
【０１８３】
そして、ＴFFT が最小になるＭp を逆算し、パディング量を決定する。ところで、多くの場合、Ｍp の候補はそれほど多くないので、予めＭp の候補をテーブルなどで保持し、これを元にパディング量を決めてもよい。
【０１８４】
ＦＦＴ３０２では、ｘ［ｍ］の高速フーリエ変換を実行し、周波数領域の信号Ｘ［ｋ］に変換する。この処理は全ての音高で共通である。なお、ここでは、パディング量決定部３０１で決定したパディングを行う。実際多くのＦＦＴライブラリでは、入力データ数Ｍより大きいＭp を計算データ数として指定すると、不足データ数分のゼロパディングを行う。
【０１８５】
フィルタ処理部３０３では、ＦＦＴ３０２で求めたＸ［ｋ］と、前述した数２８式および数３２式から計算したＧ［ｋ］の乗算を行う。この処理は音高毎に行う。
【０１８６】
ＩＦＦＴ３０４では、フィルタ処理部３０３の処理結果を、逆高速フーリエ変換により時間領域に戻す。この処理は、低域決定部３０８により非低域とされた音高のみで実行される。
【０１８７】
オンデマンドＩＤＦＴ３０５では、フィルタ処理部３０３の処理結果を、逆離散フーリエ変換により時間領域に戻す。このとき、オンデマンドの計算、つまりＧ［ｋ］が非ゼロの周波数のみ、また間引き後の時間のみの計算を行う。この処理は、低域決定部３０８により低域とされた音高のみで実行される。
【０１８８】
ＩＦＦＴ計算時間推定部３０６は、ＩＦＦＴの計算時間ＴIFFTを推定する。前述した数５０式と同様にして、ＴIFFTは、下記数５２式から求めることができる。
【０１８９】
【数５２】
2015040963.tif 000054
【０１９０】
ここで、ＣIFFT［Ｐr ］は補正係数である。この推定は全ての音高で共通である。なお、Ｍp はそれほど多くないので、ＩＦＦＴ計算時間を予め計測したものをテーブルなどで保持し、これを参照するようにしてもよい。
【０１９１】
さらに、オンデマンドＩＤＦＴ計算時間推定部３０７は、オンデマンドＩＤＦＴの計算時間ＴIDFT［ｐ］の推定を行う。ＴIDFT［ｐ］は、下記数５３式から求めることができる。
【０１９２】
【数５３】
2015040963.tif 000055
【０１９３】
ここで、ＣIDFTは補正係数、Ｌf ［ｐ］はＧ［ｋ］の非ゼロの係数の数である。この推定は音高毎に行う。
【０１９４】
低域決定部３０８は、ある音高が低域かどうかを決定する。ＴIFFTは、前述した数５２式よりＭp のみに依存し、ＳやＬf ［ｐ］には依存しない。つまり、ＴIFFTは、音高に関わらず一定である。一方、ＴIDFT［ｐ］は、不要部分の計算をする必要がなく、前述した数５３式より、Ｓが大きいつまり間引き量が多いほど、また、Ｌf ［ｐ］が小さいつまり音高が低いほど、その計算は速くなる。よって、ＴIDFT［ｐ］＜ＴIFFTになる音高を、低域とする。
【０１９５】
以上により、音高が低域の場合はオンデマンドＩＤＦＴを、非低域の場合はＩＦＦＴを選択的に実行することで、周波数領域でのフィルタバンクを効果的に演算することができる。
【０１９６】
なお、第２の実施形態で説明した効率的なフィルタバンク演算方法は表示以外の用途にも適用可能である。
【０１９７】
以上説明した第２の実施形態では、逆フーリエ変換として、ＩＦＦＴの他にオンデマンドＩＤＦＴを追加し、ＩＦＦＴの計算時間の推定値と音高毎のオンデマンドＩＤＦＴの計算時間の推定値から、音高毎により短い方を選択的に実行する。これにより、周波数領域でのフィルタバンク処理を高速化することが可能となる。
【０１９８】
続いて、前述した理想的なフィルタ特性を有するフィルタバンクを効果的に演算することのできる本発明の第３の実施形態について、以下に説明する。
【０１９９】
第３の実施形態でも、上述した第２の実施形態と同様に、蓄積済み音響データを、対数スペクトログラム表示することを可能にする。
【０２００】
第３の実施形態の構成例を示すブロック図は、第２の実施形態の場合の図４と同様である。第３の実施形態では、第２の実施形態の場合と同様に、音響データ取得部１０１は蓄積済みデータを一括で取得可能とする。
【０２０１】
音響データが一括で取得可能な場合は、畳み込み定理により周波数領域上でフィルタを演算したほうが一般的に計算が速いが、条件によっては時間領域で演算したほうが演算が速い場合がある。
【０２０２】
図７は、第３の実施形態におけるフィルタバンク部１０２の詳細な構成例を示すブロック図である。図７において、１０２ｔは時間領域フィルタバンク部、１０２ｆは周波数領域フィルタバンク部、４０１は時間領域フィルタ計算時間推定部、４０２は周波数領域フィルタ計算時間推定部、４０３は高域決定部である。
【０２０３】
時間領域フィルタバンク部１０２ｔは、第１の実施形態における図５に示される構成を有するものと同等のものである。この処理は、高域決定部４０３により高域とされた音高のみで実行される。なお、折り返し加算部２０１および折り返し減算部２０２は、実行する音高のうち最も低い音高のＬ［ｐ］に対応する分のみで十分である。
【０２０４】
周波数領域フィルタバンク部１０２ｆは、第２の実施形態における図６に示される構成を有するものと同等のものである。この処理は、高域決定部４０３により非高域とされた音高のみで実行される。
【０２０５】
次に、時間領域フィルタ計算時間推定部４０１は、時間領域におけるフィルタの計算時間ＴTD［ｐ］を推定する。ＴTD［ｐ］は、下記数５４式から求めることができる。
【０２０６】
【数５４】
2015040963.tif 000056
【０２０７】
ここで、ＣTDは、補正係数である。この推定は音高毎に行う。
【０２０８】
一方、周波数領域フィルタ計算時間推定部４０２は、周波数領域におけるフィルタの計算時間ＴFD［ｐ］を推定する。ＴFD［ｐ］は、下記数５５式から求めることができる。
【０２０９】
【数５５】
2015040963.tif 000057
【０２１０】
ここで、ＣFMは、補正係数である。この推定も音高毎に行う。
【０２１１】
高域決定部４０３は、ある音高が高域かどうかを決定する。ＴTD［ｐ］は、上記数５４式より、Ｓが大きいつまり間引き量が多いほど、また、Ｌ［ｐ］が小さいつまり音高が高いほど、その計算は速くなる。一方、ＴFD［ｐ］は、上記数５５式より、Ｌf ［ｐ］が大きいつまり音高が高いほど、その計算は遅くなる。よって、ＴTD［ｐ］＜ＴFD［ｐ］になる音高を、高域とする。
【０２１２】
以上により、音高が高域の場合は時間領域フィルタバンクを、非高域の場合は周波数領域フィルタバンクを選択的に実行することで、フィルタバンクを効果的に演算することができる。
【０２１３】
ここでは、不可避かつ固定のコストとして、折り返し加減算の計算時間やＦＦＴの計算時間を考慮しないで高域を決定したが、これらを考慮して高域を決定してもよい。実際に折り返し加減算の計算時間は固定ではないし、高域の境界に多少影響がある。また、全ての音高が高域かの判定にはＦＦＴの計算時間が影響する。
【０２１４】
なお、第３の実施形態で説明した効率的なフィルタバンク演算方法は、表示以外の用途にも適用可能である。
【０２１５】
以上説明した第３の実施形態では、時間領域でのフィルタバンク処理、周波数領域でのフィルタバンク処理を共に備え、音高毎に時間領域での計算時間の推定値と周波数領域での計算時間の推定値から、音高毎により短い方を選択的に実行する。これにより、フィルタバンク処理を高速化することが可能となる。
【０２１６】
図８は、前述した第１、第２、または第３の実施形態の構成をソフトウェア処理として実現可能なコンピュータのハードウェア構成例を示す図である。
【０２１７】
図８に示すコンピュータは、ＣＰＵ（中央演算処理装置）５０１、メモリ５０２、入力装置５０３、出力装置５０４、外部記憶装置５０５、可搬記録媒体５０９が挿入される可搬記録媒体駆動装置５０６、及び通信インタフェース５０７を有し、これらがバス５０８によって相互に接続された構成を有する。同図に示す構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０２１８】
ＣＰＵ５０１は、当該コンピュータ全体の制御を行う。メモリ５０２は、プログラムの実行、データ更新等の際に、外部記憶装置５０５（或いは可搬記録媒体５０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ５０１は、プログラムをメモリ５０２に読み出して実行することにより、全体の制御を行う。
【０２１９】
入力装置５０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ５０１に通知する。
【０２２０】
また、入力装置５０３は、外部から逐次入力される音響データを受信して、ＣＰＵ５０１に通知する。あるいは、外部記憶装置５０５などに蓄積済みの音響データを読み出して、ＣＰＵ５０１に通知する。
【０２２１】
出力装置５０４は、ＣＰＵ５０１の制御によって送られてくるデータを、表示装置や印刷装置に出力する。
【０２２２】
外部記憶装置５０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
【０２２３】
可搬記録媒体駆動装置５０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ(登録商標)等の可搬記録媒体５０９を収容するもので、外部記憶装置５０５の補助の役割を有する。
【０２２４】
通信インターフェース５０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
【０２２５】
上述した第１、第２，または第３の実施形態によるシステムは、図４から図７までのブロック図で実現される機能を搭載したプログラムをＣＰＵ５０１が実行することで実現される。そのプログラムは、例えば外部記憶装置５０５や可搬記録媒体５０９に記録して配布してもよく、或いはネットワーク接続装置５０７によりネットワークから取得できるようにしてもよい。
【０２２６】
以上の第１、第２，または第３の実施形態に関して、更に以下の付記を開示する。
（付記１）
音響信号が入力される音響信号入力手段と、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、数３２式で示される対数周波数特性ｈ（ｆ）を有するフィルタと、を備える、
ことを特徴とする音響用フィルタ装置。
（付記２）
前記音響信号は楽音信号であり、
１オクターブの音高の分割数をｄ、調律用の基準周波数をｆｔ、基準周波数より低い音高の数をＮＬ、基準周波数より高い音高の数をＮＨとしたときに、数３４式、数３３式、数１６式で示される時間域フィルタ応答ｇ（ｔ）を有するフィルタを備える、
ことを特徴とする付記１に記載の音響用フィルタ装置。
（付記３）
前記フィルタは、
前記音響信号入力手段から入力された音響信号の実部に対し、数４５式で示される折り返し加算を行う折り返し加算部と、
前記音響信号入力手段から入力された音響信号の虚部に対し、数４７式で示される折り返し減算を行う折り返し減算部と、
前記折り返し加算部の出力に対し、数４４式で示されるフィルタ処理を行う実数演算部と、
前記折り返し減算部の出力に対し、数４６式で示されるフィルタ処理を行う虚数演算部と、
前記実数演算部で算出された実数部出力と、前記虚数演算部で算出された虚数部出力とを統合する実部虚部統合部と、
を備えることを特徴とする付記１または２に記載の音響用フィルタ装置。
（付記４）
前記音響信号入力手段は、前記音響信号が一括で取得可能であり、
前記フィルタは、
前記音響信号入力手段から入力された音響信号に対し高速フーリエ変換を行うＦＦＴ部と、
前記音響信号の音高ごとに、前記ＦＦＴ部からの出力と、数２８式、数３２式により求められるＧとの乗算を行うフィルタ処理部と、
前記フィルタ処理部において現在処理対象となった前記音響信号の音高が低域であるか非低域であるかを決定する低域決定部と、
前記低域決定部により前記音高が非低域であると判断された場合に、前記フィルタ処理部の出力に対し、逆高速フーリエ変換を行うＩＦＦＴ部と、
前記低域決定部により前記音高が低域であると判断された場合に、前記フィルタ処理部の出力に対し、前記Ｇの非ゼロの周波数で間引きされた時間における逆離散フーリエ変換を行うオンデマンドＩＤＦＴ部と、
を備えることを特徴とする付記１から３のいずれかに記載の音響用フィルタ装置。
（付記５）
パディング量を決定するパディング量決定部と、
前記ＦＦＴ部の処理に際して前記パディング量決定部によって決定された前記パディング量のパディングを前記音響信号入力手段から入力された音響信号に対し行うパディング部と、数５２式で示される式により、前記ＩＦＦＴ部でのＩＦＦＴ処理時間を推定するＩＦＦＴ計算時間推定部と、数５３式で示される式により、前記オンデマンドＩＤＦＴ部でのオンデマンドＩＤＦＴ処理時間を推定するオンデマンドＩＤＦＴ計算時間推定部と、
をさらに備え、
前記低域決定部は、前記ＩＦＦＴ計算時間推定部によって推定されたＩＦＦＴ処理時間と、前記オンデマンドＩＤＦＴ計算時間推定部によって推定されたオンデマンドＩＤＦＴ処理時間とを比較することにより、前記音高が低域であるか非低域であるかを決定することを特徴とする、付記４に記載の音響用フィルタ装置。
（付記６）
前記音響信号入力手段は、前記音響信号が一括で取得可能であり、
前記フィルタは、
該フィルタにおいて現在処理対象となった前記音響信号の音高が高域であるか非高域であるかを決定する高域決定部と、
前記高域決定部により前記音高が高域であると判断された場合に、付記３に記載のフィルタ装置としてのフィルタを実行する時間領域フィルタ部と、
前記高域決定部により前記音高が非高域であると判断された場合に、付記４または５に記載のフィルタ装置としてのフィルタを実行する周波数領域フィルタ部と、
を備えることを特徴とする付記１または２に記載の音響用フィルタ装置。
（付記７）
数５４式で示される式により、前記時間領域フィルタ部での時間領域フィルタ処理時間を推定する時間領域フィルタ計算時間推定部と、数５５式で示される式により、前記周波数領域フィルタ部での周波数領域フィルタ処理時間を推定する周波数領域フィルタ計算時間推定部と、
をさらに備え、
前記高域決定部は、前記時間領域フィルタ計算時間推定部によって推定された時間領域フィルタ処理時間と、前記周波数領域フィルタ計算時間推定部によって推定された周波数領域フィルタ処理時間とを比較することにより、前記音高が高域であるか非高域であるかを決定することを特徴とする、付記６に記載の音響用フィルタ装置。
（付記８）
音響信号を入力し、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、数３２式で示される対数周波数特性ｈ（ｆ）を有するフィルタ処理を実行する、
ことを特徴とする音響用フィルタリング方法。
（付記９）
音響信号を入力するステップと、
複数種の音高毎に定められた各周波数に対応させた中心周波数をｆｃとし、当該中心周波数ｆｃに対応させた前記音高の周波数と当該音高に隣接する音高の周波数の比率をＤとしたときに、数３２式で示される対数周波数特性ｈ（ｆ）を有するフィルタリングを実行するステップと、
をコンピュータに実行させることを特徴とする音響用フィルタリングプログラム。
【符号の説明】
【０２２７】
１０１  音響データ取得部
１０２、１０２ｔ、１０２ｆ  フィルタバンク部
１０３  対数スペクトラム演算部
１０４  表示データ生成部
１０５  表示部
２０１  折り返し加算部
２０２  折り返し減算部
２０３  実部演算部
２０４  虚部演算部
２０５  実部虚部統合部
３０１  パディング量決定部
３０２  ＦＦＴ（高速フーリエ変換演算部）
３０３  フィルタ処理部
３０４  ＩＦＦＴ（逆高速フーリエ変換演算部）
３０５  オンデマンドＩＤＦＴ（逆離散フーリエ変換演算部）
３０６  ＩＦＦＴ計算時間推定部
３０７  オンデマンドＩＤＦＴ計算時間推定部
３０８  低域決定部
４０１  時間領域フィルタ計算時間推定部
４０２  周波数領域フィルタ計算時間推定部
４０３  高域決定部
５０１  ＣＰＵ
５０２  メモリ
５０３  入力装置
５０４  出力装置
５０５  外部記憶装置
５０６  可搬記録媒体駆動装置
５０７  通信インタフェース
５０８  バス
５０９  可搬記録媒体
【図１】
2015040963.tif 000074
【図２】
2015040963.tif 000075
【図３Ａ】
2015040963.tif 000076
【図３Ｂ】
2015040963.tif 000077
【図３Ｃ】
2015040963.tif 000078
【図４】
2015040963.tif 000079
【図５】
2015040963.tif 000080
【図６】
2015040963.tif 000081
【図７】
2015040963.tif 000082
【図８】
2015040963.tif 000083