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