(57)【特許請求の範囲】
【請求項１】
ピッチが変動する原波形データの周波数成分を分析し、ピッチ成分および倍音成分の周波数の軌跡と、振幅レベルの軌跡とから成る原分析データを求める分析過程と、
前記原分析データ中における一部の時間範囲であって前記原分析データの先頭部分を含まない平坦化範囲内において、前記ピッチ成分の周波数が一定の平坦化ピッチ周波数になるように前記原分析データを修正することによって平坦化分析データを求める平坦化過程と、
前記平坦化範囲内において、ユーザの操作により、前記原分析データ中における対応するポイントのピッチ成分の周波数が、前記原分析データ中におけるピッチ成分の周波数の平均値よりも高くなる時間軸上のポイントである第１種ポイントが一または複数指定されると、該第１種ポイント毎に前記ピッチ成分および倍音成分の前記平坦化分析データ中における振幅レベルである第１の振幅レベルを取得する第１の振幅レベル取得過程と、
前記平坦化範囲内において、ユーザの操作により、前記原分析データ中における対応するポイントのピッチ成分の周波数が、前記原分析データ中におけるピッチ成分の周波数の平均値よりも低くなる時間軸上のポイントである第２種ポイントが一または複数指定されると、該第２種ポイント毎に前記ピッチ成分および倍音成分の前記平坦化分析データ中における振幅レベルである第２の振幅レベルを取得する第２の振幅レベル取得過程と、
前記平坦化分析データにおけるピッチ成分および倍音成分の前記第１種ポイント以外のポイントに対して前記第１の振幅レベルに応じた振幅レベルを適用して成る第１の振幅修正分析データを生成する第１の振幅修正過程と、
前記平坦化分析データにおけるピッチ成分および倍音成分の前記第２種ポイント以外のポイントに対して前記第２の振幅レベルに応じた振幅レベルを適用して成る第２の振幅修正分析データを生成する第２の振幅修正過程と、
前記第１の振幅修正分析データに基づいて第１の波形データを合成するとともに、前記第２の振幅修正分析データに基づいて第２の波形データを合成する合成過程と
を有することを特徴とする波形データ生産方法。
【請求項２】
前記第１の振幅修正過程は、前記第１種ポイントのうち、時間軸上で最後のポイント以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイントに係る第１の振幅レベルになるように前記平坦化分析データを変更することによって前記第１の振幅修正分析データを生成する過程であり、
前記第２の振幅修正過程は、前記第２種ポイントのうち、時間軸上で最後のポイント以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイントに係る第２の振幅レベルになるように前記平坦化分析データを変更することによって前記第２の振幅修正分析データを生成する過程であり、
前記第１種ポイントのうち先頭のポイント以降、かつ、前記第２種ポイントのうち先頭のポイント以降の時間範囲の中から、前記平坦化ピッチ周波数に係る周期の整数倍の時間範囲をループ範囲として指定するループ範囲指定過程
をさらに有し、
前記第１の波形データは、前記第１の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであり、前記第２の波形データは、前記第２の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものである
ことを特徴とする請求項１記載の波形データ生産方法。
【請求項３】
前記第１種ポイントおよび前記第２種ポイントは、各々複数指定されるものであり、
前記第１の振幅修正過程は、前記第１の振幅修正分析データ内において、前記複数の第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルを、各々対応する前記第１の振幅レベルに設定するとともに、前記各第１種ポイントの相互間の中間ポイントにおけるピッチ成分および倍音成分の振幅レベルを、該中間ポイントの前後の第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルを補間して成る振幅レベルに設定するものであり、
前記第２の振幅修正過程は、前記第２の振幅修正分析データ内において、前記複数の第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルを、各々対応する前記第２の振幅レベルに設定するとともに、前記各第２種ポイントの相互間の中間ポイントにおけるピッチ成分および倍音成分の振幅レベルを、該中間ポイントの前後の第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルを補間して成る振幅レベルに設定するものであり、
前記合成過程は、前記第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルと前記第１種ポイントにおけるピッチ成分の間および倍音成分の間を補間されて設定された振幅レベルである修正された振幅レベルとに基づいて前記第１の波形データを合成するとともに、前記第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルと前記第２種ポイントにおけるピッチ成分の間および倍音成分の間を補間されて設定された振幅レベルである修正された振幅レベルとに基づいて前記第２の波形データを合成する過程である
ことを特徴とする請求項１記載の波形データ生産方法。
【請求項４】
前記第１の振幅修正過程は、さらに、前記第１種ポイントのうち、時間軸上で最後のポイント以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイントに係る第１の振幅レベルになるように前記平坦化分析データを変更することによって前記第１の振幅修正分析データを生成する過程であり、
前記第２の振幅修正過程は、さらに、前記第２種ポイントのうち、時間軸上で最後のポイント以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイントに係る第２の振幅レベルになるように前記平坦化分析データを変更することによって前記第２の振幅修正分析データを生成する過程である
ことを特徴とする請求項３記載の波形データ生産方法。
【請求項５】
前記第１種ポイントのうち先頭のポイント以降、かつ、前記第２種ポイントのうち先頭のポイント以降の時間範囲の中から、前記平坦化ピッチ周波数に係る周期の整数倍の時間範囲をループ範囲として指定するループ範囲指定過程
をさらに有し、
前記第１の波形データは、前記第１の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであり、前記第２の波形データは、前記第２の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものである
ことを有することを特徴とする請求項３または４記載の波形データ生産方法。
【請求項６】
請求項１ないし５の何れかに記載の波形データ生産方法を実行することを特徴とする波形データ生産装置。
【請求項７】
請求項１ないし５の何れかに記載の波形データ生産方法を処理装置に実行させることを特徴とするプログラム。
【請求項８】
楽音信号の生成に使用される波形メモリを生産する、波形メモリ生産方法であって、
請求項１ないし５の何れかに記載の波形データ生産方法を実行する過程と、
生産された前記第１および第２の波形データを記録媒体に書き込む過程と
を有することを特徴とする波形メモリ生産方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音信号にビブラートを付与する装置に用いて好適な波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法に関する。
【背景技術】
【０００２】
楽音信号にビブラートを付与する技術としては、種々のものが提案されている。最も単純なものは、低周波発振器（ＬＦＯ）によって数Ｈz程度の変調波形を生成し、この変調波形によって楽音信号のピッチを単に変調するものが知られている。また、特許文献１においては、ビブラート付きで演奏された楽音をサンプリングし、そのサンプリング結果からアタック部およびループ部の波形データを切り出す技術が開示されている。楽音の再生時においては、アタック部が最初に１回だけ再生され、その後にループ部が繰り返し再生されることになる。また、特許文献２においては、ループ部の波形メモリを２系統設ける技術が開示されている。この技術によれば、低周波発振器（ＬＦＯ）による変調波形によってピッチが変調され、両波形メモリの波形データが、これらの波形メモリを同位相で読み出される。両波形データはミキシングされるが、両波形データのミキシング比は、該変調波形によって増減される。
【０００３】
【特許文献１】特公平０２−０１０４４０号公報
【特許文献２】特開昭６０−０９０３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した各技術のうち、変調波形によって楽音信号のピッチを単に変調する技術は、ビブラートに応じた音色変化を楽音信号に付与することができず、楽音信号が不自然になるという問題があった。また、特許文献１に開示された技術によれば、ビブラートの周期や深さが波形データそのものによって決定されてしまうため、ビブラートの周期や深さを変化させることができない。従って、ビブラートの周期や深さなどに様々なバリエーションを持たせるとすると、そのバリエーションの数だけ楽音をサンプリングしなければならず、波形メモリの所要容量が増大するという問題があった。
【０００５】
一方、特許文献２に開示された技術においては、変調波形やミキシング比の設定状態によってビブラートの周期や深さを自由に設定することができる。しかし、特許文献２においては、２系統の波形メモリに記憶させる波形データの作成方法について開示されていなかった。この発明は上述した事情に鑑みてなされたものであり、楽音信号にビブラートを付与するに際して複数系統の波形データを生成できる波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の波形データ生産方法にあっては、ピッチが変動する原波形データ（３０）の周波数成分を分析し、ピッチ成分（ｋ＝１）および倍音成分（ｋ＞２）の周波数（ｆkq）の軌跡（８０，８２，８４）と、振幅レベルの軌跡とから成る原分析データを求める分析過程と、前記原分析データ中における一部の時間範囲であって前記原分析データの先頭部分を含まない平坦化範囲内において、前記ピッチ成分の周波数が一定の平坦化ピッチ周波数（ｆp）になるように前記原分析データを修正することによって平坦化分析データを求める平坦化過程（３８）と、前記平坦化範囲内において、ユーザの操作により、前記原分析データ中における対応するポイントのピッチ成分の周波数が、前記原分析データ中におけるピッチ成分の周波数の平均値よりも高くなる時間軸上のポイントである第１種ポイント（上側ポイントＰ0〜Ｐ4）が一または複数指定されると、該第１種ポイント毎に前記ピッチ成分および倍音成分の前記平坦化分析データ中における振幅レベルである第１の振幅レベル（ＬＵkq）を取得する第１の振幅レベル取得過程（２４）と、前記平坦化範囲内において、ユーザの操作により、前記原分析データ中における対応するポイントのピッチ成分の周波数が、前記原分析データ中におけるピッチ成分の周波数の平均値よりも低くなる時間軸上のポイントである第２種ポイント（下側ポイントＲ0〜Ｒ5）が一または複数指定されると、該第２種ポイント毎に前記ピッチ成分および倍音成分の前記平坦化分析データ中における振幅レベルである第２の振幅レベル（ＬＤkq）を取得する第２の振幅レベル取得過程（２６）と、前記平坦化分析データにおけるピッチ成分および倍音成分の前記第１種ポイント以外のポイントに対して前記第１の振幅レベルに応じた振幅レベルを適用して成る第１の振幅修正分析データ（上側決定論的分析データ）を生成する第１の振幅修正過程（４０）と、前記平坦化分析データにおけるピッチ成分および倍音成分の前記第２種ポイント以外のポイントに対して前記第２の振幅レベルに応じた振幅レベルを適用して成る第２の振幅修正分析データ（下側決定論的分析データ）を生成する第２の振幅修正過程（４２）と、前記第１の振幅修正分析データに基づいて第１の波形データを合成するとともに、前記第２の振幅修正分析データに基づいて第２の波形データを合成する合成過程（４４，４６，５８，６０，６２，６４）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の波形データ生産方法において、前記第１の振幅修正過程は、前記第１種ポイントのうち、時間軸上で最後のポイント（Ｐ4）以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイント（Ｐ4）に係る第１の振幅レベルになるように前記平坦化分析データを変更することによって前記第１の振幅修正分析データ（上側決定論的分析データ）を生成する過程であり、前記第２の振幅修正過程は、前記第２種ポイントのうち、時間軸上で最後のポイント（Ｒ5）以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイント（Ｒ5）に係る第２の振幅レベルになるように前記平坦化分析データを変更することによって前記第２の振幅修正分析データ（下側決定論的分析データ）を生成する過程であり、前記第１種ポイントのうち先頭のポイント以降、かつ、前記第２種ポイントのうち先頭のポイント以降の時間範囲の中から、前記平坦化ピッチ周波数（ｆp）に係る周期の整数倍の時間範囲をループ範囲として指定するループ範囲指定過程をさらに有し、前記第１の波形データは、前記第１の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであり、前記第２の波形データは、前記第２の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載の波形データ生産方法において、前記第１種ポイント（Ｐ0〜Ｐ4）および前記第２種ポイント（Ｒ0〜Ｒ5）は、各々複数指定されるものであり、前記第１の振幅修正過程は、前記第１の振幅修正分析データ内において、前記複数の第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルを、各々対応する前記第１の振幅レベルに設定するとともに、前記各第１種ポイントの相互間の中間ポイントにおけるピッチ成分および倍音成分の振幅レベルを、該中間ポイントの前後の第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルを補間して成る振幅レベルに設定するものであり、前記第２の振幅修正過程は、前記第２の振幅修正分析データ内において、前記複数の第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルを、各々対応する前記第２の振幅レベルに設定するとともに、前記各第２種ポイントの相互間の中間ポイントにおけるピッチ成分および倍音成分の振幅レベルを、該中間ポイントの前後の第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルを補間して成る振幅レベルに設定するものであり、前記合成過程（４４，４６，５８，６０，６２，６４）は、前記第１種ポイントにおけるピッチ成分および倍音成分の振幅レベルと前記第１種ポイントにおけるピッチ成分の間および倍音成分の間を補間されて設定された振幅レベルである修正された振幅レベルとに基づいて前記第１の波形データを合成するとともに、前記第２種ポイントにおけるピッチ成分および倍音成分の振幅レベルと前記第２種ポイントにおけるピッチ成分の間および倍音成分の間を補間されて設定された振幅レベルである修正された振幅レベルとに基づいて前記第２の波形データを合成する過程であることを特徴とする。
さらに、請求項４記載の構成にあっては、請求項３記載の波形データ生産方法において、前記第１の振幅修正過程は、さらに、前記第１種ポイントのうち、時間軸上で最後のポイント（Ｐ4）以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイント（Ｐ4）に係る第１の振幅レベルになるように前記平坦化分析データを変更することによって前記第１の振幅修正分析データ（上側決定論的分析データ）を生成する過程であり、前記第２の振幅修正過程は、さらに、前記第２種ポイントのうち、時間軸上で最後のポイント（Ｒ5）以降、前記平坦化分析データのピッチ成分および倍音成分の振幅レベルが、該最後のポイント（Ｒ5）に係る第２の振幅レベルになるように前記平坦化分析データを変更することによって前記第２の振幅修正分析データ（下側決定論的分析データ）を生成する過程であることを特徴とする。
さらに、請求項５記載の構成にあっては、請求項３または４記載の波形データ生産方法において、前記第１種ポイントのうち先頭のポイント以降、かつ、前記第２種ポイントのうち先頭のポイント以降の時間範囲の中から、前記平坦化ピッチ周波数（ｆp）に係る周期の整数倍の時間範囲をループ範囲として指定するループ範囲指定過程をさらに有し、前記第１の波形データは、前記第１の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであり、前記第２の波形データは、前記第２の振幅修正分析データのうち前記ループ範囲のデータに基づいたループ部と、前記原波形データの先頭から前記平坦化範囲の直前までの時間範囲のデータに基づいたアタック部とを有するものであることを有することを特徴とする。
また、請求項６記載の波形データ生産装置にあっては、請求項１ないし５の何れかに記載の波形データ生産方法を実行することを特徴とする。
また、請求項７記載のプログラムにあっては、請求項１ないし５の何れかに記載の波形データ生産方法を処理装置に実行させることを特徴とする。
また、請求項８記載の波形メモリ生産方法にあっては、楽音信号の生成に使用される波形メモリを生産する、波形メモリ生産方法であって、請求項１ないし５の何れかに記載の波形データ生産方法を実行する過程と、生産された前記第１および第２の波形データを記録媒体に書き込む過程とを有することを特徴とする。
【発明の効果】
【０００７】
このように、本発明によれば、原分析データのピッチを平坦化することによって平坦化分析データを生成し、その各倍音成分に対して第１および第２の振幅レベルに応じた振幅レベルを各々適用することによって第１および第２の波形データを合成するから、各周波数成分の位相や周波数をほぼ一致させつつこれら周波数成分の振幅レベルが異なるように第１および第２の波形データを生成することができる。これにより、第１および第２の波形データの重み付けを異ならせつつ両者をミキシングして楽音信号を生成すると、重み付けの変動に伴って音色をスムーズに遷移させることができる。
【発明を実施するための最良の形態】
【０００８】
1．実施例のハードウエア構成
次に、本発明の一実施例による波形データ生成装置の構成を図１を参照し説明する。図において１はＣＰＵであり、ＲＯＭ２に格納された制御プログラムおよび制御情報に基づいて、他の構成要素を制御する。３はＲＡＭであり、ワークエリアやバッファ領域あるいは各種プログラムを格納する領域として使用される。４はタイマであり、計時動作やＣＰＵ１に対するタイマ割込を行う。５は操作部であり、各種の操作スイッチ等が装備されたパネルスイッチと、マウス等のポインティングデバイスとから構成されている。６は処理対象である原波形などの各種の表示を行うパネル表示器である。７は外部ＭＩＤＩ機器との間でＭＩＤＩイベントの授受を行うためのＭＩＤＩインターフェース、８はＣＤ−ＲＯＭ（CompactDisk-Read Only Memory）、ＨＤ（ハード磁気ディスク）、ＦＤ（フレキシブル磁気ディスク）等の記録媒体９にアクセスするための駆動装置である。
【０００９】
１０は波形メモリであり、原波形の波形データや本装置内で作成された波形データを記憶するもので、複数の波形データの書き込みおよび読み出しが可能になっている。１１はアクセス管理部であり、前記波形メモリ１０に対する書込回路１３、音源部１５、あるいは、バッファ１４からのアクセスが互いに衝突しないように、波形メモリ１０のアクセスタイムスロットを管理する。１２は外部波形入力端子、１３は書込回路であって、外部波形入力端子１２から入力される原波形信号をサンプリングして、波形メモリ１０に書き込む。１４はバッファであって、記録媒体９やＲＡＭ３から波形メモリ１０に書き込まれる波形データ、あるいは、波形メモリ１０から読み出された波形ータをＣＰＵ１やＲＡＭ３等に転送する。１５は音源部であり、波形メモリ１０から読み出された波形データを用いて楽音信号を生成する。１６はサウンドシステムであり、音源部１５から出力された楽音信号を出力する。１７はバスラインであり、上述した各要素間の情報の授受のために使用される。
【００１０】
ここで、ＲＯＭ２あるいはＲＡＭ３には、全般的な制御を行うためのプログラムに加えて、外部より入力された原波形データを分析する波形分析プログラム、分析結果に基づいて合成された波形データを加工，編集して音源用の波形データを作成する音源用波形作成プログラム、および、音源用波形データを用いて波形メモリ音源として機能させるための演奏処理プログラムなどが記憶されている。ＣＰＵ１は、ＲＯＭ２あるいはＲＡＭ３に記憶された各種制御プログラムに従い、パネルスイッチ５やＭＩＤＩインターフェース７からの入力等に応じて、各種の制御を行う。また、波形データ分析処理時および音源用波形データ作成処理時においては、バッファ１４を介して波形メモリ１０のデータの読み書きを行い、波形データを読み出して分析、加工、編集して再度波形メモリ１０に書き込んだり、記録媒体９や、図示しない通信路から供給された波形データを波形メモリ１０に書き込んだり、逆に波形メモリ１０から前記記録媒体９や通信路に供給したりする。
【００１１】
さらに、ＣＰＵ１は、演奏処理実行時において、ＭＩＤＩインターフェース７や記録媒体９あるいはＲＡＭ３などから供給される演奏情報に応じて、音源部１５の発音チャンネルの楽音生成状態を制御する。例えば、ＭＩＤＩインターフェース７から発音開始を示すノートオン信号が入力された場合、音源部１５の発音チャンネルの１つにその楽音の発生を割り当て、割り当てられた発音チャンネルにその楽音を生成するために必要な楽音パラメータ（ピッチ情報、ビブラート制御情報、波形選択情報、音量エンベロープ制御情報、エフェクト情報等）を供給するとともに、発音開始の指示を与える。これに応じて、音源部１５では、割り当てられた発音チャンネルを用いて、波形選択情報に応じて波形メモリ１０から読み出された波形データを使用して上述した楽音パラメータに対応した楽音を生成する。
【００１２】
2．実施例の動作
2．1．動作の概要
まず、自然楽器の楽音波形の周波数成分について図２(a)〜(c)を参照し説明しておく。楽音波形を記録した原波形データをＦＦＴ（高速フーリエ変換）解析すると、この原波形データの周波数成分は時間軸上で連続した周波数成分と、時間軸上で断続した周波数成分とに分離できる。そして、前者の周波数成分に基づいて波形データを合成すると原波形データの「周期成分」の波形データが得られ、後者の周波数成分に基づいて波形データを合成すると原波形データの「ノイズ成分」が得られる。図２(a)はサックスの楽音波形（原波形データ）であり、図２(b)はその周期成分、図２(c)はそのノイズ成分である。
【００１３】
次に、本実施例における処理の概要を図３を参照し説明する。なお、同図はＣＰＵ１内で実行される処理（プログラム）および各種データの内容を機能ブロック図で示したものである。
図において３２は波形録音部であり、書込回路１３を介して入力された原波形データ３０をＲＡＭ３内に格納する。この原波形データ３０は、ビブラートを付与した状態で演奏され録音されたものである。３４はＦＦＴ解析処理部であり、この原波形データ３０に対してＦＦＴ解析処理を行う。ここでは、まず原波形データ３０に対して、そのピッチ周期の概算値の「８」倍の長さのフレームに対して窓関数が施され、該フレームの範囲内における周波数成分が解析される。次に、フレームの位置が時間軸上でフレーム長の「１／６４」（ピッチ周期の概算値の１／８）だけ後ろにシフトされ、同様に周波数成分が解析される。この処理が原波形データ３０全体に対して繰り返えされると、時間軸上における周波数成分の変化が得られる。
【００１４】
なお、ビブラートが発生している状態では当然にピッチは変化するが、フレームの長さは精密に「ピッチの８倍」に設定しておく必要はないため、ビブラートが発生している状態であってもフレームの長さは一定でよい。かかる処理によれば、各フレーム毎に、周波数成分の周波数と、その振幅レベルと、その位相とが得られる。このような形式のデータを本明細書では「分析データ」といい、原波形データ３０の分析データを「原分析データ」という。この原分析データにおける周波数成分の分布の一例を図４に示す。図４内において８０はピッチ成分の軌跡、８２は２次倍音の軌跡、８４は３次倍音の軌跡であり、これらは時間軸上で連続して発生している。このように、周波数成分は、時間軸上で軌跡が連続している成分（以下、「決定論的周波数成分」という）と、それ以外の切れ切れの成分とに分類される。３６は連続成分分離部であり、解析された各周波数成分の連続性に応じて、かかる分類を行う。５０は波形合成部であり、これら周波数成分のうち決定論的周波数成分の分析データのみに基づいて決定論的波形データ（すなわち図２(b)の周期成分波形データ）を合成する。次に、５２は減算部であり、原波形データから決定論的波形データを減算する。この減算結果である残余波形は、図２(c)におけるノイズ成分に相当する。
【００１５】
ところで、原波形データ３０は、時間軸をより縮めて観察すると、後述する設定画面１００（図５）内の波形形状表示部１１０およびピッチ変化表示部１１２に示されているように、ピッチおよび振幅にビブラート演奏による揺らぎが生じている。３８は平坦化処理部であり、決定論的周波数成分の時間範囲のうち、平坦化領域指定部２２によって指定された時間範囲（平坦化領域）のピッチが一定になるように、該決定論的周波数成分に係る原分析データデータ内の周波数が変更される。かかる変更後の分析データを「平坦化分析データ」と呼ぶ。ここで、原波形データにおいてピッチが極大値付近である（少なくともピッチの平均値よりも周波数の高い）任意のポイントを上側ポイントと呼び、ピッチが極小値付近である（少なくともピッチの平均値よりも周波数の低い）任意のポイントを下側ポイントと呼ぶ。２４は上側ポイント指定部、２６は下側ポイント指定部であり、各々複数の上側および下側ポイントを指定する。
【００１６】
ここで、指定された上側および下側ポイントは、直接的には原波形データまたは原分析データに対して指定されたものであるが、原波形データの時間軸は、平坦化分析データの時間軸、さらには、後述する他の種々の波形データおよび分析データの時間軸と共通である。従って、指定された上側および下側ポイントは、平坦化分析データ等に対しても適用されるものである。４０は上側波形作成部であり、平坦化分析データ内の複数の上側ポイントにおける決定論的周波数成分の振幅レベルに基づいて「上側決定論的成分」の分析データを生成する。すなわち、平坦化分析データでは、上側ポイントは時間軸上で断続的に発生するため、上側ポイントとして用いて好ましい振幅レベルも時間軸上で断続的に発生する。そこで、分析データのある範囲に対して、この上側ポイントの振幅レベルを適用することにより、この範囲内の何れのポイントも上側ポイントとして用いて好ましい、上側決定論的成分の分析データが得られるのである。このようにして得られた分析データを「上側決定論的分析データ」と呼ぶ。また、４２は下側波形作成部であり、複数の下側ポイントにおける振幅レベルを上記範囲について適用することにより、この範囲内の何れのポイントも下側ポイントとして用いて好ましい、下側決定論的成分の分析データすなわち「下側決定論的分析データ」が得られるのである。
【００１７】
ところで、残余波形は時間的に切れ切れの周波数成分によって構成されているが、図４に示すように、周波数成分は全くランダムに発生しているわけではなく、ある一定の傾向を有することが解る。図４の例においては、ピッチ周波数の約「０．５」倍、「０．６」倍、「１．５」倍、「２．５」倍、程度の箇所に周波数成分が集中しており、これら周波数成分によってフォルマントが形成されることになる。このような、残余波形によるフォルマントは上側ポイントおよび下側ポイントにおいても各々発生するものである。５４は上側フォルマント連続化処理部であり、上側ポイントにおける残余波形の周波数成分に基づいて上側残余波形の分析データを作成する。すなわち、上側ポイントは時間軸上で断続的に発生するため、上側ポイントにおける残余波形の周波数成分の分散傾向も全時間軸上で断続的に発生する。そこで、上側ポイント以外の区間において同様の分散傾向を有する周波数成分を補完することにより、上側残余波形の分析データが作成されるのである。５６は下側フォルマント連続化処理部であり、上側残余波形の分析データと同様に、下側残余波形の分析データを作成する。
【００１８】
４４，４６，５８，６０は波形データ作成部であり、上側・下側決定論的成分および上側・下側残余波形データの各分析データに基づいて、各々対応する波形データを生成する。各波形データは、発音開始時に１回だけ再生されるアタック部と、その後に繰り返し再生されるループ部とから構成される。２８はループ指定部であり、かかるループ部の波形データに対応する時間範囲（ループ範囲）を指定する。ここで、指定されたループ範囲は、波形データ作成部４４，４６，５８，６０の全てに対して共通である。６２，６４は加算部であり、各々上側および下側について、決定論的波形データと残余波形の波形データとを合成することにより、決定論的成分とノイズ成分とを有する、最終的な音源用波形データを作成する。
【００１９】
すなわち、加算部６２においては、上側決定論的波形データおよび上側残余波形データの各アタック部が加算され、上側アタック部波形データが生成されるとともに、上側決定論的波形データおよび上側残余波形データの各ループ部が加算され、上側ループ部波形データが生成される。そして、両波形データを連続させることにより、上側波形データ６６が完成する。同様に、加算部６４においては、下側決定論的波形データおよび下側残余波形データの各アタック部が加算され、下側アタック部波形データが生成されるとともに、下側決定論的波形データおよび下側残余波形データの各ループ部が加算され、下側ループ部波形データが生成される。そして、両波形データを連続させることにより、下側波形データ６８が完成する。
【００２０】
2．2．具体的動作
2．2．1．設定画面１００の表示
操作部５において所定の操作が実行されると、パネル表示器６には図５に示す設定画面１００が表示される。設定画面１００の内部において１０２はマウスカーソルであり、操作部５内のマウスの操作状態に応じて設定画面１００内を移動する。１１０は波形形状表示部であり、横軸を時間軸として、処理対象となる波形データの瞬時値のレベルすなわち波形形状を表示する。１１２はピッチ変化表示部であり、横軸を時間軸として、該波形データのピッチ変化を表示する。なお、「ピッチ変化」とは、当該波形データのピッチの初期値に対する差分である。１１４は平坦化指示ボタンであり、平坦化処理を指示するものである。１１６は試聴ボタンであり、平坦化された波形データを試聴するためのものである。１１８は上側作成ボタンであり、上側波形データ６６の作成を指示するものである。１２０は試聴ボタンであり、作成された上側波形データ６６を試聴するためのものである。
【００２１】
１２２は下側作成ボタンであり、下側波形データ６８の作成を指示するものである。１２４は試聴ボタンであり、作成された下側波形データ６８を試聴するためのものである。１２６は原波形試聴ボタンであり、原波形データ３０を試聴するためのものである。１２８はループ設定ボタンであり、上側・下側波形データ６６，６８におけるループアドレスを設定するものである。１３６は読込みボタンであり、新たな原波形データを読み込むためのものである。１３４は実行ボタンであり、平坦化処理、上側・下側波形作成処理等の実行を指示するために設けられている。１３２は保存ボタンであり、作成された上側・下側波形データ６６，６８を波形メモリ１０に保存するために設けられている。１３０は終了ボタンであり、これがマウスでクリックされると、設定画面１００が閉じられる。
【００２２】
2．2．2．原波形データの読込み
パネル表示器６に設定画面１００が最初に表示された状態では、波形形状表示部１１０、ピッチ変化表示部１１２には何も表示されていない。ここで、読込みボタン１３６がマウスでクリックされると、原波形データの供給源が外部波形入力端子１２であるのか記録媒体９であるのかを選択する選択画面が表示される。ここで、供給源として外部波形入力端子１２が選択されると、外部波形入力端子１２から受信した音声信号がサンプリングされ、その結果が原波形データ３０として波形メモリ１０に書き込まれる。一方、供給源として記録媒体９が選択された場合には、記録媒体９に記憶されている波形データファイルのリストがパネル表示器６に表示される。このリストにおいてユーザが任意の波形データファイルを選択すると、該波形データファイルの内容が読み出され、この内容が原波形データ３０として波形メモリ１０に書き込まれる。
【００２３】
原波形データ３０が波形メモリ１０に記憶されると、ＣＰＵ１においてはＦＦＴ解析処理部３４に係るプログラムが実行される。この結果、原波形データ３０に対するＦＦＴ解析処理結果として、例えば図４に示したような時間軸上における原波形データ３０の周波数成分の変化状態が得られる。このＦＦＴ解析処理結果は原分析データとしてＲＡＭ３内に記録される。次に、ＣＰＵ１においては、波形合成部５０に係るプログラムが実行され、ＦＦＴ解析処理結果に基づいて決定論的波形データが合成される。合成された決定論的波形データは波形メモリ１０に記憶される。次に、ＣＰＵ１においては、減算部５２に係るプログラムが実行され、原波形データ３０から決定論的波形データが減算され、その結果が残余波形の波形データとして波形メモリ１０に記憶される。次に、原波形データ３０の各ポイントにおける瞬時値が波形形状表示部１１０に表示されるとともに、決定論的周波数成分のうち最も低い周波数成分が「ピッチ」であるとみなされ、ピッチの初期値に対する、各フレームにて検出されたピッチの差分であるピッチ変化がピッチ変化表示部１１２に表示される。
【００２４】
2．2．3．平坦化処理
ここで、平坦化指示ボタン１１４がマウスでクリックされると、ピッチ変化表示部１１２において平坦化領域を指定することが可能になる。すなわち、図６(a)に示すように、ピッチ変化表示部１１２内においては、平坦化領域として、任意の時間範囲をマウスでドラッグして選択状態にすることが可能になる。このように、平坦化領域が指定されると、該平坦化領域の先頭および終端のタイミングがカーソル１５０，１５２によって表示される。かかる状態で実行ボタン１３４がマウスでクリックされると、平坦化処理部３８に係るプログラムが実行される。これにより、平坦化領域内のピッチが平坦化され、図６(b)に示すように平坦化処理後のピッチ変化がピッチ変化表示部１１２に表示される。
【００２５】
ここで、平坦化処理部３８における平坦化処理の具体的内容を説明する。まず平坦化領域の幅を「ｎフレーム」とし、平坦化領域に含まれる各フレームに対して、フレームナンバｋ（但し、ｋ＝１〜ｎ）を付与する。また、決定論的周波数成分の軌跡の数を「ｍ」とし、各軌跡に対して、周波数の低い順に、「１〜ｍ」の範囲で軌跡番号ｑを付与する。そして、第ｋフレームにおいて、ｑ番目の軌跡に係る周波数を、周波数ｆkqという。ここで、周波数ｆk1は例えばピッチ周波数である。次に、平坦化領域の先頭部分、すなわちカーソル１５０に該当する部分のピッチを平坦化ピッチ周波数ｆpという。次に、原波形データ３０における各フレームの各軌跡の周波数ｆkq（但し、ｋ＝１〜ｎ，ｑ＝１〜ｍ）に対して、「ｆ’kq＝ｆkq・（ｆp／ｆk1）」なる平坦化周波数ｆ’kqが計算される。平坦化周波数ｆ’kqのうち、ｑ＝１に対応するピッチ周波数ｆ’k1は、常に平坦化ピッチ周波数ｆpに一致する。そして、「２」以上の軌跡番号ｑに対応する周波数は、平坦化ピッチ周波数ｆpと原波形データ３０における各フレームのピッチ周波数ｆk1との比に基づいて決定されることになる。そして、原波形データの分析データ中、周波数ｆkqを平坦化周波数ｆ’kqに変更した結果が、平坦化分析データとしてＲＡＭ３に記憶されるのである。
【００２６】
2．3．上側・下側の分析データ作成処理
平坦化処理部３８によって平坦化分析データが作成された後に、上側作成ボタン１１８がマウスでクリックされると、ピッチ変化表示部１１２において上側ポイントを指定することが可能になる。すなわち、図７(a)に示すように、ピッチ変化表示部１１２には、原波形データのピッチ変化と、平坦化分析データのピッチ変化とがスーパーインポーズされつつ表示され、平坦化領域内の任意の箇所がマウスでクリックされると、その箇所が上側ポイントとして選択される。選択された上側ポイントは、カーソル１６０〜１６６によってピッチ変化表示部１１２上に表示される。このように、複数の上側ポイントが指定された状態で実行ボタン１３４がマウスでクリックされると、上側波形作成部４０および上側フォルマント連続化処理部５４に係るプログラムが実行される。これにより、上側波形作成部４０によって上側決定論的分析データが求められるとともに、上側フォルマント連続化処理部５４によって上側残余波形の分析データが作成される。
【００２７】
ここで、上側波形作成部４０における処理の詳細を図７(b)，(c)を参照し説明する。平坦化分析データ内の第ｋフレームにおいて、平坦化周波数ｆ’kqに係る周波数成分の振幅レベルを、Ｌkqという。この振幅レベルＬkqの一例（同図の例はｑ＝１のピッチ成分のレベルである）と、カーソル１６０〜１６６によって指定された上側ポイントＰ0〜Ｐ4とを図７(b)に示す。上側波形作成部４０においては、各上側ポイントにおけるレベルＬkqを、図７(c)に示す振幅レベルＬＵkqに変換し、その結果を上側決定論的分析データとして出力するものである。ここで、振幅レベルＬＵkqは、以下のようにして決定される。まず、最初の上側ポイントＰ0に至るまで、上側決定論的分析データの振幅レベルＬＵkqは、平坦化分析データの振幅レベルＬkqに等しく、指定された各上側ポイントＰ0〜Ｐ4においても、振幅レベルＬＵkqは、振幅レベルＬkqに等しい。次に、各上側ポイントＰ0〜Ｐ4の相互間において、振幅レベルＬＵkqは、各上側ポイントＰ0〜Ｐ4における平坦化分析データの振幅レベルＬＵkqを直線補間した値に等しくなるように設定される。そして、最後の上側ポイントＰ4以降においては、振幅レベルＬＵkqは、該上側ポイントＰ4における振幅レベルＬＵkqに等しくなるように設定される。
【００２８】
また、設定画面１００において下側作成ボタン１２２がマウスでクリックされた場合は、下側について同様の処理が実行される。すなわち、かかる場合には、図８(a)に示すように、ピッチ変化表示部１１２には、原波形データのピッチ変化と、平坦化分析データのピッチ変化とがスーパーインポーズされつつ表示される。そして、平坦化領域内の任意の箇所がマウスでクリックされると、その箇所が下側ポイントとして選択され、これらはカーソル１７０〜１７８によって表示される。かかる状態で実行ボタン１３４がマウスでクリックされると、下側波形作成部４２および下側フォルマント連続化処理部５６に係るプログラムが実行され、下側決定論的分析データと、下側残余波形の分析データとが作成される。ここで、下側波形作成部４２における処理の詳細を図８(b)，(c)を参照し説明する。下側波形作成部４２は、平坦化された決定論的周波数成分のｑ番目の軌跡に係る振幅レベルＬkqを、振幅レベルＬＤkqに変換するものである。カーソル１７０〜１７８に係る下側ポイントをＲ0〜Ｒ5とし、最初の下側ポイントＲ0に至るまで、下側決定論的分析データの振幅レベルＬＤkqは振幅レベルＬkqに等しく、各下側ポイントＲ0〜Ｒ5においても振幅レベルＬＤkqは振幅レベルＬkqに等しい。次に、下側ポイントＲ0〜Ｒ5の相互間において、振幅レベルＬＤkqは、各下側ポイントＲ0〜Ｒ5における振幅レベルＬＤkqを直線補間した値に等しくなるように設定される。そして、最後の下側ポイントＲ5以降においては、振幅レベルＬＤkqは、該下側ポイントＲ5における振幅レベルＬＤkqに等しくなるように設定される。
【００２９】
2．4．ループ設定
以上のように、振幅レベルＬＵkqおよび振幅レベルＬＤkqを有する上側および下側決定論的分析データが得られた後、ループ設定ボタン１２８がマウスでクリックされると、ピッチ変化表示部１１２においてループ範囲を指定することが可能になる。すなわち、図９に示すように、ピッチ変化表示部１１２には、平坦化処理の前後におけるピッチ変化がスーパーインポーズされつつ表示され、さらに、上側ポイントＰ0〜Ｐ4を示すカーソル１６０〜１６６および／または下側ポイントＲ0〜Ｒ5を示すカーソル１７０〜１７８が表示される。ここで、ピッチ変化表示部１１２内においては、先頭の上側ポイントＰ0以降であって、かつ、先頭の下側ポイントＲ0以降の任意の時間範囲（但し、平坦化後のピッチ周期の整数倍の時間範囲）をマウスでドラッグして、ループ範囲として選択状態にすることが可能になる。
【００３０】
このように、ループ範囲が指定されると、該ループ範囲の先頭および終端のタイミングがカーソル１８０，１８２によって表示される。ここで設定されたループ範囲は、波形データ作成部４４，４６，５８，６０に対する共通のループ範囲である。ループ範囲が設定された状態で実行ボタン１３４がマウスでクリックされると、波形データ作成部４４，４６，５８，６０に係るプログラムが実行される。さらに、波形データ作成部４４，４６，５８，６０においては、波形データの先頭から平坦化領域の直前までの時間範囲が共通の「アタック範囲」に設定される。従って、アタック範囲の終端部におけるピッチ周波数は、ループ部におけるピッチ周波数（すなわち平坦化ピッチ周波数ｆp）に一致する。
【００３１】
まず、波形データ作成部４４においては、上側決定論的分析データの各倍音成分の平坦化周波数ｆ’kqが修正される。その修正内容について説明しておく。上述したように、ループ範囲はピッチ周期の整数倍であり、その倍数をＡとすると、ループ範囲内でピッチ成分の位相は「２Ａπ」だけ進むことになる。従って、ｎ次倍音の位相は「２ｎＡπ」だけ進むはずであるが、実際には平坦化処理の際に周波数ｆkqが平坦化周波数ｆ’kqに修正されたことにより、上側決定論的分析データのループ範囲内におけるｎ次倍音の位相の進みは正確には「２ｎＡπ」に一致しない。ここで、平坦化周波数ｆ’kqに応じて、ｎ次倍音が実際に進む位相を図１０(a)の実線で表す。この実際に進む位相と「２ｎＡπ」との比を各フレームの平坦化周波数ｆ’kqに乗算した結果を修正平坦化周波数ｆ”kqという。この修正平坦化周波数ｆ”kqによるループ範囲内の位相は、図１０(a)の破線で示すように、正確に「２ｎＡπ」になる。
【００３２】
また、上側決定論的分析データに係るピッチ成分および各倍音成分の振幅レベルＬＵkqは、ループスタートポイントおよびループエンドポイントにおいて一致するように修正される。修正後の振幅レベルを修正振幅レベルＬＵ’kqという。その修正方法の内容を図１０(b)を参照し説明する。ループ範囲内における元々の振幅レベルＬＵkqが図１０(b)の実線に示すように変化していたとする。そして、ループスタートポイントおよびループエンドポイントにおける振幅レベルの差をＢとし、ループ範囲の長さをＴLとし、ループスタートポイントからの経過時間をＴとすると、各フレームにおける修正振幅レベルＬＵ’kqは「ＬＵ’kq＝ＬＵkq＋Ｂ（Ｔ／ＴL）」に設定されるのである。このようにして修正平坦化周波数ｆ”kqおよび修正振幅レベルＬＵ’kqが得られた後、これらに基づいて波形データを合成すると、上側決定論的分析データに対応するループ部波形データが得られることになる。一方、残余波形に係る波形データ作成部５８においては、上側フォルマント連続化処理部５４によって生成された上側残余波形の分析データのうち、上述したループ範囲の分析データが切り出され、切り出された分析データが波形データに変換される。変換された波形データは、加算部６２において、上側決定論的成分のループ部波形データと加算され、これによって上側波形データ６６のループ部が完成する。
【００３３】
また、波形データ作成部４４においては、アタック範囲の上側決定論的分析データに対して、以下のような修正が行われる。すなわち、まず、アタック部の各倍音成分の周波数は、アタック部の終了時においてループ部の各倍音成分の修正平坦化周波数ｆ”kqに徐々に近接し、最後には一致するように変更される。そして、これらアタック部の倍音成分のレベルは、アタック部の終了時においてループ部の各倍音成分の修正振幅レベルＬＵ’kqに徐々に近接し、最後には一致するように変更される。このように修正されたアタック範囲の上側決定論的分析データに基づいて波形データを合成すると、上側決定論的成分のアタック部波形データが生成される。一方、残余波形に係る波形データ作成部５８においては、上側フォルマント連続化処理部５４によって生成された上側残余波形の分析データのうち、上述したアタック範囲の分析データが切り出される。切り出された分析データは波形データに変換され、変換された波形データは、加算部６２において、上側決定論的成分のアタック部波形データと加算され、これによって上側波形データ６６のアタック部が完成する。
【００３４】
以上、上側波形データ６６の作成方法について詳述したが、下側波形データ６８も全く同様に作成される。すなわち、波形データ作成部４６においては、下側決定論的分析データの各倍音成分の平坦化周波数ｆ’kqが修正され、修正平坦化周波数ｆ”kqが得られる。また、各倍音成分の振幅レベルＬＤkqは、ループスタートポイントおよびループエンドポイントにおいて一致するように、修正振幅レベルＬＤ’kqに修正される。なお、修正平坦化周波数ｆ”kqは、上側・下側決定論的成分に対して同一の値であり、修正振幅レベルＬＵ’kq，ＬＤ’kqは上側・下側で異なる値になる。次に、波形データ作成部４６においては、修正平坦化周波数ｆ”kqおよび修正振幅レベルＬＤ’kqに基づいて下側決定論的成分のループ部波形データが得られることになる。また、波形データ作成部６０においては、下側フォルマント連続化処理部５６によって生成された下側残余波形の分析データのうち、ループ範囲の分析データが切り出され波形データに変換される。変換された波形データは、加算部６４において、下側決定論的成分のループ部波形データと加算され、これによって下側波形データ６８のループ部が完成する。
【００３５】
また、波形データ作成部４６においては、アタック部の下側決定論的成分の各倍音成分の周波数が、アタック部の終了時においてループ部の各倍音成分の修正平坦化周波数ｆ”kqに徐々に近接し、最後には一致するように変更される。また、これらアタック部の倍音成分のレベルは、アタック部の終了時においてループ部の各倍音成分の修正振幅レベルＬＤ’kqに徐々に近接し、最後には一致するように変更される。このように修正されたアタック範囲の下側決定論的分析データに基づいて波形データを合成すると、下側決定論的成分のアタック部波形データが生成される。一方、波形データ作成部６０においては、下側フォルマント連続化処理部５６によって生成された下側残余波形の分析データのうち、上述したアタック範囲の分析データが切り出され、切り出された分析データが波形データに変換される。変換された波形データは、加算部６４において、下側決定論的成分のアタック部波形データと加算され、これによって下側波形データ６８のアタック部が完成する。
【００３６】
2．5．試聴
平坦化分析データに対応する試聴ボタン１１６がマウスでクリックされると、平坦化分析データに基づいて波形データが合成され、合成された波形データが音源部１５、サウンドシステム１６を介して発音される。同様に、上側および下側決定論的分析データに係る試聴ボタン１２０または１２４がマウスでクリックされると、各々対応する分析データに基づいて波形データが合成され、合成された波形データが音源部１５、サウンドシステム１６を介して発音される。また、原波形試聴ボタン１２６がマウスでクリックされると、原波形データ３０が発音される。これにより、ユーザは、各処理において所望の状態で分析データが生成されているか否かを容易に確認することができる。
【００３７】
2．6．楽音信号の合成
上側・下側波形データ６６，６８が波形メモリ１０に格納された後、例えば、ＭＩＤＩインターフェース７から波形データ生成装置に対して、これら波形データに係る発音を指示するＭＩＤＩのノートオン信号が供給されると、ＣＰＵ１から音源部１５に対して当該波形データに対する発音が指示される。これに応じて、音源部１５においては、図１１に示すアルゴリズムに基づいてビブラートを有する楽音信号が合成される。図１１において、波形メモリ１０中で上側波形データ６６を格納した領域を上側領域１０ａ、下側波形データ６８を格納した領域を下側領域１０ｂという。
【００３８】
ＣＰＵ１からの発音の指示には、発音に使用する波形データのアタック部およびループ部を示す波形アドレス情報ＷＡと、当該波形データのピッチシフト情報ＰＳ０（セント）と、当該波形データに付与する音量エンベロープの形状を示す波形エンベロープ情報ＷＥとが含まれる。ここで、ピッチシフト情報ＰＳ０について説明しておく。まず、波形メモリ１０に記憶された各波形データは、ある音高の楽音信号を所定のサンプリング周期でサンプリングしたものである。記録時と再生時のサンプリング周期が等しかったとすると、このサンプリング周期毎に当該波形データを「１」サンプルずつ読み出せば、読み出された楽音信号は記録時と同一の音高を有することになる。しかし、実際に波形データを読み出す場合には、発音させようとする音高はサンプリング時の音高とは異なる。ピッチシフト情報ＰＳ０は、サンプリング周期毎に当該波形データを「１」サンプルずつ読み出した場合の音高と、実際に発音させようとする音高との差をセント単位で表したものである。例えば、前者の音高が「Ｃ３」であって、後者の音高が「Ｃ４」であったとすると、ピッチシフト情報ＰＳ０は「１２００」（セント）になる。
【００３９】
２０８は低周波発信器であり、ビブラート周波数ｆｖに応じて、該ビブラート周波数ｆｖの三角波を出力する。この三角波をビブラート制御信号Ｓｖといい、その最大値は「１」であり、最小値は「−１」である。２０６は乗算器であり、ピッチシフト情報ＰＳ０（セント）に付与する変動量の最大値である最大ピッチシフト変動量Δｆpsmaxが指定されると、ビブラート制御信号Ｓｖに該最大ピッチシフト変動量Δｆpsmaxを乗算する。その乗算結果であるピッチシフト変動量Δｆps（セント）は加算器２００においてピッチシフト情報ＰＳ０と加算され、加算器２００からはビブラートを付与したピッチシフト情報ＰＳ１が出力される。２０１はリニア変換部であり、セントスケールの周波数比情報であるピッチシフト情報ＰＳ１を、リニアスケールの周波数比情報であるｆナンバに変換する。２０２は位相ジェネレータであり、リニア変換部２０１からのｆナンバを、サンプリング周期毎に累算することにより位相情報ＰＨを生成して出力する。２０４はアドレスジェネレータであり、該位相信号ＰＨと前記波形アドレス情報ＷＡとに基づいて、上側・下側領域１０ａ，１０ｂを読み出すための共通のアドレス信号ＡＤを出力する。上述したように、上側・下側領域１０ａ，１０ｂに記憶されている上側・下側波形データ６６，６８は、各々アタック部およびループ部から構成されている。アドレスジェネレータ２０４においては、位相信号ＰＨに係る位相と波形アドレス情報ＷＡとに応じて、アタック部が最初に１回のみ読み出され、その後はループ部が繰り返し読み出されるようにアドレス信号ＡＤが生成される。
【００４０】
これにより、各サンプリング周期毎に、波形メモリ１０の上側・下側領域１０ａ，１０ｂからは、同位相で
ピッチシフト変動量Δｆpsによる周波数変調の施された上側および下側の楽音信号が読み出されることになる。読み出された上側および下側の楽音信号は、乗算器２１４，２１８において重み付けが施され、加算器２２２において合成される。合成された楽音信号は、乗算器２２４において振幅変調が施され、その結果がビブラートを有する楽音信号Ｓoutとしてサウンドシステム１６に出力されることになる。２１０は遅延回路であり、指定された位相差φ1に応じた時間だけビブラート制御信号Ｓvを遅延させる。２１２は乗算器であり、遅延されたビブラート制御信号Ｓvに最大重み付け係数ΔＧ1maxを乗算し、その結果を重み付け係数ΔＧ1として出力する。なお、最大重み付け係数ΔＧ1maxは、「０〜０．５」の範囲で設定される係数である。そして、重み付け係数ΔＧ1は、±ΔＧ1maxの範囲で変動する三角波状の信号になる。
【００４１】
２１６は加算器であり、重み付け係数ΔＧ1と基本重み付け値である「０．５」とを加算し、この加算結果を上側重み付け値ＧUとして乗算器２１４に供給する。また、２２０は加算器であり、基本重み付け値である「０．５」から重み付け係数ΔＧ1を減算し、この減算結果を下側重み付け値ＧDとして乗算器２１８に供給する。これにより、上側および下側の楽音信号に付与される重み付けの合計（ＧU＋ＧD）は常に「１」になることが解る。なお、位相差φ1を「０」にすると、遅延回路２１０における遅延時間も「０」になり、アドレス信号ＡＤの進行速度が最大になるタイミング（楽音信号のピッチのピークが現れるタイミング）と、乗算器２１４において上側の楽音信号の重み付けが最大になるタイミングとが完全に一致することになる。また、位相差φ1として「０」以外の値を指定することにより、両者のタイミングをずらすことも可能である。
【００４２】
次に、２２６は遅延回路であり、指定された位相差φ2に応じた時間だけビブラート制御信号Ｓvを遅延させる。ここで、位相差φ2は、楽音信号に付与するピッチのビブラートと、振幅のビブラートとの位相差である。２２８は乗算器であり、遅延されたビブラート制御信号Ｓvに最大振幅変動係数ΔＧ2maxを乗算し、その結果を振幅変動係数ΔＧ2として出力する。なお、最大振幅変動係数ΔＧ2maxは、「０〜１．０」の範囲で設定される係数である。そして、振幅変動係数ΔＧ2は、±ΔＧ2maxの範囲で変動する三角波状の信号になる。２３０は加算器であり、振幅変動係数ΔＧ2と基本振幅係数である「１」とを加算し、この加算結果であるゲインＧoutをエンベロープ発生部２３２に供給する。エンベロープ発生部２３２は、前記波形エンベロープ情報ＷＥに基づいて、楽音信号の立上りから立下りまでの音量の時間変化を制御する音量エンベロープ波形を発生するとともに、その音量エンベロープ波形をゲインＧoutと合成して振幅変調の施された音量エンベロープ波形ＥＤとして乗算器２２４に供給する。乗算器２２４においては、加算器２２２から出力された楽音信号に対して音量エンベロープＥＤによる振幅制御が施され、その結果が楽音信号Ｓoutとしてサンプリング周期毎にサウンドシステム１６に供給されることになる。
【００４３】
ここで、浅いビブラートを施す場合と、深いビブラートを施す場合と、におけるピッチシフト変動量Δｆpsおよび重み付け係数ΔＧ1の例を図１２(a)，(b)に示す。本実施例においては、両者のビブラートは最大ピッチシフト変動量Δｆpsmaxおよび最大重み付け係数ΔＧ1maxのパラメータを切り替えるだけで実現することができる。これらのパラメータは、発音中に固定的である必要はなく、発音途中においても様々に変化させることができる。従って、例えば、図１２(a)の浅いビブラートの状態から、図１２(b)の深いビブラートの状態に徐々に遷移させる、いわゆるディレイビブラートなども簡単に実現することができる。
【００４４】
2．7．最終製品への実装
本実施例の波形データ生成装置はそのまま音源あるいは電子楽器として使用することもできるが、安価な最終製品には、一般的には音源用波形データを新たに作成する機能を有していない。そこで、以上のようにして得られた音源用波形データ（上側・下側波形データ６６，６８）は、波形メモリ（半導体メモリ、ＣＤ−ＲＯＭ等）に書き込まれ、音源、電子楽器、シンセサイザ等の最終製品に実装される。これら最終製品においては、図１１において説明したのと同等のアルゴリズムが実行され、これによってビブラートの深さや周期などのパラメータを自由に設定しつつ、楽音信号を合成することができる。
【００４５】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例の波形データ生成装置に対してＬＡＮあるいはインターネットなどの通信ネットワークに接続するための通信インターフェース回路を設け、通信ネットワークを介してサーバから波形データや各種プログラムなどをダウンロードし、あるいは生成した音源用波形データを他の機器に供給するようにしてもよい。さらにまた、波形データ生成装置に鍵盤操作子等を接続し、この鍵盤操作子を用いて演奏することもできる。上述した説明では、波形分析、音源波形作成、および、演奏処理等をＣＰＵ１に実行させるプログラムは、ＲＯＭ２あるいはＲＡＭ３に格納されていた。これに代えて、ＣＤ−ＲＯＭ（記録媒体９）により外部供給を受け、ハード磁気ディスク（記録媒体９）にインストールされてプログラムが実行されるようにしてもよい。また、図示しない通信回線を介して、ネットワーク上のサーバからハード磁気ディスク（記録媒体９）にダウンロードされてプログラムが実行されるようにしてもよい。
【００４６】
(2)また、上記実施例においては、アタック範囲は平坦化領域の直前までの区間であったが、アタック範囲は平坦化領域に対して独立して設定してもよい。この場合、アタック範囲内の各周波数成分の周波数およびこれらの振幅レベルが、ループ部の先頭部におけるこれらの値に連続するように修正し、この修正結果を波形データのアタック部にするとよい。
【００４７】
(3)上記実施例においては、上側ポイントＰ0〜Ｐ4および下側ポイントＲ0〜Ｒ5を複数指定したが、これらは必ずしも複数指定する必要はない。すなわち、平坦化分析データに対して上側ポイントおよび下側ポイントを各１ポイントづつ指定し、この各１ポイントにおける振幅レベルＬkqを、上側ポイント全体の振幅レベルＬＵkqとし、あるいは下側ポイント全体の振幅レベルＬＤkqに設定してもよい。
【００４８】
(4)また、上側ポイントＰ0〜Ｐ4および下側ポイントＲ0〜Ｒ5は、ユーザが指定する必要はなく、原波形データのピッチの極大値および極小値を自動的に検出して、一または複数の上側および下側ポイントを自動的に決定してもよい。
【００４９】
(5)また、上記実施例においては、音源用波形データはアタック部とループ部とを有していたが、ループ部は必ずしも設ける必要はなく、アタック部のみによって音源用波形データを構成してもよい。例えば、ビブラフォンのような打楽器においては、発音が開始された後、発音が終了するまでの凡その最大時間が予測できるため、この最大時間の長さだけアタック部を確保するとよい。
【００５０】
(6)上記実施例においては、２系統の音源用波形データを生成したが、音源用波形データの系統数は「２」に限られるものではなく、３系統以上の波形データを生成し、再生時にはこれらをミキシングするようにしてもよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施例による波形データ生成装置のブロック図である。
【図２】自然楽器の楽音波形の周波数成分の例を示す図である。
【図３】一実施例による処理内容およびデータのブロック図である。
【図４】原分析データにおける周波数成分の分布の例を示す図である。
【図５】パネル表示器６に表示される設定画面１００を示す図である。
【図６】平坦化処理におけるピッチ変化表示部１１２の表示例を示す図である。
【図７】上側波形作成部４０の動作説明図である。
【図８】下側波形作成部４２の動作説明図である。
【図９】ループ指定部２８の動作説明図である。
【図１０】波形データ作成部４４，４６の動作説明図である。
【図１１】楽音信号の再生時に音源部１５に適用されるアルゴリズムのブロック図である。
【図１２】音源部１５に適用されるアルゴリズムの各部の波形図である。
【符号の説明】
【００５２】
１：ＣＰＵ、２：ＲＯＭ、３：ＲＡＭ、４：タイマ、５：操作部、６：パネル表示器、７：ＭＩＤＩインターフェース、８：駆動装置、９：記録媒体、１０：波形メモリ、１０ａ：上側領域、１０ｂ：下側領域、１１：アクセス管理部、１２：外部波形入力端子、１３：書込回路、１４：バッファ、１５：音源部、１６：サウンドシステム、１７：バスライン、２２：平坦化領域指定部、２４：上側ポイント指定部、２６：下側ポイント指定部、２８：ループ指定部、３０：原波形データ、３２：波形録音部、３４：ＦＦＴ解析処理部、３６：連続成分分離部、３８：平坦化処理部、４０：上側波形作成部、４２：下側波形作成部、４４，４６，５８，６０：波形データ作成部、５０：波形合成部、５２：減算部、５４：上側フォルマント連続化処理部、５６：下側フォルマント連続化処理部、６２，６４：加算部、６６：上側波形データ、６８：下側波形データ、８０，８２，８４：軌跡、１００：設定画面、１０２：マウスカーソル、１１０：波形形状表示部、１１２：ピッチ変化表示部、１１４：平坦化指示ボタン、１１６，１２０，１２４：試聴ボタン、１１８：上側作成ボタン、１２２：下側作成ボタン、１２６：原波形試聴ボタン、１２８：ループ設定ボタン、１３０：終了ボタン、１３２：保存ボタン、１３４：実行ボタン、１３６：読込みボタン、１５０，１５２，１６０〜１６６，１７０〜１７８：カーソル、１８０，１８２：カーソル、２００：加算器、２０１：リニア変換部、２０２：位相ジェネレータ、２０４：アドレスジェネレータ、２０６：乗算器、２０８：低周波発振器、２１０：遅延回路、２１４，２１８：乗算器、２２０，２２２：加算器、２２４，２２８：乗算器、２２６：遅延回路、２３２：エンベロープ発生部。
【図１】
0004736046.tif 000002
【図２】
0004736046.tif 000003
【図３】
0004736046.tif 000004
【図４】
0004736046.tif 000005
【図５】
0004736046.tif 000006
【図６】
0004736046.tif 000007
【図７】
0004736046.tif 000008
【図８】
0004736046.tif 000009
【図９】
0004736046.tif 000010
【図１０】
0004736046.tif 000011
【図１１】
0004736046.tif 000012
【図１２】
0004736046.tif 000013