(57)【要約】【課題】　原波形の有用な周波数成分を分析することができる波形分析方法を用いた音源波形合成装置を提供する。【解決手段】　波形分析方法を波形合成により波形を作成するためのツールとして用いる。Ｓ３３において、原波形データWAVEから１フレーム長の波形データを１フレームの期間がオーバーラップするように順次に切り出し、ＦＦＴ分析処理を行い、周波数成分の周波数、振幅、位相が検出される。そこで、前後する周波数の振幅よりも大きい振幅（ピーク振幅）を有する複数の周波数成分を軌跡データDD(i)として出力する。次に、軌跡DD(i)から合成された波形SW(i)を被分析波形IW(i)から差し引いた残余波形データRW(i)を、新たに被分析波形IW(i)として、再度ＦＦＴ分析する。【選択図】図３
2004013179.tif 000002
【特許請求の範囲】
【請求項１】
　原波形のスペクトル分析を行うことにより、基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(1)を得る第１の分析手段と、
　アタック部と、ループ部を規定する数百ミリ秒〜数秒の長さのループ範囲を設定する設定手段と、
　複数の周波数成分の軌跡データDD(1)について、それぞれ、ループ開始点とループ終了点の位相差が２ｎπ（ｎは整数）となり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、
　スムージング処理された複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる第１の合成波形を生成する第１の合成手段を有し、
　前記スムージング処理は、１０ミリ秒以下の時間レベルの微調整で行われることを特徴とする分析結果を用いた音源波形合成装置。
【請求項２】
　前記第１の分析手段で得られた複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる合成波形を生成し、前記原波形と生成された合成波形との残余波形を得る残余手段と、
　さらに前記残余波形に第２回目以降、Ｎ回まで前記スペクトル分析を行うことにより、前記基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(i)（２≦i≦Ｎ）を得る第２の分析手段と、
　前記複数の周波数成分の軌跡データDD(i)について、それぞれ、前記ループ開始点と前記ループ終了点の位相差が２ｎπとなり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、
　スムージング処理された複数の周波数成分の軌跡データDD(i)に基づいて、第２の合成波形を生成する第２の合成手段と、
　前記ループ部への過渡領域を除くアタック部については、前記第１の合成波形と前記残余波形を加算することにより第３の合成波形を生成し、前記アタック部の前記ループ部への過渡領域については、前記第１の合成波形と、前記残余波形から前記第２の合成波形へのクロスフェード波形、とを加算することにより前記第３の合成波形を生成し、前記ループ部については、前記第１の合成波形と前記第２の合成波形とを加算することにより前記第３の合成波形を生成する第３の合成手段と、
　を有することを特徴とする請求項１に記載の、分析結果を用いた音源波形合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　　本発明は、楽音波形や人声音波形等の波形を分析する波形分析方法を用いた音源波形合成装置に関するものである。
【背景技術】
【０００２】
　波形メモリ音源において、元となる楽音信号の立ち上がり部分を取り出してアタック波形データとし、その後の定常的な波形の中から、繰り返しの１単位を取り出してループ波形データとし、これらを音源波形として記憶装置に格納しておくものが知られている。演奏時には、記憶装置からアタック波形データを読み出した後、ループ波形データを繰り返し読み出す。しかし、アタック部分に後続する部分が完全な定常波形ではないため、ここから取り出されたループ波形の終端付近と始端付近とでは、振幅や周波数スペクトル等が必ずしも一致しない。
【０００３】
　そのため、ループ波形の終端からループ始端に戻る際に、楽音信号のつながりが不自然になる。そこで、このような波形メモリ音源においては、特許文献１等で知られたように、楽音発生時に、ループ終端からループ始端に戻す際に、クロスフェード処理をしている。クロスフェード処理は、単に、ループ終端部の波形とループ始端部の波形に対する重み付け係数を時間的に徐々に増加，減少させて加算するものであるから、つなぎ目が目立たなくなる。しかし、ループ終端部の波形とループ始端部の波形の、振幅や周波数等が一致しなければ、依然として、生成された楽音に不自然さが残ることになる。
【０００４】
　そこで、定常波形からループ波形データを生成する際に、定常波形の周波数スペクトルを分析して、ループ波形を取り出す区間を決定したり、取り出された波形を加工，編集することにより、ループ波形の終端と始端で振幅や周波数等を合わせ込むことが望まれる。
【０００５】
　波形のスペクトルは、ＦＦＴ（高速フーリエ変換：Fast Fourier Transform）によって分析することができる。しかし、従来のＦＦＴ分析では、波形に含まれる有用な周波数成分（パーシャル）を高精度に分析できなかった。
　分析結果から元の波形を合成し、元の波形から合成波形を差し引くと、残余成分が生じるが、従来のＦＦＴでは、この残余成分は捨てていた。そのため、ループ波形を加工、編集する際に、残余成分を無視することができず、残余成分についても加工、編集して用いなければ、ループ波形の終端と始端で振幅や周波数等を精密に合わせ込むことができなかった。
【０００６】
【特許文献１】特公昭６４−７３９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
　本発明は、上述した問題点を解決するためになされたもので、原波形の有用な周波数成分を分析することができる波形分析方法を用いた音源波形合成装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
　本発明は、請求項１に記載の発明においては、分析結果を用いた音源波形合成装置において、原波形のスペクトル分析を行うことにより、基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(1)を得る第１の分析手段と、アタック部と、ループ部を規定する数百ミリ秒〜数秒の長さのループ範囲を設定する設定手段と、複数の周波数成分の軌跡データDD(1)について、それぞれ、ループ開始点とループ終了点の位相差が２ｎπ（ｎは整数）となり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、スムージング処理された複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる第１の合成波形を生成する第１の合成手段を有し、前記スムージング処理は、１０ミリ秒以下の時間レベルの微調整で行われるものである。
【０００９】
　請求項２に記載の発明においては、請求項１に記載の分析結果を用いた音源波形合成装置において、前記第１の分析手段で得られた複数の周波数成分の軌跡データDD(1)に基づいて、アタック部とループ部からなる合成波形を生成し、前記原波形と生成された合成波形との残余波形を得る残余手段と、さらに前記残余波形に第２回目以降、Ｎ回まで前記スペクトル分析を行うことにより、前記基本周期の非調和成分を含む複数の周波数成分の軌跡データDD(i)（２≦i≦Ｎ）を得る第２の分析手段と、前記複数の周波数成分の軌跡データDD(i)について、それぞれ、前記ループ開始点と前記ループ終了点の位相差が２ｎπとなり、かつ、前記ループ開始点と前記ループ終了点の振幅が一致するようスムージング処理する手段と、スムージング処理された複数の周波数成分の軌跡データDD(i)に基づいて、第２の合成波形を生成する第２の合成手段と、前記ループ部への過渡領域を除くアタック部については、前記第１の合成波形と前記残余波形を加算することにより第３の合成波形を生成し、前記アタック部の前記ループ部への過渡領域については、前記第１の合成波形と、前記残余波形から前記第２の合成波形へのクロスフェード波形、とを加算することにより前記第３の合成波形を生成し、前記ループ部については、前記第１の合成波形と前記第２の合成波形とを加算することにより前記第３の合成波形を生成する第３の合成手段とを有するものである。
【００１０】
　なお、波形分析方法として、次のような方法を用いることができる。
(1)　分析区間を移動させながら原波形のスペクトルを分析し、各分析区間における周波数スペクトルのピークに関して軌跡データを取り出す波形分析方法であって、前記原波形に対し、第１回目のスペクトル分析をする過程と、前記第１回目のスペクトル分析の結果から、第１の判定条件にしたがって、第１の前記軌跡データを取り出す過程と、前記第１の軌跡データに基づいて第１の合成波形を生成する過程と、前記原波形から前記第１の合成波形を減算して残余波形を生成する過程と、前記残余波形に基づく波形に対し、第２回目のスペクトル分析をする過程と、前記第２回目のスペクトル分析の結果から、前記第１の判定条件に比べて緩和された第２の判定条件にしたがって、第２の前記軌跡データを取り出す過程、を有し、少なくとも前記第１，第２の軌跡データを波形分析結果とする波形分析方法。
　したがって、残余波形に基づく波形に対して、判定条件を緩和して再度のスペクトル分析を行うことにより、第１回目のスペクトル分析において隠れていた周波数成分のピーク軌跡が現れるため、第１回目のスペクトル分析では取り出せなかった、比較的小さなピーク周波数の軌跡を取り出すことが可能となり、有用な周波数成分を高精度に取り出すことができる。
　この分析結果を用いて波形を合成すれば、有用な周波数成分を多数含んだ波形を合成することができ、特に、定常波形領域におけるループ波形を合成するのに好適である。
(2)　分析区間を移動させながら原波形のスペクトルを分析し、各分析区間における周波数スペクトルのピークに関して軌跡データを取り出す波形分析方法であって、前記原波形に対し、第１回目のスペクトル分析をする過程と、前記第１回目のスペクトル分析の結果から、第１の前記軌跡データを取り出す過程と、前記第１の軌跡データに基づいて第１の合成波形を生成する過程と、前記原波形から前記第１の合成波形を減算して残余波形を生成する過程と、前記残余波形に対し、前記第１の軌跡データに対応する周波数成分を少なくとも除去するフィルタ処理を施す過程と、フィルタ処理された前記残余波形に対し、第２回目のスペクトル分析をする過程と、前記第２回目のスペクトル分析の結果から、第２の前記軌跡データを取り出す過程と、を有し、少なくとも前記第１，第２の軌跡データを波形分析結果とすることを特徴とする波形分析方法。
　したがって、残余波形に基づく波形に対して、判定条件を緩和して再度のスペクトル分析を行うことにより、第１回目のスペクトル分析において隠れていた周波数成分のピーク軌跡が現れるため、第１回目のスペクトル分析では取り出せなかった、比較的小さなピーク周波数の軌跡を取り出すことが可能となり、有用な周波数成分を高精度に取り出すことができる。
　さらに、残余波形から、再分析不要な周波数成分が取り除かれた波形に対してスペクトル分析を行うことができるため、再分析の効率を高めることができる。
　この分析結果を用いて波形を合成すれば、有用な周波数成分を多数含んだ波形を合成することができ、特に、定常波形領域におけるループ波形を合成するのに好適である。
　なお、既にピーク軌跡データが得られている周波数成分の近傍の周波数成分は、既にピーク軌跡データが得られている周波数成分によるマスキング効果により、聴感上目立たない。その結果、近傍の周波数成分をピーク軌跡として取り出さずに波形を合成しても目立たない。したがって、既にピーク軌跡データが得られた周波数成分の近傍の周波数成分についても残余波形から取り除いて、再度のスペクトル分析を行えば、さらに、効率よく波形分析が行える。
【発明の効果】
【００１１】
　本発明の波形分析方法を用いた音源波形合成装置は、波形に対して分析を行い、原波形の有用な周波数成分を分析できる波形分析方法を用いることができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
　図１は、本発明に用いられる波形分析方法が実行される波形分析装置の実施の一形態を示すブロック図である。
　図中、１は波形分析装置全体の制御を行うＣＰＵ（Central Processing Unit)、２は制御プログラムなどの各種プログラムおよび各種の制御情報などが格納されるＲＯＭ、３はワークエリアやバッファ領域あるいは各種プログラムを格納する領域として使用されるＲＡＭ、４は計時動作やＣＰＵ１に対するタイマ割込を行うためのタイマ、５は各種の操作スイッチが配備されたパネルスイッチ、６は処理対象である原波形などの各種の表示を行うパネル表示器である。７は外部ＭＩＤＩ（Musical Instrument Digital Interface）機器との間でＭＩＤＩイベントの授受を行うためのＭＩＤＩインターフェース、８はＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＨＤ（ハード磁気ディスク）、ＦＤ（フレキシブル磁気ディスク）等の記録媒体９にアクセスするための駆動装置である。
【００１３】
　１０は波形メモリであり、原波形の波形データや本装置内で作成された波形データを記憶するもので、複数の波形データを書き込み読み出し可能とされている。１１はアクセス管理部であり、前記波形メモリ１０に対する書込回路１３、音源部１５、あるいは、バッファ１４からのアクセスが互いに衝突しないように、波形メモリ１０のアクセスタイムスロットを管理する。１２は外部波形入力端子、１３は書込回路であって、外部波形入力端子１２から入力される原波形信号をサンプリングして、波形メモリ１０に書き込む。１４はバッファであって、記録媒体９やＲＡＭ３から波形メモリ１０に書き込まれる波形データ、あるいは、波形メモリ１０から読み出された波形ータをＣＰＵ１やＲＡＭ３等に転送する。１５は音源部であって、波形メモリ１０から読み出された波形データを用いて楽音信号を生成する。１６はサウンドシステムであって、音源部１５から出力された楽音信号を出力する。１７はバスラインであって、上述した各要素間の情報の授受のために使用される。
【００１４】
　ここで、ＲＯＭ２あるいはＲＡＭ３には、全般的な制御を行うためのプログラムに加えて、外部より入力された原波形データを分析する波形分析プログラム、分析結果に基づいて合成された波形データを加工，編集して音源波形データを作成する音源波形作成プログラム、および、音源波形データを用いて波形メモリ音源として機能させるための演奏処理プログラムなどが含まれている。
【００１５】
　ＣＰＵ１は、ＲＯＭ２あるいはＲＡＭ３に記憶された各種制御プログラムに従い、パネルスイッチ５やＭＩＤＩインターフェース７からの入力等に応じて、各種の制御を行う。また、波形データ分析処理時および音源波形データ作成処理時においては、バッファ１４を介して波形メモリ１０のデータの読み書きを行い、波形データを読み出して分析、加工、編集して再度波形メモリ１０に書き込んだり、記録媒体９や、図示しない通信路から供給された波形データを波形メモリ１０に書き込んだり、逆に波形メモリ１０から前記記録媒体９や通信路に供給したりする。
【００１６】
　さらに、ＣＰＵ１は、演奏処理実行時において、ＭＩＤＩインターフェース７や記録媒体９あるいはＲＡＭ３などから供給される演奏情報に応じて、音源部１５の発音チャンネルの楽音生成状態を制御する。例えば、ＭＩＤＩインターフェース７から発音開始を示すノートオン信号が入力された場合、音源部１５の発音チャンネルの１つにその楽音の発生を割り当て、割り当てられた発音チャンネルにその楽音を生成するために必要な楽音パラメータ（ピッチ情報、ビブラート制御情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等）を供給するとともに、発音開始の指示を与える。これに応じて、音源部１５では、割り当てられた発音チャンネルを用いて、波形選択情報に応じて波形メモリ１０から読み出された波形データを使用して上述した楽音パラメータに対応した楽音を生成する。
【００１７】
　なお、図示を省略したが、ＬＡＮあるいはインターネットなどの通信ネットワークに接続するための通信インターフェース回路を設け、通信ネットワークを介してサーバから波形データや各種プログラムなどをダウンロードするようにしてもよい。さらにまた、鍵盤操作子を設け、この鍵盤操作子を用いて演奏することもできる。
　上述した説明では、波形分析方法、音源波形作成方法、および、演奏処理方法をＣＰＵ１に実行させるプログラムは、ＲＯＭ２あるいはＲＡＭ３に格納されていた。これに代えて、ＣＤ−ＲＯＭ（記録媒体９）により外部供給を受け、ハード磁気ディスク（記録媒体９）にインストールされてプログラムが実行されてもよい。また、図示しない通信回線を介して、ネットワーク上のサーバからハード磁気ディスク（記録媒体９）にダウンロードされてプログラムが実行されてもよい。
【００１８】
　図２は、図１に示した波形分析装置を用いて波形を分析し、音源波形を作成し、演奏をするまでの処理の概要を示したフローチャートである。
　Ｓ２１において、元となる波形データ（原波形データ）が用意される。図１に示したパネルスイッチ５に設けられた録音スイッチの操作に応じて、原波形データが、例えば、外部波形入力端子１２から書込回路１３、アクセス管理部１１を介して、波形メモリ１０に書き込まれる。
　Ｓ２２においては、パネルスイッチ５に設けられた分析スイッチの操作に応じて、ＣＰＵ１が波形メモリ１０に書き込まれた原波形データを分析する。
【００１９】
　波形データ分析処理においては、まず、原波形データをスペクトル分析して、周波数成分のピーク軌跡を作成する。作成されたピーク軌跡から正弦波加算合成等により波形（決定論的波形、Deterministic）を合成し、原波形からこの合成波形を差し引いて残余波形、Residual）を得る。残余波形に対して、再度のスペクトル分析を行い、周波数成分のピーク軌跡を作成し、再度の残余波形を得る。残余波形に対するスペクトル分析は、必要な回数だけ行われる。
【００２０】
　Ｓ２３においては、パネルスイッチ５に設けられた編集スイッチの操作に応じて、分析結果に基づいて波形データを加工，編集して音源波形データを生成し、波形メモリ１０に格納する。例えば、作成された複数のピーク軌跡の振幅や位相を変更操作することなどにより、周波数スペクトル上で加工，編集して、時間軸上の波形に変換することにより、決定論的に得られた波形を編集することができる。
【００２１】
　発音開始時のアタック部においては、波形が複雑であり、決定論的波形を得ることが難しいので、第１回目のスペクトル分析結果に基づいた決定論的波形と、第１回目の残余波形とを用いて音源波形を合成する。
　一方、アタック部後の楽音信号は、定常的な波形となるので、前回の残余成分に対して行ったスペクトル分析結果に基づいて合成された決定論的波形を用いてループ波形を合成する。最後のスペクトル分析によって生じた残余波形、もしくは、これをフィルタ加工したものなどを加えてループ波形を作成してもよい。ループ波形を作成する際には、決定論的波形の各周波数成分（パーシャル）毎に、ループの終端と始端とで、振幅、位相の合わせ込みや、振幅の揺らぎ、位相（周波数）の揺らぎの合わせ込みを行う。
【００２２】
　ステップＳ２４においては、パネルスイッチ５における演奏スイッチの操作に応じて、波形メモリ１０から音源波形データを選択する。それとともに、ＭＩＤＩインターフェース７、記録媒体９、あるいは、図示しない通信ネットワークから入力されたＭＩＤＩ演奏情報等に基づいて、演奏制御情報を作成し、音源部１５に供給する。音源部１５は、演奏制御情報に基づいて、選択された音源波形データを使用して楽音を生成する。ループ部についてはループ波形を繰り返し読み出す。従来のようなクロスフェード処理は必須ではない。また、所定のエンベロープの付与、エフェクト処理等を実行し、各チャンネルの楽音を生成しそれらをミキシングして、サウンドシステム１６に供給する。これにより、音源波形データを用いた演奏が実行される。
【００２３】
　図３は、本発明に用いられる波形分析方法の実施の一形態の分析処理全体の概要を説明するためのフローチャートである。
　この実施の形態では、波形分析方法を、合成波形を作成するためのツールとして用いている。前提として、分析する原波形データWAVEの基本波の周波数、すなわち、基本ピッチは大体わかっているものとし、この基本ピッチに基づいて、分析のための各種の設定値を決める。原波形データWAVEは、例えば、44.1[kHz]のサンプリング周波数でサンプリングされ、図１の波形メモリ１０に格納される。格納された原波形データは、あらかじめ、振幅調整、イコライズ処理、フィルタリング処理などが行われるとともに、分析範囲の設定も行われる。
【００２４】
　図１１は、ピアノのＣ４打撃音の時間波形を示す原波形WAVEの一例の波形図である。
。横軸はサンプル点の番号、縦軸は振幅レベルである。この波形の基本ピッチは約261.63[Hz]である。
　波形分析の手順としては、原波形データWAVEから１フレームの長さの波形データを順次に切り出す。一例として、１フレームの長さは、基本波のほぼ８周期分とする。図１１に示した波形の基本周期は1／261.63＝3.822[msec]であり、サンプリング周波数は44.1[kHz]であるから、１フレームの長さは、1348サンプル（小数点以下四捨五入）となる。
　次に、これに１フレームと同じ長さの窓関数を乗算したものに対してＦＦＴ分析を行う。ＦＦＴ分析は、サンプルポイント数を２のべき数とすると効率的に演算が行えるアルゴリズムであり、かつ、サンプルポイント数は、少ないほど演算量が少なくなるので、１フレームの長さを超える最小の２のべき数を選び、ここでは、2048点とする。
【００２５】
　このＦＦＴ処理により、周波数軸上のデータとして、周波数の振幅および位相が検出される。そこで、前後する周波数の振幅よりも大きな振幅を有する周波数、すなわち、振幅がピークをなす複数の周波数（周波数位置）を全て検出して記憶する。
　１つのフレームについてＦＦＴ処理が終了すると、１フレームの期間をオーバーラップさせながら、時間軸方向に、例えば、基本波の１／８周期分だけ進めた位置に、次の１フレームを設定する。この１フレームのサンプルに１フレームと同じ幅の窓関数を乗算したものに対して同様なＦＦＴ処理を行い、以後これを繰り返す。
　楽音波形には、ビブラート等の時間的に周波数成分が変化する演奏表現が含まれている。これらの演奏表現が、周波数、位相の揺れとして検出できるように、ＦＦＴ処理における１フレームの長さ（時間窓）や時間分解能等を設定する。その結果、楽音波形の特性に注目した波形編集が容易になる。
【００２６】
　具体的にフローチャートを用いて説明する。
　Ｓ３１においては、まず、原波形データWAVEを入力し、これを初回の被分析波形データIW(1)とおき、Ｓ３２に処理を進める。
　Ｓ３２においては、分析回数を示すフラグｉを１とおき、Ｓ３３に処理を進め、ＦＦＴを用いて、ｉ回目の分析(i)を行う。Ｓ３３においては、被分析波形データIW(i)から、ｉ回目の分析における分析条件(i)にしたがって、ｉ回目の分析結果として、ピーク軌跡データDD(i)および残余波形データRW(i)を出力し、Ｓ３４に処理を進める。
　ピーク軌跡データDD(i)は、ｉ回目の分析(i)において取り出された、周波数スペクトル上でピークを示す１または複数の周波数成分であって、分析フレームの移動に応じて揺らぎながらもほぼ持続して存在している周波数成分に関する、周波数、振幅、位相のデータである。このピーク軌跡データDD(i)に基づいて、これに対応する波形データを合成し、被分析波形データIW(i)から、この合成された波形データを差し引くことにより、上述した残余波形データRW(i)が作成される。
　このＳ３３における処理は、図５を参照して後述する。
【００２７】
　Ｓ３４においては、分析処理を繰り返すか否かの判定を行う。例えば、残余波形データRW(i)のレベルが所定値以下になったか否かを判定し、所定値以下になればＳ３５に処理を進め、Ｓ３５において、このときの分析回数ｉの値をＮとして処理を終了する。Ｓ３４において、所定値以下でなければ、Ｓ３６に処理を進め、分析回数ｉの値を１だけ増やしてＳ３７に処理を進める。あるいは、最終分析回数を固定的に設定することも可能である。
【００２８】
　このように、Ｓ３６，Ｓ３７を経由して再びＳ３３において分析を行う。先の分析、例えば、第１回目においは、確実に存在するピーク軌跡を取り出すことを主眼として分析を行うので、Ｓ３３においては、図５を参照して後述するように、ピーク軌跡を選択する分析条件（１）を厳しくしている。次の第２回目においては、確実に存在するピーク軌跡が既に取り出されているので、残余波形の中から、より多くのピーク軌跡を取り出すことを主眼として、ピーク軌跡を選択する分析条件（２）を緩和している。
　また、第１回目の分析では、確実に存在するピーク軌跡により、原波形に存在する比較的小さな周波数成分のピークが隠されている可能性がある。特に、非高調波成分にその影響が大きい。さらにまた、窓関数のサイドローブによって、存在しない周波数成分（漏れ）も出力されている。第２回目の分析においては、先に検出された大きなピーク軌跡の周波数成分が原波形から取り除かれているので、この大きな周波数成分の上述した漏れも発生しないから、この点でも、比較的小さな周波数成分のピークを検出できる可能性が高くなる。
【００２９】
　さらに、次の分析を行う前に、Ｓ３７において、残余波形データRW(i)についてノッチフィルタ処理を行う。
　図４は、ノッチフィルタの周波数特性を示す線図である。図中、横軸は周波数、縦軸は出力レベルである。ノッチフィルタは、特定の中心周波数の近傍で急峻に減衰する特性を有するものである。
　直前のＳ３３において出力されたピーク軌跡データDD(i-1)の複数の周波数成分のそれぞれを中心周波数とする、複数のノッチフィルタを直列的に用いる。残余波形データRW(i)から、ピーク軌跡データDD(i)の周波数およびその近傍の周波数成分を除去したものを、次回の分析に対する被分析波形データIW(i)（Ｓ３６においてｉの値が更新されている）として出力し、再びＳ３３に戻る。ノッチフィルタの半値幅は、例えば、基音周波数の１／６とする。
【００３０】
　なお、抽出された軌跡DD(i)に対応した周波数の近傍の周波数成分が含まれないで波形合成されても、抽出された軌跡DD(i)に対応した周波数成分がもたらすマスキング効果により知覚されない。そのため、近傍の周波数成分を除去することにより、有用な成分だけを効率的にＦＦＴ処理をすることができる。
　また、フレームの長さよりも長い周期の周波数成分が原波形に含まれていた場合には、ＦＦＴ処理によって、直流に近い低い周波数領域に、本来あり得ない周波数スペクトルのピークが検出される場合がある。このとき、残差成分に、この不要な周波数成分が含まれることになる。したがって、ノッチフィルタ処理に加えて、低周波阻止をするローカットフィルタ処理を施すと、さらに効率的にＦＦＴ処理ができる。
　また、分析(i)の結果出力される残余波形データRW(i)は、被分析波形データIW(i)からのピーク軌跡データDD(i)に相当する成分が除去された波形である。したがって、次の段の被分析波形データIW(i+1)は、IW(i)よりレベルが小さくなり、分析時に直流成分による影響を受けやすい。そのため、次段の分析に先立ちローカットフィルタにより直流成分を除去している。
【００３１】
　図５は、図３のＳ３３における分析(i)の処理の詳細を示すフローチャートである。
　まず、Ｓ４１において、被分析波形データIW(i)から最初の第１フレームを切り出してセットし、Ｓ４２に処理を進める。第１フレームとしては、原波形データの楽音の立ち上がりから開始させる。
　Ｓ４２においては、当該フレームについてＦＦＴ処理を行い、Ｓ４３に処理を進める。Ｓ４３においては、当該フレームについて、周波数軸上のピークを出力する周波数とその振幅および位相を出力して、Ｓ４４に処理を進める。
【００３２】
　図１２は、図１１に示した原波形データを分析することにより得られた周波数のピーク分布の一例を示す線図である。横軸は時間[msec]、縦軸は周波数[Hz]である。各フレーム毎に検出されたピークが点として表わされている。また、横方向の細線は、基本周波数およびその倍音の周波数を表わしている。
　この図において、既にピークの線状の軌跡を見てとることができるが、点がつながっているとの判定はまだ行っていない。また、線として見える部分以外はノイズであったり、一過性の周波数成分であったり、あるいはＦＦＴの窓関数のサイドローブによる漏れであるとみなされ、これらは、有用でない周波数成分である。なお、ピーク周波数における振幅および位相のデータも出力されるが、図示を省略する。
【００３３】
　Ｓ４４においては、被分析波形データＩＷ（ｉ）の最後までフレームの切り出しが完了したか否かを判定し、完了していないときにはＳ４５に処理を戻し、完了したときにはＳ４６に処理を進める。
　Ｓ４５においては、正の時間軸方向に所定時間ずらせて次のフレームを切り出し、Ｓ４２に処理を戻す。
　Ｓ４６においては、各フレームに関してＳ４３で抽出された複数のピークを、複数フレームにわたってつなぐことにより、ピークの軌跡を検出する。連続する複数のフレームで検出された各ピークについて、つながりのよいものを検出し、そのピークの周波数、振幅、位相をピークの軌跡として記憶する。
【００３４】
　ここで、つながりがよいとは、前後のフレームのピーク間で、周波数および振幅がほぼ同じくらいの値であり、かつ、位相の連続性がよいものである。
　互いに隣り合った第ｐフレームと第ｒフレームについてピーク追従処理を行うものとする。まず、第ｐフレームにおいて検出された１番目からＭｐ番目までの全てのピークPKｐ−ｑ（PKｐ−１，PKｐ−２，…，PKｐ−Ｍｐ）について、第ｒフレームの１番目からＭｒ番目までのすべてのピークPKｒ−ｓ（PKｒ−１，PKｒ−２，…，PKｒ−Ｍｒ）とつながる可能性を計算する。この可能性を示す値をCP（Connection Possibility）と名付けることとする。CP(p-q,r-s)は、フレームｐ側から見た、フレームｐのｑ番目のピークPKｐ−ｑとフレームｒのｓ番目のピークPKｒ−ｓとのつながる可能性を示す数値である。
【００３５】
　このCP(p-q,r-s)は、次式（１）により計算することができる。
　CP(p-q,r-s)＝
　FuncA (|PKｐ−ｑ．Ｆｒｅｑｕｅｎｃｙ− PKｒ−ｓ．Ｆｒｅｑｕｅｎｃｙ|)
×FuncB (|PKｐ−ｑ．Ｍａｇｎｉｔｕｄｅ− PKｒ−ｓ．Ｍａｇｎｉｔｕｄｅ|)
×FuncC (PredictionPhase(sign(r-p),PKｐ−ｑ,PKｒ−ｓ) − PKｒ−ｓ．Ｐｈａｓｅ) …（１）
　ここで、FuncAは、周波数について近いものを捜すための関数（周波数比較関数）である。ピークPKｐ−ｑの周波数PKｐ−ｑ．Ｆｒｅｑｕｅｎｃｙと、PKｒ−ｓの周波数PKｒ−ｓ．Ｆｒｅｑｕｅｎｃｙの両者が全く同一のときに１となり、両者の差の絶対値が大きくなるほど減少し、差の絶対値の全範囲についての積分値が１となる関数を用いればよい。
【００３６】
　FuncBは、振幅について近いものを捜すための振幅比較関数である。ピークPKｐ−ｑの振幅PKｐ−ｑ．ＭａｇｎｉｔｕｄｅとPKｒ−ｓの振幅PKｒ−ｓ．Ｍａｇｎｉｔｕｄｅの両者が全く同一のときに１となり、両者の差の絶対値が大きくなるほど減少し、差の絶対値の全範囲についての積分値が１となる関数を用いればよい。楽音の場合、フレームの移動距離が短いため、この間ではそれ程急峻な変化はないと仮定している。
【００３７】
　FuncCは、位相についての連続性のあるものを捜すための関数である。ここで、、PKｒ−ｓ．ＰｈａｓｅはピークPKｒ−ｓの位相である。PredictionPhaseは、次式（２）に示すように位相予測関数であって、フレームの移動方向の関数となり、フレームｐの情報から予測されるフレームｒでの位相を計算するものである。
　PredictionPhase (sign(r-p),PKｐ−ｑ,PKｒ−ｓ)＝
　PＫｐ−ｑ．Ｐｈａｓｅ＋2π×PKｐ−ｑ．Ｆｒｅｑｕｅｎｃｙ／SamplingFrequency×HopSize　…（２）
　PＫｐ−ｑ．ＰｈａｓｅはピークPＫｐ−ｑの位相である。HopSizeは、フレームの移動サンプル点数であり、図１１を用いた例では２１点となる。HopSize／SamplingFrequencyは、フレームの移動サンプル時間を示しており、この例では４．７６msecである。この式（２）は、フレームｐにおいて周波数が、PKｐ−ｑ．Ｆｒｅｑｕｅｎｃｙであったとして、次のフレームｒでもこの周波数が変わらなかったとした場合に、フレームｒの位相が何度であるのかを計算するものである。
　sign(r-p)は、フレームの移動方向を示すものであって、正の場合には位相が進み、負の場合には位相が戻ることを示している。
　FuncCは、位相間の距離が０のときに１となる関数であり、例えば、次式（３）のような形式の比較関数が用いられる。
　FuncC (phase1−phase2)＝(1＋cos(phase1−phase2))／2　　　　　　　　…（３）
【００３８】
　上述した、式（１）を用い、フレームｐでのｑ番目のピークについて、ｒ側のすべてのピークに対する、
　CP(p-q,r-1)，CP(p-q,r-2)，…，CP(p-q,r-Mr)
　を計算し、CP値が最大となるピークが、ｐ側からｒ側を見たときに一番つながる可能性の高いピークであるということができる。このようにして、フレームｐでのｑ番目のピークからのフレームｒへの軌跡を追跡することができる。
【００３９】
　図６は、PＫｐ−１について計算した例を示す図である。
　この例においては、CP(p-1,r-1)が最大値０．９となっているので、PKｐ−１はPKｒ−１と最もつながる可能性があると考えられる。
　なお、このときに、CPの最小値を予め決定しておき、例えば、すべてのCP値が0.001以下の場合はつながる可能性のあるピークがないとする方が現実的である。この場合のピークはフレームｐで消滅したものと考えられる。この例では、CPが最小値以下になることが、軌跡の消滅条件である。
　このようにして、フレームｐのすべてのピークPKｐ−１，PKｐ−２，・・・について最もつながる可能性のあるフレームｒでのピークが見つかったとする。
【００４０】
　図７は、フレームｐでの２つのピークがフレームｒでの１つのピークにつながる可能性がある場合を示す図である。すなわち、ｐ側からｒ側を見たときに、PKｐ−３について、CP(p-3,r-3)が最大値をとり、PKｐ−４についても、CP(p-4,r-3)が最大値をとったとする。したがって、PKｐ−３とPKｐ−４が、ともにPKｒ−３につながる可能性があるということである。
　このような場合、今度はフレームｒ側からフレームｐ側を見て、最もつながる可能性のあるピークを捜すようにする。この場合においても、上述した式（１）に示したCPを用いる。ただし、位相予測関数PredictionPhaseは、時間的に逆方向を予測するものとなるため、sign(p-r)が負となり、式（２）は、次の式（４）となる。
　PredictionPhase (sign(p-r),PKｒ−ｓ,PKｐ−ｑ)＝
　PKｒ−ｓ．Ｐｈａｓｅ−2π×PKｒ−ｓ．Ｆｒｅｑｕｅｎｃｙ／SamplingFrequency×Hopsize　…（４）
　このようにして得られる、CP(r-s,p-1)，CP(r-s,p-2)，…，CP(r-s,p-Mp)の値から、最大のものを見つけて、ｒ側からｐ側を見たときに一番つながる可能性のあるピークを捜す。
【００４１】
　図８は、フレームｒ側からフレームｐ側を見て、最もつながる可能性のあるピークを捜した結果の一例を示す図である。図示の例において、PKｒ−３はPKｐ−４とつながる可能性が高いという結果が得られる。これにより、PKｐ−４とPKｒ−３がつながっていると判断する。また、PKｐ−３については、フレームｐで消滅したと考えることができる。
　このように双方向からのマッチングをとるようにすることにより、最適なピークの接続を見い出すことが可能となる。
【００４２】
　上述したピークの軌跡の追跡は、原波形データの発音開始点から行うよりも、原波形の振幅レベルが最大となるアタックマックスポイントを含むフレームから、正および負の時間方向に行うことが好ましい。アタックマックスポイントでは、追従が必要な全てのピークが出揃っている可能性が大きいからである。
　図１１に示した例では、振幅レベルが最大となるアタックマックスポイントが、サンプリング開始点から42.9[msec]後にあることが検出される。このアタックマックスポイントを１フレームのほぼ中央とする基準フレーム（リファレンスフレーム）において、追跡の基点となるピークを検出し、時間の正方向にピーク軌跡を追跡し原波形データの最後まで到達すると、、その後、基準フレームから、今度は、逆に時間の負方向にピーク軌跡を追跡する。なお、時間の負方向にピーク軌跡を追跡する際には、位相予測関数としては、式（４）を用いることになる。
　このようにして、分析対象波形データＩＷ（ｉ）の最初から最後まで各フレームでの各ピークの接続が分かったものとする。
【００４３】
　図１３は、図１２に示したピーク分布から第１回目の分析によって得られたピーク軌跡の一例を示す線図である。図１２と同様に、横軸は時間［msec］、縦軸は周波数［Hz］である。
　上述したように、基点としたピークは、アタックマックスポイントを１フレームのほぼ中央とする基準フレームのピークである。途中で消滅条件により消えて、つながらなくなってしまった軌跡も含まれている。また、必要でないピークまで含まれてしまっている可能性もある。例えば、図中、（ａ）で示したピークの軌跡（細線でつないで図示している）は、第１回目の分析では、有用でないものとみなす。
【００４４】
　Ｓ４７においては、検出された複数のピークの軌跡の中から、ｉ回目の分析条件（ｉ）に従って、ピーク軌跡を選択し、Ｓ４８に処理を進める。すなわち、Ｓ４６において検出された軌跡の全てではなく、分析条件（ｉ）を満たすものだけが選択され、選択されたピーク軌跡の周波数、振幅、位相のデータが、原波形（ｉ＝１のとき）あるいは残余波形データ（２≦ｉのとき）から取り出され、軌跡データとして保存される。
【００４５】
　この分析条件（ｉ）としては、例えば、次のような選択条件を用いることができる。
　(a)所定の時間範囲の中で、ピーク軌跡の切断がａ回以下
　(b)所定の時間範囲の中で、ピーク軌跡の存在割合がｂ％以上
　(c)所定の時間範囲の中で、ピーク軌跡の平均振幅レベルがｃ以上
　(d)ピーク軌跡の連続する時間長がｄ以上
　以上の条件の任意の２以上の組み合わせを満足すること。
　そして、分析回数（ｉ）が増えるにつれて、選択条件を緩くするように、各条件の設定値を決める。
　例えば、(a)の条件において、１回目は切断が１回以下、２回目は５回以下、３回目は２０回以下とする。(b)の条件において、１回目はピーク軌跡の存在割合が全フレーム数の９９％以上、２回目は７０％以上などとする。
　２回目以降は、複数通りの分析条件を用いて分析し、各条件で取り出されたピーク軌跡の中からユーザが総合評価するなどして、最終的にピーク軌跡を選択するようにしてもよい。
【００４６】
　なお、あるピークの軌跡が一旦、途切れている場合もある。このような場合には、ピークの軌跡をつないだ上で、上述した選択条件を用いてもよい。
　図９は、ピークの軌跡が途切れている例を示す図である。図中、Ｍ番目のピーク軌跡は、フレーム（N-1）で消滅し、フレーム（N+1）で生成されているように見える。しかし、１つの軌跡は、１つの正弦波発振器に対応しており、軌跡が消滅した時点で対応する正弦波発振器は、未使用状態あるいは出力途絶、すなわち、フレーム（N-1）とフレーム（N+1）間で正弦波出力が途切れてしまい、クリックノイズの発生などの不都合が生じるおそれがある。
【００４７】
　図１０は、ピーク軌跡が途切れる部分を補間する例を示す図である。
　ピーク軌跡が途切れるような場合には、フレーム（N）に振幅０のピークがあるように補って考え、一続きの軌跡と考えるようにすればよい。あるいは、フレーム（N-1）のピークの情報とフレーム（N+1）のピークの情報を補間し、フレームのピーク情報を作り出すようにすることもできる。
【００４８】
　このような補間は、次のようにして実現することができる。すなわち、PKＮ−Ｍは、実際には見つけられなかったのであるから、振幅は０である。しかし、フレーム（N-1）のピークのデータから周波数と位相を予想することができる。そこで、一旦途切れてしまったピークのリファレンスピークとして、振幅が０で周波数と位相の情報を持つピークとして、その情報を保持しておくようにする。これにより、フレーム（N）へ接続できなかったピークについて、さもフレーム（N）にピークがあったかのようにリファレンスを作成しフレーム（N+1）との接続を行うようにすることが可能となる。
【００４９】
　図１４は、図１３に示した第１回目の分析によるピーク軌跡から選択された軌跡データDD(1)の一例を示す線図である。図１２と同様に、横軸は時間[msec]、縦軸は周波数[Hz]である。
　Ｓ４８においては、選択された複数のピークの軌跡に基づいて、軌跡データDD(i)を出力するとともに、軌跡データDD(i)に基づいて波形合成を行い、Ｓ４９に処理を進める。軌跡データDD(i)は、フレームの期間が移動しても定常的に存在し続けている有用な周波数成分の軌跡である。この軌跡データDD(i)を構成する１または複数の周波数成分について、その振幅および位相を用いて、時間軸上の波形を合成することができる。この合成波形は、既に説明した決定論的波形である。　合成は、例えば、正弦波加算合成で行う。軌跡データDD(i)の１または複数の各周波数成分（非調和成分を含む）の振幅、周波数、位相をそのまま備える１または複数の正弦波を加算する。
　Ｓ４９においては、被分析波形IW(i)から合成波形を減算して、残余波形データRW(i)を生成し、図３のフローチャートのＳ３４に進む。
【００５０】
　図１５は、図２に示したＳ２３の音源波形作成の一応用例を説明するフローチャートである。
　第１回目の分析（１）から第Ｎ回目の分析（Ｎ）までの間に取り出された軌跡データDD(i)（１≦ｉ≦Ｎ）および、第１回目の残余波形データRW(1)を、例えば、図１のＲＡＭ３から読み出す。
　Ｓ５１においては、ループ範囲を設定し、Ｓ５２に処理を進める。この応用例では、軌跡データDD(i)として、基本周期の調和成分だけでなく、非調和成分（非倍音成分）も取り出している。この非調和成分を含めたループ波形を合成するために、決定論的波形の全ての周波数成分が、ループ範囲の開始点と終了点とにおいて同位相になるようにする。そのために、波形の基本周期に比較して十分に長いループをとる。
【００５１】
　ループ読み出しされる波形に含まれる周波数成分は、そのループの繰り返し周波数の整数倍に制限される。例えば、繰り返し周波数が２[Hz]（周期500[msec]）のループであれば、同位相とすることができる周波数成分が２[Hz]間隔でしか得られないが、繰り返し周波数が１[Hz](１[sec]）のループであれば、同位相とすることができる周波数が１[Hz]間隔で得られる。極端な場合、基本波の１周期の長さのループには、その基本波の整数倍の周波数成分しか含むことができない。したがって、非調和成分波形を正確に記憶するためには、ループの長さは長いほどよいが、メモリ容量とのトレードオフで決める。実際的なループ長としては、数100[msec]〜数[sec]程度とされることが多い。
【００５２】
　Ｓ５２においては、各軌跡データDD(i)、１≦ｉ≦Ｎ、のループスムージング処理を行う。各ピーク軌跡データDD(i)には、それぞれ、基本波を含む倍音成分、非調和成分などの複数のピーク軌跡が含まれている。その各ピーク軌跡毎に個別に、次のようなスムージング処理を行う。
　(a)ループ始点での各周波数成分の周波数、振幅、位相を検出する。
　(b)ループ部における各周波数成分の振幅の揺らぎ、位相の揺らぎ（周波数の揺らぎでもある）を検出する。
　(c)ループ部内において、各周波数成分の振幅の揺らぎ、位相の揺らぎ（周波数の揺らぎ）、それぞれの揺らぎの位相が、ループ始点とほぼ等しくなる接続ポイントを捜す。その際、ループ終点に近い点を優先的に選択する。
【００５３】
　(d)ループ始点から接続ポイントまでの位相揺らぎをループ始点からループ終点まで、の時間軸伸長（タイムストレッチ）操作を行う。伸長に応じて、各揺らぎの周期は長くなるが、揺らぎの連続性がよくなる。ただし、位相の揺らぎについては、周波数成分の位相に対して単純に時間軸伸長を行うと、周波数が変化してしまう。そのため、位相の傾き（周波数）の値を時間軸伸長をする。
　(e)ループ終点での各周波数成分について、振幅値、位相値が、それぞれ、ループ始点での振幅値、位相値に、ほぼ等しくなるように、そのピーク軌跡の振幅、位相を微調整する。位相に関しては、単純に時間軸の圧縮，伸長を行う。振幅については、時間に正比例する値をループ部中の振幅に加算する。ループ終点での振幅値がループス始点の振幅に等しくなるような値とする。
【００５４】
　図１６は、ブラスなどの揺らぎを含んだ楽音波形の基音、２倍音、３倍音の各周波数成分（パーシャル）の波形を、揺らぎを強調して示した波形図である。
　各周波数成分が揺らぎを含んでいる場合には、揺らぎの位相も揃えなければ、きれいなループ波形とはならない。しかしながら、倍音自体の位相と揺らぎの位相とを同時に揃えることができるようなループ始点およびループ終点を、全周波数成分に共通で１組求めることは不可能である。そこで、次のように、各周波数成分毎に独立して処理を行う。
【００５５】
　まず、各周波数成分で、それぞれ揺らぎの位相が接続し易いポイントを捜す。各周波数成分に対して、それぞれ周波数分析処理を行い、その各周波数成分の揺らぎの周波数を求める。すなわち、各周波数成分に対してＦＦＴ処理を行い、その結果得られたパワースペクトルの複数のピークのうち一番周波数の低いピークから、その振幅の揺らぎの周波数（周期）を求める。
【００５６】
　次に、ループ始点に対する最適な接続ポイントを求める。すなわち、ループ始点から上述した揺らぎの周期だけ離れたポイントをチェックする。このチェックされたポイントは、揺らぎを一つの周波数として考えているものであるため、このチェックされた点における振幅は、ループ始点における振幅とは異なっている場合がある。そこで、このチェックされた点の近傍で、ループ始点における振幅と最も近い振幅を有する点を捜して、これを最適な接続ポイントとする。
　このように、ループ部分において、各周波数成分の振幅の揺らぎを分析し、それぞれ、ループ終点になるべく近く、振幅の揺らぎおよび振幅値がループ始点とほぼ一致する接続ポイントを検出する。
【００５７】
　図１６には、このようにして検出された最適な接続ポイントの一例を、各周波数成分毎に示している。なお、ここでは、各周波数成分の振幅の揺らぎに注目して接続ポイントを決定しているが、その代わりに、各周波数成分の周波数揺らぎ（位相揺らぎ）に注目して決定するようにしてもよい。または、振幅と周波数の両方に注目して決定するようにしてもよい。各周波数成分の振幅と周波数とは互いに同期して揺らぐことが多いので、上述したように、一方に注目して接続ポイントを決めても特に問題が生じることはない。
【００５８】
　上述した結果、各周波数成分毎にループ始点から接続ポイントまでの、それぞれループ部を設定することができた。しかし、各周波数成分のループ部の長さは、必ずしも等しくならないので、それらを単純に加算してしまうとループ波形を作成できない。そこで、各周波数成分のループ波形毎に、ループ始点以降の振幅情報および位相情報を時間軸方向に伸縮（タイムストレッチ）して、接続ポイントを既に決定されたループ終点に一致させる処理を行う。
【００５９】
　図１７は、位相の揺らぎに関するタイムストレッチ方法の説明図である。図中、横軸は時間（サンプル時間）、縦軸は位相を示している。
　図１７（ａ）は、ある周波数成分のループ始点から接続ポイントまでの位相を示す図であり、これをループ終点まで矢印の方向に引き延ばして、図１７（ｂ）に示す位相データとする。このためには、まず、各時間（サンプル時間）における位相の傾き（次のサンプルとの位相の差、これは、その時間における周波数に等しい）を求める。ここで、時間（サンプル時間）とは、周波数分析の時間軸のことであり、具体的には、上述した時間軸を移動させながら行なっているＦＦＴ分析の各サンプルが出力される時間を示す。
【００６０】
　次に、指定された時間軸の伸縮比に基づいて、この傾きの値について時間軸を伸縮し、更に、各時間（サンプル時間）における伸縮後の位相の傾きの値を補間する。そして、伸縮後の位相の傾きの値を累算することにより、タイムストレッチ後の各時間の位相を得る。これにより、図１７（ｂ）に示したように、傾きを変えずに伸長することができ、各周波数成分の楽音特性の揺らぎを滑らかに接続することが可能となる。
【００６１】
　一方、振幅情報のタイムストレッチは、各周波数成分の各時間（サンプル時間）における振幅を、指定された時間軸の伸縮比に基づいて時間軸方向に伸縮し、更に、補間により各時間における伸縮後の振幅（振幅情報）を求める。ここで、各周波数成分に対し、上述した時間軸の伸縮比として、ループ始点からループ終点までの長さを、ループ始点から各周波数成分の接続ポイントまでの長さで割り算した値が指定されている。
【００６２】
　この後で、各周波数成分毎の振幅情報および位相情報を、レベル軸方向および／または時間軸方向に微調整して、該振幅情報および位相情報をループ終点からループ始点へ滑らかに接続する処理（スムージング処理）を行う。
　図１８は、位相および振幅についてのスムージング処理の説明図である。図１８（ａ）は位相、図１８（ｂ）は振幅に関するものである。いずれも、揺らぎを省略して図示している。
　図１８（ａ）において、ある周波数成分のループ始点における位相と、ループ終点における位相との差が、図示のように2nπ（ｎは整数）となっていないときに、それが2nπとなるように、図中破線で示すように位相軌跡の修正を行うものである。具体的には、各位相データに位相のずれに対応する適切な係数を一律に乗算することにより行うことができる。周波数は僅かしか変化しない。
【００６３】
　図１８（ｂ）において、ある周波数成分のループ始点における振幅とループ終点における振幅とが一致していないときに、その差分がゼロになるように、絶対値が０から上述した差分に相当するまで次第に大きくなるような正または負の補正値列を準備し、これを各振幅データに加算することにより行うことができる。
【００６４】
　なお、上述した揺らぎの周期は、数百ミリ秒〜数秒と長いため、位相揺らぎ、振幅揺らぎに対するタイムストレッチ処理は、時間軸の大きな調整となる。これに対し、このスムージング処理における位相、振幅の調整は、楽音周期の短い時間（通常10[msec]以下）レベルの微調整となる。また、各周波数成分のループ始点と接続ポイントとの振幅が完全に一致している場合には、その周波数成分について振幅情報のスムージング処理を省略することができる。
　上述した説明では、ループ始点を固定し、接続ポイントをタイムストレッチによりループ終点に対応する位置に移動して、各周波数成分の揺らぎがなめらかに接続されるように調整していたが、逆にループ終点を固定し、接続ポイントをタイムストレッチでループ始点に対応する位置に移動して調整するようにしてもよい。
　上述した説明では、周波数成分の振幅および位相の揺らぎについても、スムージング処理をしたが、揺らぎが少ない場合は、周波数成分の振幅値および位相値のみをスムージング処理してもよい。
　上述した説明では、各周波数成分のループ終点、ループ始点での周波数の合わせ込みは省略した。
【００６５】
　Ｓ５２に続いて、Ｓ５３においては、ループスムージングされた後のピーク軌跡データDD(1)について、含まれるピーク軌跡に対応する周波数成分に基づいて、正弦波加算合成等により、合成波形SW(1)を生成する。
　Ｓ５３に続く、Ｓ５４においては、同じく、ループスムージングされた後のピーク軌跡データDD(i)、（２≦ｉ≦Ｎ）について、含まれるピーク軌跡に対応する周波数成分に基づいて、合成波形SW(i)、（２≦ｉ≦Ｎ）を生成し、これらを加算することにより、合成波形ΣSW(i)、（２≦ｉ≦Ｎ）を生成する。
【００６６】
　Ｓ５４に続く、Ｓ５５においては、合成波形データSW(1)、合成波形データΣSW(i)、残余波形データRW(1)を重み付け合成して楽音波形を合成する。
　図１９は、合成波形データSW(1)、残余波形データRW(1)、合成波形データΣSW(i)、音源波形データTGWを示す線図である。
　まず、波形のアタック部からループ部の全体を通して、基本的な波形成分として、第１回目の波形分析に基づいた合成波形SW(1)を使用する。
　アタック部においては、この合成波形SW(1)に、第１回目の波形分析で取り出された残余波形データRW(1)を加算する。
　アタック部とループ部との過渡領域においては、残余波形データRW(1)と、残余波形データRW(1)を波形分析する第２回目以降の波形分析に基づいた合成波形ΣSW(i)を、クロスフェード処理したものを合成波形SW(1)に加算する。
　ループ部においては、合成波形データSW(1)に合成波形データΣSW(i)を加算する。図示の例では、ループ始点(LSA2)からループ終点(LEA)までをループ波形としているが、アタック終点(LSA1)からループ終点(LEA)までをループ波形としてもよい。
【００６７】
　音源波形データTGWは、次式のように加算合成される。
　TGW＝SW(1)×α＋RW(1)×β＋ΣSW(i)×γ　　　　　　　　　　　　　　…（５）
　ここで、αは合成波形データSW(1)に対する重み付け係数、βは残余波形データRW(1)に対する重み付け係数、γは合成波形ΣSW(i)に対する重み付け係数である。アタック部においてはα＝β，γ＝０、ループ部においてはα＝γ，β＝０，全期間においてα＋β＋γ＝１である。
　このようにして、合成決定論的波形データである合成波形SW(1)、合成波形ΣSW(i)と、残余波形データRW(1)は、相互に時間軸を揃えて加算され、アタック始点〜ループ始点〜ループ終点の波形データが得られることとなる。この波形データは、音源波形データTGWとして図１の波形メモリ１０に格納される。
【００６８】
　図２に示したＳ２４における演奏時において、音源部１５は、発音指示に応じて、音源波形データTGWを図１の波形メモリ１０から読み出す。アタック始点(WSA)〜アタック終点(LSA1)〜ループ始点(LSA2)〜ループ終点(LEA)の波形データを一通り読み出し、その後は、ループ始点(LSA2)〜ループ終点(LEA)のループ波形を繰り返し読み出す。
【００６９】
　上述した重み付け合成処理によれば、アタック部は原波形とほとんど同じ波形とすることができる。さらに、ループ部に関しても、原波形の持っていた調和成分に加えて、原波形の持っていた非調和成分を有する波形とすることができる。
　なお、残余波形データRW(1)の使用をやめて、アタック部およびループ部の全体にわたって、合成波形ΣSW(i)を使用するようにしてもよい。
　また、音源波形データTGWとして、合成波形データSW(1)，残余波形データRW(1)，合成波形データΣSW(i)等の、波形合成で得られた個々の波形データ、あるいは加算データを、個別に波形メモリ１０に記憶しておいて、楽音発生時にこれらを加算合成してもよい。その際、音色やタッチ等のパラメータに応じて、それぞれの波形データの周波数特性を変更することにより、自由度の大きい音色変更を行うことができる。
【００７０】
　第１回目の波形分析によるピーク軌跡に基づいて合成された合成波形データSW(1)と残余波形データRW(1)とをきれいにループさせることも可能であるが、上述したように、ループ範囲の残余波形データから、再度、ピーク軌跡を取り出し、決定論的に得られるピークに基づいた波形をループ処理した方が、簡単につながりの良好なループ波形を得ることができる。
【００７１】
　上述した説明では、楽音波形のループ波形を加工、編集して音源波形を作成し、これを波形メモリに格納する際に、本発明にかかる波形分析方法を適用した。
　しかし、波形分析の結果得られたピーク軌跡データそのものを、波形を表すデータとしてメモリに格納しておき、音源部が楽音信号を生成するときに、このピーク軌跡データに基づいて正弦波加算合成をするようにしてもよい。
　本発明にかかる波形分析方法は、上述した楽音波形の合成のためだけでなく、楽器音の特徴と楽器の物理的性質との関連を明らかにするため、あるいは、楽器音の機械認識などのためにも用いることができる。
【図面の簡単な説明】
【００７２】
【図１】本発明に用いられる波形分析方法が実行される波形分析装置の実施の一形態を示すブロック図である。
【図２】図１に示した波形分析装置を用いて行う波形分析処理の概要を示したフローチャートである。
【図３】本発明に用いられる波形分析方法の実施の一形態の分析処理全体の概要を説明するためのフローチャートである。
【図４】ノッチフィルタの周波数特性を示す線図である。
【図５】図４における分析（ｉ）の詳細を示すフローチャートである。
【図６】PＫｐ−１について計算した例を示す図である。
【図７】フレームｐでの２つのピークがフレームｒでの１つのピークにつながる可能性がある場合を示す図である。
【図８】フレームｒ側からフレームｐ側を見て、最もつながる可能性のあるピークを捜した結果の一例を示す図である。
【図９】ピークの軌跡が途中で一旦途切れている例を示す図である。
【図１０】ピーク軌跡が途切れる部分を補間する例を示す図である。
【図１１】ピアノのＣ４打撃音の時間波形を示す原波形WAVEの一例の波形図である。
【図１２】図１１に示した原波形データを分析することにより得られた周波数のピーク分布の一例を示す線図である。
【図１３】図１２に示したピーク分布から第１回目の分析によって得られたピーク軌跡の一例を示す線図である。
【図１４】図１３に示した第１回目の分析によるピーク軌跡から選択された軌跡データＤＤ（１）の一例を示す線図である。
【図１５】図２に示した音源波形作成の一応用例を説明するフローチャートである。
【図１６】ブラスなどの揺らぎを含んだ楽音波形の周波数成分（パーシャル）の波形を、揺らぎを強調して示した波形図である。
【図１７】位相変動のスムージング処理の説明図である。
【図１８】位相および振幅についてのスムージング処理の説明図である。
【図１９】合成波形データSW(1)、残余波形データRW(1)、合成波形データΣSW(i)、音源波形データTGWを示す線図である。
【符号の説明】
【００７３】
　１　ＣＰＵ、２　ＲＯＭ、３　ＲＡＭ、４　タイマ、５　パネルスイッチ、６　パネル表示器、７　ＭＩＤＩインターフェース、８　駆動装置、９　記録媒体、１０　波形メモリ、１１　アクセス管理部、１２　外部波形入力端子、１３　書込回路、１４　バッファ、１５　音源部、１６　サウンドシステム、１７　バスライン
【図１】
2004013179.tif 000003
【図２】
2004013179.tif 000004
【図３】
2004013179.tif 000005
【図４】
2004013179.tif 000006
【図５】
2004013179.tif 000007
【図６】
2004013179.tif 000008
【図７】
2004013179.tif 000009
【図８】
2004013179.tif 000010
【図９】
2004013179.tif 000011
【図１０】
2004013179.tif 000012
【図１１】
2004013179.tif 000013
【図１２】
2004013179.tif 000014
【図１３】
2004013179.tif 000015
【図１４】
2004013179.tif 000016
【図１５】
2004013179.tif 000017
【図１６】
2004013179.tif 000018
【図１７】
2004013179.tif 000019
【図１８】
2004013179.tif 000020
【図１９】
2004013179.tif 000021