(57)【特許請求の範囲】
【請求項１】
対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、
前記波形編集処理手段は、
前記対象波形の立ち上がり部と前記参照波形の立ち上がり部との相関度を算出し、前記相関度を最大とするときの前記対象波形と前記参照波形との時間差を算出するステップと、
前記対象波形を前記参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、
を実行するものであることを特徴とする波形編集方法。
【請求項２】
対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、
前記波形編集処理手段は、
前記対象波形および前記参照波形について、ある１つの波形パラメータのエンベロープを検出するステップと、
前記対象波形および前記参照波形の前記エンベロープを基準に、前記対象波形および前記参照波形に比較範囲を設定するステップと、
前記比較範囲において、前記対象波形と前記参照波形との相関度を算出し、前記相関度を最大とするときの前記対象波形と前記参照波形との時間差を算出するステップと、
前記波形メモリに記憶された対象波形を前記波形メモリに記憶された参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、
を実行するものであることを特徴とする波形編集方法。
【請求項３】
対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、
前記波形編集処理手段は、
前記対象波形および前記参照波形について、ある１つの波形パラメータのエンベロープを検出するステップと、
前記対象波形および前記参照波形の前記エンベロープを基準に、前記対象波形および前記参照波形に比較範囲を設定するステップと、
前記比較範囲において、前記対象波形と前記参照波形、および、前記対象波形を極性反転させた極性反転波形と前記参照波形、について相関度を算出し、前記相関度を最大とするときの、前記対象波形または前記極性反転波形と前記参照波形との時間差を算出するステップと、
前記対象波形と前記参照波形との前記相関度の方が前記相関度を最大とするときには、前記波形メモリに記憶された対象波形を前記波形メモリに記憶された参照波形に対して前記時間差だけ相対的にシフトさせるとともに、前記極性反転波形と前記参照波形との相関度の方が前記相関度を最大とするときには、前記波形メモリに記憶された対象波形を前記極性反転波形に置き換えるとともに、前記波形メモリに記憶された参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、
を実行するものであることを特徴とする波形編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の波形の相関性が高くなるように相互のタイミングを合わせる波形編集方法に関するものである。特に、電子楽器において、関連性のある複数の波形を混合して音源波形とする際の波形編集に好適なものである。
【０００２】
【従来の技術】
電子楽器の波形メモリ音源においては、発生源を同じくする２波形を混合して音源波形とする場合がある。しかし、２波形のタイミング（時間軸上の位置あるいは位相）がずれると、混合波形にノイズが発生したり波形が歪むことがある。したがって、波形同士の相関性が高くなるように２波形のタイミング合わせを行う必要がある。
従来は、発生源を同じくする２波形の相関性を高くするタイミング合わせ（位相合わせ）を自動的に行う方法がなかった。ユーザは、ディスプレイに表示された２波形を見ながら操作子を操作し、波形を相対的に少しずつ動かして２波形のタイミング合わせをしていた。
【０００３】
一方、波形を部分的に間引いたり繰り返したりすることにより、波形の時間軸を圧縮／伸張する時間軸圧縮伸長技術がある。この場合、間引きの前後の波形の接続、ないし、波形の繰り返し部分の接続を滑らかにするために、接続部の波形同士で相互相関（Ｃｒｏｓｓ  Ｃｏｒｒｅｌａｔｉｏｎ）関数を計算し、相互相関関数値の高い部分で接続を行っていた。この場合、接続すべき位置が確定しているために、相互相関値の算出が可能であった。
【０００４】
それに対し、上述したような混合しようとする２波形のタイミング合わせでは、相互相関関数を計算すべき比較範囲があらかじめ特定されていない。
例えば、楽音の立ち上がり部（アタック部）で２波形のタイミングを合わせるのに、楽音の立ち上がりから立下りまでの全体波形の相互相関関数を計算したのでは効率が悪い。また、楽音の立ち上がり部の波形の相関性を高めるのに有効なタイミング合わせができるとも限らない。
【０００５】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、対象波形と参照波形との相関性が高くなるように、対象波形と参照波形のタイミング合わせを自動的に行う波形編集方法を提供することを目的とするものである。
【０００６】
【課題を解決するための手段】
本発明は、請求項１に記載の発明においては、対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、前記波形編集処理手段は、前記対象波形の立ち上がり部と前記参照波形の立ち上がり部との相関度を算出し、前記相関度を最大とするときの前記対象波形と前記参照波形との時間差を算出するステップと、前記対象波形を前記参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、を実行するものである。
したがって、対象波形と参照波形の相関性が高くなるように、両波形のタイミングを自動的に合わせることができる。
請求項２に記載の発明においては、対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、前記波形編集処理手段は、前記対象波形および前記参照波形について、ある１つの波形パラメータのエンベロープを検出するステップと、前記対象波形および前記参照波形の前記エンベロープを基準に、前記対象波形および前記参照波形に比較範囲を設定するステップと、前記比較範囲において、前記対象波形と前記参照波形との相関度を算出し、前記相関度を最大とするときの前記対象波形と前記参照波形との時間差を算出するステップと、前記波形メモリに記憶された対象波形を前記波形メモリに記憶された参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、を実行するものである。
したがって、対象波形と参照波形の相関性が高くなるように、両波形のタイミングを自動的に合わせることができる。その際、波形の特徴が良く反映されている、波形パラメータのエンベロープを基準に比較範囲を設定しているため、相関性が高いと推定される比較範囲をあらかじめ設定できるので、正確に、かつ、少ない処理データ量で相関度の算出を行うことができる。
【０００７】
請求項３に記載の発明においては、対象波形と参照波形が記憶された波形メモリと波形編集処理手段を有する波形編集装置において用いられ、前記波形編集処理手段により、前記対象波形と前記参照波形との相関性が高くなるように、前記対象波形と前記参照波形とのタイミングを合わせる波形編集方法であって、前記波形編集処理手段は、前記対象波形および前記参照波形について、ある１つの波形パラメータのエンベロープを検出するステップと、前記対象波形および前記参照波形の前記エンベロープを基準に、前記対象波形および前記参照波形に比較範囲を設定するステップと、前記比較範囲において、前記対象波形と前記参照波形、および、前記対象波形を極性反転させた極性反転波形と前記参照波形、について相関度を算出し、前記相関度を最大とするときの、前記対象波形または前記極性反転波形と前記参照波形との時間差を算出するステップと、前記対象波形と前記参照波形との前記相関度の方が前記相関度を最大とするときには、前記波形メモリに記憶された対象波形を前記波形メモリに記憶された参照波形に対して前記時間差だけ相対的にシフトさせるとともに、前記極性反転波形と前記参照波形との相関度の方が前記相関度を最大とするときには、前記波形メモリに記憶された対象波形を前記極性反転波形に置き換えるとともに、前記波形メモリに記憶された参照波形に対し前記時間差だけ相対的にシフトさせる処理をするステップ、を実行するものである。
したがって、請求項２に記載の発明と同様な作用効果に加えて、対象波形と参照波形との極性が逆であっても、極性反転を検出した上でタイミング合わせができる。
【０００８】
【発明の実施の形態】
図１は、本発明の波形編集方法を実行する波形編集装置のブロック図である。図中、１は波形編集装置全体の制御を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、２は制御プログラムなどの各種プログラムおよび各種の制御情報などが格納されるＲＯＭ、３はワークエリアやバッファ領域あるいは各種プログラムを格納する領域として使用されるＲＡＭ、４は計時動作やＣＰＵ１に対するタイマ割込を行うためのタイマ、５は各種の操作スイッチが配備されたパネルスイッチ、６は処理対象波形などの各種の表示を行うパネル表示器である。７は外部ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）機器との間でＭＩＤＩイベントの授受を行うためのＭＩＤＩインターフェース、８はＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤ（ハード磁気ディスク）、ＦＤ（フレキシブル磁気ディスク）等の記録媒体９にアクセスするための駆動装置である。
【０００９】
１０は波形メモリであり、入力波形データや生成波形データを記憶するもので、複数の波形データの書き込み読み出しが可能である。１１はアクセス管理部であり、波形メモリ１０に対する、書込回路１３、バッファ１４、あるいは、音源部１５からのアクセスが互いに衝突しないように、波形メモリ１０のアクセスタイムスロットを管理する。１２は外部波形入力端子、１３は書込回路であって、外部波形入力端子１２から入力される対象波形をサンプリングして、波形メモリ１０に書き込む。１４はバッファであって、記録媒体９やＲＡＭ３から波形メモリ１０に書き込まれる波形データ、あるいは、波形メモリ１０から読み出される波形データを転送する。１５は音源部であって、波形メモリ１０から読み出された波形データを用いて楽音信号を生成する。１６はサウンドシステムであって、音源部１５から出力された楽音信号を出力する。１７はバスラインであって、上述した各要素間の情報の授受に使用される。
【００１０】
ここで、ＲＯＭ２あるいはＲＡＭ３には、全般的な制御を行うプログラムに加えて、外部入力された対象波形を分析し、波形を編集して音源波形を作成する音源波形作成プログラム、および、音源波形を用いて波形メモリ音源として機能させるための演奏処理プログラムなどが含まれる。
ＣＰＵ１は、ＲＯＭ２あるいはＲＡＭ３に記憶された各種制御プログラムに従い、パネルスイッチ５やＭＩＤＩインターフェース７からの入力等に応じて、各種の制御を行う。また、波形編集処理時および音源波形作成処理時においては、バッファ１４を介して波形メモリ１０のデータの読み書きを行い、波形データを読み出して分析、加工し、再度波形メモリ１０に書き込んだり、記録媒体９や図示しない通信ネットワークから供給された波形データを波形メモリ１０に書き込んだり、逆に波形メモリ１０から前記記録媒体９や通信ネットワークに波形データを供給したりする。
【００１１】
さらに、ＣＰＵ１は、演奏処理実行時において、ＭＩＤＩインターフェース７、記録媒体９あるいはＲＡＭ３などから供給される演奏情報に応じて、音源部１５の発音チャンネルの楽音生成状態を制御する。
例えば、ＭＩＤＩインターフェース７から発音開始を示すノートオン信号が入力された場合、音源部１５の発音チャンネルの１つにその楽音の発生を割り当て、割り当てられた発音チャンネルに楽音パラメータ（ピッチ情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等）を供給するとともに、発音開始の指示を与える。
これに応じて、音源部１５では、割り当てられた発音チャンネルを用いて、波形選択情報に応じて波形メモリ１０から読み出された楽音波形データを使用して上述した楽音パラメータに対応した楽音信号を生成する。
【００１２】
なお、図示を省略したが、ＬＡＮあるいはインターネットなどの通信ネットワークに接続するための通信インターフェース回路を設け、通信ネットワークを介してサーバから波形データや各種プログラムなどをダウンロードしてもよい。さらにまた、鍵盤操作子を設け、この鍵盤操作子を用いて演奏することもできる。
上述した説明では、波形編集方法や演奏処理方法をＣＰＵ１に実行させるプログラムは、ＣＤ−ＲＯＭ等の記録媒体９により供給を受け、ハード磁気ディスク等の記録媒体９にインストールされて実行されてもよい。また、プログラムは、ネットワーク上のサーバから記録媒体９にダウンロードされて実行されてもよい。
【００１３】
図２は、図１に示した波形編集装置を用いて波形を分析し、分析結果を用いて波形を加工して音源波形を作成し、人（操作者）が演奏をするまでの処理の概要を示したフローチャートである。
Ｓ２１において、元となる原波形データが用意される。図１に示したパネルスイッチ５の録音スイッチ操作に応じて、原波形データが、例えば、外部波形入力端子１２から書込回路１３に入力されてサンプリングされ、アクセス管理部１１を介して、波形メモリ１０に書き込まれる。
あるいは、記録媒体９に記憶された原波形データを駆動装置８で読み込み、バッファ１４、アクセス管理部１１を経由して波形メモリ１０に記録する。
【００１４】
次のＳ２２において、波形メモリ１０の原波形データから音源波形データを作成する。すなわち、パネルスイッチ５の編集スイッチ操作に応じて、原波形データを分析して加工し、音源波形データを合成して、再び、波形メモリ１０に書き込む。
Ｓ２３においては、音源波形データを使用して演奏する。すなわち、パネルスイッチ５の演奏スイッチ操作に応じて音源波形データを選択する。次に、音源波形データを使用し、ＭＩＤＩインターフェース７、記録媒体９、あるいは、図示しない通信ネットワークから入力されるＭＩＤＩデータ等の演奏データに基づいて演奏する。
【００１５】
本発明の波形編集方法の実施の形態によれば、上述したＳ２２において、２波形のエンベロープのレベルに基づいて、所望の波形部分において大ざっぱに相関性の高い範囲を設定し、この範囲において相関度を算出することにより、相関性の高いタイミング合わせを正確に行うものである。
２波形の一方を対象波形（ターゲット）とし、他方を参照波形（リファレンス）として説明する。
【００１６】
処理ステップの概要は、一例として次の通りである。
第１に、タイミング合わせを行いたい楽音波形の部分波形、例えば、楽音波形の立上り部分（アタック部）において、参照波形および対象波形のエンベロープのレベルに基づいて相関性が高いと推定される比較範囲を決定する。
第２に、その比較範囲において、対象波形と参照波形との相関度を、例えば、相互相関関数を用いて算出する。
第３に、参照波形と、対象波形を極性反転した波形との相関度を算出する。
第４に、第２，第３のステップで算出した双方の相関度の最大値をそれそれ検索する。
第５に、双方の相関度の最大値を比較し、対象波形および極性反転波形のうち、相関度の最大値が高い方を採用する。
【００１７】
第６に、採用された対象波形または極性反転波形が、相関度の最大値を与えたときの時間差（位相差）だけ、対象波形を参照波形に対して相対的にシフトさせる処理をする。
ここで、相対的にシフトさせる処理とは、例えば、対象波形の比較範囲の開始位置に上述した時間差を加算して新たに開始位置として、ここを切り出し開始位置として、前記対象波形を波形メモリ記憶し直すことである。あるいは、対象波形と参照波形とを同時に読み出して波形データを利用する際に、対象波形の読み出し開始タイミングを上述した時間差だけ遅らせる（時間差が負の場合には進ませる）ような読み出し制御情報をメモリに記憶しておくことを意味する。
【００１８】
上述した相対シフト処理により、自動的に、２波形の相関性が高くなるようにタイミング合わせをすることができる。その際、エンベロープのレベルに基づいて相関度が高いと推定される比較範囲を設定するため、有効なタイミング合わせを行うことができる。
以後、フローチャートおよび波形図を参照し、この実施の形態の動作を具体的に説明する。
【００１９】
図３は、本発明の波形編集方法の実施の形態の動作を説明するための第１のフローチャートである。相互相関関数値を算出する比較範囲を設定する。
図４は、本発明の波形編集方法の実施の一形態の動作を説明するための第２のフローチャートである。相互相関関数値が最大となる時間差を算出し、対象波形と参照波形の相互相関関数値が最も高くなるように、対象波形と参照波形とのタイミング合わせをする。
図５〜図１０は、波形編集処理時の各段階における、対象波形、参照波形、エンベロープ、および、相互相関関数値を示す説明図である。これらは、編集処理時において、図１のパネル表示器６の画面上に表示される。
【００２０】
図５は、対象波形Ａおよび参照波形Ｂの波形図である。図５（ａ）は対象波形、図５（ｂ）は参照波形の波形図である。横軸は時間軸に相当するが、サンプル番号で表している。縦軸は振幅である。
図３のフローチャートから説明する。
Ｓ３１においては、タイミングを合わせたい対象波形Ａ、参照波形Ｂの各音量エンベロープを検出する。
次のＳ３２において、各音量エンベロープのレベルに基づいて、タイミングを合わせたい部分波形、この具体例では、アタック部を検出する。
【００２１】
図６は、対象波形Ａおよび参照波形Ｂの音量エンベロープを示す線図である。図６（ａ）は対象波形の音量エンベロープ（部分）、図６（ｂ）は参照波形の音量エンベロープ（部分）を示す線図である。横軸はサンプル番号で表している。縦軸は音量エンベロープである。
音量エンベロープは、入力波形に対して、例えば、時定数が比較的短いピークホールドを行うことにより検出される。ここでは、楽音波形の立ち上がりから終了までの間における音量エンベロープの最大値が１００になるように正規化している。
【００２２】
アタック部は、通常、楽音波形の先頭位置（音量エンベロープの先頭位置でもある）から楽音波形が最大値を取る（音量エンベロープも最大値を取る）ときまでの期間であるとされている。しかし、この定義に従えば、対象波形Ａのアタック部の時間長と、参照波形Ｂのアタック部の時間長とは必ずしも一致しない。しかし、相関度を算出するには、同じ時間長の比較範囲で行う。
また、波形の先頭位置の近傍は、ノイズ等の影響により不確定さがあるから、対象波形Ａの先頭位置と参照波形Ｂの先頭位置のタイミングを揃えた場合には、必ずしも相関性が高くならない。
【００２３】
次のＳ３３において、対象波形Ａおよび参照波形Ｂのそれぞれに比較範囲を設定する。
音量エンベロープには、楽音波形が端的に反映されているから、音量エンベロープに基づいて、対象波形Ａと参照波形Ｂの相関性が高いと推定される比較範囲を設定する。
参照波形Ｂ側の比較範囲の開始位置は先頭位置そのものとする。対象波形側Ａの比較範囲の開始位置は、対象波形Ａと参照波形Ｂの音量エンベロープのレベルを基準として決定する。
【００２４】
まず、図６（ｂ）に示す参照波形Ｂの音量エンベロープのレベルが、その最大値に対するある閾値（例えば、最大値の２５％）を超えるレベルとなる基準位置を検出する。参照波形Ｂの先頭位置から基準位置までの時間長をｔ０とする。一方、図６（ａ）に示す対象波形Ａの音量エンベロープのレベルが、同様に、その最大値に対する同じ閾値（最大値の２５％）を超えるレベルの基準位置を検出する。この基準位置から波形の先頭側に、上述した時間長ｔ０だけ遡ったタイミングを仮の先頭位置とし、ここを対象波形Ａ側における比較範囲の開始位置とする。
【００２５】
なお、上述した時間長ｔ0は、対象波形Ａの音量エンベロープが上述した最大値に対する閾値（最大値の２５％）を超える基準位置から、対象波形Ａの実際の先頭位置までの時間長であると定義してもよい。この場合、この時間長ｔ0を用いて、参照波形Ｂ側に仮の先頭位置を設定する。
あるいは、上述した時間長ｔ0を、参照波形Ｂ、対象波形Ａの実際の先頭位置に関わらず、一定値に設定するようにしてもよい。
【００２６】
ところで、参照波形Ｂの先頭位置から音量エンベロープが最大となるまでのアタック部の時間長（ＴＢ）と、対象波形Ａの上述した仮の先頭位置から対象波形の音量エンベロープが最大となるまでのアタック部の時間長（ＴＡ）とは必ずしも一致しない。
したがって、時間長（ＴＡ）、時間長（ＴＢ）のいずれか短い方、あるいは、これよりさらに短い所定の時間を比較範囲の時間長とする。
【００２７】
エンベロープの最大値によって決まる所定レベルの時点を基準位置として、両波形の比較範囲を決定しているので、参照波形Ｂと対象波形Ａとは、ラフではあるが相関性の高い比較範囲を設定できる。
さらに、基準位置から先頭側の時間長を一定にしているために、先頭近傍の不確定性の影響が軽減された相関性の高い比較範囲を設定できる。
従って、この後で行う、相関度の厳密な算出において、参照波形Ｂと対象波形Ａとの相関度が最もとれる時間差の算出誤差を少なくすることができる。
【００２８】
なお、比較範囲の設定は、上述した例に限られない。参照波形Ｂ，対象波形Ａの音量エンベロープが、それぞれ最大となる位置から時間を遡って、所定の時間長となる範囲を、参照波形Ｂ，対象波形Ａの比較範囲とすることができる。この所定の時間長は、より好ましくは、参照波形Ｂ，対象波形Ａの各先頭位置の近傍になるようにする。
また、上述した参照波形Ｂの音量エンベロープが、最大値に対するある閾値（例えば、最大値の２５％）を超える基準位置を参照波形側の比較範囲の開始位置とし、対象波形の音量エンベロープが、同様に、最大値に対する同じ閾値（最大値の２５％）を超える基準位置を対象波形側の比較範囲の開始位置とし、いずれも、比較範囲の時間長を一定とする。この所定の時間長は、より好ましくは、参照波形Ｂ，対象波形Ｃの各音量エンベロープの最大値の近傍になるようにする。
【００２９】
図７は、対象波形Ａおよび参照波形Ｂの拡大波形図である。図６（ａ）は対象波形Ａ（部分）、図６（ｂ）は参照波形Ｂ（部分）を示す波形図である。図中、横軸はサンプル番号、縦軸は振幅である。
参照波形Ｂと対象波形Ａとのタイミング合わせは、相関度を計算することにより行う。この具体例では、参照波形Ｂと対象波形Ａの相関度の計算は、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を用いて相互相関関数（厳密には、離散相互相関関数であるが、略して、相互相関関数という）を計算することにより行う。
【００３０】
ここで、ＦＦＴを用いた相互相関関数の算出法について説明しておく。
波形ｘ（ｔ）とｙ（ｔ）とがあった場合、その相互相関関数ｃ（Δｔ）は、
【数１】
0003601373.tif 000002
波形ｘ（ｔ）とｙ（ｔ）とは、それぞれ同じ周期の周期関数であるとし、その１周期につき、相互相関関数ｃ（Δｔ）をフーリエ変換する。
Ｃ（ω）＝  Ｘ（ω）＊  ×  Ｙ（ω）
ここで、Ｃ（ω）はｃ（Δｔ）のフーリエ変換Ｆ（ｃ（ω））、Ｘ（ω）＊はＸ（ω）の複素共役、Ｘ（ω）は  ｘ（ｔ）  のフーリエ変換Ｆ（ｘ（ｔ））、Ｙ（ω）は  ｙ（ｔ）  のフーリエ変換Ｆ（ｙ（ｔ））である。
すなわち、相互相関関数ｃ（Δｔ）のフーリエ変換は、ｘ（ｔ）をフーリエ変換したものの複素共役と、ｙ（ｔ）をフーリエ変換したものとを乗算した値となる。
それを逆変換すれば、
Ｆ−１（  Ｃ（ω）  ）＝  ｃ（Δｔ）  ＝Ｆ−１（  Ｘ（ω）＊×Ｙ（ω）  ）
したがって、相互相関関数を得ることができる。
【００３１】
上述した波形ｘ（ｔ）とｙ（ｔ）とが、サンプリング波形ｘ（ｎ）とｙ（ｎ）（ｔ＝ｎ×ｔｓ：ｔｓはサンプリング周期）の場合には、Δｔ＝Δｎ×ｔｓとして、その相互相関関数ｃ（Δｎ）は、
【数２】
0003601373.tif 000003
これを、ＦＦＴ処理すると、
Ｃｍ＝Ｘｍ＊×Ｙｍ
ここで、Ｃｍはｃ（Δｎ）のＦＦＴ、Ｘｍ＊はＸｍの複素共役、Ｘｍはｘ（ｎ）のＦＦＴ、Ｙｍはｙ（ｎ）のＦＦＴである。
Ｃｍを逆変換すれば、
【数３】
0003601373.tif 000004
したがって、参照波形をｘ（ｎ）とし、対象波形をｙ（ｎ）として、相互相関関数の値ＲＡＢをＦＦＴ処理を用いて算出することができる。ただし、参照波形，対象波形は非周期波形であるが、比較範囲を１周期とする周期関数であるとして、相互相関関数を算出している。
【００３２】
図４のフローチャートを参照してタイミング合わせを説明する。
Ｓ４１において、対象波形Ａと参照波形Ｂとの各比較範囲を、それぞれ、ＦＦＴ処理（ＦＦＴＡ，ＦＦＴＢ）する。
次に、Ｓ４２において、ＦＦＴ処理（ＦＦＴＡ，ＦＦＴＢ）の結果に基づいて、対象波形Ａと参照波形Ｂとの相互相関関数の値ＲＡＢを算出する。
Ｓ４３においては、相互相関関数の値ＲＡＢが最大となる値と、そのときのΔｔの値を検出する。
図８は、対象波形Ａと参照波形Ｂとの相互相関関数ＲＡＢを示す線図である。図中、横軸はサンプル数で表した時間差Δｔであり、縦軸は相互相関関数ＲＡＢの値（％）である。
図示の例では、Δｔが、わずかに正の値をとるときに、相互相関関数ＲＡＢの値が最大値をとることがわかる。
【００３３】
次のＳ４４において、対象波形Ａの極性を反転した極性反転波形Ｃについて、対象波形Ａと同じ比較範囲でＦＦＴ処理（ＦＦＴＣ）する。
Ｓ４５においては、参照波形ＢのＦＦＴ処理（ＦＦＴＢ）と極性反転波形ＣのＦＦＴ処理（ＦＦＴＣ）の結果に基づいて、相互相関関数ＲＣＢの値を算出する。
図９は、対象波形Ａを極性反転させた極性反転波形Ｃと参照波形Ｂとの相互相関関数ＲＣＢを示す線図である。図中、横軸はサンプル数で表した時間差であり、縦軸は相互相関関数ＲＣＢの値（％）である。なお、図８に比べて横軸が半分に圧縮されている。
Ｓ４６において、相互相関関数値ＲＣＢが最大となる値と、そのときのΔｔの値とを検出する。
【００３４】
Ｓ４７においては、Ｓ４３において得られた相互相関関数値ＲＡＢの最大値と、Ｓ４６において得られた、相互相関関数値ＲＣＢの最大値とを比較して、相互相関関数の最大値が大きい方について、その最大値をとるときの時間差Δｔに応じて、対象波形Ａの移動量Δｔを決定する。
図９の例では、相互相関関数ＲＣＢの値の最大値は、図８に示した相互相関関数ＲＡＢの最大値よりも小さい。そのため、相互相関関数ＲＡＢの値が最大となる時間差Δｔに応じて、対象波形Ａの移動量Δｔを決定する。
【００３５】
ここで、対象波形Ａの極性反転波形Ｃに対しても、参照波形Ｂとの離散相互相関関数の算出をする理由を説明する。
マイクロホンの出力特性や、対象波形Ａ，参照波形Ｂの録音時のケーブル接続のセッティング状況、コネクタの接続特性等により、対象波形Ａと参照波形Ｂの極性が反転している（逆位相）場合がある。
したがって、上述したように対象波形Ａとその極性反転波形の両方について相互相関関数を算出しているので、逆位相になっている場合でも問題なく自動的にタイミング合わせができる。
【００３６】
次のＳ４８においては、Ｓ４７において、相互相関関数の最大値が大きい方が相互相関関数値ＲＣＢの方であったときには、対象波形Ａの極性を反転させた極性判定波形Ｃを対象波形Ａと置き換え、改めて対象波形Ａとする。
次のＳ４９においては、Ｓ４７において決定された移動量Δｔにしたがい、対象波形Ａの開始アドレスを仮の先頭位置からシフトさせる。対象波形Ａと参照波形Ｂとの相対時間差に意味があるので、相対時間差をΔｔに保ったまま、対象波形Ａおよびまたは参照波形Ｂの開始アドレスをシフトさせてもよい。
【００３７】
図１０は、対象波形Ａの開始アドレスを時間差Δｔだけずらせてタイミング合わせをした後の対象波形Ａと参照波形Ｂとの比較図である。上段がタイミング合わせ後の対象波形Ａ、下段が参照波形Ｂの波形図である。横軸はサンプル数で表した時間、縦軸は振幅である。
この具体例では、対象波形Ａの開始アドレス（切り出し位置）のシフトによって、対象波形Ａは、波形の先頭位置から波形の終了位置までの全データをシフトさせる。シフトさせた対象波形Ａと参照波形Ｂとは、アタック部の比較範囲において相関性が最も高いものとなる。
対象波形Ａおよび参照波形Ｂのタイミング合わせをした後に、両波形をそれぞれの開始アドレス（切り出し位置）から読み出せば、両波形は、アタック部内の比較範囲において、最も相関性の高いタイミングで同時再生されることになる。なお、対象波形Ａの開始アドレスを移動させない場合には、上述した時間差Δｔを記憶しておき、両波形を読み出す際に、時間差Δｔに応じて両波形の読み出し開始タイミングをずらせればよい。
【００３８】
上述した具体例では、ＦＦＴ処理によって、対象波形Ａおよび参照波形Ｂの相互相関関数を算出しているが、相互相関関数を、実時間軸上で波形振幅を乗算して相互相関関数の本来の定義通りに算出してもよい。
上述した説明では、相互相関関数の値にもとづいて、対象波形Ａおよび参照波形Ｂの相関性が高くなるように開始タイミングをずらせた。これに代えて、他の方法で、対象波形Ａおよび参照波形Ｂの相関度を算出してもよい。
例えば、参照波形Ｂに対して、対象波形Ａを時間軸上でずらしていったときに、両波形の振幅の差の絶対値の、比較期間における総和が最小となるときの時間差を検出する。また、両波形の振幅差の自乗の値の、比較期間における総和が最小となるときの時間差を検出することもできる。これらの例は、総和が最小となるときに相関度が最も高くなる。
【００３９】
この実施の形態では、相関性が高くなるようにタイミング合わせする部分を波形のアタック部に設定した。しかし、タイミング合わせする部分は、波形編集の目的に応じて、楽音波形の持続部、立ち下がり部、アタック部を含めたこれらの相互の過渡的な接続部等に設定することもできる。いずれの場合も、両波形が大体において相関性が高いと推定される比較範囲を設定してから、相関度の算出を行うことにより、タイミング合わせの正確性が高まる。
【００４０】
上述した説明では、対象波形および参照波形を楽音波形の立ち上がりから立下りまでの全期間とした。しかし、波形編集の目的に応じて、楽音波形の一部の期間、例えば、アタック部の波形部分を対象波形Ａおよび参照波形Ｂとして、この波形部分でのみ、タイミング合わせをすることもできる。
なお、波形を記憶する際に、波形の立ち上がり前に無音期間を記憶しておきたい場合がある。このような場合には、無音期間の時間長を時間単位で設定できるようにして、参照波形Ｂと対象波形Ａとをタイミング合わせした後に、両波形の先頭部分に無音期間を加えればよい。あるいは、タイミング合わせの前に、参照波形Ｂの先頭部分に加えてから対象波形Ａとタイミング合わせをすることも可能である。
【００４１】
上述した説明では、２波形の相関性を高くするように２波形のタイミング合わせを行った。３以上の波形について相関性を高くするようにタイミング合わせをするには、１つを参照波形Ｂと決め、この参照波形Ｂと他の対象波形Ａとを２つずつ比較することにより、参照波形Ｂを基準に、他の対象波形Ａのタイミングを合わせればよい。
また、上述した説明では、モノラル波形として説明した。ステレオ波形の場合には、対象波形Ａと参照波形Ｂとを、左右の一方のチャンネルに関して対象波形Ａと参照波形Ｂとの相関度を計算し、相関度が最も高くなる時間差を検出し、対象波形Ａの左右それぞれのチャンネルを、その時間差だけ、共にシフトさせればよい。
【００４２】
次に、上述した対象波形Ａおよび参照波形Ｂのタイミング合わせの第１の応用例を説明する。
図１１は、タッチコントロール用の音源波形の作成の第１の例を示すフローチャートである。
この第１の応用例では、アタック部に着目して対象波形Ａと参照波形Ｂのタイミング合わせを行った上で、対象波形Ａのフーリエ成分（非倍音を含む周波数成分）の各位相（位相角）を、参照波形Ｂの同じ周波数のフーリエ成分の位相（位相角）に合わせることにより、合成波形Ａを作成するものである。そして、楽音波形の全期間において、合成波形Ａ，参照波形Ｂを混合して音源波形とするものである。
【００４３】
図１１のＳ５１において、対象波形Ａ，参照波形Ｂの比較範囲を設定し、Ｓ５２に処理を進める。この比較範囲がアタック部であるときは、図３に示した処理を実行する。
次にＳ５２において、対象波形Ａ，参照波形Ｂのタイミングを、比較範囲において、両波形の相関性が高くなるように合わせるために、図４に示した処理を実行する。
次のＳ５３において、対象波形Ａをその波形の全期間において、ＦＦＴ処理して得られたフーリエ成分Ａを検出する。主要なフーリエ成分について、対応する複数の周波数の正弦波を加算（正弦波加算合成）することにより、波形を合成する。この合成波形を対象波形Ａから減算し、その残差成分Ａを検出する。Ｓ５２において、ＦＦＴを用いて相互相関関数を算出する場合には、このＳ５２のステップで、波形の全期間においてフーリエ成分Ａを算出しておき、これを使用してもよい。
【００４４】
次のＳ５４においては、Ｓ５３と同様に、参照波形Ｂをその波形の全期間において、ＦＦＴ処理して得られたフーリエ成分Ｂ、および、このフーリエ成分Ｂから合成された波形を参照波形Ｂから減算し、その残差成分Ｂを検出する。Ｓ５２のステップにおいて、ＦＦＴを用いて相互相関関数を算出する場合には、このＳ５２のステップにおいて、波形の全期間におけるフーリエ成分Ｂを算出しておき、これを使用してもよい。
次に、Ｓ５５において、フーリエ成分Ａの各周波数の位相を同じ周波数のフーリエ成分Ｂの位相で置換することにより、フーリエ成分Ａ’を作成する。次に、Ｓ５６において、フーリエ成分Ａ’および残差成分Ａから合成波形Ａを合成する。この合成波形Ａは、対象波形Ａとは異なるものとなる。参照波形Ｂはそのまま使用する。
【００４５】
合成波形Ａおよび参照波形Ｂをキータッチに応じて混合して音源波形とする。ノートオン（発音指示信号）に応じて、波形メモリに記憶された合成波形Ａ，参照波形Ｂの再生を同時にスタートさせる。その際、ノートオン情報に含まれるベロシティ（キータッチデータ）の値に応じ、合成波形Ａ，参照波形Ｂの混合率（重み係数）を制御する。ピアノ音色の場合、対象波形Ａとしてフォルテッシモ（ｆｆ）で弾かれたものを用い、参照波形Ｂとしてメゾフォルテ（ｍｆ）で弾かれたものを用いるとよい。
【００４６】
上述した合成波形Ａを用いれば、目的とするアタック部において合成波形Ａ，参照波形Ｂの相関性が高くなるように、タイミングが合わされるから、合成波形Ａ，参照波形Ｂを混合したときに、ノイズが発生したり波形が歪んだりすることが少ない。
加えて、合成波形Ａの位相スペクトルを参照波形Ｂの位相スペクトルに揃えているので、混合により特定のスペクトルの消失や減衰の可能性が少なくなる。その結果、ベロシティによる音色の変化に違和感が少なくなる。
【００４７】
上述した説明では、メゾフォルテ（ｍｆ）として弾かれた参照波形Ｂの位相スペクトルに一致するように、他方の合成波形Ａの位相スペクトルを置き換えている。
しかし、フォルテッシモ（ｆｆ）として弾かれた対象波形Ａの位相スペクトルに一致するように、他方の参照波形Ｂの位相スペクトルを置き換えることも可能である。ただし、通常の演奏では、メゾフォルテ（ｍｆ）として弾かれる参照波形Ｂの混合率の方が大きくなるから、参照波形Ｂの方をそのまま使用する方が違和感が少ない。
【００４８】
上述した第１の応用例は、キータッチのベロシティに応じて、混合率を制御するものであった。これに代えて、ノートオン（発音指示信号）に応じて、合成波形Ａ，参照波形Ｂのいずれか一方を選択的に再生してもよい。どちらの波形を選択するかは、上述したベロシティに応じて決定される。つまり、ベロシティが所定値より大きいときは合成波形Ａ、小さいときは参照波形Ｂを選択する。合成波形Ａ，参照波形Ｂの相関性が高くなるように合成波形Ａ，参照波形Ｂのタイミングを揃えているため、違和感の少ない波形切換ができる。
【００４９】
上述した説明では、強タッチ（ｆｆ）と中タッチ（ｍｆ）の２段階の波形を用意したが、３段階以上のタッチで弾き分けられた３以上の波形データを混合して音源波形を作成してもよい。ノートオン情報に含まれるベロシティに応じて、３以上の波形データの混合率を変更したり、３以上の波形データの１つを選択することができる。
【００５０】
次に、上述した対象波形Ａおよび参照波形Ｂのタイミング合わせの第２の応用例を説明する。
図１２は、タッチコントロール用音源波形の作成の第２の例を示すフローチャートである。
この例では、アタック部から持続部の導入部分まで、対象波形Ａの部分波形Ａ，参照波形Ｂの部分波形Ｂをベロシティの値に応じて混合して用いる。そして、持続部では、部分波形Ｄを用い、持続部の導入部分では、部分波形Ａおよび部分波形Ｂの混合波形と部分波形Ｄとをクロスフェードして用いる。
【００５１】
図１２のＳ６１において、対象波形Ａから「アタック部〜持続部の導入部分」の部分波形Ａを作成し、次のＳ６２において、参照波形Ｂから「アタック部〜持続部の導入部分」の部分波形Ｂを作成する。通常は、対象波形Ａ，参照波形Ｂの各「アタック部〜持続部の導入部分」を、そのまま切り出せばよいが、波形を加工してもよい。
次に、Ｓ６３において、対象波形Ａおよびまたは参照波形Ｂから、「持続部〜リリース部」の部分波形Ｄを作成する。通常は、参照波形Ｂの「持続部〜リリース部」を用いればよい。持続部のサステイン部分をループ波形として繰り返し再生する場合には、ループ波形のつなぎ目の前後の部分において周波数スペクトル上で急激な変化がないように波形処理をするとよい。
【００５２】
次のＳ６４において、図３のフローに示されたように、部分波形Ａのアタック部と部分波形Ｂのアタック部との比較範囲を設定する。
次のＳ６５において、図４のフローに示されたように、部分波形Ａと部分波形Ｂのタイミングを合わせる。なお、図１１の例と同様に、位相スペクトルを置き換えた部分合成波形Ａを作成してもよい。
次のＳ６６において、部分波形Ａおよび部分波形Ｂの混合波形（適当な混合率にする）と部分波形Ｄとの比較範囲を設定する。比較範囲は、混合波形と部分波形Ｄのそれぞれについて、例えば、音量エンベロープが最大値になってから、この最大値の所定比率になる基準位置までの期間とする。混合波形の比較範囲および部分波形Ｄの比較範囲の時間長が異なる場合には、例えば、短い方の時間長に合わせて比較範囲の開始点側をずらせる。
【００５３】
次のＳ６７においては、混合波形と部分波形Ｄのタイミング合わせを行う。
図４を参照して説明したタイミング合わせは、アタック部に関するものであったが、これと同様な方法で相互相関関数を算出し、Ｓ６６において設定された比較範囲において、混合波形と部分波形Ｄとの相関性が高くなるように、部分波形Ｄをずらせる。
【００５４】
波形再生は次のようにして行う。ノートオンに応じて、「アタック部〜持続部の導入部分」の部分波形Ａ，Ｂの再生を同時スタートさせる。その際、ノートオン情報に含まれるベロシティの値に応じて、部分波形Ａと部分波形Ｂの混合率を制御する。部分波形Ａ，Ｂのアタック部終了時に「持続部〜リリース部」の部分波形Ｄの再生をスタートさせる。部分波形Ａおよび部分波形Ｂの混合波形から部分波形Ｄへは、持続部の導入部においてクロスフェードされる。
このクロスフェード用の音量変化は、波形メモリに記憶する部分波形Ａ，Ｂ，Ｄに最初から付けておく。あるいは、タイミング合わせされた部分波形Ａ，Ｂ，Ｄをメモリに記憶しておいて、再生時のクロスフェード期間において、クロスフェード用の重み付け係数を用いて、各部分波形の音量エンベロープを制御してもよい。
【００５５】
先に説明したように、「アタック部〜持続部の導入部」については、部分波形Ａと部分波形Ｂの混合率が制御された波形とする。「持続部〜リリース部」の部分波形Ｄとは、持続部の導入部分において、部分波形Ａ，Ｂの混合波形と部分波形Ｄとがクロスフェード的に接続される。その際、部分波形Ａ，Ｂの混合波形および部分波形Ｄのタイミングが、相関度が最も高くなるように揃えられるため、混合によってノイズが発生したり波形が歪んだりすることが少ない。
【００５６】
なお、上述した説明では、第１の応用例において、波形のアタック部（立ち上がり部）の波形の相関性が高くなるようにして、対象波形Ａと参照波形Ｂとのタイミング合わせを行った。また、第２の応用例においては、加えて、音量エンベロープが最大となった後の持続部の導入部分において波形の相関が高くなるように部分波形Ａ，Ｂの混合波形と部分波形Ｄのタイミングを合わせた。
しかし、部分波形を使用する目的によっては、上述した波形部分に限らず、波形がほぼ平坦になったところの持続部あるいは波形のリリース部において、相関性が高くなるようにタイミング合わせをしてもよい。
リリース部でタイミング合わせする場合に、相関性の算出を行う比較範囲を設定するには、両波形の音量エンベロープにおいて、最後に減衰速度が加速した時点を検出し、その近傍ないし前後に所定の比較範囲を設定すればよい。
【００５７】
また、上述した説明では、音量エンベロープに注目して、相関性の高い、おおよその比較範囲を設定していた。それに加えて、ないし、その代わりに、ピッチエンベロープ（基音の周波数の時間的変化）やスペクトルエンベロープ（特定の条件を満たす周波数成分の各レベルの総和とった値の時間的変化）を比較範囲の設定の根拠としてもよい。
例えば、ピッチが１発音期間中に過渡的に変化するスラー波形，グライド波形，ビブラート波形等のタイミングを、対象波形Ａと参照波形Ｂとの間で揃えようとする場合には、ピッチエンベロープに基づいて比較範囲を設定するのが好適である。
また、アタック部は非調和成分が多く、アタック部が終了すると非調和成分が減衰することから、非調和成分のスペクトルエンベロープに基づいて、アタック部の比較範囲を設定することができる。
【００５８】
【発明の効果】
本発明は、上述した説明から明らかなように、２波形の相関性が高くなるようなタイミング合わせを自動的に行なえるという効果がある。
あらかじめ、波形パラメータのエンベロープを基準に、比較範囲を適切に設定できるため、相関度の算出において、タイミング合わせを有効に行えるという効果がある。
また、入力された対象波形Ａと参照波形Ｂとが極性反転した関係にあったとしても、自動的に極性反転を検出してタイミング合わせができるという効果がある。
【図面の簡単な説明】
【図１】本発明の波形編集方法を実行する波形編集装置のブロック図である。
【図２】図１に示した波形編集装置を用いて波形を分析し、人が演奏をするまでの処理の概要を示したフローチャートである。
【図３】本発明の波形編集方法の実施の形態の動作を説明するための第１のフローチャートである。
【図４】本発明の波形編集方法の実施の一形態の動作を説明するための第２のフローチャートである。
【図５】対象波形Ａおよび参照波形Ｂの波形図である。
【図６】対象波形Ａおよび参照波形Ｂの音量エンベロープを示す波形図である。
【図７】対象波形Ａおよび参照波形Ｂの拡大波形図である。
【図８】対象波形Ａと参照波形Ｂとの相互相関関数ＲＡＢを示す線図である。
【図９】対象波形Ａを極性反転させた極性反転波形Ｃと参照波形Ｂとの相互相関関数ＲＣＢを示す線図である。
【図１０】対象波形Ａの開始アドレスを時間差Δｔだけずらせてタイミング合わせをした後の対象波形Ａと参照波形Ｂとの比較図である。
【図１１】タッチコントロール用の音源波形の作成の第１の例を示すフローチャートである。
【図１２】タッチコントロール用音源波形の作成の第２の例を示すフローチャートである。
【符号の説明】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  タイマ、５  パネルスイッチ、６パネル表示器、７  ＭＩＤＩインターフェース、８  駆動装置、１０  波形メモリ、１１  アクセス管理部、１２  外部波形入力端子、１３  書込回路、１４バッファ、１５  音源部、１６  サウンドシステム、１７  バスライン
【図１】
0003601373.tif 000005
【図２】
0003601373.tif 000006
【図３】
0003601373.tif 000007
【図４】
0003601373.tif 000008
【図５】
0003601373.tif 000009
【図６】
0003601373.tif 000010
【図７】
0003601373.tif 000011
【図８】
0003601373.tif 000012
【図９】
0003601373.tif 000013
【図１０】
0003601373.tif 000014
【図１１】
0003601373.tif 000015
【図１２】
0003601373.tif 000016