(57)【特許請求の範囲】
【請求項１】
分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する楽音波形分析装置において、
前記フレームの時間軸方向に連続するピーク点として決定された複数のピーク点の分析データを記憶する記憶手段と、
該記憶手段に記憶された既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測する予測手段と、
該予測手段で予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定するピーク軌跡決定手段と、
を備え、
分析対象楽音波形の基本周波数の倍音の周波数値の如何によらずピーク点の軌跡を追跡するようにしたことを特徴とする楽音波形分析装置。
【請求項２】
分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する楽音波形分析方法において、
前記フレームの時間軸方向に連続するピーク点の軌跡を追跡する際に、少なくとも複数の連続するピーク点を決定した後、既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測し、該予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定して、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらずピーク点の軌跡を追跡するようにしたことを特徴とする楽音波形分析方法。
【請求項３】
分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する処理をコンピュータで実行するための楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体であって、
前記フレームの時間軸方向に連続するピーク点の軌跡を追跡する際に、少なくとも複数の連続するピーク点を決定した後、既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測するステップと、
前記予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定するステップと、
をコンピュータで実行する楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する楽音波形分析装置及び楽音波形分析方法並びに楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来、楽音の性質を分析したり楽音波形を合成する楽音分析・（再）合成（Analysis & (Re)Synthesis）の技術分野において、次のような処理が行われている。先ず、時系列なサンプリング波形に窓関数を掛けてフレームを切り出し、高速フーリエ変換（ＦＦＴ）処理を施して周波数スペクトルの分析データを得る。この周波数スペクトルの分析データは、周波数軸上のデータすなわち周波数データ、振幅データおよび位相データを含んでおり、振幅データのピークとみなせる全てのピーク点（周波数値）を検出する。そして窓関数の窓を移動してフレームを更新し、上記の処理を繰り返し、各フレームにおける周波数スペクトルの振幅データのピーク点を検出する。
【０００３】
ここで、各フレームにおけるピーク点は、一般に、複数の周波数に対応して複数個検出され、これらのピーク点は、元のサンプリング波形の基音、その倍音に相当する高調波成分、ノイズ成分、ＦＦＴの窓関数のサイドローブ等に対応して検出される。しかし、楽音の聴感上のピッチは主に基音および低次の倍音成分により得られ、また主に高次の倍音成分により音色感が得られるように、楽音の性質を分析したり楽音波形を合成するためには、基音や倍音に相当するピーク点を抽出することが重要である。この基音や倍音に相当するピークはＦＦＴにおけるフレームの時間軸方向に連なる長い軌跡を形成するので、これらの楽音波形分析の処理では、ピーク点の軌跡を追跡することが要求される。
【０００４】
図６は、ＦＦＴによる分析の結果得られた周波数スペクトルの振幅データのピークの一例を示す図である。この図に示す例は、ピアノのＣ４鍵（中央ハ）の音（基音周波数は約２６１．６３Ｈｚ）を分析したものであり、横軸は時間（単位はｍｓ）、縦軸は周波数（単位はＨｚ）であり、前記時間窓に対応する各フレーム毎に検出されたピーク点が点で表されている。また、横方向の細線は、前記基音周波数およびその理論上の倍音の周波数を表している。この図において、全ての点は独立に存在しており、図において軌跡を描いている線を見てとることができるが、この軌跡がつながっているという情報はまだ得られておらず、各フレーム毎にどの周波数でピークとなっているかという情報が得られているだけである。なお、長い軌跡として見える部分以外はノイズであったり、ＦＦＴの窓関数のサイドローブが表示されているものとみなされる。
【０００５】
このようなピーク点のデータから軌跡をなすピーク点を抽出するために、一般に、各フレームで倍音関係にある成分をピッキングすることが行われている。すなわち、既知の基音周波数ＦＢと、その整数倍、２×ＦＢ、３×ＦＢ，…の周波数に最も近いピーク点を基音あるいは倍音であると判断し、各フレーム毎に倍音データをピックアップしていく方法がとられている。そして、フレーム間で基音あるいは同倍音に関して検出されたピーク点同士が一つの軌跡をなすものと判定するようにしている。
【０００６】
【発明が解決しようとする課題】
図７は、前記図６における基音の１５ｍｓｅｃあたりを拡大した図である。この図において、ピーク点の軌跡の追跡方向が右から左へ向かう場合に、フレームタイムＡにおいてピーク点は矢印の方向へつながるとするのが自然である。しかしながら、上述した従来の方法では、例えば基音周波数（この場合は２６１．６３Ｈｚ）についてみてみると、フレーム各々で基音周波数に最も近いピーク点を選択するという条件で追従が行われているため、次のような問題が生じる。例えば、図７の右側からフレームタイムＡまでの各フレームでは基音周波数の近辺のピークは一つであるが、フレームタイムＡの次のフレームタイムＡ−１において、ピーク点ｂがピーク点ａよりも基音周波数に近く発生している。このため、フレームタイムＡからＡ−１になるとき軌跡がピーク点ｂへつながってしまい、ピーク点の軌跡をうまく追跡できないことがある。
【０００７】
本発明は、分析対象楽音波形の時系列なフレームにおける各周波数スペクトルのピーク点について、フレームの時間軸方向に連続するピーク点の軌跡を高い確度で追跡できるようにすることを課題とする。
【０００８】
【課題を解決するための手段】
本発明の請求項１の楽音波形分析装置は、分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する楽音波形分析装置において、前記フレームの時間軸方向に連続するピーク点として決定された複数のピーク点の分析データを記憶する記憶手段と、該記憶手段に記憶された既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測する予測手段と、該予測手段で予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定するピーク軌跡決定手段と、を備え、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらずピーク点の軌跡を追跡するようにしたことを特徴とする。
【０００９】
上記のように構成された請求項１の楽音波形分析装置によれば、記憶手段には、フレームの時間軸方向に連続するピーク点として決定された複数のピーク点の分析データ（例えば周波数データ）が記憶される。そして、予測手段は、記憶手段に記憶された既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測し、ピーク軌跡決定手段は、この予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定するので、新たに軌跡となるピーク点の決定に、既に決定された連続するピーク点の分析データが反映され、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらず、ピーク点の軌跡を高い確度で追跡できる。
【００１０】
本発明の請求項２の楽音波形分析方法は、分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する楽音波形分析方法において、前記フレームの時間軸方向に連続するピーク点の軌跡を追跡する際に、少なくとも複数の連続するピーク点を決定した後、既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測し、該予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定して、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらずピーク点の軌跡を追跡するようにしたことを特徴とする。
【００１１】
上記のように構成された請求項２の楽音波形分析方法によれば、請求項１と同様に、新たに軌跡となるピーク点の決定に、既に決定された連続するピーク点の分析データが反映されるので、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらず、ピーク点の軌跡を高い確度で追跡できる。
【００１２】
本発明の請求項３のコンピュータで読み取り可能な記録媒体は、分析対象楽音波形に対してフーリエ変換処理を施して時系列なフレームの周波数スペクトルを求め、各フレームにおける分析データの振幅データのピーク点を検出し、前記フレームの時間軸方向に連続する周波数スペクトルのピークを成す前記ピーク点の軌跡を追跡する処理をコンピュータで実行するための楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体であって、前記フレームの時間軸方向に連続するピーク点の軌跡を追跡する際に、少なくとも複数の連続するピーク点を決定した後、既に決定された連続する複数のピーク点の分析データに基づいて次のピーク点の分析データを予測するステップと、前記予測したピーク点の分析データに基づいて、前記検出されたピーク点の中から追跡方向に向かって該予測したピーク点に近いピーク点を選択して、次の連続するピーク点を決定するステップと、をコンピュータで実行する楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体であり、この請求項３のコンピュータで読み取り可能な記録媒体に記録された楽音波形分析プログラムの実行によれば、請求項１および２と同様な作用効果が得られる。
【００１３】
【発明の実施の形態】
図１は本発明の一実施の形態の楽音波形分析装置のブロック図であり、ＣＰＵ１を備えたパーソナルコンピュータで構成した場合を示している。プログラムメモリ２はハードディスク装置やＣＤ−ＲＯＭ装置あるいはその他の外部記憶装置であり、後述説明する楽音波形分析プログラムが記憶されている。また、データメモリ３はＲＡＭ等であり、分析対象となる楽音波形データや分析結果等が記憶される。また、入力装置４および演奏操作子５はキーボード等であり、ディスプレイ６はＣＲＴあるいは液晶表示器等である。楽音合成部７は分析結果に基づいて楽音を合成する各種ＬＳＩチップを搭載した音源ボードあるいは音源装置等である。さらに、ネットワークインターフェース８はＭＩＤＩ、ＬＡＮ、電話回線等の各種ネットワーク９に接続するインターフェースである。
【００１４】
ＣＰＵ１はプログラムメモリ２の例えばハードディスク装置に格納されている波形分析プログラムに基づいて、データメモリ３の指定された楽音波形データについて後述説明する波形分析処理を行い、フーリエ解析処理の各フレームにおける周波数スペクトルのピーク点を検出する。そして、フレーム間で軌跡をなすピーク点を抽出し、この軌跡をなす各フレームにおけるピーク点の分析データを分析結果として得る。
【００１５】
なお、ＣＰＵ１は、後述説明する波形分析の結果得られたピーク点の軌跡に基づき、各フレーム毎に、軌跡をなすピーク点の分析データである周波数データ、振幅データおよび位相データをそのフレームタイムに合わせて楽音合成部７に出力することにより、楽音合成部７でフーリエ合成を行う。また、元波形データと上記フーリエ合成した波形データとの差分を残差波形データとして求める。この残差波形データとフーリエ合成した波形データは楽音合成部７で再合成され、ディジタル・アナログ変換されて楽音信号として発生される。また、楽音合成部７に出力される上記分析データや残差波形データをモディファイすることにより所望の波形データが得られる。
【００１６】
図３は実施形態におけるＣＰＵ１が実行する波形分析処理のフローチャートであり、同図に基づいて実施形態における波形分析処理の動作を説明する。図５は図６と同じピアノのＣ４鍵の音の時間波形の一例を示す図であり、この波形を分析対象としてピーク追跡を行う場合について説明する。この時間波形の波形データは楽音波形の振幅を例えば４４．１ｋＨｚのサンプリング周波数でサンプリングし量子化した時系列なサンプリングデータであり、データメモリ３に格納されている。
【００１７】
波形分析処理が開始されると、先ず、ステップＳ１において分析対象音波形のフレーム分析を行う。このフレーム分析の処理は、まず、フーリエ解析処理を行うために、分析範囲、窓サイズ、ＦＦＴサイズ、窓関数を時間軸に沿って動かすＨＯＰサイズの設定など初期設定を行う。一般に、ＦＦＴの窓サイズは波形の基本周期の整数倍とするのが適切であり、例えば、８倍とする。図５に示したＣ４鍵の音は基本周波数が２６１．６３Ｈｚであり、その１周期に含まれるサンプリングポイント数はサンプリング周波数が４４．１ｋＨｚであるので１６８．６点である。したがって、窓サイズは、この８倍の１３４８点（小数点以下四捨五入）とする。
【００１８】
さらに、ＦＦＴサイズは２のベキ数でなければならず、このＦＦＴサイズは大きければ大きいほど周波数分解能は向上する。しかし、あまり大きすぎても計算時間がかかってしまうため、窓サイズを超える最小の２のベキ数を選ぶこととし、２０４８点とする。さらに、ＨＯＰサイズは基本周期の１／８とし、２１点とする。そして、これらの条件により、図５の波形データに対して窓関数を時間軸上で移動して切り出した各フレームにおいてフーリエ解析処理を施し、時系列な各フレーム毎に周波数スペクトルの分析データを得る。この周波数スペクトルの分析データは、周波数軸上でのデータとしての周波数データ、振幅データおよび位相データである。
【００１９】
次に、ステップＳ２で、周波数スペクトルにおける各フレームの分析データの振幅データのピークを抽出して例えば前掲の図６のような線スペクトル成分（１フレームの線スペクトルは縦軸上に離散する点で構成される。）を得る。なお、この図６では各ピーク点に対応する周波数データ（縦軸の値）のみが示されているが、各ピーク点に対応する振幅データおよび位相データも同時にデータメモリ３に記憶される。
【００２０】
次に、ステップＳ３で、ピーク追跡の基点となる基点フレームを決定する基点フレームサーチ処理を行う。この基点フレームサーチ処理では、図５の時間波形のエンベロープが最大となる時点（以下、アタックマックスポイント（Attack Max Point）という）の検出を行う。これは、振幅レベルが最大となるアタックマックスポイントでは、すべての追従が必要なピーク点が出揃っている可能性が大きいためである。図５の時間波形では、アタックマックスポイントは、４２．９ｍｓに見つけることができ、サンプリング周波数が４４．１ｋＨｚであるので４２．９ｍｓは１８９２点目と求まる。そこで、フレームの中心がこのアタックマックスポイント（１８９２点目）に最も近くなるようなフレームを検出し、それを第０フレームとしてピーク追跡の追跡開始の基点フレームとする。そして、第０フレームから時間的に後（未来）のフレームに向けてピーク追跡を行い、分析範囲上限に達すると、第０フレームから時間的に前（過去）のフレームに向けて分析範囲下限に達するまでピーク追跡を行う。これにより、追従が必要なピークをもらすことなく検出することが可能となる。
【００２１】
以下の説明で「PK#k#1」等における「# 」の記号は図面における「アンダーバー」の記号に対応している。図４は第０フレームでのピーク点の検出結果を示す図であり、同図に縦線方向に並んで、ピーク点PK#0#1、PK#0#2、PK#0#3、…、PK#0#9が検出されている。ここで、この実施形態では、ピーク追跡を行う際に軌跡につながる次のフレームのピーク点を予測するための分析データとして周波数データを用いるようにしている。そこで、データメモリ３に記憶されている各ピーク点の周波数データを以下のように表記する。第ｋフレームの低周波数側から数えてｍ番目のピーク点の周波数データをPK#k#mで表記する。したがって、第ｋフレームで見つかったピーク点の個数をmax(k)とすると、第ｋフレームのすべてのピーク点の周波数データは、PK#k#1、PK#k#2、PK#k#3、…、PK#k#max(k) で表記されることになる。なお、上記周波数データの表記は対応するピーク点を示すためにも適宜用いる。また、第０フレームから時間的に後のフレームは、順に、第１フレーム、第２フレーム、…とし、第０フレームから時間的に前のフレームは、順に、第−１フレーム、第−２フレーム、…とする。
【００２２】
ピーク追跡では、第０フレームのPK#0#1、PK#0#2、…、PK#0#max(0) の各ピーク点に対応して一般に複数の軌跡が現れるので、各フレーム時間においてこの複数の軌跡の追跡を行うが、各軌跡はそれぞれ独立であり各軌跡毎に同じ処理を行うので、以後、主に１つの軌跡について説明する。そこで、任意の１つの軌跡についてピーク追跡で得られた第ｋフレームのあるピーク点とそれに連なって軌跡をなす第ｋ＋１フレーム、第ｋ＋２フレーム、…のピーク点の周波数データを、PK#k#M(k) 、PK#k+1#M(k+1) 、PK#k+2#M(k+2) 、…のように表記する。すなわち、M(k)、M(k+1)、M(k+2)等は、その軌跡を構成するピーク点の各フレーム（ｋ、ｋ＋１、ｋ＋２）における低周波数側から数えたピーク点（抽出されたピーク点）の番号であり、ピーク追跡の結果得られる値である。したがって、軌跡を構成するピーク点は、例えばPK#k#1、PK#k+1#1、PK#k+2#2、…（第ｋフレームの第１番目のピーク点→第ｋ＋１フレームの第１番目のピーク点→第ｋ＋２フレームの第２番目のピーク点）のように、ピーク点の番号が異なる可能性もある。
【００２３】
次に、ステップＳ４でフレーム番号を示すインデックスｉを“０”とし、ステップＳ７での「対象フレーム範囲処理終了」の判定と、ステップＳ８でのインデックスｉのインクリメントにより、後述説明するステップＳ５およびステップＳ６でのピーク点の抽出の処理を、第０フレームから時間的に後の分析対象範囲内のフレームについて繰り返す。
【００２４】
ステップＳ５およびステップＳ６の処理は、各軌跡の各々について、第ｉ＋１フレームの各ピーク点PK#i+1#1、PK#i+1#2、…、PK#i+1#max(i+1) の中から、第ｉフレームまでの軌跡につながるピーク点を抽出する処理である。先ず、ステップＳ５で、各々の軌跡について、同じ軌跡をなす第ｉフレームと過去ｒ個（予め設定された個数）のフレームのピーク点の周波数データ PK#i#M(i)、PK#i-1#M(i-1) 、PK#i-2#M(i-2) 、…、PK#i-r#M(i-r) （「軌跡データ」ともいう。）から、次式（１）により第ｉ＋１フレームのピーク点位置、すなわち、現在までに軌跡として採用された周波数データ（…、PK#i-1#M(i-1) 、PK#i#M(i) ）につながる周波数データPK′#i+1#M(i+1)（以後、「予測周波数データ」という。）を予測する予測演算を行う。
【００２５】
PK′#i+1#M(i+1)＝pred[corr[PK#i#M(i),PK#i-1#M(i-1),PK#i-2#M(i-2),…,PK#i-r#M(i-r)]]  …（１）
ここで、corr[]はPK#i#M(i),…,PK#i-r#M(i-r)の集合を意味し、pred[]は、集合corr[]の要素を変数とする予測関数である。この予測関数としては、例えば、線形結合式ｆ＝A0×PK#i#M(i)+A1×PK#i-1#M(i-1)+…+Ar×PK#i-r#M(i-r) （A0,A1,…,Ar は係数）や、その他の多項式近似、最小二乗法などである。
【００２６】
なお、上記ステップＳ５の処理で、最初の第０フレームから第ｒ−１フレームの各処理においては、過去ｒ個のフレームのピーク点の周波数データ PK#i#M(i)、PK#i-1#M(i-1) 、PK#i-2#M(i-2) 、…、PK#i-r#M(i-r) が少なくとも全ては検出されていないので、その検出されていない周波数データは、例えば第０フレームの周波数データと同じデータとみなして計算する。
【００２７】
次に、ステップＳ６では、予測周波数データPK′#i+1#M(i+1)に基づき、第ｉ＋１フレームの各ピーク点PK#i+1#1、PK#i+1#2、…、PK#i+1#max(i+1) の中から、軌跡通過点として最適なピーク点を抽出する。なお、このピーク点の抽出処理は、例えば、予測周波数データPK′#i+1#M(i+1)に最も近い周波数データを有するピーク点を選び、そのピーク点を軌跡のピーク点として対応付けてデータメモリ３に記憶する。このピーク点の抽出処理も各軌跡について行う。そして、ステップＳ７に進む。
【００２８】
図２(A) は、予測周波数データと過去ｒ個のピーク点との関係を概念的に示す図であり、第ｉフレームの処理において、この第ｉフレームで軌跡をなすピーク点の軌跡データ（周波数データ）と過去３つ（この例ではｒ＝３）のピーク点の軌跡データ（周波数データ）から、前記予測演算により第ｉ＋１フレームの予測周波数データ（周波数データ）が得られ、第ｉ＋１フレームにおいて、この予測周波数データに最も近い周波数データが軌跡をなすピーク点の周波数データとして抽出される。
【００２９】
以上のステップＳ５およびステップＳ６の処理を、第０フレームから時間的に後の分析対象範囲内の各フレームについて終了すると、ステップＳ９で分析データを記憶する。すなわち、このステップＳ９では、ステップＳ６で軌跡をなすものとして抽出され、各軌跡に対応付けられたピーク点の周波数データ、振幅データ、位相データを軌跡を示すデータとともにデータメモリ３に記憶する。
【００３０】
次に、ステップＳ１０でフレーム番号を示すインデックスｉを“０”とし、ステップＳ１３での「対象フレーム範囲処理終了」の判定と、ステップＳ１４でのインデックスｉのデクリメントにより、ステップＳ１１およびステップＳ１２でのピーク点の抽出の処理を、第０フレームから時間的に前（過去）の分析対象範囲内のフレームについて繰り返す。ステップＳ１１およびステップＳ１２の処理は、第ｉフレームから時間的に前方向にピーク追跡を行う点を除いては、ステップＳ５，Ｓ６と同様の処理である。すなわち、先ず、ステップＳ１１で、各々の軌跡について、同じ軌跡をなす第ｉフレームとｒ個のフレーム（第ｉフレームより時間的に後のｒ個のフレーム）のピーク点の周波数データから、次式（３）により第ｉ−１フレームのピーク点を予測する予測演算を行う。
【００３１】
PK′#i-1#M(i-1)＝pred[corr[PK#i#M(i),PK#i+1#M(i+1),PK#i+2#M(i+2),…,PK#i+r#M(i+r)]]  …（３）
なお、予測関数pred[]は、前記同様に、例えば、線形結合式ｆ＝A0×PK#i#M(i)+A1×PK#i+1#M(i+1)+…+Ar×PK#i+r#M(i+r) や、その他の多項式近似、最小二乗法などである。
【００３２】
また、ステップＳ１２では、予測周波数データPK′#i-1#M(i-1)に基づき、第ｉ−１フレームの各ピーク点PK#i-1#1、PK#i-1#2、…PK#i-1#max(i-1) の中から、例えば、予測周波数データPK′#i+1#M(i+1)に最も近い周波数データを有するピーク点を最適なピーク点として選んで軌跡通過点とし、その軌跡のピーク点として対応付けてデータメモリ３に記憶する。このピーク点の抽出処理も各軌跡について行い、ステップＳ１３に進む。
【００３３】
以上のステップＳ１１およびステップＳ１２の処理を、第０フレームから時間的に前（過去）の分析対象範囲内の各フレームについて終了すると、ステップ１５で、各軌跡に対応付けられたピーク点の周波数データ、振幅データ、位相データを軌跡を示すデータとともにデータメモリ３に記憶する分析データ記憶処理を行い、処理を終了する。
【００３４】
以上のように、既にピーク軌跡として抽出されたピーク点の周波数データに基づいて、次のフレームにおける軌跡を予測してピーク点を抽出するので、自然につながる軌跡を追跡できるようになる。
【００３５】
以上の実施形態では、軌跡の次のピーク点を予測するための分析データとして周波数データを用いる場合について説明したが、ピーク点の予測には振幅データや位相データの分析データを用いるようにしてもよい。例えば、図２(B) に示したように、軌跡をなす振幅データから次の予測振幅データを求めることにより、フレームと振幅の空間においてピークを追跡するようにしてもよい。また、図２(C) に示したように、軌跡をなす位相データから次の予測位相データを求めることにより、フレームと位相の空間においてピークを追跡するようにしてもよい。
【００３６】
また、周波数データ、振幅データおよび位相データのそれぞれについて予測演算を行い、周波数データ、振幅データおよび位相データの複数のデータに基づく所定の条件に応じて、最適なピーク点を抽出するようにしてもよい。
【００３７】
また、予測演算を行うときに用いる分析データ（PK#i#M(i),PK#i-1#M(i-1),PK#i-2#M(i-2),…,PK#i-r#M(i-r)等）は、ピーク検出において実際に検出されたピーク点の分析データを用いるが、ピーク追跡処理の結果として楽音合成等に用いる分析データは、実際に検出されたピーク点の分析データでもよいし、各フレームにおける予測した分析データであってもよい。
【００３８】
なお、実施形態では波形分析後に波形の合成、楽音の発生等を行うようにしているが、本発明は波形分析に関するものであり、波形の合成や楽音の発生等の処理の有無に限定されるものではない。また、残差波形データの生成もしなくてもよい。
【００３９】
また、実施形態では、楽音波形分析プログラムがプログラムメモリ２に予め記憶されている場合について説明したが、これに限らず次のようにしてもよい。例えば、ＣＤ−ＲＯＭに楽音波形分析プログラムを記録しておき、ＣＤ−ＲＯＭ装置から楽音波形分析プログラムをハードディスクにロードする。そして、ＣＰＵシステム１が、このハードディスクの楽音波形分析プログラムをＲＡＭ等に展開し、このＲＡＭのプログラムに基づいて前記実施形態同様に楽音波形分析の動作を制御する。これにより、プログラムメモリに楽音波形分析プログラムを記憶している場合と同様の動作をＣＰＵにさせることができる。このようにすると、楽音波形分析プログラムの新規インストールや追加あるいはバージョンアップ等が容易に行える。また、フロッピディスク、磁気ディスク（ＭＯ）等に楽音波形分析プログラムを記録しておいて、ＲＡＭあるいはハードディスクに供給するようにしてもよい。
【００４０】
また、ネットワークインターフェース７を利用し、楽音波形分析プログラムをダウンロードするようにしてもよい。この場、例えば、ＬＡＮ（ローカルエリアネットワーク）やインターネットあるいは電話回線等のネットワーク９に接続し、該ネットワーク９を介して、サーバコンピュータから楽音波形分析プログラムの配信を受けることにより、それをハードディスクに記録してダウンロードが完了する。さらには、ネットワークを通じて楽音波形分析プログラムを実行するようにしてもよい。
【００４１】
本発明は上記実施形態のようなパーソナルコンピュータに限らず、各種電子楽器、音源装置、シーケンサ、エフェクタなど各種装置や、また、これらをＭＩＤＩあるいは各種ネットワーク等の通信手段を用いて各装置を接続するようなシステム等に、機能として、あるいはアプリケーションとして組み込むようにしてもよい。
【００４２】
なお、以上の実施形態で説明したような楽音波形分析プログラムが記録された媒体、すなわちＲＯＭ、ＲＡＭ、ハードディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤ（デジタル多目的ディスク）あるいはネットワークのサーバコンピュータなど配信先の記憶装置は、本発明の請求項３の楽音波形分析プログラムを記録したコンピュータで読み取り可能な記録媒体に相当する。
【００４３】
【発明の効果】
以上説明したように、本発明の請求項１の楽音波形分析装置または請求項２の楽音波形分析方法または請求項３のコンピュータで読み取り可能な記録媒体に記録された楽音波形分析プログラムの実行によれば、新たに軌跡となるピーク点の決定に、既に決定された連続するピーク点の分析データが反映され、分析対象楽音波形の基本周波数の倍音の周波数値の如何によらず、ピーク点の軌跡を高い確度で追跡することができる。
【図面の簡単な説明】
【図１】本発明の実施形態における楽音波形分析装置のブロック図である。
【図２】実施形態における軌跡の追跡処理を概念的に示す図である。
【図３】実施形態における波形分析処理のフローチャートである。
【図４】実施形態における第０フレームでのピーク点の検出結果を示す図である。
【図５】実施形態に係るピアノのＣ４鍵の音の時間波形の一例を示す図である。
【図６】実施形態に係る周波数スペクトルのピークの一例を示す図である。
【図７】従来の問題点を説明する図である。
【符号の説明】
１…ＣＰＵ、２…プログラムメモリ、３…データメモリ、７…楽音合成部
【図１】
0003644296.tif 000002
【図２】
0003644296.tif 000003
【図３】
0003644296.tif 000004
【図４】
0003644296.tif 000005
【図５】
0003644296.tif 000006
【図６】
0003644296.tif 000007
【図７】
0003644296.tif 000008