(57)【特許請求の範囲】
【請求項１】
原波形データに基づいて複数回繰り返し再生されるループ波形データを作成する波形データ作成方法であって、
前記原波形データの周波数成分を検出する周波数分析処理と、
前記原波形データから前記ループ波形データループ開始位置とループ終了位置とを決定するループ部決定処理と、
前記検出した各周波数成分において、前記ループ開始位置と前記ループ終了位置のいずれか一方を第１ポイント、他方を第２ポイントとしたときの該第１ポイントに当該周波数成分を接続するための接続ポイントを前記各周波数成分毎に決定する接続ポイント決定処理と、
前記各周波数成分について、それぞれ、前記第２ポイントと前記接続ポイントとの間の当該周波数成分を、当該周波数成分の前記第２ポイント側を固定して当該周波数成分の接続ポイント側が前記第１ポイントと略一致するまでタイムストレッチするタイムストレッチ処理と、
前記タイムストレッチ処理により時間軸の調整された各周波数成分に基づいてループ波形データループ開始位置とループ終了位置の時間内に、タイムストレッチされた接続ポイントと第２ポイント間の信号により正弦波合成を行い、前記ループ波形データを合成するループ波形合成処理と
を含むことを特徴とする波形データ作成方法。
【請求項２】
前記ループ部決定処理は、前記原波形の楽音特性の揺らぎに基づいて前記ループ開始位置と前記ループ終了位置を決定する処理であることを特徴とする前記請求項１記載の波形データ作成方法。
【請求項３】
原波形データに基づいて、第１の波形データに接続可能な第２の波形データを作成する波形データ作成方法であって、
接続しようとする位置における前記第１の波形データの各周波数成分の振幅値と位相値と特性の揺らぎ状態を決定する決定処理と、
前記原波形データの各周波数成分を検出する周波数分析処理と、
該検出された原波形データの各周波数成分の特性の揺らぎを検出して、該揺らぎが前記
第１の波形データの揺らぎ状態に一致する接続位置を前記原波形データの各周波数成分毎に独立して決定する接続位置決定処理と、
原波形データの時間軸上に前記第１の波形データと接続するための目標位置を決定する目標位置決定処理と、
前記原波形データの各周波数成分について、前記原波形データの一端と前記接続位置との間の当該周波数成分を、当該周波数成分の該一端側を固定して当該周波数成分の接続位置側が前記目標位置に略一致するまで時間軸方向に独立に伸縮させるとともに、該各周波数成分の振幅および位相を時間軸およびレベル軸方向に微調整することにより前記目標位置において前記第１の波形データの前記接続しようとする位置における振幅値および位相値に一致するよう加工するタイムストレッチおよびスムージング処理と、
前記タイムストレッチおよびスムージング処理により調整された各周波数成分に基づいて正弦波合成を行い、前記第２の波形データを合成するループ波形合成処理と
を含むことを特徴とする波形データ作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、いわゆる波形メモリ方式の音源などにおいて、波形メモリに格納される楽音波形データを作成する波形データ作成方法に関する。
【０００２】
【従来の技術】
メモリに予め記憶された楽音波形のサンプルデータ（波形データ）を読み出すことにより楽音信号を生成する波形メモリ方式の音源が知られている。この音源においては、通常、元となる楽音波形の先頭部分をアタック波形として切り出し、この先頭部分に後続する定常波形とみなしてよい区間、すなわち、ほぼ同一の波形の繰り返しとみなしてよい区間から繰り返しの一単位となる波形をループ波形として切り出し、このアタック波形とループ波形の波形データを音源波形データとしてメモリに格納している。そして、楽音発生指示が与えられたとき、指示された音高に対応した速度で、まず、前記アタック波形の音源波形データを前記メモリから読み出し、続いて、前記ループ波形の開始位置（以下、ループスタートポイントという）から終了位置（以下、ループエンドポイントという）までの音源波形データを繰り返し読み出すことにより、元の楽音波形（以下、原波形という）とほぼ同じ波形を有し、指定された音高の楽音信号を生成するように構成されている。
【０００３】
このような波形メモリ方式の音源においては、前記アタック波形から前記ループ波形への移行の際、および、前記ループ波形の読み出し位置がループエンドポイントからループスタートポイントに戻る際における楽音のつながりが不自然にならないようにすることが良質な楽音発生のために重要である。そこで、前記ループ波形終端区間に、ループの終端からループの先端へ滑らかに接続するためクロスフェード波形を記憶することが知られている（特開昭５９−１８８６９７号公報）。
また、前記ループ波形として、ビブラートなどの変調が付与された波形を用意し、それを繰り返し再生することにより変調効果付きの自然楽器に近い楽音を発生させることも知られている（特開昭５９−９７１９５号公報）。
【０００４】
【発明が解決しようとする課題】
弦楽器やアンサンブルなどの楽音波形の場合、該波形のアタック部に後続する部分は、完全に定常的な変化をしている訳ではなく、かかる部分の各周波数成分の周波数、位相および振幅は微妙な時間変動（揺らぎ）を呈しており、この時間変動は楽音としての個性を醸し出す重要な要因となっている。
原波形にこのような揺らぎが含まれているときには、原波形データから揺らぎのｎ周期分に相当するループ波形を取出すこととなるが、該揺らぎの周期は一般に数十ミリ秒から数百ミリ秒程度と長いので、そのループの終端から先端へかけて波形がスムーズに接続できるという保証は無い。
また、前記ループ波形を上述した方法で加工した場合、一見滑らかに接続されているように見えても、そのループ波形で実際に音を出してみるとループの接続部に不自然さが残る場合があった。
【０００５】
そこで本発明は、ループ部に揺らぎが含まれていても接続部に不自然さがなく、高品質の楽音を発生させることができる波形データの作成方法を提供することを目的としている。
また、揺らぎが含まれている場合であっても、接続部に不自然さがなく相互に接続可能な波形データを作成することのできる波形データ作成方法を提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明の波形データ作成方法は、原波形データに基づいて複数回繰り返し再生されるループ波形データを作成する波形データ作成方法であって、前記原波形データの周波数成分を検出する周波数分析処理と、前記原波形データから前記ループ波形データループ開始位置とループ終了位置とを決定するループ部決定処理と、前記検出した各周波数成分において、前記ループ開始位置と前記ループ終了位置のいずれか一方を第１ポイント、他方を第２ポイントとしたときの該第１ポイントに当該周波数成分を接続するための接続ポイントを前記各周波数成分毎に決定する接続ポイント決定処理と、前記各周波数成分について、それぞれ、前記第２ポイントと前記接続ポイントとの間の当該周波数成分を、当該周波数成分の前記第２ポイント側を固定して当該周波数成分の接続ポイント側が前記第１ポイントと略一致するまでタイムストレッチするタイムストレッチ処理と、前記タイムストレッチ処理により時間軸の調整された各周波数成分に基づいてループ波形データループ開始位置とループ終了位置の時間内に、タイムストレッチされた接続ポイントと第２ポイント間の信号により正弦波合成を行い、前記ループ波形データを合成するループ波形合成処理とを含むものである。
また、前記ループ部決定処理は、前記原波形の楽音特性の揺らぎに基づいて前記ループ開始位置と前記ループ終了位置を決定する処理とされているものである。
【０００７】
さらに、本発明の他の波形データ作成方法は、原波形データに基づいて、第１の波形データに接続可能な第２の波形データを作成する波形データ作成方法であって、接続しようとする位置における前記第１の波形データの各周波数成分の振幅値と位相値と特性の揺らぎ状態を決定する決定処理と、前記原波形データの各周波数成分を検出する周波数分析処理と、該検出された原波形データの各周波数成分の特性の揺らぎを検出して、該揺らぎが前記第１の波形データの揺らぎ状態に一致する接続位置を前記原波形データの各周波数成分毎に独立して決定する接続位置決定処理と、原波形データの時間軸上に前記第１の波形データと接続するための目標位置を決定する目標位置決定処理と、前記原波形データの各周波数成分について、前記原波形データの一端と前記接続位置との間の当該周波数成分を、当該周波数成分の該一端側を固定して当該周波数成分の接続位置側が前記目標位置に略一致するまで時間軸方向に独立に伸縮させるとともに、該各周波数成分の振幅および位相を時間軸およびレベル軸方向に微調整することにより前記目標位置において前記第１の波形データの前記接続しようとする位置における振幅値および位相値に一致するよう加工するタイムストレッチおよびスムージング処理と、前記タイムストレッチおよびスムージング処理により調整された各周波数成分に基づいて正弦波合成を行い、前記第２の波形データを合成するループ波形合成処理とを含むものである。
【０００８】
【発明の実施の形態】
図１は、本発明の波形データ作成方法が実施される波形データ作成装置の一構成例を示すブロック図である。この図において、１はこの波形データ作成装置全体の制御を行うＣＰＵ、２は制御プログラムなどの各種プログラムおよび各種の制御情報などが格納されるＲＯＭ、３はワークエリアやバッファ領域あるいは各種プログラムを格納する領域として使用されるＲＡＭ、４は計時動作や前記ＣＰＵ１に対するタイマ割込を行うためのタイマ、５は各種の操作スイッチが配備されたパネルスイッチ、６は処理対象である原波形などの各種の表示を行うパネル表示器である。また、７は外部ＭＩＤＩ機器との間でＭＩＤＩイベントの授受を行うためのＭＩＤＩインターフェース、８はＣＤ−ＲＯＭ、ＨＤ（ハードディスク）、ＭＯ、ＦＤ等の記録媒体９にアクセスするための駆動装置である。
【０００９】
１０は原波形の波形データや本装置内で作成された波形データを記憶する波形メモリであり、複数の波形データを書き込み読み出し可能とされている。１１は、前記波形メモリ１０に対する書込回路１３、音源部１５あるいはＣＰＵ１からのアクセスが互いに衝突しないように、波形メモリ１０のアクセスタイムスロットを管理するアクセス管理部、１２は外部波形入力端子、１３は該外部波形入力端子１２を介して装置外部から入力される原波形信号をサンプリングして、前記波形メモリ１０に書き込む書込回路、１４は前記記録媒体９や前記ＲＡＭ３から前記波形メモリ１０に書き込まれる波形データあるいは前記波形メモリ１０から読み出される波形データを転送するためのバッファ、１５は前記波形メモリ１０から読み出される波形データを用いて楽音信号を生成する音源部、１６は該音源部１５から出力される楽音信号を出力するサウンドシステム、１７は以上説明した各要素間の情報の授受のために使用されるバスラインである。
なお、この図には示していないが、電話回線、ＬＡＮあるいはインターネットなどの通信ネットワークに接続するための通信インターフェース回路を設け、該ネットワークから波形データや各種プログラムなどをダウンロードするようにしてもよい。さらにまた、鍵盤操作子を設け、該鍵盤操作子を用いて演奏を行うことができるようにすることもできる。
【００１０】
ここで、前記ＲＯＭ２あるいはＲＡＭ３には、この波形データ作成装置の全般的な制御を行うためのプログラムの他、外部より入力される原波形の波形データからアタック波形およぴループ波形を切り出し、所定の加工を行なって前述した音源波形データを作成するための音源波形データ作成プログラムと、この波形データ作成装置を波形メモリ音源として機能させるための演奏処理プログラムなどが含まれている。
ＣＰＵ１は、前記ＲＯＭ２あるいはＲＡＭ３に記憶された各種制御プログラムに従い、パネルスイッチ５やＭＩＤＩインターフェース７からの入力等に応じて、この波形データ作成装置全体の制御を行う。
また、音源波形データ作成処理時においては、前記バッファ１４を介して前記波形メモリ１０のデータの読み書きを行い、波形データを読み出して分析、加工、編集して再度波形メモリ１０に書き込んだり、記録媒体９や図示しない通信路から供給された波形データを波形メモリ１０に書き込んだり、逆に波形メモリ１０から前記記録媒体９や通信路に供給したりする。
さらに、演奏処理実行時においては、ＭＩＤＩインターフェース７や前記記録媒体９あるいは前記ＲＡＭ３などから供給される演奏情報に応じて、前記音源部１５の発音チャンネルの楽音生成状態を制御する。例えば、ＭＩＤＩインターフェース７から発音開始を示すノートオン信号が入力された場合、音源部１５の発音チャンネルの１つにその楽音の発生を割当て、割当てられたチャンネルにその楽音を生成するために必要な楽音パラメータ（ピッチ情報、ビブラート制御情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等）を供給するとともに発音開始の指示を与える。これに応じて、前記音源部１５では、割当てられた発音チャンネルを用いて、前記波形選択情報に応じて前記波形メモリ１０から選択された波形データを使用して前記楽音パラメータに対応した楽音を生成する。
【００１１】
図２は、このように構成された波形データ作成装置を用いて波形データを作成し、それを使用して演奏が実行されるまでの処理の概要を示したフローチャートである。
まず、ステップＳ１において、元となる波形データ（原波形データ）が用意される。例えば、前記パネルスイッチ５に設けられた録音スイッチの操作に応じて、前記外部波形入力端子１２からの波形データが前記書込回路１３および前記アクセス管理部１１を介して、前記波形メモリ１０に書き込まれる。あるいは、前記記録媒体９に格納されている波形データあるいは前記通信ネットワークから取得した波形データが前記バッファ１４および前記アクセス管理部１１を介して、前記波形メモリ１０に書き込まれる。
【００１２】
続いて、ステップＳ２の波形データ作成処理に進む。このステップＳ２の内容については後に詳述するが、前記パネルスイッチ５における分析スイッチなどの操作に応じて、前記ステップＳ１で読み込まれた原波形データを分析し、該分析結果に基づいてアタック部およびループ部の波形データを加工し、合成して、この合成された波形データ（音源波形データ）を前記波形メモリ１０に書き込む処理が実行される。
【００１３】
そして、ステップＳ３に進み、前記ステップＳ２で作成された波形データを使用する演奏処理が実行される。すなわち、前記パネルスイッチ５における演奏スイッチなどの操作に応じて、前記ＭＩＤＩインターフェース回路７あるいは前記記憶媒体９や前記通信ネットワークから入力されたＭＩＤＩ演奏情報に基づいて演奏制御情報を作成し、前記音源部１５に供給する。前記音源部１５は、当該楽音パラメータに基づいて、前記波形メモリ１０から対応する波形データを読み出し、アタック部の波形についてはそのまま、ループ部については前記ループ波形を繰り返し読み出して、所定のエンベロープの付与、エフェクト処理等を実行し、各チャンネルの楽音を生成しそれらを合成して、前記サウンドシステム１６に供給する。これにより、前記ステップＳ２により作成された音源波形データを用いた演奏が実行される。
【００１４】
次に、本発明の特徴的な部分である前記ステップＳ２の波形データ作成処理について説明する。
前述のように、この波形データ作成処理Ｓ２においては、まず、原波形データをスペクトル分析して、正弦波加算合成により合成することができる波形（決定論的波形、Deterministic波形）と正弦波加算合成できない波形（残差波形、Residual波形）に分離する。そして、前記Deterministic波形については、各周波数成分（パーシャル）毎に位相の制御を行うとともにそれぞれ独立にタイムストレッチ操作を行ってループの波形を作成する。また、Residual波形についてはループ内の成分を周波数分析し、その振幅および位相を制御して、偏りのないResidualのループ波形を作成する。このようにして得られたDeterministic波形とResidual波形とを加算することにより、所望のループ波形を得るようにしている。
【００１５】
図３は、この波形データ作成処理を説明するための機能ブロック図である。この図において、２０は原波形データをDeterministic波形とResidual波形とに分離する分離処理部、破線で囲まれた３０は前記Residual波形を処理するResidual波形処理部、同じく４０は前記Deterministic波形を処理するDeterministic波形処理部、５０は前記Residual波形処理部３０の出力と前記Deterministic波形処理部４０の出力を合成して出力する合成部である。
【００１６】
まず、前記分離処理部２０において実行される原波形データをDeterministic波形とResidual波形とに分離する処理について説明する。
この分離処理部２０において、まず、前記ステップＳ１において前記波形メモリ１０に読み込まれた原波形データがスペクトル分析され、その波形に含まれている基音周波数およびその倍音周波数などに対応する線スペクトル成分が抽出される。このスペクトル分析は、例えば、時間窓を用いたフーリエ変換による短時間スペクトル分析を用いて行われている。すなわち、分析対象となる原波形サンプルに所定幅の窓関数を掛けて短時間ＦＦＴ（Fast Fourier Transfer）を行い、該フーリエ変換出力の振幅データからピークを成す全ての周波数位置を検出する。この処理を、前記時間窓を移動しながら繰り返し行い、各フレームにおけるピークを検出する。これにより、各周波数成分の時間変動を示す出力が得られる。
【００１７】
図４は、前記スペクトル分析の結果得られたピークデータの一例を示す図である。この例は、ピアノのＣ４（基音周波数は約２６１．６３Ｈｚ）の楽音を分析したものであり、横軸は時間（単位はｍｓ）、縦軸は周波数（単位はＨｚ）であり、前記時間窓に対応する各フレーム毎に検出されたピークデータが点で表されている。また、横方向の細線は、前記基音周波数およびその倍音の周波数を表している。この図において、全ての点は独立に存在しており、図において軌跡を描いている線を見てとることができる。また、線として見える部分以外はノイズであったり、非調和な成分であったり、あるいは、ＦＦＴの窓関数のサイドローブが表示されているものとみなされる。
【００１８】
次に、前記スペクトル分析の結果得られたピークデータから軌跡を成すものを追跡する処理を実行する。この処理は、各フレームにおけるピークの接続関係を評価することにより行われ、その結果ノイズや非調和な成分が除去される。
図５は、前記図４に示したスペクトル分析結果について軌跡をなすものを追跡する処理を実行した結果を示す図である。
そして、このようにして得られた軌跡の中から所望のデータを選択し、その一つひとつを正弦波合成し、加算することにより原波形のうちのDeterministic波形部分を合成することができる。
次に、前記原波形データから前記Deterministic波形を減算することにより残差波形（Residual波形）を得る。
【００１９】
図６は、前記原波形、Deterministic波形およびResidual波形の一例を示す図である。この図において、（ａ）は原波形、（ｂ）はDeterministic波形、（ｃ）はResidual波形を示しており、原波形（ａ）から前述したように正弦波加算合成されたDeterministic波形（ｂ）を減算することにより、Residual波形（ｃ）が求められる。
このようにして、この分離処理部２０により、Deterministic波形とResidual波形とが分離される。そして、Residual波形データはResidual波形に関する処理部（Residual波形処理部）３０に供給され、また、Deterministic波形データはDeterministic波形に関する処理部（Deterministic波形処理部）４０に供給されて、それぞれ対応する処理が行われる。
【００２０】
次に、前記Residual波形処理部３０において実行されるResidual波形に関する処理について説明する。
このResidual波形処理部３０は、前記図３に示すように、Residual波形の振幅エンベロープを算出する振幅エンベロープ計算部３１、該振幅エンベロープ計算部３１の出力に基づいてループスタートポイントおよびループエンドポイントを決定するループ部決定処理部３２、該ループ部決定処理部３２において決定されたループ部に対応する前記Residual波形の周波数分析を実行する周波数分析処理部３３、該周波数分析処理部３３の出力結果に対して所望の変更を施すモディファイ処理部３４、該モディファイ処理部３４の出力をフーリエ逆変換し時間波形を出力するフーリエ逆変換処理部３５、および、前記ループ部決定処理部３２から出力されるループスタートポイントおよびループエンドポイント、前記フーリエ逆変換処理部３５からの時間波形出力および前記分離処理部２０からのResidual波形出力が入力され、前記Residual波形と前記フーリエ逆変換された時間波形とをクロスフェードして出力するクロスフェード処理部３６とから構成されている。
【００２１】
前記分離処理部２０からの出力のうちResidual波形データは、振幅エンベロープ計算部３１に入力され、ここでResidual波形の振幅エンベロープが抽出される。次に、ループ部決定処理部３２において、該抽出された振幅エンベロープに基づいて、ループスタートポイントとループエンドポイントが決定される。
【００２２】
図７は、このResidual波形の一例を示す図であり、これは前記図６の（ｃ）を拡大したものに相当する。前記振幅エンベロープ計算部３１において、Residual波形の振幅エンベロープを抽出する。図７に示す例において、音の立ち上がり部はピアノハンマーが弦を打ったときの音であり、ループは、このハンマー打弦の音が終わった後、弦振動の単純な減衰部分で取るのが望ましい。そこで、前記ループ部決定処理部３２において、Residual波形の振幅エンベロープにあるしきい値（例えば、そのピークの１／８の値）を設定し、Residual波形の振幅エンベロープがそのしきい値を横切る点（図７の例においてはサンプリング開始時点から２００ｍｓの点）をループスタートポイントと決定する。
【００２３】
次に、ループ長を、ループスタートポイント以降のResidual波形の周波数スペクトルの一番低いピークに相当する周期長の整数倍の長さの近傍で、かつ、ループエンドからループスタートにかけてDeterministicの基本波成分の位相が滑らかに接続できる長さ、すなわち、基本波の周期の整数倍の長さに決定する。これにより、ループエンドポイントが決定される。
図８は、前記図７に示したResidual波形の周波数スペクトルを示す図である。この図から、この例においては４．７６Ｈｚに最も低い周波数のピークがあることが判る。すなわち、このResidual波形は、この周波数で揺らいでいるものと考えられる。したがって、ループ長は、この揺らぎの周波数の倍数となるように取るのが好ましい。この例においては、１／４．７６［Ｈｚ］＝２１０［ｍｓ］であるから、例えば、この２倍の４２０ｍｓ程度となるようにループ幅を決定している。なお、２倍に限らず、この波形に割り当てることのできるメモリ容量の最大値を超えない範囲で、任意の整数、例えば、３倍あるいは４倍としてもよい。３倍とした場合、ループエンドポイントは、サンプリング開始時点から８３０ｍｓ（＝２００ｍｓ＋２１０ｍｓ×３）の点の近傍に決定されることとなる。
【００２４】
このようにしてResidual波形のループスタートポイント及びループエンドポイントが決定された後に、周波数分析処理（３３）、モディファイ処理（３４）およびフーリエ逆変換処理（３５）が実行され、これによりループ部分のResidual成分が作成される。
前述した従来の方法においては、ループ接続部の不自然さをなくすために、時間軸上でのクロスフェードを行っていた。しかしながら、この方法だけでは、ループ内で周波数特性が変化している場合あるいは波形の一部にある周波数のパワーが局在している場合などには、周期的にこの周波数が聞こえてしまうこととなり、きれいなループ波形にならなくなる。
このようなループ内で周波数特性が変化している波形の一例を図９に示す。この例は、ブラスの楽音波形およびそのスペクトル分析結果を示すものであり、図示するように、ループ中に周波数特性が変化している個所があり、これが不自然なループの原因となる。
【００２５】
そこで、まず、周波数分析処理部３３において、前述のようにして決定されたループ部分（ループスタートポイント〜ループエンドポイント）のResidual波形全体をスペクトル分析し、そのパワースペクトル（振幅スペクトル）と位相スペクトルを求める。そして、このスペクトル分析結果をモディファイ処理部３４に入力する。
【００２６】
図１０は、前記モディファイ処理部３４の構成例を示すブロック図である。この図に示すように、モディファイ処理部３４は、前記周波数分析処理部３３からのＦＦＴ出力、すなわちループ部分のResidual波形の各周波数成分のパワーと位相の情報が入力され、そのうちの位相の情報をキャンセルし、そこにノイズを入力する。該モディファイ処理部３４の出力（Residual波形の各周波数成分のパワーの情報とノイズ）はフーリエ逆変換処理部３５に入力されて逆ＦＦＴされ、ループ部分のResidual成分データとして出力される。
これにより、ループ部分内でパワーが局在せず、かつ、前記振幅スペクトルと同じ周波数特性を有するループ部分用の合成Residual（ノイズ成分）波形が作成される。この波形は、ノイズをフィルタリングした波形であるので、いくらでも長い波形を作ることができ、また、数十ミリ秒以上の長さのループを設定して繰返し読出ししても、ループの途中でのパワーの局在が感じられないものとなる。
【００２７】
なお、前記周波数分析処理部３３は前記ループ部のResidual波形のフォルマントを求めているということができる。そこで、前記周波数分析処理部３３の出力のうち位相情報を無視して、求めたフォルマントを有するようなインパルスレスポンスを求め、それにノイズを注入してResidualのループ波形を作成することもできる。図１１に、このような手法を採用した場合の構成例を示す。この構成においては、前記周波数分析処理部３３の出力のうちのパワーの情報を逆変換部３７に入力して逆ＦＦＴ処理を行うことにより、インパルスレスポンスを求める。そして、たたみ込み積分処理部３８において、該インパルスレスポンスとノイズ成分とをたたみ込み積分することにより、ループ部のResidual波形を作成する。なお、この場合には、前記周波数分析部３３の出力のうちの位相情報を無視する部分が前記モディファイ処理部３４に相当し、フォルマントを逆ＦＦＴしてインパルスレスポンスを求め、それをノイズにたたみ込む部分が前記フーリエ逆変換処理部３５に相当している。このようにして作成されたResidual波形も、前記振幅スペクトルと同じ周波数特性を有しており、ループ部用の合成Residual波形として使用することができる。
【００２８】
前記図３において、３６はクロスフェード処理部であり、前記ループ部決定処理部３２からのループスタートポイント及びループエンドポイントの情報に基づいて、前記フーリエ逆変換処理部３５（あるいは、前記たたみ込み積分処理部３８）からの上述のようにして作成されたループ部分のResidual波形と前記分離処理部２０からの原波形から分離されたResidual波形をクロスフェードで接続する処理が行われる。図１２は、この様子を示す図であり、（ａ）は原波形から分離されたResidual波形、（ｂ）は前述した処理により作成されたループ部の合成Residual波形、（ｃ）はこのクロスフェード処理部３６から出力される最終的なResidual波形を示す。すなわち、元のResidual波形（ａ）にフェードアウトエンベロープを乗算してループスタートポイントでゼロになるようにフェードアウトし、作成されたループ部分の合成Residual波形（b）にフェードインエンベロープを乗算してループスタートポイントで１になるようにフェードインして混合することにより、原波形のResidual波形（ａ）と前記合成Residual波形（ｂ）とをクロスフェードで接続した最終Residual波形（ｃ）が完成する。
これにより、ループ部分（ループスタートポイント〜ループエンドポイント）では合成Residual波形のみとなるので、アタック波形を保存したままループ周期が極力聞こえないようにしたループ部のResidual波形を得ることができる。
【００２９】
次に、前記Deterministic波形に対する処理について説明する。
前記図３に示すように、前記Deterministic波形処理部４０は、前記Deterministic波形を各パーシャル（周波数成分）に分離するパーシャル分離処理部４１、分離されたパーシャルの振幅情報をＦＦＴなどを用いて周波数分析する周波数分析処理部４２、該周波数分析処理部４２の出力と前記ループ部決定処理部３２からのループスタートポイント情報に基づいて該ループスタートポイントに対応した最適な接続ポイントを決定する接続ポイント決定処理部４３、該接続ポイント決定処理部４３の出力に基づいて各パーシャルにループ部を設定するループ設定部４４、該ループ設定部４４により設定されたループ部の時間軸を伸張するタイムストレッチ処理部４５、該タイムストレッチ処理部４５の出力に基づいて当該パーシャルに対応する正弦波波形を生成する正弦波合成処理部４６、および、各パーシャルに対応する前記正弦波合成処理部４６の出力を加算する加算部４７が含まれている。ここで、前記周波数分析処理部４２、接続ポイント決定処理部４３、ループ設定部４４、タイムストレッチ処理部４５および正弦波合成処理部４６は、前記パーシャル分離処理部４１により分離された各パーシャルにそれぞれ対応して設けられている。すなわち、各パーシャル毎に、それぞれ独立して、周波数分析、接続ポイント決定、ループ設定、タイムストレッチ、正弦波合成の各処理が実行される。
【００３０】
前記分離処理部２０において分離されたDeterministic波形は、パーシャル分離処理部４１において、各パーシャルに分離される。ここで、パーシャルとは、前記分離処理部２０におけるスペクトル分析により得られた各周波数成分の軌跡である。なお、パーシャルには、元の波形データの基本周波数および各倍音の成分の軌跡だけでなく、倍音からはずれた周波数成分の軌跡も含まれている。このパーシャル分離処理部４１により分離された各パーシャルは、それぞれ別個に、振幅情報の周波数分析、ループ部の設定、タイムストレッチ、および、正弦波合成の各処理が行われ、その後、各パーシャルの正弦波合成結果が加算されて、Deterministic波形データが作成されることとなる。
【００３１】
図１３は、例えばブラスなどの揺らぎを含んだ楽音波形の基音、２倍音、３倍音の各パーシャルの波形を、揺らぎを強調して記載した図である。このような楽音については、各パーシャルのループスタートポイントとループエンドポイントの位相の傾きを変えて位相を揃えることができれば、きれいなループ波形とすることが可能であるが、この図に示す例のように、各パーシャルが揺らぎを含んでいる場合には、揺らぎの位相も揃えなければ、きれいなループ波形とはならない。しかしながら、位相と揺らぎの位相とを同時に揃えることができるようなループスタートポイントおよびループエンドポイントを全部のパーシャル共通で１組求めることは不可能である。そこで、本発明では、次のように、各パーシャル毎に独立して処理を行なうようにしている。
【００３２】
まず、各パーシャルでそれぞれ揺らぎの位相が接続し易いポイントを捜す。
前記パーシャル分離処理部４１において分離された各パーシャルについて、それぞれ周波数分析処理部４２により振幅情報のスペクトル分析を行い、その振幅の揺らぎの周波数を求める。すなわち、当該パーシャルについてＦＦＴ処理を行い、その結果得られたパワースペクトルの複数のピークのうち一番周波数の低いピークから、その振幅の揺らぎの周波数を求め、その周期を求める。
【００３３】
次に、前記接続ポイント決定処理部４３において、前記ループ部決定処理部３２により決定されたループスタートポイントに対する最適な接続ポイントを求める。すなわち、前記ループスタートポイントから前記揺らぎの周期だけ離れた点をチェックする。このチェックされた点は、揺らぎを一つの周波数として考えているものであるため、このチェックされた点における振幅は、前記ループスタートポイントにおける振幅とは異なっている場合がある。そこで、このチェックされた点の近傍で、前記ループスタートポイントにおける振幅と最も近い振幅を有する点を捜して、これを最適な接続ポイントとする。このように、各パーシャルの振幅情報の前記ループ部分における変化を分析し、それぞれ、ループエンドポイントの近傍で振幅情報がループスタートポイントと滑らかに接続できる接続ポイントを検出する。
【００３４】
図１４は、このようにして検出された最適な接続ポイントの一例を示す図である。この図に示すように、各パーシャル毎にそれぞれ最適な接続ポイントが決定され、この例においては、それらは異なった点となっている。
なお、ここでは、各パーシャルの振幅揺らぎに注目して接続ポイントを決定しているが、その代わりに各パーシャルの周波数揺らぎに注目して決定するようにしても良い。または、振幅と周波数の両方に注目して決定するようにしても良い。各パーシャルの振幅と周波数は互いに同期して揺らぐことが多いので、本実施例のように一方に注目して接続ポイントを決めても特に問題が生じることはない。
次に、ループ設定部４４において、上述のように決定されたループスタートポイントおよび接続ポイントに基づいて、ループ部を設定する。
【００３５】
以上により、各パーシャル毎にそれぞれループ部を設定することができた。次に、これらの波形を合成するのであるが、前述のように、各ループ部の長さが必ずしも等しくないので、それらを単純に加算することができない。
そこで、タイムストレッチ処理部４５において、各パーシャルのループ部毎に、前記ループスタートポイント以降の振幅情報および位相情報を時間軸方向に伸縮（タイムストレッチ）して前記接続ポイントを前記Residual波形処理部３０のループ部決定処理部３２において決定されたループエンドポイントに一致させる処理を行うとともに、スムージング処理を行う。
【００３６】
図１５は、前記タイムストレッチの方法を説明するための図である。この図において、横軸は時間（サンプル時間）、縦軸は位相を示している。図１５の（ａ）はあるパーシャルのループスタートポイント〜接続ポイントまでの位相を示す図であり、これをループエンドポイントまで矢印の方向に引き延ばして、図１５の（ｂ）に示すようなデータとする。このためには、まず、各時間（サンプル時間）における位相の傾き（次のサンプルとの位相の差、これはその時間における周波数に等しい）を求める。ここで、時間（サンプル時間）とは、周波数分析の時間軸のことであり、具体的には、前述した時間軸を移動させながら行なっているＦＦＴ分析の各サンプルが出力される時間を示す。次に、指定された時間軸の伸縮比に基づいてこの傾きの時間軸を伸縮し、更に、補間により各時間（サンプル時間）における伸縮後の位相の傾きの値を求める。そして、伸縮後の位相の傾きの各時間の値を累算することにより、タイムストレッチ後の各時間の位相（位相情報）を得る。これにより、（ｂ）に示したように、傾きをかえずに伸長することができ、各パーシャルの楽音特性の揺らぎを滑らかに接続することが可能となる。
振幅情報のタイムストレッチは、上記位相の傾きの伸縮の方法と同様である。すなわち、各パーシャルの各時間（サンプル時間）における振幅を、指定された時間軸の伸縮比に基づいて時間軸方向に伸縮し、更に、補間により各時間における伸縮後の振幅（振幅情報）を求めている。
ここで、各パーシャルに対し、上記時間軸の伸縮比として、前記ループスタートから前記ループエンドまでの長さを、前記ループスタートから各パーシャルの接続ポイントまでの長さで割り算した値が指定されている。
【００３７】
さらに、各パーシャル毎の振幅情報および位相情報をレベル軸方向および／または時間軸方向に微調整して、該振幅情報および位相情報を前記ループエンドポイントからループスタートポイントへ滑らかに接続する処理（スムージング処理）を行う。このスムージング処理について、図１６を参照して説明する。図１６の（ａ）は、位相についてのスムージング処理を説明するための図であり、当該パーシャルの前記ループスタートポイントにおける位相と前記ループエンドポイントにおける位相の差が、図示するように２ｎπ（ｎは整数）となっていないときに、それが２ｎπとなるように図中破線で示すように位相軌跡の修正を行うものである。具体的には、各位相データに前記位相のずれに対応する適切な係数を一律に乗算することにより行うことができる。
【００３８】
また、図１６の（ｂ）は、振幅についてのスムージング処理を説明するための図であり、図示するように、当該パーシャルの前記ループスタートポイントにおける振幅とループエンドポイントにおける振幅とが一致していないときに、その差分がゼロになるように、絶対値が０から前記差分に相当するまで次第に大きくなるような正または負の補正値列を準備し、これを各振幅データに加算することによりおこなうことができる。
なお、前述の揺らぎの周期は数百ミリ秒〜数秒と長いため前述したタイムストレッチ処理は時間軸の大きな調整となるのに対し、このスムージング処理における位相、振幅の調整は楽音周期の短い時間（通常十ミリ秒以下）レベルの微調整となる。
また、各パーシャルのループスタートポイントと接続ポイントの振幅が完全に一致している場合には、そのパーシャルについて振幅情報のスムージング処理を省略することができる。また、スムージング処理を後で行なう代わりに、前記接続ポイントの決定の仕方や前記時間軸伸縮の前記伸縮比等の調整で行なうようにしてもよい。
【００３９】
このようにタイムストレッチ処理された各パーシャルについて、正弦波合成処理部４６により対応する正弦波を生成し、それらを加算部４７で加算して、合成Deterministic波形データを作成する。
ここで、前記正弦波合成は、アタックスタート〜ループスタートポイント〜ループエンドポイントの範囲について行われる。なお、ループ部に適さない一部のパーシャルは、ループスタートに入るまでにフェードアウトされるため、ループ部の合成Deterministic波形は、ループに適したパーシャルのみで合成される。
【００４０】
このようにして、加算部４７から出力される合成Deterministic波形データと、前述のようにクロスフェード処理部３６から出力される最終のResidual波形データは、合成部５０において、相互に時間軸を揃えて加算され、アタックスタート〜ループスタート〜ループエンドの波形データが得られることとなる。この波形データは、音源波形データとして前記波形メモリ１０に書き込まれる。
ＣＰＵ１は、ＭＩＤＩインターフェースから入力する演奏情報や、ＣＰＵ１の実行する自動演奏処理で発生する演奏情報に基づいて、前記音源部９に対し発音指示、音色指示、消音指示等の制御を実行する。前記音源部９は、該発音指示に応じて、前述のようにして合成された波形のアタックスタート〜ループスタートのアタック波形を一通り読み出した後、ループスタート〜ループエンドのループ波形を繰り返し読み出し、読み出されたアタック波形とループ波形に基づいて楽音を生成する。
【００４１】
なお、上述した実施の形態では、ループスタートポイントを固定し、接続ポイントをタイムストレッチによりループエンドポイントに対応する位置に移動して、各パーシャルの揺らぎが滑らかに接続されるように調整していたが、逆にループエンドポイントを固定し、接続ポイントをタイムストレッチでループスタートポイントに対応する位置に移動して調整するようにしても良い。
【００４２】
また、上述した実施の形態では、ループエンドポイントからループスタートポイントに接続する場合のスムージングを示したが、これに限らず、本発明は揺らぎを伴った波形同士を接続する場合に広く適用することができる。
図１７を参照しつつ、ともに揺らぎを伴っている第１の波形に第２の波形を接続する場合に本発明の波形データ作成方法を適用する場合について説明する。ここでは、第１の波形における接続ポイントに、第２の波形を接続するものとする。この場合、まず、前記接続ポイントにおける前記第１の波形データの各パーシャルの振幅値、位相値およびそれらの揺らぎの状態を前述の場合と同様に決定する。次に、前記第２の波形の原波形の周波数分析を行い、その各パーシャルの時間変化を求める。そして、求めた各パーシャルにおける位相および振幅の特性の揺らぎを検出し、該揺らぎが前記第１の波形における揺らぎの状態に一致する最適な接続位置を該第２の波形の原波形における各パーシャル毎に決定する。また、該第２の波形における前記第１の波形と接続する時間位置を接続の目標位置（目標ポイント）として設定する。そして、前記原波形における各パーシャルについて、前記最適な接続位置が前記目標ポイントに一致するように、前記タイムストレッチ処理を実行し、さらに、前記スムージング処理を行う。これにより、前記第２の波形の各パーシャルの前記目標ポイントにおける位相および振幅と、前記第１の波形の各パーシャルの前記接続ポイントにおける位相および振幅とを一致させることができる。このように加工された前記第２の波形の各パーシャルを正弦波合成することにより、前記第１の波形と前記接続ポイントで自然に接続することができる波形データを作成することが可能となる。
このように、ループ波形の場合に限らず異なる波形を接続することが可能となるため、複数の波形を用意しておき、これらを不自然さ無く任意に接続することが可能となり、より高品質の楽音を生成することが可能となる。
【００４３】
なお、本発明の波形データ作成方法は、前記図１に示したような専用の電子楽器だけでなく、パーソナルコンピュータなど汎用のコンピュータ上で実施することもできる。
また、上記実施の形態においては、前記ステップＳ２および図３で示される波形データ作成処理はＣＰＵ１により実行されるソフトウエアで実行されるものとしたが、ソフトウエアで実現する代わりに、図３に示される各ブロックをハードウェア回路で実現してもよい。
さらに、上記実施の形態では、原波形のResidual波形に基づいてループスタート／エンドポイントを決定していたが、それに限らず、例えば同波形データのDeterministic波形のパーシャルのうちの基本波のパーシャルの揺らぎ等に基づいてループスタート／エンドポイントを決定するようにしても良い。その場合、前記各処理部３３〜３６における処理は、Deterministic波形に基づいて決定されたループスタート／エンドポイントに基づいて実行されることとなる。
さらにまた、ループスタートポイントの決め方についても、上述した方法に限定されることはない。単純に立ち上がりから所定時間後のポイント（例えば、２００ミリ秒のポイント）、あるいは、非倍音成分のパーシャルが減衰したポイントをループスタートポイントと決定しても良い。さらに、ループスタート／エンドポイントの何れか一方ないし両方を、ユーザが、パネル表示器に表示された各パーシャルの特性を見ながら、操作子により手動で設定するようにしても良い。
さらにまた、上述した実施の形態においては、タイムストレッチ処理部４５で各パーシャルの時間軸を伸張して調整を行なうようになっていたが、時間軸を短縮すること、あるいは、伸張と短縮の両方を使用することにより調整するようにしても良い。
【００４４】
【発明の効果】
以上説明したように、本発明の波形作成方法によれば、各パーシャル毎に揺らぎの位相を揃え、該揺らぎ位相の揃ったパーシャルから波形を作成しているので、ループ部内に揺らぎが含まれている場合であっても、接続部に不自然さがなく、高品質の楽音を発生させることができるループ波形データを作成することが可能となる。
また、異なる波形を接続する場合に、それらの波形に揺らぎが含まれていても、不自然さが無く相互に接続可能な波形データを作成することが可能となる。
【図面の簡単な説明】
【図１】  本発明の波形データ作成方法が実施される波形データ作成装置の一構成例を示すブロック図である。
【図２】  演奏が実行されるまでに行われる処理の概容を示す図である。
【図３】  ループ波形作成処理を説明するための図である。
【図４】  スペクトル分析結果の一例を示す図である。
【図５】  図４に示すスペクトル分析結果から取り出された周波数成分を示す図である。
【図６】  原波形、Deterministic波形およびResidual波形の一例を示す図である。
【図７】  Residual波形の一例を示す図である。
【図８】  図７に示したResidual波形の周波数スペクトルを示す図である。
【図９】  ループ内で、周波数特性の揺らぎを有する波形の例を示す図である。
【図１０】  モディファイ処理部３４の構成例を示す図である。
【図１１】  モディファイ処理部３４の他の構成例を示す図である。
【図１２】  クロスフェード処理を説明するための図である。
【図１３】  揺らぎを含んだ楽音波形の各パーシャルの波形の例を示す図である。
【図１４】  最適な接続ポイントの決定の様子を説明するための図である。
【図１５】  タイムストレッチ処理を説明するための図である。
【図１６】  スムージング処理を説明するための図である。
【図１７】  異なる波形を接続する実施の形態を説明するための図である。
【符号の説明】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  タイマ、５  パネルスイッチ、６パネル表示器、７  ＭＩＤＩインターフェース、８  駆動装置、９  記録媒体、１０  波形メモリ、１１  アクセス管理部、１２  外部波形入力端子、１３  書込み回路、１４  バッファ、１５  音源部、１６  サウンドシステム、２０  分離処理部、３１  振幅エンベロープ計算部、３２  ループ部決定処理部、３３周波数分析処理部、３４  モディファイ処理部、３５  フーリエ逆変換処理部、３６  クロスフェード処理部、４１  パーシャル分離処理部、４２  周波数分析処理部、４３  接続ポイント決定処理部、４４  ループ設定部、４５  タイムストレッチ処理部、４６  正弦波合成処理部、４７  加算部、５０  合成部
【図１】
0003752855.tif 000002
【図２】
0003752855.tif 000003
【図３】
0003752855.tif 000004
【図４】
0003752855.tif 000005
【図５】
0003752855.tif 000006
【図６】
0003752855.tif 000007
【図７】
0003752855.tif 000008
【図８】
0003752855.tif 000009
【図９】
0003752855.tif 000010
【図１０】
0003752855.tif 000011
【図１１】
0003752855.tif 000012
【図１２】
0003752855.tif 000013
【図１３】
0003752855.tif 000014
【図１４】
0003752855.tif 000015
【図１５】
0003752855.tif 000016
【図１６】
0003752855.tif 000017
【図１７】
0003752855.tif 000018