(57)【特許請求の範囲】
【請求項１】
分析対象楽音波形サンプルに対し順次シフトする時間窓を乗算してフーリエ変換を行ないスペクトル解析する楽音波形のスペクトルピーク軌跡追従方法であって、
分析対象楽音波形サンプルに窓関数を乗算するステップと、
その乗算結果にフーリエ変換処理を施してパワースペクトルを取得するステップと、
取得したパワースペクトルから振幅のピーク点を検出するステップと、
前記時間窓を所定時間だけ時間軸に沿って順次シフトしながら上記のステップを繰り返し、各時間窓ごとにパワースペクトルの振幅のピーク点を検出するステップと、
ある時間窓において検出されたピーク点の周波数を基点として、次の時間窓において検出されたパワースペクトルから前記ピーク点に接続するピーク点を検出し、これを繰り返すことによりピーク軌跡を追従するステップと
を備え、
前記接続するピーク点の検出の処理は、ある時間窓において検出されたピーク点の周波数を基点とし、次の時間窓において検出されたパワースペクトル上で、前記基点となる周波数の位置からスペクトルの値が増加する方向へ移動することにより追従するピーク点を探索するものであることを特徴とする楽音波形のスペクトルピーク軌跡追従方法。
【請求項２】
分析対象楽音波形サンプルに対し順次シフトする時間窓を乗算してフーリエ変換を行ないスペクトル解析する楽音波形のスペクトルピーク軌跡追従装置であって、
分析対象楽音波形サンプルに窓関数を乗算する手段と、
その乗算結果にフーリエ変換処理を施してパワースペクトルを取得する手段と、
取得したパワースペクトルから振幅のピーク点を検出する手段と、
前記時間窓を所定時間だけ時間軸に沿って順次シフトしながら上記の処理を繰り返し、各時間窓ごとにパワースペクトルの振幅のピーク点を検出する手段と、
ある時間窓において検出されたピーク点の周波数を基点として、次の時間窓において検出されたパワースペクトルから前記ピーク点に接続するピーク点を検出し、これを繰り返すことによりピーク軌跡を追従する手段と
を備え、
前記接続するピーク点の検出の処理は、ある時間窓において検出されたピーク点の周波数を基点とし、次の時間窓において検出されたパワースペクトル上で、前記基点となる周波数の位置からスペクトルの値が増加する方向へ移動することにより追従するピーク点を探索するものであることを特徴とする楽音波形のスペクトルピーク軌跡追従装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、楽音波形のスペクトルピーク軌跡追従方法および装置に関する。
【０００２】
【従来の技術】
楽音合成の１つの方法として、特開２０００−１０５６７に記載されているような楽音波形分析・合成方法が知られている。これは、楽音波形を分析し、該分析することにより得られた元の楽音波形に含まれている周波数成分の信号を発生させて、これらを加算することにより、楽音波形を合成するものである。この楽音波形分析・合成方法においては、まず、楽音波形をスペクトル解析してその楽音に含まれている基音周波数および倍音周波数に対応する線スペクトル成分を抽出する。通常、このスペクトル解析は、時間窓（フレーム）を用いたフーリエ変換による短時間スペクトル解析を用いて行なわれる。すなわち、分析対象となる楽音をサンプリングし、該楽音波形サンプルに窓関数をかけてＦＦＴ（高速フーリエ変換：Fast Fourier Transform）を行ない、該フーリエ変換出力の振幅データからピークを成す全ての周波数位置を検出する。
【０００３】
以上の処理を、前記時間窓（フレーム）を所定量ずつ移動しながら行ない、各フレームにおけるピークを検出し、得られたピークのうち軌跡をなすものを追跡する。そして、得られた軌跡の中から所望のデータを選択し、その１つ１つを正弦波合成し、加算することにより、元の楽音波形のうち決定論的に得られる波形（Deterministic Wave）を合成する。次に、前記元の楽音波形から前記決定論的に得られる波形を減算することにより残差波形（Residual Wave）を得る。前記軌跡のデータをモディファイすることにより、前記決定論的に得られた波形をモディファイすることができる。また、前記残差波形はＥＱ（イコライザ）やＦＦＴ他の信号処理によりモディファイすることもできる。このように、モディファイされた決定論的に得られた波形と前記残差波形とを加算することにより、所望の楽音波形を得る。
【０００４】
上記楽音波形の分析は、上述したような楽音波形の合成のためだけではなく、楽器音の特徴と楽器の物理的性質との関連を明らかにするため、あるいは楽器音の機械認識などのためにも用いられる。
【０００５】
ところで、時間窓（フレーム）を時間軸の正方向に所定量ずつ移動しながらスペクトル解析を行なって各フレームにおけるピークを検出し、得られたピークのうち軌跡をなすものを追跡する場合、各フレーム毎のピークがどのように接続しているかを判定することが必要である。このため、特開２０００−１０５６７に記載の技術では、各フレームにおけるピークをピッキングする処理を行ない、どのピーク同士がつながるかはそれぞれのフレームで検出したピークを比較することによって行なっていた。例えば、あるフレームＡでのピークをピッキングし、続いて次のフレームＢでのピークをピッキングし、というピークピッキングの作業を先に行ない、フレームＡ（先に得たフレームを次のフレームに対して追従の基点と呼ぶ）でのピークとフレームＢでのピークを所定の比較関数を用いて比較し、近いピークを接続していた。
【０００６】
【発明が解決しようとする課題】
しかし、追従の基点となるフレームには存在しないが次のフレームでは存在するピークがあったり、追従の基点となるフレームにピークが存在しても次のフレームにはピークが存在しないということがあり得るため、前記公報に記載の従来技術では、複雑な比較の手法（比較関数）を用いて比較している。また、精度も低いものとなってしまう問題点があった。
【０００７】
この発明の目的は、前記従来技術における問題点に鑑み、楽音波形の分析において、各フレームにおけるピークのうち軌跡を成すものを追従するとき、簡単な比較の手法で高精度にピークを追従することができる方法および装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１に係る発明は、分析対象楽音波形サンプルに対し順次シフトする時間窓を乗算してフーリエ変換を行ないスペクトル解析する楽音波形のスペクトルピーク軌跡追従方法であって、分析対象楽音波形サンプルに窓関数を乗算するステップと、その乗算結果にフーリエ変換処理を施してパワースペクトルを取得するステップと、取得したパワースペクトルから振幅のピーク点を検出するステップと、前記時間窓を所定時間だけ時間軸に沿って順次シフトしながら上記のステップを繰り返し、各時間窓ごとにパワースペクトルの振幅のピーク点を検出するステップと、ある時間窓において検出されたピーク点の周波数を基点として、次の時間窓において検出されたパワースペクトルから前記ピーク点に接続するピーク点を検出し、これを繰り返すことによりピーク軌跡を追従するステップとを備え、前記接続するピーク点の検出の処理は、ある時間窓において検出されたピーク点の周波数を基点とし、次の時間窓において検出されたパワースペクトル上で、前記基点となる周波数の位置からスペクトルの値が増加する方向へ移動することにより追従するピーク点を探索するものであることを特徴とする。
【００１１】
請求項２に係る発明は、分析対象楽音波形サンプルに対し順次シフトする時間窓を乗算してフーリエ変換を行ないスペクトル解析する楽音波形のスペクトルピーク軌跡追従装置であって、分析対象楽音波形サンプルに窓関数を乗算する手段と、その乗算結果にフーリエ変換処理を施してパワースペクトルを取得する手段と、取得したパワースペクトルから振幅のピーク点を検出する手段と、前記時間窓を所定時間だけ時間軸に沿って順次シフトしながら上記の処理を繰り返し、各時間窓ごとにパワースペクトルの振幅のピーク点を検出する手段と、ある時間窓において検出されたピーク点の周波数を基点として、次の時間窓において検出されたパワースペクトルから前記ピーク点に接続するピーク点を検出し、これを繰り返すことによりピーク軌跡を追従する手段とを備え、前記接続するピーク点の検出の処理は、ある時間窓において検出されたピーク点の周波数を基点とし、次の時間窓において検出されたパワースペクトル上で、前記基点となる周波数の位置からスペクトルの値が増加する方向へ移動することにより追従するピーク点を探索するものであることを特徴とする。
【００１２】
請求項５に係る発明は、請求項４に記載の楽音波形のスペクトルピーク軌跡追従装置において、前記接続するピーク点の検出の処理は、ある時間窓において検出されたピーク点の周波数を基点とし、次の時間窓において検出されたパワースペクトル上で、前記基点となる周波数の位置からスペクトルの値が増加する方向へ移動することにより追従するピーク点を探索するものであることを特徴とする。
【００１３】
請求項６に係る発明は、請求項５に記載の楽音波形のスペクトルピーク軌跡追従装置において、前記基点となる周波数の位置の、前記次の時間窓において検出されたパワースペクトル上での傾きの絶対値が、所定値以下であったときは、追従するピークがないものとすることを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１５】
図１は、この発明に係る楽音波形のスペクトルピーク軌跡追従装置のシステム構成図である。この装置は、ＣＰＵ（中央処理装置）１０１、プログラムメモリ１０２、データメモリ１０３、表示装置１０４、入力装置１０５、外部記憶装置１０６、およびシステムバス１０７を備えている。
【００１６】
ＣＰＵ１０１は、この装置全体の制御を行なう。プログラムメモリ１０２は、ＣＰＵ１０１が実行する各種制御プログラムや楽音分析プログラムなどの各種プログラムを記憶する。データメモリ１０３は、各種制御情報、各種データの記憶、および一時記憶領域（バッファ）やワークエリアとして使用される。表示装置１０４は、各種の情報を表示する。入力装置１０５は、キーボードおよびポインティングデバイスなどである。システムバス１０７は、これらの各部を相互接続するバスラインである。
【００１７】
図２は、図１の装置で行なわれる波形分析処理の処理手順を示す図である。この処理に入力される分析対象音のディジタルデータ（波形サンプルデータ）２０１は、あらかじめ外部記憶装置１０６に格納されているものとする。
【００１８】
入力された分析対象音のデータ２０１は、乗算器２０３で、窓関数発生部２０２から発生された窓関数と乗算される。その結果に対し、高速フーリエ変換部２０４で高速フーリエ変換（ＦＦＴ）を施す。これにより、分析対象音２０１のパワースペクトル解析が実行され、振幅、位相、および周波数のデータが得られる。次に、パワースペクトルエンベロープ（ＰＳＥ）演算部２０５で、高速フーリエ変換部２０４から出力された振幅データから、ピークを成すすべての周波数位置を検出する。ここで、窓関数（フレーム）の窓の移動により、それぞれのフレームでパワースペクトルを求め、それぞれのフレームにおいてピークを成すすべての周波数位置を検出する。
【００１９】
図３に、時間窓をずらしながら分析を行なう様子を示す。分析対象音波形３０２に窓Ａをかけ、これをフレームＡとする。このフレームＡについて高速フーリエ変換を行ない、パワースペクトルを求める。その後、窓Ａを、時間軸に沿って時間軸の正方向に所定時間（フレームタイム）３０１だけ移動させ、これをフレームＢとする。このフレームＢについても同様に高速フーリエ変換を行ない、パワースペクトルを求める。このようにして、分析対象音波形の分析範囲内で窓を少しずつ移動し、以上の操作を繰り返すことによって、すべてのフレームでのパワースペクトルを得る。
【００２０】
図２に戻って、ＰＳＥ演算部２０５による演算の後、ピーク軌跡追従部２０６で、隣接フレームパワースペクトルエンベロープ比較によるピーク軌跡追従の処理を行なう。この追従処理については、図４で詳細に説明する。ピーク追従データ記憶部２０７は、ピーク軌跡追従部２０６で得た追従データを記憶する。
【００２１】
図４は、ピーク軌跡追従部２０６におけるピーク軌跡追従処理を説明するための図である。図４（ａ）は、上述したフレームＡで得られたスペクトルを示す。図４（ｂ）は、上述したフレームＢで得られたスペクトルを示す。何れも、横軸は周波数で、縦軸は振幅である。
【００２２】
本実施形態の追従方法は、フレームＡでのピークの周波数を、次のフレームＢでのピークピッキングの基点として使う方法である。図４（ａ）のフレームＡでのスペクトルにおいて、ピーク振幅ａ１を示すピーク周波数をｆａ１（４０２）とする。ここで、このピーク周波数ｆａ１をフレームＢでのピークピッキングを行なうための基点として用いる。すなわち、フレームＡにおけるピーク周波数ｆａ１を図４（ｂ）のフレームＢでのスペクトルに照らし合わせる。図４（ｃ）は、この照らし合わせを行なっている図４（ｂ）の４０１の部分の拡大図である。ピーク周波数ｆａ１（４０２）を基点とし、フレームＢのスペクトルを振幅値が増加する方向（上り方向）へ矢印４０４のように辿る。これにより、ピーク振幅ａ１に追従するピーク振幅ａ２のピーク周波数ｆａ２（４０３）を見つけることができる。図４（ｃ）はピーク周波数が減少する方向に追従する例であるが、図４（ｄ）はピーク周波数が減少する方向に追従する例である。前のフレームのピーク周波数位置４１１を、次のフレームのスペクトルに照らし合わせ、矢印４１２のように振幅値が増加する方向へスロープを辿って、つながるピーク位置を見つける。
【００２３】
フレームＢの次のフレームＣでは、フレームＢでピークを作る周波数をフレームＣでのスペクトル上で照らし合わせて、このスロープにしたがってフレームＣでのピークとなる周波数を発見する。以下、この操作を繰り返すことにより、分析範囲内の全てのフレームに対して追従処理を行なう。これにより、ピーク軌跡を追従することができる。
【００２４】
なお、ピークピッキングの対象となっているフレームのスペクトルにおいて、ピークピッキングの基点として用いる周波数ポイントでの接線の傾きを考慮すると、ピーク追従処理をより速く、しかも精度を上げて行なうことができる。例えばフレームＡのピーク周波数ｆａ１をフレームＢのスペクトルに照らし合わせたとき、フレームＢのスペクトルで周波数ｆａ１を示すポイントにおいて、該ポイントにおける接線の傾きを調べ、その傾きの絶対値が小さいときは追従すべきピークがないと判断して次の処理に移る、という処理を行なってもよい。
【００２５】
図５は、このような波形分析の結果得られた前記ピークデータの一例を示す図である。この図に示す例は、ピアノの音を分析したものであり、横軸は時間(単位はms)、縦軸は周波数(単位はHz)であり、前記時間窓に対応するフレーム毎に検出されたピークデータが点で表されている。また、横方向につながっている線は、ピーク軌跡追従の結果を示す。これらは、基音周波数およびその倍音の周波数に相当するものである。
【００２６】
【発明の効果】
以上説明したように、この発明によれば、あるフレームのピーク周波数を基点とし、次のフレームでのスペクトル上で基点から振幅値が増加する方向（上り方向）へスペクトルを辿ることによって、追従すべきピークを探しているので、フレーム間の複雑なピーク比較を行なうことなくピーク追従処理を行なうことができる。また、基点となるフレームのピークに対して隣接するフレームの追従すべきピークのみを探しだすことができ、その際にピーク振幅とピーク周波数を同時に求めることができるため、効率よくピーク追従処理を行なうことができる。
【図面の簡単な説明】
【図１】この発明に係る楽音波形のスペクトルピーク軌跡追従装置のシステム構成図
【図２】図１の装置で行なわれる波形分析処理の処理手順を示す図
【図３】窓移動の様子を示す図
【図４】本実施の形態の追従方法を示す図
【図５】波形分析の結果得られたピークデータの一例を示す図
【符号の説明】
１０１…中央処理装置（ＣＰＵ）、１０２…プログラムメモリ、１０３…データメモリ、１０４…表示装置、１０５…入力装置、１０６…外部記憶装置、１０７…システムバス。
【図１】
0003743356.tif 000002
【図２】
0003743356.tif 000003
【図３】
0003743356.tif 000004
【図４】
0003743356.tif 000005
【図５】
0003743356.tif 000006